/*
 * ThinkCharge ASM360 TC498 — Consolidated Premium EV Design System
 * One active stylesheet. Legacy application rules are isolated in a lower
 * cascade layer; the EV enterprise system is the single authoritative layer.
 * Cascade layers replace forced-priority declarations.
 */
@layer legacy, ev;
@layer legacy {
*{
  box-sizing: border-box;
  min-width: 0;
}
html{
  font-size: 15px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
body{
  margin: 0;
  min-height: 100vh;
  font: 450 0.96rem/1.5 var(--font-sans);
  color: var(--text);
  background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0) 220px),
    linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px),
    linear-gradient(0deg, var(--bg-grid) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 26px 26px, 26px 26px, auto;
  font-size: .97rem;
  background-color: var(--bg);
}
a{
  color: inherit;
  text-decoration: none;
}
img{
  max-width: 100%;
  display: block;
}
button,input,select,textarea{
  font: inherit;
}
button{
  cursor: pointer;
}
.hidden,[hidden]{
  display: none;
}
.right{
  text-align: right;
}
.center{
  text-align: center;
}
.full{
  grid-column: 1/-1;
}
.muted{
  color: var(--text-2);
}
.small{
  font-size: .88rem;
}
.mono{
  font-family: var(--font-mono);
  letter-spacing: -.02em;
}
code,pre{
  font-family: var(--font-mono);
}
.app-shell{
  padding-left: calc(var(--sidebar-w) + 18px);
}
html[data-theme="light"] .nav-link,html[data-theme="light"] .nav-group-head{
  color: #294157;
  font-weight: 500;
}
html[data-theme="light"] .nav-link:hover,html[data-theme="light"] .nav-group-head:hover{
  background: #f8fbff;
  color: #0f2740;
}
html[data-theme="light"] .nav-link.active,html[data-theme="light"] .nav-group-head.active{
  background: linear-gradient(90deg,rgba(37,99,235,.12),rgba(8,145,178,.10));
  color: #0e2c4b;
  border-color: #bfd4ea;
}
html[data-theme="light"] .topbar,html[data-theme="light"] .page-head{
  background: linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.98)), var(--panel);
}
.app-shell.sidebar-collapsed{
  padding-left: var(--sidebar-collapsed-w);
}
.content{
  padding: 22px 26px 110px;
  display: grid;
  gap: 18px;
  padding-bottom: 12px;
  position: relative;
  background: transparent;
}
.page{
  display: grid;
  gap: 20px;
}
.page-head, .topbar, .card, .modal-card, .hero-panel, .station-hero, .sidebar, .topbar-user, .toast, .auth-modern-showcase, .auth-modern-panel{
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--panel);
  box-shadow: var(--shadow-sm);
}
.page-head, .topbar, .card, .hero-panel, .station-hero{
  border-radius: var(--radius-lg);
}
.card{
  padding: 18px;
}
.card-lite{
  padding: 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.card-title,h3,h2,h1{
  margin: 0;
  color: var(--text);
  letter-spacing: -.03em;
}
h1{
  font-size: clamp(2rem, 2.8vw, 2.65rem);
  line-height: 1.08;
  font-weight: 760;
}
h2{
  font-size: clamp(1.5rem, 2vw, 1.95rem);
  line-height: 1.12;
  font-weight: 760;
}
h3{
  font-size: 1.18rem;
  line-height: 1.2;
  font-weight: 760;
}
.page-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: var(--ev-hero-gradient);
  flex-wrap: wrap;
  margin-bottom: 14px;
  border-radius: 20px;
  border-color: var(--ev-stroke-strong);
  box-shadow: var(--ev-shadow);
  position: relative;
  overflow: hidden;
}
.page-head h2{
  font-size: clamp(1.35rem,2vw,1.9rem);
  line-height: 1.05;
  letter-spacing: -.03em;
  margin: 0 0 6px;
  font-weight: 800;
}
.page-head .muted{
  max-width: 78ch;
  color: color-mix(in srgb,var(--text) 78%, transparent);
}
.page-head .actions,.actions,.row-actions,.queue-head,.station-panel-head{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.actions{
  justify-content: flex-end;
}
.eyebrow,.station-breadcrumb,.station-section-label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb,var(--primary) 35%, var(--border));
  background: color-mix(in srgb,var(--primary) 10%, var(--panel-alt));
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in srgb,var(--primary) 62%, var(--text));
}
.hero-title{
  font-size: 1.7rem;
  font-weight: 760;
}
.btn{
  --btn-bg: var(--panel-alt);
  --btn-bd: var(--border);
  --btn-fg: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  color: var(--text);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.1;
  transition: transform var(--fast), box-shadow var(--fast), background var(--fast), border-color var(--fast), color var(--fast);
  white-space: nowrap;
  text-align: center;
  border-color: var(--ki-border);
  box-shadow: 0 10px 22px rgba(0,0,0,.16), 0 0 0 1px rgba(255,255,255,.02) inset;
  text-decoration: none;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15,23,42,.12);
  background: var(--panel-hover);
}
.btn:focus-visible,.input:focus-visible,.icon-btn:focus-visible,.topbar-user:focus-visible,.nav-link:focus-visible,.nav-group-head:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 26%, transparent), 0 0 0 1px var(--primary) inset;
}
.btn.sm{
  min-height: 36px;
  padding: 8px 12px;
  font-size: .84rem;
  border-radius: 12px;
  font-weight: 620;
}
.btn.lg{
  min-height: 46px;
  padding: 0 18px;
}
.btn.primary{
  --btn-bg: linear-gradient(90deg,color-mix(in srgb,var(--secondary) 70%, white 16%), color-mix(in srgb,var(--primary) 65%, white 18%));
  --btn-bd: transparent;
  --btn-fg: #fff;
  box-shadow: 0 14px 30px rgba(2,9,18,.24), 0 0 24px rgba(95,231,255,.14);
  background: linear-gradient(135deg,var(--primary), var(--primary-hover));
  border-color: transparent;
  color: #07111d;
}
.btn.primary:hover{
  background: linear-gradient(90deg,color-mix(in srgb,var(--secondary) 78%, white 12%), color-mix(in srgb,var(--primary) 72%, white 14%));
  box-shadow: 0 14px 26px color-mix(in srgb,var(--primary) 24%, transparent);
}
.btn.danger{
  --btn-bg: color-mix(in srgb,var(--danger) 18%, var(--panel));
  --btn-bd: color-mix(in srgb,var(--danger) 32%, var(--border));
  --btn-fg: color-mix(in srgb,var(--danger) 92%, var(--text));
  background: linear-gradient(135deg,#ef6b8a,#d93c63);
  color: #fff;
  border-color: transparent;
}
.btn.warn{
  --btn-bg: color-mix(in srgb,var(--warning) 18%, var(--panel));
  --btn-bd: color-mix(in srgb,var(--warning) 34%, var(--border));
  --btn-fg: color-mix(in srgb,var(--warning) 92%, var(--text));
  background: linear-gradient(135deg, rgba(245,158,11,.18), rgba(245,158,11,.06)), rgba(255,255,255,.02);
}
.btn.ghost{
  background: transparent;
}
.btn.danger-text{
  color: var(--danger);
}
.btn[disabled],.btn[aria-busy="true"]{
  opacity: .58;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.icon-btn{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--ki-panel-2);
  color: var(--ki-text);
  box-shadow: var(--shadow-sm);
  font-size: 1.1rem;
  flex: 0 0 auto;
  border-color: var(--ki-border);
}
.icon-btn:hover{
  background: var(--panel-hover);
}
.icon-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.badge{
  position: absolute;
  top: -8px;
  right: -6px;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  padding: 0 6px;
  background: #fb7185;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--panel);
}
.label{
  display: block;
  margin: 0 0 8px;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ki-muted);
}
.input,select.input,textarea.input{
  width: 100%;
  border-radius: 18px;
  border: 1px solid var(--ev-stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)), rgba(255,255,255,.02);
  color: var(--ev-text);
  min-height: 48px;
  padding: 12px 14px;
  outline: none;
  transition: border-color var(--fast), box-shadow var(--fast), background var(--fast);
  box-shadow: 0 1px 0 rgba(255,255,255,.03) inset;
}
textarea.input{
  min-height: 108px;
  resize: vertical;
  padding-top: 12px;
}
.input::placeholder{
  color: var(--text-3);
}
.input:hover{
  background: color-mix(in srgb,var(--panel) 88%, white 2%);
}
.input:focus{
  border-color: color-mix(in srgb,var(--primary) 62%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 16%, transparent);
}
.password-wrap{
  position: relative;
}
.password-wrap .password-toggle{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--text-2);
  font-weight: 700;
}
.pill,.mini-tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--ev-stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), rgba(255,255,255,.02);
  color: var(--ev-text);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.1;
}
.mini-tag{
  min-height: 28px;
  padding: 0 11px;
  font-size: .8rem;
  font-weight: 700;
}
.pill.ok{
  background: color-mix(in srgb,var(--success) 16%, var(--panel));
  border-color: color-mix(in srgb,var(--success) 34%, var(--border));
  color: color-mix(in srgb,var(--success) 92%, var(--text));
}
.pill.warn{
  background: color-mix(in srgb,var(--warning) 15%, var(--panel));
  border-color: color-mix(in srgb,var(--warning) 34%, var(--border));
  color: color-mix(in srgb,var(--warning) 96%, var(--text));
}
.pill.danger{
  background: color-mix(in srgb,var(--danger) 15%, var(--panel));
  border-color: color-mix(in srgb,var(--danger) 32%, var(--border));
  color: color-mix(in srgb,var(--danger) 96%, var(--text));
}
.pill.info{
  background: color-mix(in srgb,var(--info) 14%, var(--panel));
  border-color: color-mix(in srgb,var(--info) 28%, var(--border));
  color: color-mix(in srgb,var(--info) 94%, var(--text));
}
.toast{
  padding: 13px 15px;
  border-radius: 18px;
  font-weight: 700;
  box-shadow: var(--ev-shadow-soft);
  border: 1px solid var(--ev-stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), var(--ev-panel);
  color: var(--ev-text);
}
.toast.success{
  border-color: color-mix(in srgb,var(--success) 40%, var(--border));
  background: color-mix(in srgb,var(--success) 16%, var(--panel));
  color: color-mix(in srgb,var(--success) 98%, var(--text));
  box-shadow: 0 14px 30px rgba(0,0,0,.16), 0 0 26px rgba(125,255,179,.08);
}
.toast.error{
  border-color: color-mix(in srgb,var(--danger) 40%, var(--border));
  background: color-mix(in srgb,var(--danger) 16%, var(--panel));
  color: color-mix(in srgb,var(--danger) 98%, var(--text));
  box-shadow: 0 14px 30px rgba(0,0,0,.16), 0 0 26px rgba(239,68,68,.08);
}
.grid{
  display: grid;
  gap: 16px;
}
.grid.two{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.grid.three{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.grid.kpi,.metrics-grid,.hero-kpis{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.dashboard-top-grid,.dashboard-mid-grid,.station-overview-grid,.profile-main-grid{
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
  gap: 18px;
}
.station-readiness-grid{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 16px;
}
.station-compact-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.phase2-quicklinks{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.entity-card-grid,.station-target-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
}
.profile-kpi-grid{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.metric-card,.quicklink-card,.station-mini-card,.readiness-card,.entity-card,.machine-status-card,.profile-station-item,.attention-item{
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--panel-alt);
}
.metric-card,.readiness-card{
  padding: 18px;
  display: grid;
  gap: 8px;
  align-content: start;
  position: relative;
  overflow: hidden;
}
.metric-card::after,.readiness-card::after,.station-mini-card::after,.machine-status-card::after,.station-pack-card::after{
  content: "";
  position: absolute;
  right: -32px;
  bottom: -32px;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb,var(--primary) 40%, transparent), transparent 72%);
  opacity: .45;
  pointer-events: none;
}
.metric-title{
  font-size: .72rem;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--text-2);
}
.metric-value{
  font-size: clamp(1.6rem,2vw,2.35rem);
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.04em;
  color: var(--text);
}
.metric-sub{
  font-size: .88rem;
  color: var(--text-2);
}
.attention-list{
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.attention-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 20px;
}
.quicklink-card{
  display: grid;
  align-items: center;
  gap: 14px;
  padding: 18px;
  grid-template-columns: auto 1fr;
  position: relative;
  overflow: hidden;
}
.quicklink-card strong{
  display: block;
  margin-bottom: 4px;
  font-size: 1rem;
  color: var(--ev-text);
}
.quicklink-icon{
  font-size: 1.35rem;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(95,231,255,.18), rgba(45,225,194,.08));
  border: 1px solid rgba(95,231,255,.2);
  box-shadow: 0 0 22px rgba(95,231,255,.08);
}
.table-wrap.responsive-table{
  overflow: auto;
}
.table-wrap::-webkit-scrollbar{
  height: 10px;
  width: 10px;
}
.table-wrap::-webkit-scrollbar-thumb{
  background: color-mix(in srgb,var(--primary) 35%, var(--border));
  border-radius: 999px;
}
.table{
  width: 100%;
  min-width: max(780px,100%);
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  table-layout: auto;
  background: transparent;
}
.table th,.table td{
  padding: 12px 14px;
  vertical-align: top;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: auto;
  line-height: 1.35;
}
.table th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--ki-panel-2);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ki-muted);
  font-weight: 850;
  backdrop-filter: blur(6px);
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
}
.table tbody tr:hover td{
  background: var(--ki-hover);
}
.table tbody tr:last-child td{
  border-bottom: 0;
}
.table tbody tr:nth-child(even) td{
  background: color-mix(in srgb,var(--panel-alt) 92%, transparent);
}
.table .right{
  text-align: right;
}
.table .actions-col,.table td.actions,.table th.actions{
  white-space: nowrap;
}
.table td .btn{
  vertical-align: top;
  min-height: 32px;
  padding: 0 10px;
  font-size: .82rem;
  font-weight: 600;
}
.table td .pill{
  white-space: nowrap;
}
.table-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.table-toolbar-start,.table-toolbar-end{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.table-toolbar .input{
  max-width: 280px;
  min-height: 40px;
  padding: 10px 12px;
}
.table-status{
  font-size: .86rem;
  font-weight: 750;
  color: var(--text-2);
}
.table-sortable{
  cursor: pointer;
  user-select: none;
}
.table-sortable::after{
  content: " ↕";
  font-size: .84em;
  color: var(--text-3);
}
.table-sortable.asc::after{
  content: " ↑";
}
.table-sortable.desc::after{
  content: " ↓";
}
.table-empty-row td,.empty-cell{
  padding: 28px 16px;
  text-align: center;
  color: var(--text-2);
}
.table-pagination{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.table-pagination-controls{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.table-pagination .input{
  width: auto;
  min-width: 84px;
  max-width: 110px;
  min-height: 38px;
  padding: 8px 10px;
}
.table-pagination .btn{
  min-height: 36px;
  min-width: 34px;
  padding: 0 10px;
}
.form{
  display: grid;
  gap: 14px;
}
.inline-resolve-form{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.serial-pill-box,.machine-status-row,.status-row,.station-pack-badges,.station-pack-meta,.profile-station-list,.profile-detail-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.profile-detail-list{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.profile-detail-list strong{
  display: block;
  margin-top: 4px;
}
.profile-hero-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  background: linear-gradient(90deg, color-mix(in srgb,var(--secondary) 26%, var(--panel)), color-mix(in srgb,var(--primary) 30%, var(--panel)));
}
.profile-online-chip{
  display: flex;
  align-items: center;
  gap: 14px;
}
.avatar,.avatar-img{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 68%, white 8%), color-mix(in srgb,var(--secondary) 60%, white 18%));
  color: #06121d;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(34,211,238,.18);
}
.avatar{
  width: 48px;
  height: 48px;
  font-size: 1.25rem;
}
.avatar--sm{
  width: 42px;
  height: 42px;
  font-size: 1.05rem;
}
.avatar--lg{
  width: 72px;
  height: 72px;
  font-size: 1.8rem;
}
.avatar-img{
  object-fit: cover;
}
.avatar-img--sm{
  width: 42px;
  height: 42px;
}
.avatar-img--lg{
  width: 72px;
  height: 72px;
}
.user-row-id{
  display: flex;
  align-items: center;
  gap: 10px;
}
.user-row-id .avatar,.user-row-id .avatar-img{
  flex: 0 0 auto;
}
.sidebar{
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: calc(var(--sidebar-w) + 16px);
  display: flex;
  flex-direction: column;
  padding: 12px 10px 14px;
  z-index: 60;
  border-right: 1px solid var(--border);
  background: var(--bg-elev);
  box-shadow: 18px 0 40px rgba(15,23,42,.12);
}
.sidebar-inner{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100vh;
}
.brand-panel,.sidebar-status,.sidebar-footer{
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--panel);
}
html[data-theme="light"] .brand-panel, html[data-theme="light"] .sidebar-status, html[data-theme="light"] .sidebar-footer{
  background: linear-gradient(180deg, rgba(37,99,235,.045), rgba(255,255,255,0)), #fff;
}
.brand{
  display: block;
  align-items: flex-start;
  gap: 14px;
}
.logo{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--ki-primary), var(--ki-primary-2));
  border: 1px solid color-mix(in srgb,var(--primary) 30%, var(--border));
  display: grid;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  place-items: center;
  color: #fff;
}
.brand-title{
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  color: var(--ev-text);
}
.brand-sub{
  font-size: .76rem;
  color: var(--text-3);
  margin-top: 4px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-body{
  flex: 1 1 auto;
  overflow: auto;
  padding-right: 4px;
  min-height: 0;
  margin-right: -4px;
}
.sidebar-body::-webkit-scrollbar{
  width: 8px;
}
.sidebar-body::-webkit-scrollbar-thumb{
  background: color-mix(in srgb,var(--primary) 36%, transparent);
  border-radius: 999px;
}
.nav{
  display: grid;
  gap: 12px;
}
.nav-group{
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--panel);
  overflow: hidden;
  padding: 10px;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
}
html[data-theme="light"] .nav-group{
  background: #fff;
}
.nav-group-head{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ev-text);
  font-weight: 700;
  text-transform: none;
  letter-spacing: .02em;
  font-size: .92rem;
  border-radius: 18px;
}
.nav-caret{
  transition: transform var(--normal);
  color: var(--text-2);
  font-size: .9rem;
  margin-left: auto;
  flex: 0 0 auto;
}
.nav-group.is-open .nav-caret{
  transform: rotate(180deg);
}
.nav-group-body{
  display: grid;
  padding: 8px 0 0 0;
  gap: 6px;
}
.nav-group.is-open .nav-group-body{
  display: grid;
  gap: 8px;
}
.nav-link{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 11px 12px;
  border-radius: 18px;
  border: 1px solid transparent;
  color: var(--ev-sub);
  font-size: .92rem;
  font-weight: 500;
  transition: background var(--fast), border-color var(--fast), transform var(--fast);
  background: transparent;
  line-height: 1.25;
  white-space: normal;
}
.nav-link:hover{
  background: var(--panel-hover);
  border-color: color-mix(in srgb,var(--primary) 22%, var(--border));
}
.nav-link.is-active,.nav-link.active{
  background: linear-gradient(90deg,color-mix(in srgb,var(--primary) 10%, var(--panel-hover)), var(--panel-hover));
  border-color: color-mix(in srgb,var(--primary) 35%, var(--border));
  box-shadow: inset 3px 0 0 var(--primary);
  font-weight: 650;
}
.nav-link.is-active::before,.nav-link.active::before{
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: var(--primary);
}
.alert-dot{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #fb7185;
  color: #fff;
  font-size: .76rem;
  font-weight: 760;
}
.sidebar-footer{
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  background: linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)),var(--panel);
  position: sticky;
  bottom: 0;
  z-index: 3;
}
.sidebar-user{
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-meta{
  display: grid;
  gap: 3px;
}
.user-name{
  font-weight: 700;
  font-size: .98rem;
}
.user-role{
  font-size: .83rem;
  color: var(--text-2);
}
.nav-link-logout{
  justify-content: flex-start;
  font-weight: 650;
  background: color-mix(in srgb,var(--danger) 11%, var(--panel));
  border-color: color-mix(in srgb,var(--danger) 28%, var(--border));
  min-height: 42px;
  margin-top: 6px;
  font-size: .95rem;
}
.topbar{
  position: sticky;
  top: 12px;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  margin-bottom: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--ev-panel);
  backdrop-filter: saturate(140%) blur(8px);
  border: 1px solid color-mix(in srgb,var(--border) 84%, transparent);
  border-radius: 28px;
  min-height: 86px;
}
.topbar-left{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.topbar-title{
  font-size: clamp(1.22rem,1.7vw,1.6rem);
  font-weight: 780;
  letter-spacing: -.03em;
}
.topbar-sub{
  margin-top: 2px;
  font-size: .88rem;
  color: var(--text-2);
}
.topbar-actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  overflow: auto hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.topbar-actions::-webkit-scrollbar{
  display: none;
}
.top-chip{
  display: inline-flex;
  align-items: center;
}
.topbar-user{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px 8px 8px;
  border-radius: 16px;
  min-width: 0;
  min-height: 52px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), var(--ev-panel-soft);
  border: 1px solid var(--ev-stroke);
}
.topbar-user-name{
  display: block;
  font-size: .98rem;
  line-height: 1.2;
}
.topbar-user-meta{
  display: grid;
  gap: 2px;
  min-width: 0;
}
.user-role-label{
  white-space: nowrap;
}
.topbar-user-link:hover{
  background: var(--panel-hover);
}
.notif{
  position: relative;
}
.notif summary{
  list-style: none;
}
.notif summary::-webkit-details-marker{
  display: none;
}
.notif-panel{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(420px, 92vw);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--panel);
  box-shadow: var(--shadow-lg);
  z-index: 80;
  max-height: min(70vh,520px);
}
.notif-head,.notif-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.notif-list{
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
  margin-top: 12px;
}
.notif-item{
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.notif-item.unread{
  border-color: color-mix(in srgb,var(--primary) 28%, var(--border));
}
.app-backdrop{
  position: fixed;
  inset: 0;
  background: var(--overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--normal);
  z-index: 55;
}
.app-backdrop.open{
  opacity: 1;
  pointer-events: auto;
}
.hero-panel,.station-hero{
  padding: 22px 22px 18px;
  background: linear-gradient(90deg, color-mix(in srgb,var(--secondary) 24%, var(--panel)), color-mix(in srgb,var(--primary) 26%, var(--panel)));
}
.hero-head,.queue-head,.station-panel-head,.entity-card-head,.station-pack-head,.machine-status-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.station-hero{
  display: grid;
  gap: 16px;
  padding: 24px;
  overflow: hidden;
  background: var(--ev-hero-gradient);
  border-color: var(--ev-stroke-strong);
  box-shadow: var(--ev-shadow);
}
.station-actions-bar{
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
}
.station-hero-btn{
  width: 100%;
  min-height: 42px;
  font-size: 1rem;
}
.station-protocol-card .protocol-list{
  display: grid;
  gap: 10px;
  padding-left: 18px;
  margin: 0;
}
.station-protocol-footer{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.protocol-chip{
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  min-width: 150px;
}
.machine-scroll-row{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 14px;
}
.machine-status-card{
  padding: 16px;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  min-width: 280px;
}
.machine-status-foot{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 16px;
}
.station-metric-squares{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.metric-square,.stat-box{
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 8px;
}
.metric-square span,.stat-box span{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: var(--text-2);
}
.metric-square strong,.stat-box strong{
  font-size: 2rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.04em;
}
.readiness-card{
  min-height: 150px;
  padding: 18px;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}
.readiness-card strong{
  font-size: 1.4rem;
  line-height: 1.1;
  font-weight: 850;
  color: var(--ev-text);
}
.readiness-card.is-ok strong{
  color: var(--success);
}
.readiness-card.is-warn strong{
  color: var(--warning);
}
.readiness-card.is-block strong{
  color: var(--danger);
}
.station-pack-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  align-items: start;
}
.station-pack-card.is-match{
  border-color: color-mix(in srgb,var(--primary) 55%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 16%, transparent);
  outline: 2px solid color-mix(in srgb,var(--primary) 55%, transparent);
}
.station-pack-head strong{
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -.04em;
  display: block;
  word-break: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  overflow-wrap: normal;
}
.station-pack-head .muted{
  font-size: .9rem;
  line-height: 1.25;
}
.station-pack-badges,.station-pack-meta{
  gap: 8px;
}
.station-pack-badges .pill:nth-child(3){
  font-family: var(--font-mono);
  font-size: .8rem;
}
.station-pack-action-board{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin-top: 12px;
}
.station-pack-action-board .btn{
  width: 100%;
  min-height: 36px;
  font-size: .88rem;
  font-weight: 620;
  padding: 0 10px;
  border-radius: 12px;
}
.station-pack-action-board .pill-btn--full{
  grid-column: 1/-1;
}
.station-pack-search-wrap{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.toolbar-search{
  min-width: 320px;
  max-width: 420px;
}
.machine-check-sheet,.machine-strip{
  display: grid;
  gap: 12px;
}
.machine-tile{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--panel-alt);
  scroll-snap-align: start;
}
.machine-tile .code{
  font-weight: 850;
  font-size: 1.05rem;
}
.queue-head--compact{
  padding-bottom: 4px;
  border-bottom: 1px solid color-mix(in srgb,var(--border) 70%, transparent);
}
.station-mini-card{
  padding: 18px;
  display: grid;
  gap: 14px;
  position: relative;
  overflow: hidden;
  min-height: 210px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)), rgba(255,255,255,.02);
}
.station-mini-head strong{
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: -.03em;
}
.station-mini-stats{
  display: grid;
  gap: 10px;
}
.station-mini-stats--single-row{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.stat-box--daily{
  background: color-mix(in srgb,var(--secondary) 7%, var(--panel-alt));
}
.stat-box--target{
  background: color-mix(in srgb,var(--special) 6%, var(--panel-alt));
}
.stat-box--monthly{
  background: color-mix(in srgb,var(--success) 6%, var(--panel-alt));
}
.stat-box--yearly{
  background: color-mix(in srgb,var(--warning) 7%, var(--panel-alt));
}
.field{
  display: grid;
  gap: 6px;
}
.field label{
  font-size: .82rem;
  font-weight: 800;
  color: var(--text);
}
.field-span-2{
  grid-column: span 2;
}
.station-target-fields{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.station-target-switches{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.toggle-switch input::after{
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  transition: transform var(--fast);
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.toggle-switch input:checked{
  background: color-mix(in srgb,var(--primary) 65%, white 10%);
}
.toggle-switch input:checked::after{
  transform: translateX(18px);
}
.preassembly-simple .dashboard-mid-grid{
  align-items: start;
}
.workstation-card-grid,.workstation-cards{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.workstation-card,.workstation-tile{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 12px;
}
.workstation-card p,.workstation-tile p{
  margin: 0;
  line-height: 1.4;
  overflow-wrap: break-word;
}
.modal{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(2,8,18,.62);
  z-index: 90;
  backdrop-filter: blur(10px);
}
.modal.open{
  display: flex;
}
.modal-card{
  width: min(960px,calc(100vw - 32px));
  max-height: min(90vh,960px);
  overflow: auto;
  padding: 22px;
  border-radius: 22px;
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
}
.modal-card.lg{
  width: min(1180px,calc(100vw - 24px));
  max-width: 1180px;
}
.modal-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  position: sticky;
  top: -16px;
  background: var(--panel);
  padding: 2px 0 12px;
  z-index: 2;
}
.modal-title{
  font-size: 1.35rem;
  font-weight: 760;
}
.modal-body{
  display: grid;
  gap: 16px;
  padding: 18px 20px 22px;
  overflow: auto;
  max-height: calc(90vh - 96px);
}
.auth-shell{
  padding: 24px;
  min-height: 100vh;
  display: grid;
  place-items: center;
}
.auth-modern-wrap{
  max-width: 1180px;
  margin: 0 auto;
  display: block;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: 22px;
  align-items: stretch;
  width: min(100%,420px);
}
.auth-modern-wrap-register{
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
}
.auth-modern-showcase,.auth-modern-panel{
  padding: 28px;
  border-radius: 28px;
  position: relative;
  overflow: hidden;
}
.auth-modern-showcase{
  background: linear-gradient(135deg, color-mix(in srgb,var(--secondary) 26%, var(--panel)), color-mix(in srgb,var(--primary) 16%, var(--panel)));
  display: none;
}
.auth-modern-panel{
  background: var(--panel);
  width: 100%;
  padding: 28px;
}
.auth-showcase-copy,.auth-form-head-modern{
  display: grid;
  gap: 10px;
}
.auth-modern-kicker,.auth-kicker,.state-kicker{
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-2);
}
.auth-modern-showcase h1{
  max-width: 12ch;
}
.auth-stat-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin: 20px 0;
}
.auth-stat,.auth-step{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: color-mix(in srgb,var(--panel-alt) 88%, transparent);
}
.auth-step{
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.auth-step-index{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 18%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 850;
}
.auth-feature-list,.auth-steps{
  display: grid;
  gap: 12px;
}
.auth-feature{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: color-mix(in srgb,var(--panel-alt) 88%, transparent);
}
.auth-feature-icon{
  font-size: 1.2rem;
}
.auth-modern-form{
  margin-top: 14px;
}
.auth-modern-form .btn{
  margin-top: 8px;
}
.auth-form-foot-grid,.auth-footer-links,.auth-help-links,.state-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.auth-theme-btn{
  position: absolute;
  top: 18px;
  right: 18px;
}
.state-card-phase7{
  text-align: center;
}
.state-list{
  text-align: left;
  display: grid;
  gap: 8px;
  max-width: 560px;
  margin: 16px auto;
}
.asm-modern-page,.print-shell{
  background: #fff;
  color: #111;
  font: 400 14px/1.4 var(--font-sans);
}
.brand-panel,.sidebar-footer,.nav-group{
  padding: 14px 14px;
  border-radius: 20px;
}
.brand-panel{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), var(--ev-panel);
  position: relative;
  overflow: hidden;
}
.nav-subtitle{
  padding: 10px 14px 6px;
  color: var(--ev-sub-2);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 8px 0 6px;
}
.station-link-dot,.alert-dot{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ef4444;
  font-size: .75rem;
  font-weight: 800;
  color: #fff;
}
html[data-theme="light"] .sidebar-footer{
  background: linear-gradient(180deg,rgba(37,99,235,.035),rgba(255,255,255,0)),#fff;
  box-shadow: none;
}
.user-chip{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.hero-panel,.page-head,.station-hero,.card{
  border-radius: 22px;
}
.table td .btn,.table td .pill,.table td .mini-tag,.table td .mono,[data-nowrap],.nowrap{
  white-space: nowrap;
}
.table td .btn + .btn{
  margin-left: 6px;
}
.station-actions-bar,.station-hero .actions, .station-hero .station-actions-bar{
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
}
.station-hero .btn,.station-actions-bar .btn,.station-hero-btn{
  min-height: 42px;
  font-size: .9rem;
  font-weight: 640;
  padding: 0 12px;
}
.station-pack-head{
  gap: 10px;
  align-items: flex-start;
}
.station-pack-head .pill{
  flex: 0 0 auto;
}
.station-pack-badges .pill:last-child{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.station-pack-action-board,.station-pack-action-board--phase13,.compact-actions{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.station-pack-action-board .btn,.compact-actions .btn{
  min-height: 36px;
  padding: 0 10px;
  font-size: .86rem;
  font-weight: 620;
  border-radius: 12px;
  white-space: nowrap;
  letter-spacing: 0;
}
.station-pack-action-board .btn.pill-btn--full,.compact-actions .pill-btn--full{
  grid-column: 1 / -1;
}
.station-pack-search-wrap .input{
  max-width: 340px;
}
html[data-theme="light"] .station-pack-card, html[data-theme="light"] .metric-card, html[data-theme="light"] .station-mini-card, html[data-theme="light"] .card, html[data-theme="light"] .hero-panel, html[data-theme="light"] .station-hero{
  background: linear-gradient(180deg,rgba(37,99,235,.025),rgba(255,255,255,0)),var(--panel);
}
html[data-theme="light"] .page-head{
  background: linear-gradient(90deg,#35588d,#62adcf);
}
html[data-theme="light"] .page-head h1, html[data-theme="light"] .page-head h2, html[data-theme="light"] .page-head .muted{
  color: #fff;
}
html[data-theme="light"] .topbar{
  background: color-mix(in srgb,var(--panel) 96%, white 4%);
}
html[data-theme="light"] .icon-btn{
  background: #fff;
}
html[data-theme="light"] .brand-panel{
  background: linear-gradient(180deg,rgba(37,99,235,.04),rgba(255,255,255,0)),#fff;
}
html[data-theme="light"] .nav-link{
  color: #16304b;
}
html[data-theme="light"] .nav-link.is-active{
  background: linear-gradient(90deg,rgba(8,145,178,.09),rgba(37,99,235,.06));
}
html[data-theme="light"] .metric-title, html[data-theme="light"] .label{
  color: #5f738a;
}
html[data-theme="light"] .muted{
  color: #5f738a;
}
.bulk-upload-grid{
  align-items: start;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.bulk-module-info p{
  margin: 8px 0 0;
}
.profile-main-grid .table{
  min-width: 720px;
}
.brand-title br{
  display: block;
}
.brand-panel .logo{
  width: 32px;
  height: 32px;
}
html[data-theme="light"] .nav-group, html[data-theme="light"] .brand-panel, html[data-theme="light"] .sidebar-footer{
  background: #fdfefe;
}
html[data-theme="light"] .nav-group-head{
  color: #102033;
}
.chart-summary-strip{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  margin-top: 14px;
}
.compact-metric{
  padding: 14px 16px;
  min-height: unset;
}
.compact-metric .small-value{
  font-size: 1.3rem;
  line-height: 1.1;
}
.analytics-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.analytics-grid .wide{
  grid-column: 1/-1;
}
.chart-panel .card-title{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.chart-note{
  color: var(--text-2);
  font-size: .92rem;
  margin-bottom: 12px;
}
.svg-chart{
  min-height: 320px;
  display: block;
}
.trend-svg{
  width: 100%;
  height: 320px;
  display: block;
  overflow: visible;
  background: transparent;
}
.trend-svg .axis{
  stroke: color-mix(in srgb,var(--border) 88%, transparent);
  stroke-width: 1;
}
.trend-svg path{
  fill: none;
  stroke-width: 3.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.trend-svg .trend-point{
  stroke: var(--panel);
  stroke-width: 2;
  fill: currentColor;
}
.trend-svg .line-a{
  color: #22d3ee;
  stroke: #22d3ee;
}
.trend-svg .line-b{
  color: #3b82f6;
  stroke: #3b82f6;
}
.trend-svg .line-c{
  color: #8b5cf6;
  stroke: #8b5cf6;
}
.trend-svg .line-d{
  color: #f59e0b;
  stroke: #f59e0b;
}
.trend-svg .line-e{
  color: #22c55e;
  stroke: #22c55e;
}
.trend-svg .line-f{
  color: #ef4444;
  stroke: #ef4444;
}
.trend-legend{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.legend-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: .82rem;
  font-weight: 700;
  background: var(--panel-alt);
}
.legend-chip::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}
.legend-chip.line-a{
  color: #22d3ee;
}
.legend-chip.line-b{
  color: #3b82f6;
}
.legend-chip.line-c{
  color: #8b5cf6;
}
.legend-chip.line-d{
  color: #f59e0b;
}
.legend-chip.line-e{
  color: #22c55e;
}
.legend-chip.line-f{
  color: #ef4444;
}
.trend-labels{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(72px,1fr));
  gap: 6px;
  margin-top: 12px;
  color: var(--text-2);
  font-size: .78rem;
}
.bar-stack{
  display: grid;
  gap: 12px;
}
.bar-line{
  display: grid;
  grid-template-columns: minmax(130px,1fr) minmax(0,4fr) auto;
  gap: 12px;
  align-items: center;
}
.bar-label{
  font-weight: 600;
  color: var(--text);
  font-size: .9rem;
}
.bar-track{
  height: 12px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--panel-hover) 80%, transparent);
  overflow: hidden;
  border: 1px solid var(--border);
}
.bar-fill{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,#6ea8ff,#7ad9d5);
}
.svg-chart.warn .bar-fill{
  background: linear-gradient(90deg,#f59e0b,#fbbf24);
}
.svg-chart.danger .bar-fill{
  background: linear-gradient(90deg,#ef4444,#fb7185);
}
.svg-chart.ok .bar-fill{
  background: linear-gradient(90deg,#16a34a,#22c55e);
}
.chart-empty{
  display: grid;
  place-items: center;
  min-height: 240px;
  border: 1px dashed var(--border);
  border-radius: 18px;
  background: var(--panel-alt);
  text-align: center;
  color: var(--text-2);
}
.dashboard-tv-shell .line-tv-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.dashboard-tv-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
  gap: 18px;
  margin-top: 18px;
}
.dashboard-tv-card{
  padding: 18px;
  display: grid;
  gap: 14px;
  min-height: 232px;
  align-content: start;
}
.dashboard-tv-card .tv-card-name{
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--text);
  margin-top: 6px;
}
.dashboard-tv-stats{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.dashboard-tv-stats .tv-stat{
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: color-mix(in srgb,var(--panel) 86%, var(--panel-alt));
}
.dashboard-tv-stats .tv-stat label{
  display: block;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 4px;
  font-weight: 700;
}
.dashboard-tv-stats .tv-stat strong{
  font-size: 1.22rem;
  line-height: 1.1;
  display: block;
  color: var(--text);
  font-weight: 820;
}
.tv-progress{
  height: 10px;
  border-radius: 999px;
  background: var(--panel);
  overflow: hidden;
  border: 1px solid var(--border);
}
.tv-operators .pill{
  font-size: .8rem;
}
.station-target-grid{
  grid-template-columns: repeat(auto-fit,minmax(310px,1fr));
}
.station-target-card{
  padding: 18px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.station-target-fields .field label{
  display: block;
  font-size: .82rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--text);
}
.station-target-switches--stacked{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.toggle-label{
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.25;
}
.toggle-slider::after{
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  transition: transform .2s ease;
}
.toggle-switch input:checked + .toggle-slider::after{
  transform: translateX(18px);
}
.station-target-actions{
  justify-content: space-between;
  align-items: center;
}
.compact-card--mbin{
  padding: 18px;
  min-height: 210px;
  display: grid;
  gap: 12px;
  align-content: start;
}
.compact-card--mbin .entity-code{
  font-family: var(--font-mono);
  font-size: 1.12rem;
  line-height: 1.2;
  word-break: normal;
}
.compact-card-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.compact-card-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--text-2);
  font-size: .85rem;
  margin-top: auto;
}
.inventory-kpi-grid .metric-card{
  min-height: 130px;
}
.inventory-kpi-grid .metric-title{
  font-size: .78rem;
}
.inventory-kpi-grid .small-value{
  font-size: 1.8rem;
}
.geo-selected-strip{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
}
.geo-chip{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 4px;
}
.geo-chip span{
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-2);
  font-weight: 700;
  display: block;
  margin-bottom: 5px;
}
.geo-chip strong{
  font-size: .92rem;
  line-height: 1.3;
  word-break: normal;
  display: block;
  color: var(--text);
  font-weight: 750;
}
.station-pack-badges .pill,.station-pack-meta .pill{
  font-size: .78rem;
  padding: 0 10px;
  min-height: 28px;
  font-weight: 700;
}
.station-pack-action-board .btn.danger{
  font-weight: 600;
}
.station-pack-search-wrap .pill{
  font-size: .8rem;
}
.responsive-table{
  overflow-x: auto;
  overflow-y: hidden;
  overflow: auto;
}
.responsive-table .table{
  table-layout: auto;
  min-width: max(980px,100%);
}
.responsive-table .table th,.responsive-table .table td{
  word-break: normal;
  overflow-wrap: break-word;
}
.responsive-table .table td[data-label="Actions"],.responsive-table .table td.actions-col{
  white-space: nowrap;
}
.table td:first-child, .table th:first-child{
  position: static;
  left: auto;
  z-index: auto;
  background: inherit;
}
.table td .mono,.table td strong,.table td .pill{
  white-space: nowrap;
}
.report-summary-grid, .phase4-kpi-strip, .chart-summary-strip{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.report-summary-grid .metric-card, .phase4-kpi-strip .metric-card, .chart-summary-strip .metric-card{
  min-height: 118px;
}
.report-summary-grid .metric-value, .phase4-kpi-strip .metric-value, .chart-summary-strip .metric-value{
  font-size: clamp(1.55rem,1.9vw,2.2rem);
}
.machine-hero{
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: 18px;
}
.machine-readiness-flow{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.machine-summary-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 12px;
}
.machine-summary-card{
  position: relative;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel-alt);
}
.machine-summary-card .metric-title{
  display: block;
  margin-bottom: 8px;
}
.machine-summary-card .metric-value{
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
}
.machine-summary-card .metric-sub{
  font-size: .84rem;
  color: var(--text-2);
  margin-top: 6px;
}
.machine-kv-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 10px;
}
.machine-kv{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 4px;
}
.machine-kv strong{
  display: block;
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 6px;
}
.machine-kv span{
  display: block;
  font-weight: 700;
  color: var(--text);
  font-size: 1rem;
}
.chart-summary-strip .metric-card.compact-metric{
  padding: 16px;
}
.chart-summary-strip .small-value{
  font-size: 1.55rem;
}
.chart-hero-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.chart-substats{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.bar-value{
  font-weight: 800;
  font-size: .92rem;
  color: var(--text);
}
.dashboard-tv-card .entity-code{
  font-size: 2rem;
  font-weight: 850;
  letter-spacing: -.04em;
  line-height: 1;
}
.dashboard-tv-card .tv-card-group{
  margin-top: 4px;
}
.tv-operators{
  margin-top: auto;
}
.station-target-fields .field-span-2{
  grid-column: 1 / -1;
}
.station-target-switches .toggle-switch{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel);
}
.compact-card-grid{
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}
.compact-card--mbin .metric-value{
  font-size: 1.5rem;
}
.inventory-card-grid,.inventory-overview-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 16px;
}
.inventory-stat-card{
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel-alt);
}
.inventory-stat-card .metric-title{
  margin-bottom: 8px;
}
.inventory-stat-card .metric-value{
  font-size: 2rem;
  font-weight: 820;
  line-height: 1;
}
.geo-leaflet-map--phase14{
  min-height: 460px;
  border-radius: 20px;
  overflow: hidden;
}
.geo-chip.kind-client{
  border-color: color-mix(in srgb,var(--success) 38%, var(--border));
}
.geo-chip.kind-vendor{
  border-color: color-mix(in srgb,var(--warning) 38%, var(--border));
}
.geo-chip.kind-pack{
  border-color: color-mix(in srgb,var(--info) 38%, var(--border));
}
.bulk-upload-catalog{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 12px;
}
.bulk-upload-table-note{
  font-size: .86rem;
  color: var(--text-2);
}
.bulk-page-head .muted{
  max-width: 88ch;
}
.table td:first-child,.table th:first-child{
  position: static;
  left: auto;
  z-index: auto;
  background: inherit;
}
.table td{
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
.table td,.table th{
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  vertical-align: middle;
  border-color: rgba(255,255,255,.04);
}
.table td .btn,.table td .pill,.table td .mini-tag,.table td code,.table td .mono,.table td strong,.nowrap,[data-nowrap]{
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}
.grn-line-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.grn-line-card{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel-alt);
  display: grid;
  gap: 12px;
  align-content: start;
}
.grn-line-card .card-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.grn-line-card .card-head strong{
  font-size: 1.06rem;
  line-height: 1.2;
  display: block;
}
.grn-line-meta{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.grn-line-meta .meta-box,.grn-kpi-card,.process-kpi-card,.machine-info-card{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel);
}
.grn-line-meta .meta-box span,.grn-kpi-card span,.process-kpi-card span,.machine-info-card span{
  display: block;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--text-2);
  margin-bottom: 6px;
}
.grn-line-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: auto;
}
.grn-summary-grid,.process-summary-grid,.machine-hero-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.process-edit-layout{
  display: grid;
  grid-template-columns: minmax(0,320px) minmax(0,1fr);
  gap: 18px;
  align-items: start;
}
.process-sidebar-card{
  position: sticky;
  top: 96px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel-alt);
  display: grid;
  gap: 14px;
}
.process-group-stack{
  display: grid;
  gap: 16px;
}
.inprocess-check-list{
  display: grid;
  gap: 12px;
}
.inprocess-check-row{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 12px;
}
.inprocess-check-meta{
  display: grid;
  gap: 8px;
}
.inprocess-check-meta .spec-chip{
  display: inline-flex;
  max-width: 100%;
  padding: 8px 10px;
  border-radius: 12px;
  background: color-mix(in srgb,var(--primary) 10%, var(--panel));
  border: 1px solid color-mix(in srgb,var(--primary) 25%, var(--border));
  color: var(--text-2);
  font-size: .88rem;
}
.inprocess-check-inputs{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.mobile-access-setup{
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb,var(--warning) 30%, var(--border));
  background: color-mix(in srgb,var(--warning) 10%, var(--panel));
  margin-bottom: 14px;
}
.mobile-access-setup .actions{
  justify-content: flex-start;
}
.compact-metric-card strong{
  font-size: 2rem;
  line-height: 1;
  font-weight: 850;
  display: block;
}
.compact-metric-card small{
  color: var(--text-2);
}
.grid.compact-hero-grid,.compact-hero-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.machine-ready-strip{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.machine-kv,.machine-info-card{
  display: grid;
  gap: 6px;
}
html[data-theme="light"] .nav-group,html[data-theme="light"] .sidebar-footer,html[data-theme="light"] .brand-panel{
  background: #fff;
}
html[data-theme="dark"] body{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 220px),
    linear-gradient(90deg, rgba(66, 153, 225, .055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(66, 153, 225, .055) 1px, transparent 1px),
    radial-gradient(circle at top right, rgba(56,189,248,.08), transparent 28%),
    linear-gradient(180deg, var(--dark-shell-2), var(--dark-shell-1) 42%, #08111d 100%);
  background-size: auto, 26px 26px, 26px 26px, auto, auto;
}
html[data-theme="dark"] .page-head, html[data-theme="dark"] .topbar, html[data-theme="dark"] .station-hero, html[data-theme="dark"] .hero-panel{
  background: linear-gradient(90deg, color-mix(in srgb,var(--secondary) 18%, var(--panel)), color-mix(in srgb,var(--primary) 26%, var(--panel)));
}
.sidebar-footer .btn{
  width: 100%;
  justify-content: center;
}
.nav-group-head,.nav-link{
  font-size: .92rem;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  border-radius: 16px;
  color: var(--text);
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  transition: background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
html[data-theme="light"] .brand-panel, html[data-theme="light"] .sidebar-status, html[data-theme="light"] .sidebar-footer, html[data-theme="light"] .nav-group-body, html[data-theme="light"] .nav-group-head, html[data-theme="light"] .nav-link{
  background: #fff;
  color: #102033;
}
html[data-theme="light"] .nav-group-head, html[data-theme="light"] .nav-link{
  border-color: #d5e0ea;
}
html[data-theme="light"] .nav-link:hover, html[data-theme="light"] .nav-link.is-active, html[data-theme="light"] .nav-link.active{
  background: linear-gradient(90deg,#eef6fd,#f8fbff);
  color: #0b3f63;
  border-color: #7fc7eb;
}
.page-head .actions .btn{
  min-width: 120px;
}
.station-top-actions,.station-top-actions--utility{
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
  width: 100%;
}
.station-top-actions .btn,.station-top-actions--utility .btn{
  width: 100%;
  min-height: 40px;
  font-size: 1rem;
  font-weight: 650;
}
.station-top-actions .pill,.station-top-actions--utility .pill{
  grid-column: 1/-1;
  justify-self: start;
}
.station-top-actions--utility.golden-action-bar{
  margin-top: 2px;
}
.machine-strip{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px,300px);
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
  scroll-snap-type: x proximity;
}
.entity-card-grid{
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 16px;
}
.station-board{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  margin-top: 12px;
}
.station-tile{
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--panel-alt);
  min-height: 180px;
}
.station-qty{
  font-size: 2.35rem;
  font-weight: 800;
  line-height: 1;
}
.station-cta{
  margin-top: auto;
  color: var(--primary);
  font-weight: 700;
}
.station-pack-card .muted.small{
  font-size: .82rem;
}
.station-pack-badges .pill,.station-pack-meta .mini-tag{
  min-height: 28px;
  font-size: .78rem;
  padding: 0 10px;
}
.page-head.bulk-page-head + .grid.two.bulk-upload-grid{
  grid-template-columns: 1.1fr .9fr;
}
.mobile-access-grid{
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 16px;
  margin-top: 14px;
  align-items: start;
}
.mobile-access-module-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 12px;
}
.mobile-module-card{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.mobile-module-card.is-enabled{
  border-color: color-mix(in srgb,var(--primary) 35%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 10%, transparent);
}
.mobile-module-card-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.mobile-module-card h4{
  margin: 0 0 4px;
  font-size: 1rem;
  line-height: 1.2;
}
.mobile-access-user-table td,.mobile-access-user-table th{
  white-space: nowrap;
}
.mobile-access-user-table td.wrap-cell{
  white-space: normal;
}
.data-cards-compact{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.data-cards-compact .metric-card{
  padding: 16px 18px;
  min-height: 110px;
}
.report-summary-grid,.report-kpi-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.inprocess-redesign .summary-strip{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.inprocess-redesign .summary-strip .metric-card{
  padding: 14px 16px;
}
.inprocess-redesign .inspection-group-card{
  padding: 20px;
}
.inprocess-redesign .inspection-check-card{
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  background: var(--panel-alt);
  display: grid;
  gap: 10px;
}
.inprocess-redesign .inspection-check-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.grn-view-redesign .grn-summary-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.grn-view-redesign .grn-line-grid{
  display: grid;
  gap: 14px;
}
.grn-view-redesign .grn-line-card{
  border: 1px solid var(--border);
  background: var(--panel-alt);
  border-radius: 18px;
  padding: 16px;
}
.card-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.qc-search-single{
  max-width: 360px;
}
.chart-summary-strip .metric-card{
  padding: 14px 18px;
}
.chart-panel .chart-svg{
  width: 100%;
  height: auto;
  display: block;
}
.chart-panel svg{
  overflow: visible;
}
.chart-panel .chart-fill{
  fill: transparent;
}
.chart-panel .chart-line{
  fill: none;
  stroke: var(--secondary);
  stroke-width: 3;
}
.chart-panel .chart-line-secondary{
  fill: none;
  stroke: var(--primary);
  stroke-width: 3;
}
.chart-panel .chart-dot{
  fill: var(--secondary);
  stroke: #fff;
  stroke-width: 2;
}
.flow-card-strip{
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
}
.flow-card{
  min-width: 260px;
  max-width: 320px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  position: relative;
}
.flow-card::after{
  content: "→";
  position: absolute;
  right: -11px;
  top: 44%;
  font-size: 1.5rem;
  color: var(--text-3);
}
.flow-card:last-child::after{
  display: none;
}
.station-map-grid{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}
.station-map-node{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  display: grid;
  gap: 10px;
  text-align: center;
}
.station-map-node .node-code{
  font-size: 1.4rem;
  font-weight: 760;
}
.auth-shell.auth-modern-shell{
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0) 220px), var(--bg);
}
.auth-form-head-modern{
  text-align: center;
  justify-content: center;
}
.auth-form-head-modern .muted{
  max-width: none;
}
.auth-demo-note-modern,.auth-form-foot-grid{
  display: none;
}
.auth-submit-modern{
  width: 100%;
}
.guide-grid .card{
  min-height: 100%;
}
.workflow-module-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.workflow-module-card{
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.card .table{
  table-layout: auto;
}
.table col{
  width: auto;
}
.responsive-table .table td,.responsive-table .table th{
  min-width: 110px;
}
.sidebar .nav-group-head,.sidebar .nav-link{
  font-weight: 560;
  font-size: .95rem;
}
.sidebar .nav-subtitle{
  font-size: .74rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-3);
  padding: 10px 14px 4px;
}
.sidebar .user-chip{
  padding: 12px 14px;
}
.access-groups{
  display: grid;
  gap: 14px;
  margin-top: 8px;
}
.access-group-card{
  border: 1px solid var(--border);
  background: var(--panel-alt);
  border-radius: 18px;
  padding: 14px;
}
.access-check-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.access-check{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  cursor: pointer;
  transition: background var(--fast), border-color var(--fast), transform var(--fast);
}
.access-check:hover{
  background: var(--panel-hover);
  transform: translateY(-1px);
}
.access-check input{
  margin-top: 3px;
  accent-color: var(--primary);
}
.access-check span{
  display: grid;
  gap: 3px;
}
.access-check strong{
  font-size: .92rem;
  font-weight: 720;
  color: var(--text);
}
.access-check small{
  font-size: .82rem;
  color: var(--text-2);
}
html[data-theme="light"] .access-group-card{
  background: #f4f8fc;
}
html[data-theme="light"] .access-check{
  background: #fff;
}
html[data-theme="light"] .page-head, html[data-theme="light"] .station-hero, html[data-theme="light"] .hero-panel{
  background: linear-gradient(90deg,#385d9b,#69b5d7);
}
.simple-login-card{
  width: min(100%,430px);
  margin-inline: auto;
  padding: 30px 28px;
}
.simple-login-head{
  margin-bottom: 8px;
}
.simple-login-head h2{
  font-size: 1.8rem;
}
.simple-login-head .muted,.simple-login-head .auth-kicker{
  display: none;
}
.station-pack-head strong,.station-pack-head .pack-no,.metric-value,.journey-stage-card .stage-code{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table td code,.table td strong.mono,.table .mono,.table td[data-label="Pack"] strong{
  white-space: nowrap;
}
.table td.wrap-cell,.table td[data-wrap="true"]{
  white-space: normal;
  overflow-wrap: break-word;
}
.auth-login-refresh{
  min-height: 100vh;
  padding: 24px;
  background: radial-gradient(circle at top right, color-mix(in srgb,var(--primary) 12%, transparent), transparent 32%),
    linear-gradient(180deg, color-mix(in srgb,var(--secondary) 4%, var(--bg)), var(--bg));
}
.auth-login-layout.login-split-v2{
  width: min(1180px,100%);
  margin: 0 auto;
  min-height: calc(100vh - 48px);
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(8,15,35,.12);
  border: 1px solid color-mix(in srgb,var(--border) 78%, transparent);
  background: color-mix(in srgb,var(--panel) 94%, transparent);
}
.login-pane{
  position: relative;
  min-width: 0;
}
.login-pane--form{
  background: color-mix(in srgb,var(--panel) 98%, white 2%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-pane-inner{
  width: min(100%,420px);
  padding: 48px 40px;
  display: grid;
  gap: 24px;
}
.login-brand-block{
  display: flex;
  align-items: center;
  gap: 14px;
}
.login-brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #0c534f;
  background: linear-gradient(180deg,#ecfbfa,#c9f2ee);
  box-shadow: inset 0 0 0 1px rgba(8,145,178,.18);
}
.login-brand-mark svg{
  width: 20px;
  height: 20px;
}
.login-brand-name{
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--text);
}
.login-brand-sub{
  font-size: .9rem;
  color: var(--text-2);
  margin-top: 2px;
}
.login-form-copy h1{
  margin: 0 0 8px;
  font-size: 2.2rem;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.login-form-copy p{
  margin: 0;
  color: var(--text-2);
  font-size: 1rem;
  line-height: 1.65;
}
.login-form-v2{
  display: grid;
  gap: 14px;
}
.login-label{
  margin-bottom: 0;
  font-size: .88rem;
  font-weight: 700;
  color: var(--text);
}
.input-shell{
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)), rgba(255,255,255,.02);
  border: 1px solid var(--ev-stroke);
  box-shadow: var(--ev-shadow-soft);
}
.input-shell--icon .login-input{
  padding-left: 48px;
}
.input-icon{
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--text-2);
  display: grid;
  place-items: center;
  pointer-events: none;
}
.input-icon svg,.password-toggle--icon svg{
  width: 18px;
  height: 18px;
}
.login-input{
  min-height: 52px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb,var(--border) 86%, transparent);
  background: color-mix(in srgb,var(--panel) 92%, white 8%);
  font-size: .98rem;
}
.login-input:focus{
  border-color: color-mix(in srgb,var(--primary) 55%, var(--border));
  box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 12%, transparent);
}
.password-toggle--icon{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: var(--text-2);
}
.password-toggle--icon:hover{
  background: color-mix(in srgb,var(--panel-alt) 76%, transparent);
  color: var(--text);
}
.login-submit-v2{
  min-height: 52px;
  margin-top: 6px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 700;
  background: linear-gradient(135deg,#0f6161,#0a4d57);
  border: none;
  box-shadow: 0 16px 34px rgba(6,61,66,.16);
}
.login-submit-v2:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 38px rgba(6,61,66,.22);
}
.login-footnote-v2{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.login-pane--showcase{
  background: linear-gradient(160deg,#0c444c 0%, #103b45 38%, #0c2e38 100%);
  color: #effaf9;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
.login-showcase-overlay{
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 86% 14%, rgba(102,231,224,.22), transparent 22%),
    radial-gradient(circle at 72% 48%, rgba(57,196,193,.10), transparent 28%);
  pointer-events: none;
}
.login-showcase-content{
  position: relative;
  z-index: 1;
  width: min(100%,620px);
  padding: 68px 44px 44px;
  margin-left: auto;
  display: grid;
  gap: 24px;
  align-content: center;
}
.login-showcase-kicker{
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226,247,246,.72);
}
.login-showcase-content h2{
  margin: 0;
  font-size: 3rem;
  line-height: 1.08;
  letter-spacing: -.045em;
  color: #f4fbfb;
}
.login-showcase-content blockquote{
  margin: 0;
  color: rgba(236,248,247,.9);
  font-size: 1.22rem;
  line-height: 1.65;
  max-width: 30ch;
}
.login-testimonial-person{
  display: flex;
  align-items: center;
  gap: 14px;
}
.login-avatar-mini{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: .92rem;
  font-weight: 800;
  color: var(--ev-text);
  background: linear-gradient(135deg, rgba(95,231,255,.18), rgba(45,225,194,.1));
  border: 1px solid rgba(95,231,255,.2);
}
.login-testimonial-person strong{
  display: block;
  font-size: 1rem;
  color: #f8fcfc;
}
.login-testimonial-person span{
  display: block;
  margin-top: 3px;
  font-size: .92rem;
  color: rgba(225,245,243,.76);
}
.login-showcase-points{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.login-point{
  display: grid;
  gap: 6px;
}
.login-point strong{
  font-size: .96rem;
  color: #f3fbfb;
}
.login-point span{
  font-size: .88rem;
  line-height: 1.55;
  color: rgba(227,246,244,.74);
}
.login-theme-btn{
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.login-theme-btn:hover{
  background: rgba(255,255,255,.14);
}
html[data-theme="dark"] .auth-login-refresh{
  background: radial-gradient(circle at top right, rgba(56,189,248,.1), transparent 28%),
    linear-gradient(180deg,#071120,#091426 220px,#08101d 100%);
}
html[data-theme="dark"] .auth-login-layout.login-split-v2{
  background: rgba(11,18,32,.92);
  border-color: rgba(36,50,74,.9);
  box-shadow: 0 30px 70px rgba(0,0,0,.38);
}
html[data-theme="dark"] .login-pane--form{
  background: linear-gradient(180deg,rgba(19,28,46,.98),rgba(15,23,42,.98));
}
html[data-theme="dark"] .login-brand-mark{
  color: #d9ffff;
  background: linear-gradient(180deg,rgba(34,211,238,.16),rgba(59,130,246,.22));
  box-shadow: inset 0 0 0 1px rgba(34,211,238,.22);
}
html[data-theme="dark"] .login-showcase-content h2, html[data-theme="dark"] .login-testimonial-person strong, html[data-theme="dark"] .login-point strong{
  color: #f4fbff;
}
html[data-theme="dark"] .login-showcase-content blockquote, html[data-theme="dark"] .login-testimonial-person span, html[data-theme="dark"] .login-point span, html[data-theme="dark"] .login-showcase-kicker{
  color: rgba(227,243,250,.84);
}
html[data-theme="dark"] .login-submit-v2{
  background: linear-gradient(135deg,#1496a6,#115e8c);
  box-shadow: 0 16px 34px rgba(17,94,140,.24);
}
html[data-theme="dark"] .login-submit-v2:hover{
  box-shadow: 0 20px 38px rgba(17,94,140,.32);
}
.auth-register-refresh{
  min-height: 100vh;
  padding: 24px;
  background: radial-gradient(circle at top left, color-mix(in srgb,var(--secondary) 10%, transparent), transparent 30%),
    linear-gradient(180deg, color-mix(in srgb,var(--primary) 4%, var(--bg)), var(--bg));
}
.auth-register-layout.register-split-v2{
  width: min(1180px,100%);
  margin: 0 auto;
  min-height: calc(100vh - 48px);
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(8,15,35,.12);
  border: 1px solid color-mix(in srgb,var(--border) 78%, transparent);
  background: color-mix(in srgb,var(--panel) 94%, transparent);
}
.register-pane{
  position: relative;
  min-width: 0;
}
.register-pane--showcase{
  background: linear-gradient(160deg,#0d4850 0%, #114855 42%, #0d3646 100%);
  color: #effaf9;
  display: flex;
  align-items: stretch;
}
.register-showcase-overlay{
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 16% 18%, rgba(102,231,224,.18), transparent 24%),
    radial-gradient(circle at 80% 76%, rgba(57,196,193,.08), transparent 28%);
  pointer-events: none;
}
.register-showcase-content{
  position: relative;
  z-index: 1;
  width: min(100%,620px);
  padding: 64px 44px 44px;
  display: grid;
  gap: 24px;
  align-content: center;
}
.register-showcase-kicker{
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226,247,246,.72);
}
.register-showcase-content h2{
  margin: 0;
  font-size: 2.85rem;
  line-height: 1.08;
  letter-spacing: -.045em;
  color: #f4fbfb;
}
.register-showcase-content blockquote{
  margin: 0;
  color: rgba(236,248,247,.9);
  font-size: 1.16rem;
  line-height: 1.65;
  max-width: 32ch;
}
.register-showcase-points{
  display: grid;
  gap: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.register-point{
  display: grid;
  gap: 6px;
}
.register-point strong{
  font-size: 1rem;
  color: #f3fbfb;
}
.register-point span{
  font-size: .92rem;
  line-height: 1.55;
  color: rgba(227,246,244,.74);
}
.register-pane--form{
  background: color-mix(in srgb,var(--panel) 98%, white 2%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.register-pane-inner{
  width: min(100%,460px);
  padding: 46px 40px;
  display: grid;
  gap: 22px;
}
.register-brand-block{
  display: flex;
  align-items: center;
  gap: 14px;
}
.register-brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #0c534f;
  background: linear-gradient(180deg,#ecfbfa,#c9f2ee);
  box-shadow: inset 0 0 0 1px rgba(8,145,178,.18);
}
.register-brand-mark svg{
  width: 20px;
  height: 20px;
}
.register-brand-name{
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--text);
}
.register-brand-sub{
  font-size: .9rem;
  color: var(--text-2);
  margin-top: 2px;
}
.register-form-copy h1{
  margin: 0 0 8px;
  font-size: 2.1rem;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.register-form-copy p{
  margin: 0;
  color: var(--text-2);
  font-size: 1rem;
  line-height: 1.65;
}
.register-form-v2{
  display: grid;
  gap: 14px;
}
.register-label{
  margin-bottom: 0;
  font-size: .88rem;
  font-weight: 700;
  color: var(--text);
}
.register-input{
  min-height: 52px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb,var(--border) 86%, transparent);
  background: color-mix(in srgb,var(--panel) 92%, white 8%);
  font-size: .98rem;
}
.register-input:focus{
  border-color: color-mix(in srgb,var(--primary) 55%, var(--border));
  box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 12%, transparent);
}
.register-password-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.register-submit-v2{
  min-height: 52px;
  margin-top: 6px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 700;
  background: linear-gradient(135deg,#0f6161,#0a4d57);
  border: none;
  box-shadow: 0 16px 34px rgba(6,61,66,.16);
}
.register-submit-v2:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 38px rgba(6,61,66,.22);
}
.register-footnote-v2{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.register-footer-links{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.register-theme-btn{
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.register-theme-btn:hover{
  background: rgba(255,255,255,.14);
}
html[data-theme="dark"] .auth-register-refresh{
  background: radial-gradient(circle at top left, rgba(56,189,248,.09), transparent 28%),
    linear-gradient(180deg,#071120,#091426 220px,#08101d 100%);
}
html[data-theme="dark"] .auth-register-layout.register-split-v2{
  background: rgba(11,18,32,.92);
  border-color: rgba(36,50,74,.9);
  box-shadow: 0 30px 70px rgba(0,0,0,.38);
}
html[data-theme="dark"] .register-pane--form{
  background: linear-gradient(180deg,rgba(19,28,46,.98),rgba(15,23,42,.98));
}
html[data-theme="dark"] .register-brand-mark{
  color: #d9ffff;
  background: linear-gradient(180deg,rgba(34,211,238,.16),rgba(59,130,246,.22));
  box-shadow: inset 0 0 0 1px rgba(34,211,238,.22);
}
html[data-theme="dark"] .register-showcase-content h2, html[data-theme="dark"] .register-point strong{
  color: #f4fbff;
}
html[data-theme="dark"] .register-showcase-content blockquote, html[data-theme="dark"] .register-point span, html[data-theme="dark"] .register-showcase-kicker{
  color: rgba(227,243,250,.84);
}
html[data-theme="dark"] .register-submit-v2{
  background: linear-gradient(135deg,#1496a6,#115e8c);
  box-shadow: 0 16px 34px rgba(17,94,140,.24);
}
html[data-theme="dark"] .register-submit-v2:hover{
  box-shadow: 0 20px 38px rgba(17,94,140,.32);
}
.station-announcement-preview{
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(60,80,120,.08);
  border: 1px dashed rgba(110,130,180,.35);
}
.preassembly-workstation-card.is-active, .entity-card.is-active{
  border-color: rgba(60,140,255,.55);
  box-shadow: 0 0 0 1px rgba(60,140,255,.25), 0 12px 32px rgba(15,35,80,.12);
}
[data-theme="dark"] .station-announcement-preview, body.dark-mode .station-announcement-preview, html[data-theme="dark"] .station-announcement-preview{
  background: rgba(130,170,255,.12);
  border-color: rgba(130,170,255,.35);
}
.cell-module-bin-page .metric-card, .process-station-page .metric-card, .preassembly-overview-page .metric-card, .inventory-home-page .card, .inventory-payments-due-page .card, .inprocess-create-page .card{
  border-radius: 18px;
}
.process-station-page .card-lite, .cell-module-bin-page .card-lite, .preassembly-overview-page .card-lite, .inprocess-create-page .note-box{
  border-radius: 16px;
}
.process-station-page .entity-card, .preassembly-workstation-card, .cell-module-bin-page .entity-card{
  min-height: 150px;
}
.process-station-page .modal-grid, .preassembly-overview-page .grid.two, .inventory-home-page .grid.two, .inprocess-create-page .split-grid{
  gap: 16px;
}
.inventory-home-redesigned .inventory-home-actions-grid{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
}
.inventory-home-redesigned .inventory-alert-tile-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.inventory-home-redesigned .inventory-alert-tile{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,var(--card),var(--panel));
  box-shadow: var(--shadow-soft);
}
.inventory-alert-count{
  font-size: 28px;
  font-weight: 800;
  margin: 8px 0 10px;
}
.workflow-grid--inventory .workflow-step.static{
  cursor: default;
}
.connected-workflow-lane{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}
.connected-workflow-lane .lane-step{
  position: relative;
  padding: 16px 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,var(--card),var(--panel));
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.connected-workflow-lane .lane-step span{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: rgba(91,140,255,.16);
  border: 1px solid rgba(91,140,255,.3);
}
.connected-workflow-lane .lane-step.is-active{
  outline: 1px solid rgba(91,140,255,.35);
}
.hero-mini-kpi{
  padding: 18px 4px 8px;
}
.hero-mini-kpi-value{
  font-size: 38px;
  font-weight: 800;
}
.inventory-master-card .muted.small strong{
  font-weight: 700;
}
.inventory-stock-page .table .pill{
  white-space: nowrap;
}
.inventory-qc-modal .modal-body{
  max-height: 78vh;
  overflow: auto;
}
.inventory-grn-workbench-page .modal-card.xl{
  max-width: min(1200px,94vw);
  width: 1200px;
}
.inventory-grn-workbench-page .grn-line-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.inventory-grn-workbench-page .grn-line-card{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,var(--card),var(--panel));
  box-shadow: var(--shadow-soft);
}
.inventory-grn-workbench-page .grn-line-meta{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin: 12px 0;
}
.inventory-grn-workbench-page .meta-box{
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
}
.inventory-grn-workbench-page .meta-box span{
  display: block;
  font-size: 11px;
  color: var(--muted);
}
.inventory-grn-workbench-page .meta-box strong{
  display: block;
  font-size: 18px;
  margin-top: 4px;
}
.inprocess-create-redesigned .split-grid{
  align-items: start;
}
.preassembly-dashboard-grid{
  align-items: start;
}
.preassembly-workstation-grid .entity-card{
  min-height: 190px;
}
.preassembly-console-card .row-actions .btn[disabled]{
  opacity: .55;
  cursor: not-allowed;
}
.section-card{
  border-radius: 22px;
}
.metric-card .metric-sub{
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
}
[data-theme="light"] .section-card,[data-theme="light"] .grn-line-card,[data-theme="light"] .inventory-alert-tile,[data-theme="light"] .connected-workflow-lane .lane-step{
  box-shadow: 0 10px 26px rgba(20,34,70,.08);
}
[data-theme="dark"] .section-card,[data-theme="dark"] .grn-line-card,[data-theme="dark"] .inventory-alert-tile,[data-theme="dark"] .connected-workflow-lane .lane-step{
  box-shadow: 0 18px 38px rgba(0,0,0,.34);
}
.preassembly-overview-page .preassembly-dashboard-grid{
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 14px;
}
.preassembly-overview-page .preassembly-overview-card,.preassembly-overview-page .preassembly-workstations-section,.preassembly-overview-page .preassembly-console-card,.preassembly-overview-page .preassembly-bom-card{
  border: 1px solid var(--border);
  background: linear-gradient(180deg,var(--panel),var(--panel-alt));
  box-shadow: var(--shadow-sm);
}
.preassembly-overview-page .preassembly-workstation-grid{
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
}
.preassembly-overview-page .preassembly-workstation-card{
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--border);
  background: linear-gradient(180deg,rgba(94,200,255,.08),rgba(127,109,255,.06));
}
.preassembly-overview-page .preassembly-workstation-card.is-active{
  outline: 2px solid var(--primary);
  box-shadow: 0 0 0 4px rgba(94,200,255,.12);
}
.preassembly-overview-page .preassembly-card-summary{
  margin: 10px 0 0;
  color: var(--text-2);
  line-height: 1.45;
}
.preassembly-overview-page .preassembly-card-foot{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--border);
}
.preassembly-overview-page fieldset[disabled]{
  opacity: .7;
  filter: saturate(.85);
}
.inventory-stock-page .capture-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(94,200,255,.08);
}
.inventory-grn-workbench-page .modal .table-wrap{
  max-height: 220px;
  overflow: auto;
}
.page .alert-banner{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(246,170,43,.1);
  color: var(--text);
}
.metric-card,.entity-card,.section-card,.card-lite,.preassembly-workstation-card,.mbin-convert-card,.lane-step{
  border-radius: 22px;
}
.metric-card, .entity-card, .section-card, .preassembly-workstation-card, .mbin-convert-card{
  background: linear-gradient(180deg,var(--card),var(--panel));
  border: 1px solid rgba(126,146,184,.22);
  box-shadow: 0 16px 38px rgba(19,32,64,.08);
}
[data-theme="dark"] .metric-card, [data-theme="dark"] .entity-card, [data-theme="dark"] .section-card, [data-theme="dark"] .preassembly-workstation-card, [data-theme="dark"] .mbin-convert-card, body.dark-mode .metric-card, body.dark-mode .entity-card, body.dark-mode .section-card, body.dark-mode .preassembly-workstation-card, body.dark-mode .mbin-convert-card{
  box-shadow: 0 18px 42px rgba(0,0,0,.34);
  border-color: rgba(160,180,220,.18);
}
.metric-card .metric-title{
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 800;
  color: var(--text-2);
}
.metric-card .metric-value{
  font-size: 3rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.04em;
}
.connected-workflow-lane .lane-step, .workflow-grid .workflow-step{
  min-height: 110px;
  justify-content: flex-start;
}
.connected-workflow-lane .lane-step::after{
  content: "";
  position: absolute;
  top: 50%;
  right: -8px;
  width: 16px;
  height: 2px;
  background: rgba(91,140,255,.35);
}
.connected-workflow-lane .lane-step:last-child::after{
  display: none;
}
.stage-modal-card--xl{
  width: min(1280px,96vw);
  max-width: 1280px;
}
.ttit-modal-card .modal-grid{
  max-height: 72vh;
  overflow: auto;
  padding-right: 4px;
}
.ttit-modal-card .ttit-metric-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-bottom: 12px;
}
.ttit-sheet-card{
  border: 1px solid var(--border);
  background: linear-gradient(180deg,var(--panel),var(--panel-alt));
  border-radius: 20px;
  padding: 16px;
}
.ttit-sheet-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.ttit-module-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.ttit-module-card{
  padding: 16px;
  border-radius: 18px;
}
.ttit-busbar-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 12px;
}
.pack-trace-fullpage .flow-item .detail-list.compact, .pack-detail-page .detail-list.compact{
  margin-top: 8px;
}
.pack-trace-fullpage .connected-workflow-lane{
  overflow: auto;
  padding-bottom: 4px;
}
.pack-trace-fullpage .connected-workflow-lane .lane-step{
  min-width: 150px;
}
.mbin-convert-card .entity-code{
  font-size: 1.8rem;
}
.mbin-card-grid.redesign{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.workflow-chain{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.workflow-node{
  padding: 10px 14px;
  border: 1px solid rgba(148,163,184,.25);
  border-radius: 16px;
  background: rgba(59,130,246,.08);
  font-weight: 600;
}
.workflow-link{
  width: 36px;
  height: 2px;
  background: linear-gradient(90deg, rgba(59,130,246,.25), rgba(96,165,250,.9));
}
.metric-card,.entity-card,.card{
  border-radius: 20px;
}
.page .metric-card{
  box-shadow: 0 14px 28px rgba(15,23,42,.08);
}
.evidence-metrics-grid{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
  align-items: stretch;
}
.evidence-metrics-grid .metric-card{
  min-height: 112px;
}
.app-shell.sidebar-collapsed .sidebar{
  width: var(--sidebar-collapsed-w);
}
.app-shell.sidebar-collapsed .brand-title, .app-shell.sidebar-collapsed .brand-sub, .app-shell.sidebar-collapsed .sidebar .user-meta, .app-shell.sidebar-collapsed .sidebar .alert-dot, .app-shell.sidebar-collapsed .sidebar .nav-subtitle{
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.app-shell.sidebar-collapsed .sidebar .nav-link{
  padding-inline: 12px;
  justify-content: center;
}
.app-shell.sidebar-collapsed .sidebar .nav-group-head{
  justify-content: center;
  padding-inline: 10px;
}
.app-shell.sidebar-collapsed .sidebar .nav-caret{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar .nav-group.is-open .nav-group-body{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar .brand-panel, .app-shell.sidebar-collapsed .sidebar .sidebar-footer, .app-shell.sidebar-collapsed .sidebar .nav-group{
  padding: 12px;
}
.app-shell.sidebar-collapsed .sidebar .logo,.app-shell.sidebar-collapsed .sidebar .avatar{
  margin-inline: auto;
}
.app-shell.sidebar-collapsed .sidebar .user-chip{
  justify-content: center;
}
.asset-master-grid{
  align-items: end;
  grid-template-columns: 1.5fr 1.3fr 1fr 1fr;
}
.asset-master-grid .col-compact{
  max-width: 240px;
}
.dispatch-layout-grid{
  grid-template-columns: minmax(0,1.35fr) minmax(320px,.85fr);
  align-items: start;
}
.dispatch-create-card,.dispatch-side-card,.dispatch-summary-card{
  border-radius: 22px;
}
.dispatch-toolbar-card{
  margin-bottom: 12px;
  align-items: center;
}
.dispatch-checklist-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 12px;
  margin: 14px 0;
}
.dispatch-check-chip{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-alt);
  cursor: pointer;
  transition: all .18s ease;
}
.dispatch-check-chip:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.dispatch-check-chip input{
  margin-top: 3px;
  transform: scale(1.1);
}
.dispatch-check-chip span{
  display: grid;
  gap: 2px;
}
.dispatch-check-chip strong{
  font-size: .94rem;
}
.dispatch-check-chip small{
  color: var(--text-2);
}
.pack-pick-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.pick-card{
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--panel-alt);
  cursor: pointer;
  transition: .2s ease;
  position: relative;
}
.pick-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--ki-shadow-soft);
}
.pick-card input{
  position: absolute;
  top: 14px;
  right: 14px;
}
.pick-card.selected{
  border-color: color-mix(in srgb,var(--ki-primary) 45%, var(--ki-border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--ki-primary) 10%, transparent);
}
.pick-card.blocked{
  opacity: .86;
  background: color-mix(in srgb,var(--danger) 6%, var(--ki-panel-2));
}
.pick-card-top{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  padding-right: 22px;
}
.pick-card-meta,.pick-card-issues,.dispatch-summary-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dispatch-summary-stack,.dispatch-pack-list{
  display: grid;
  gap: 10px;
}
.dispatch-summary-item{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-alt);
}
.dispatch-summary-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 10px;
}
.dispatch-summary-grid .detail-row{
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--panel-alt);
}
.dispatch-view-grid{
  align-items: start;
}
body.app-wrapper{
  min-height: 100vh;
  padding-bottom: 84px;
}
.page,.card,.metric-card,.table-wrap,.topbar,.sidebar .brand-panel,.sidebar .sidebar-footer,.sidebar .nav-group,.app-footer-inner{
  border-radius: var(--ki-radius);
}
.card,.metric-card,.table-wrap,.topbar,.sidebar .brand-panel,.sidebar .sidebar-footer,.sidebar .nav-group,.app-footer-inner{
  box-shadow: var(--ki-shadow-soft);
}
.eyebrow{
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--ki-primary);
  margin-bottom: 8px;
}
.card,.table-wrap,.metric-card,.hero-card,.topbar,.sidebar .brand-panel,.sidebar .sidebar-footer,.sidebar .nav-group{
  background: var(--ki-panel);
  border: 1px solid var(--ki-border);
}
.metric-card,.hero-card,.card{
  padding: 18px;
}
.topbar.ki-topbar{
  position: sticky;
  top: 10px;
  z-index: 45;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--ki-panel);
}
.topbar-left,.topbar-actions{
  display: flex;
  align-items: center;
  gap: 12px;
}
.topbar-title-wrap{
  display: grid;
  gap: 2px;
}
.topbar-center{
  min-width: 0;
}
.topbar-search{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid var(--ev-stroke);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.topbar-search-input{
  border: 0;
  outline: 0;
  background: transparent;
  width: 100%;
  min-width: 0;
  color: var(--ev-text);
  font: inherit;
}
.topbar-search-icon{
  font-size: 1rem;
  color: var(--ki-muted);
}
.topbar-user-link{
  padding: 6px 8px;
  border-radius: 16px;
  background: var(--ki-panel-2);
  border: 1px solid var(--ki-border);
  text-decoration: none;
  color: inherit;
}
.icon-btn:hover,.topbar-user-link:hover{
  background: var(--ki-hover);
}
.app-footer{
  position: fixed;
  left: calc(var(--sidebar-w) + 18px);
  right: 18px;
  bottom: 12px;
  z-index: 35;
  margin: 0 26px 28px;
  padding: 16px 18px;
  background: transparent;
  color: var(--ev-sub);
}
.app-shell.sidebar-collapsed .app-footer{
  left: calc(var(--sidebar-collapsed-w) + 18px);
}
.app-footer-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: var(--ki-panel);
  border: 1px solid var(--ki-border);
  color: var(--text-2);
  flex-wrap: wrap;
  border-top: 1px solid var(--border);
}
.app-footer-meta{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.app-footer a{
  color: var(--ev-cyan);
  text-decoration: none;
}
.app-footer a:hover{
  color: var(--ki-primary);
}
html[data-theme="dark"] .sidebar{
  background: linear-gradient(180deg, rgba(14,165,168,.10), rgba(255,255,255,0) 240px), #0f1728;
}
.nav-ico{
  display: grid;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 20px;
  height: 40px;
  border-radius: 13px;
  background: color-mix(in srgb,var(--primary) 8%, var(--panel));
  color: var(--ki-primary);
  font-size: 1rem;
  line-height: 1;
  flex: 0 0 40px;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--primary) 18%, var(--border));
}
html[data-theme="dark"] .nav-ico{
  background: rgba(45,212,191,.14);
  color: #7be6da;
}
.nav-group-head .nav-text,.nav-link .nav-text{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.nav-link .nav-text{
  font-weight: 650;
}
.app-shell.sidebar-collapsed .sidebar .nav-link, .app-shell.sidebar-collapsed .sidebar .nav-group-head{
  font-size: inherit;
  color: inherit;
  line-height: inherit;
  justify-content: center;
  padding-inline: 10px;
}
.app-shell.sidebar-collapsed .sidebar .nav-link .nav-text, .app-shell.sidebar-collapsed .sidebar .nav-group-head .nav-text, .app-shell.sidebar-collapsed .sidebar .brand-title, .app-shell.sidebar-collapsed .sidebar .user-meta, .app-shell.sidebar-collapsed .sidebar .nav-subtitle, .app-shell.sidebar-collapsed .sidebar .alert-dot, .app-shell.sidebar-collapsed .sidebar .station-link-dot{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar .nav-ico{
  width: 24px;
  min-width: 24px;
  height: 24px;
  font-size: 1.05rem;
}
.metrics-grid,.hero-kpis,.entity-card-grid,.station-target-grid{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.split-grid,.dashboard-top-grid,.dashboard-mid-grid,.dispatch-layout-grid,.profile-main-grid{
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(360px,.95fr);
  gap: 18px;
}
.table-summary{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.table-tools{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.table-tools .input{
  min-width: 240px;
  max-width: 340px;
}
.input:focus,select.input:focus,textarea.input:focus{
  border-color: rgba(95,231,255,.38);
  box-shadow: 0 0 0 4px rgba(95,231,255,.08), 0 0 0 1px rgba(95,231,255,.22) inset;
}
.btn.primary,.btn.btn-primary{
  background: linear-gradient(135deg,var(--ki-primary),var(--ki-primary-2));
  border-color: transparent;
  color: #fff;
}
.row-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.pick-card,.dispatch-summary-item,.audit-guide-item,.audit-summary-box{
  border-radius: 16px;
  border: 1px solid var(--ki-border);
  background: var(--ki-panel-2);
}
.pick-card-meta,.pick-card-issues,.dispatch-summary-badges,.audit-guide-list{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.dispatch-summary-stack{
  display: grid;
  gap: 12px;
}
.audit-guide-item{
  padding: 12px 14px;
  justify-content: space-between;
}
.audit-guide-item strong{
  color: var(--ki-text);
}
.audit-summary-box{
  padding: 16px;
}
.audit-kpis-grid{
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.audit-create-layout{
  grid-template-columns: minmax(0,1.2fr) minmax(320px,.85fr);
}
.audit-lines-table .input{
  min-height: 42px;
}
.machines-param-page .table-wrap{
  overflow: auto;
}
.app-native-panel{
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
.hero-card{
  background: linear-gradient(135deg, color-mix(in srgb,var(--ki-primary) 8%, var(--ki-panel)), color-mix(in srgb,var(--ki-primary-2) 10%, var(--ki-panel)));
}
.sidebar--futuristic{
  background: radial-gradient(1200px 320px at 0% -5%, rgba(34,211,238,.10), transparent 50%),
  radial-gradient(900px 300px at 100% 0%, rgba(59,130,246,.08), transparent 42%),
  linear-gradient(180deg, rgba(15,118,110,.12), rgba(255,255,255,0) 240px),
  var(--ki-panel);
}
html[data-theme="dark"] .sidebar--futuristic{
  background: radial-gradient(1200px 340px at 0% -5%, rgba(45,212,191,.12), transparent 50%),
  radial-gradient(900px 300px at 100% 0%, rgba(56,189,248,.09), transparent 45%),
  linear-gradient(180deg, rgba(14,165,168,.12), rgba(255,255,255,0) 260px),
  #0f1728;
}
.nav-v3 .nav-group{
  padding: 8px 10px 12px;
  border-radius: 20px;
  margin-bottom: 6px;
  position: relative;
}
.nav-v3 .nav-group::before{
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 18px;
  border: 1px solid transparent;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)) padding-box, linear-gradient(180deg, rgba(56,189,248,.18), rgba(255,255,255,0)) border-box;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .45;
}
.nav-v3 .nav-group-head{
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--ki-panel-2) 88%, transparent), color-mix(in srgb,var(--ki-panel) 88%, transparent));
  border: 1px solid color-mix(in srgb,var(--ki-border) 90%, transparent);
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}
.nav-v3 .nav-group-head .nav-label{
  font-weight: 800;
  letter-spacing: .01em;
}
.nav-v3 .nav-group-body{
  padding-top: 8px;
  display: grid;
  gap: 6px;
}
.nav-v3 .nav-link{
  padding: 11px 13px;
  border-radius: 16px;
  min-height: 46px;
  border: 1px solid transparent;
  background: transparent;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.nav-v3 .nav-link:hover{
  background: linear-gradient(135deg, color-mix(in srgb,var(--ki-primary) 9%, var(--ki-panel-2)), color-mix(in srgb,var(--ki-primary-2) 10%, var(--ki-panel-2)));
  border-color: color-mix(in srgb,var(--ki-primary) 18%, var(--ki-border));
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  transform: translateX(2px);
}
.nav-v3 .nav-link.active,.nav-v3 .nav-group-head.active{
  background: linear-gradient(135deg, color-mix(in srgb,var(--ki-primary) 16%, var(--ki-panel-2)), color-mix(in srgb,var(--ki-primary-2) 14%, var(--ki-panel-2)));
  border-color: color-mix(in srgb,var(--ki-primary) 32%, var(--ki-border));
  box-shadow: 0 14px 34px rgba(8,145,178,.16);
}
.nav-v3 .nav-subtitle{
  padding: 10px 14px 4px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ki-muted);
}
.nav-v3 .nav-ico{
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 12px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--ki-primary) 16%, transparent), color-mix(in srgb,var(--ki-primary-2) 12%, transparent));
  border: 1px solid color-mix(in srgb,var(--ki-primary) 18%, var(--ki-border));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(15,23,42,.12);
  color: var(--ki-primary);
}
.nav-v3 .nav-ico svg{
  width: 16px;
  height: 16px;
  display: block;
}
.nav-v3 .nav-ico--danger{
  color: #ff8a8a;
  background: linear-gradient(180deg, rgba(239,68,68,.20), rgba(239,68,68,.07));
  border-color: rgba(239,68,68,.24);
}
.nav-v3 .nav-ico--warning{
  color: #fbbf24;
  background: linear-gradient(180deg, rgba(245,158,11,.20), rgba(245,158,11,.07));
  border-color: rgba(245,158,11,.24);
}
.nav-v3 .nav-ico--success{
  color: #2dd4bf;
  background: linear-gradient(180deg, rgba(45,212,191,.22), rgba(45,212,191,.08));
  border-color: rgba(45,212,191,.24);
}
.nav-v3 .nav-ico--info{
  color: #60a5fa;
  background: linear-gradient(180deg, rgba(96,165,250,.22), rgba(96,165,250,.08));
  border-color: rgba(96,165,250,.24);
}
.nav-v3 .nav-ico--overview{
  color: #93c5fd;
  background: linear-gradient(180deg, rgba(59,130,246,.22), rgba(59,130,246,.08));
  border-color: rgba(59,130,246,.24);
}
html[data-theme="dark"] .nav-v3 .nav-ico{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(2,8,23,.42);
}
.nav-v3 .nav-label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-v3 .nav-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  color: #dff9f8;
  background: linear-gradient(135deg, rgba(13,148,136,.9), rgba(6,182,212,.85));
  box-shadow: 0 0 0 1px rgba(255,255,255,.06) inset,0 0 0 4px rgba(45,212,191,.10),0 10px 20px rgba(13,148,136,.20);
}
.nav-v3 .nav-badge--danger{
  background: linear-gradient(135deg,#ef4444,#fb7185);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06) inset,0 0 0 4px rgba(239,68,68,.10),0 10px 20px rgba(239,68,68,.24);
}
.nav-v3 .nav-badge--station{
  position: relative;
}
.nav-v3 .station-link.has-alert .nav-ico{
  color: #ff9f9f;
  background: linear-gradient(180deg, rgba(239,68,68,.24), rgba(244,63,94,.09));
  border-color: rgba(244,63,94,.30);
  box-shadow: 0 0 0 4px rgba(244,63,94,.08), inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(239,68,68,.14);
}
.nav-v3 .station-link.has-alert .nav-ico::after{
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 14px;
  border: 1px solid rgba(244,63,94,.35);
  box-shadow: 0 0 14px rgba(244,63,94,.24);
}
.nav-v3 .nav-caret{
  font-size: .8rem;
  color: var(--ki-muted);
}
.nav-v3 .nav-group-head .nav-text{
  min-width: 0;
}
.nav-v3 .nav-link.nav-link-logout{
  margin-top: 8px;
}
.nav-v3 .nav-link.nav-link-logout .nav-ico{
  box-shadow: none;
}
.nav-v3 .user-chip{
  border-radius: 18px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--ki-panel-2) 92%, transparent), color-mix(in srgb,var(--ki-panel) 92%, transparent));
  border: 1px solid var(--ki-border);
  padding: 12px;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group{
  padding: 8px 8px 10px;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group::before{
  inset: 4px;
  border-radius: 16px;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group-head, .app-shell.sidebar-collapsed .sidebar--futuristic .nav-link{
  padding-inline: 12px;
  min-height: 48px;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-ico{
  width: 30px;
  min-width: 30px;
  height: 30px;
  border-radius: 13px;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-link .nav-badge, .app-shell.sidebar-collapsed .sidebar--futuristic .nav-group-head .nav-badge{
  position: absolute;
  top: 4px;
  right: 6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: .63rem;
  display: inline-flex;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group-head .nav-text, .app-shell.sidebar-collapsed .sidebar--futuristic .nav-link .nav-text, .app-shell.sidebar-collapsed .sidebar--futuristic .user-meta, .app-shell.sidebar-collapsed .sidebar--futuristic .nav-subtitle, .app-shell.sidebar-collapsed .sidebar--futuristic .brand-title{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group.is-open .nav-group-body{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .sidebar-footer{
  padding-top: 8px;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-group-head .nav-caret{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar--futuristic .nav-link:hover{
  transform: none;
}
body.app-shell .sidebar-brand-panel{
  margin: 0 2px 10px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
body.app-shell .brand-core--compact{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 18px;
  text-decoration: none;
  background: var(--shell-panel);
  border: 1px solid var(--shell-border);
  box-shadow: 0 10px 24px rgba(8,15,30,.06);
}
body.app-shell .brand-core--compact .logo{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,var(--shell-primary),var(--shell-primary-2));
  color: #fff;
  font-size: 1.1rem;
  box-shadow: 0 8px 20px var(--shell-glow);
}
body.app-shell .brand-core--compact .brand-title{
  margin: 0;
  color: var(--shell-text);
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
body.app-shell .nav{
  display: grid;
  gap: 8px;
}
body.app-shell .nav-group{
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  display: grid;
  gap: 8px;
  margin: 0;
  border-radius: 0;
}
body.app-shell .nav-group-head,body.app-shell .nav-link{
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--shell-text-soft);
  background: transparent;
  border: none;
  box-shadow: none;
  transition: background .18s ease,color .18s ease;
}
body.app-shell .nav-group-head:hover,body.app-shell .nav-link:hover{
  background: var(--shell-hover);
  color: var(--shell-text);
}
body.app-shell .nav-group.is-open > .nav-group-head,body.app-shell .nav-link.active,body.app-shell .nav-link.is-active{
  background: linear-gradient(90deg,color-mix(in srgb,var(--shell-primary) 14%,transparent),transparent 85%),var(--shell-panel);
  color: var(--shell-text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--shell-primary) 24%,var(--shell-border));
}
body.app-shell .nav-ico svg{
  width: 18px;
  height: 18px;
}
body.app-shell .nav-text{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  overflow: visible;
}
body.app-shell .nav-label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 750;
  font-size: .95rem;
  display: block;
  min-width: 0;
  color: inherit;
}
body.app-shell .nav-caret{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  color: var(--fix-text-3);
  transition: transform .18s ease, color .18s ease;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
body.app-shell .nav-caret svg{
  width: 18px;
  height: 18px;
  display: block;
}
body.app-shell .nav-group.is-open > .nav-group-head .nav-caret{
  transform: rotate(180deg);
  color: var(--shell-text);
}
body.app-shell .nav-group-body .nav-link{
  min-height: 40px;
  padding: 0 10px;
  border-radius: 14px;
  font-size: .93rem;
  font-weight: 680;
  color: var(--shell-text-2);
}
body.app-shell .nav-group-body .nav-ico{
  width: 17px;
  min-width: 17px;
  height: 17px;
}
body.app-shell .nav-link-logout{
  background: linear-gradient(90deg,color-mix(in srgb,var(--danger) 10%, var(--shell-panel)),color-mix(in srgb,var(--shell-primary) 6%, var(--shell-panel)));
  border: 1px solid var(--shell-border);
  justify-content: flex-start;
  min-height: 44px;
  border-color: color-mix(in srgb,var(--danger) 22%, var(--shell-border));
}
html[data-theme="dark"] body.app-shell .topbar{
  background: rgba(13,27,45,.86);
}
body.app-shell .topbar-title{
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--shell-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-search-input{
  font-size: .96rem;
  font-weight: 600;
  color: var(--shell-text);
  width: 100%;
  height: 44px;
  padding: 0 16px 0 42px;
  border-radius: 18px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
body.app-shell .topbar-search-input::placeholder{
  color: var(--shell-text-2);
}
body.app-shell .topbar-icon{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  border: 1px solid var(--shell-border);
  box-shadow: none;
  color: var(--shell-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
body.app-shell .topbar-dropdown{
  width: min(380px, calc(100vw - 24px));
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--shell-panel);
  border: 1px solid var(--shell-border);
  box-shadow: 0 24px 60px rgba(8,15,30,.24);
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: block;
  z-index: 80;
  min-width: min(380px,calc(100vw - 24px));
  max-width: min(420px,calc(100vw - 24px));
}
body.app-shell.sidebar-collapsed .topbar{
  left: var(--fix-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed .content,body.app-shell.sidebar-collapsed .app-footer{
  margin-left: var(--shell-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed .sidebar{
  width: var(--shell-sidebar-collapsed-w);
  padding-inline: 10px;
}
body.app-shell.sidebar-collapsed .brand-title,body.app-shell.sidebar-collapsed .nav-label,body.app-shell.sidebar-collapsed .nav-caret,body.app-shell.sidebar-collapsed .nav-badge{
  display: none;
}
body.app-shell.sidebar-collapsed .nav-group-body{
  display: none;
}
body.app-shell.sidebar-collapsed .nav-group-head,body.app-shell.sidebar-collapsed .nav-link{
  justify-content: center;
  padding-inline: 10px;
}
body.app-shell.sidebar-collapsed .nav-ico{
  width: 38px;
  min-width: 22px;
  height: 38px;
  margin: 0;
}
body.app-shell.sidebar-collapsed .brand-core--compact{
  justify-content: center;
  padding-inline: 8px;
}
body.app-shell .page-head h1,body.app-shell .page-head h2,body.app-shell .hero-title{
  color: #f7fbff;
}
body.app-shell .page-head .muted,body.app-shell .hero-head .muted{
  color: rgba(237,246,255,.86);
}
body.app-shell .hero-panel{
  background: linear-gradient(90deg,#3a65a8,#72b8d4);
  border: 1px solid rgba(255,255,255,.12);
}
body.app-shell .hero-kpis{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
body.app-shell .metric-card,body.app-shell .station-mini-card,body.app-shell .entity-card,body.app-shell .pack-card,body.app-shell .mbin-convert-card{
  border-radius: 18px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg,color-mix(in srgb,var(--shell-primary) 4%,transparent),transparent),var(--shell-panel);
  box-shadow: 0 14px 28px rgba(8,15,30,.05);
}
body.app-shell .metric-title{
  font-size: .78rem;
  font-weight: 820;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--shell-text-2);
}
body.app-shell .metric-value{
  font-size: clamp(2rem,2.25vw,2.8rem);
  font-weight: 860;
  line-height: 1;
  color: var(--shell-text);
  letter-spacing: -.04em;
}
body.app-shell .metric-sub{
  color: var(--shell-text-soft);
}
body.app-shell .entity-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(280px,280px));
  gap: 14px;
  justify-content: flex-start;
}
body.app-shell .table th{
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: color-mix(in srgb,var(--shell-primary) 6%, var(--shell-panel-2));
  color: var(--shell-text-2);
}
body.app-shell .table td{
  font-size: .93rem;
  font-weight: 550;
  color: var(--shell-text);
}
body.app-shell .station-mini-card .stat-box strong{
  font-size: 2rem;
  font-weight: 850;
}
body.app-shell .sidebar-body,body.app-shell .topbar-dropdown-list,body.app-shell .table-wrap,body.app-shell .content{
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--shell-primary) 80%,white 8%) var(--shell-scroll-track);
}
body.app-shell .sidebar-body::-webkit-scrollbar,body.app-shell .topbar-dropdown-list::-webkit-scrollbar,body.app-shell .table-wrap::-webkit-scrollbar,body.app-shell .content::-webkit-scrollbar{
  width: 10px;
  height: 10px;
}
body.app-shell .sidebar-body::-webkit-scrollbar-track,body.app-shell .topbar-dropdown-list::-webkit-scrollbar-track,body.app-shell .table-wrap::-webkit-scrollbar-track,body.app-shell .content::-webkit-scrollbar-track{
  background: var(--shell-scroll-track);
  border-radius: 999px;
}
body.app-shell .sidebar-body::-webkit-scrollbar-thumb,body.app-shell .topbar-dropdown-list::-webkit-scrollbar-thumb,body.app-shell .table-wrap::-webkit-scrollbar-thumb,body.app-shell .content::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,color-mix(in srgb,var(--shell-primary) 82%,white 6%),color-mix(in srgb,var(--shell-primary-2) 74%,white 6%));
  border-radius: 999px;
  box-shadow: 0 0 10px var(--shell-glow);
}
body.app-shell::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, color-mix(in srgb,var(--shell-primary) 9%, transparent), transparent 220px),
linear-gradient(90deg, color-mix(in srgb,var(--shell-primary) 5%, transparent) 1px, transparent 1px),
linear-gradient(0deg, color-mix(in srgb,var(--shell-primary) 5%, transparent) 1px, transparent 1px);
  background-size: auto, 26px 26px, 26px 26px;
  opacity: .55;
  z-index: -1;
}
body.app-shell .sidebar-body::-webkit-scrollbar{
  width: 8px;
}
body.app-shell .sidebar-body::-webkit-scrollbar-track{
  background: transparent;
}
body.app-shell .sidebar-body::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,color-mix(in srgb,var(--shell-primary) 55%, #fff),color-mix(in srgb,var(--shell-secondary) 50%, #fff));
  border-radius: 999px;
}
body.app-shell .brand-panel, body.app-shell .sidebar-footer{
  padding: 12px 14px;
  border-radius: 20px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--shell-panel);
  box-shadow: none;
}
html[data-theme="light"] body.app-shell .brand-panel, html[data-theme="light"] body.app-shell .sidebar-footer{
  background: linear-gradient(180deg, rgba(37,99,235,.03), rgba(255,255,255,0)), var(--shell-panel);
}
body.app-shell .brand-core{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
}
body.app-shell .brand-core .logo{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg,var(--shell-primary),var(--shell-secondary));
  box-shadow: 0 14px 28px var(--shell-glow);
}
body.app-shell .brand-title{
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--text);
  text-transform: uppercase;
  line-height: 1.2;
  white-space: normal;
  overflow: visible;
}
body.app-shell .brand-copy{
  display: grid;
  gap: 2px;
  min-width: 0;
}
body.app-shell .brand-copy small,body.app-shell .brand-copy .muted{
  display: none;
}
body.app-shell .nav-group-head.active, body.app-shell .nav-group.is-open > .nav-group-head, body.app-shell .nav-link.active, body.app-shell .nav-link.is-active{
  background: linear-gradient(90deg,color-mix(in srgb,var(--shell-primary) 20%, var(--shell-panel)),color-mix(in srgb,var(--shell-secondary) 14%, var(--shell-panel)));
  border-color: color-mix(in srgb,var(--shell-primary) 30%, var(--shell-border));
  color: var(--shell-text);
}
body.app-shell .nav-group-body .nav-link.active, body.app-shell .nav-group-body .nav-link.is-active{
  color: var(--shell-text);
}
body.app-shell .nav-subtitle{
  padding: 6px 14px 8px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.app-shell .nav-badge{
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 800;
  background: color-mix(in srgb,var(--danger) 18%, var(--shell-panel));
  border: 1px solid color-mix(in srgb,var(--danger) 28%, var(--shell-border));
  color: color-mix(in srgb,var(--danger) 92%, #fff);
}
body.app-shell.sidebar-collapsed .brand-panel{
  padding: 12px 8px;
  display: flex;
  justify-content: center;
}
body.app-shell.sidebar-collapsed .brand-core{
  justify-content: center;
}
body.app-shell.sidebar-collapsed .brand-copy, body.app-shell.sidebar-collapsed .nav-text, body.app-shell.sidebar-collapsed .nav-subtitle{
  display: none;
}
body.app-shell.sidebar-collapsed .nav-group-head, body.app-shell.sidebar-collapsed .nav-link{
  padding: 10px;
  justify-content: center;
  min-height: 44px;
  padding-inline: 10px;
}
body.app-shell.sidebar-collapsed .nav-badge{
  display: none;
}
body.app-shell .topbar-left{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
body.app-shell .topbar-context{
  display: grid;
  gap: 2px;
  min-width: 0;
}
.topbar-kicker{
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--shell-text-3);
}
body.app-shell .topbar-icon:hover{
  background: color-mix(in srgb,var(--shell-primary) 10%, var(--shell-panel));
}
body.app-shell .topbar-center{
  min-width: 0;
  flex: 1 1 420px;
  max-width: 640px;
}
body.app-shell .topbar-search-icon{
  position: absolute;
  left: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--shell-primary);
  pointer-events: none;
}
body.app-shell .topbar-search-input:focus{
  border-color: color-mix(in srgb,var(--shell-primary) 42%, var(--shell-border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--shell-primary) 12%, transparent);
}
body.app-shell .topbar-badge{
  position: absolute;
  top: -5px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #fb7185;
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--shell-topbar-bg);
}
body.app-shell .topbar-drop-wrap{
  position: relative;
  flex: 0 0 auto;
}
body.app-shell .topbar-dropdown[hidden]{
  display: none;
}
body.app-shell .topbar-dropdown-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 6px 10px;
}
body.app-shell .topbar-dropdown-head strong{
  display: block;
  font-size: 1rem;
  color: var(--shell-text);
}
body.app-shell .topbar-dropdown-head a{
  font-size: .88rem;
  font-weight: 700;
  color: var(--shell-primary);
}
body.app-shell .topbar-dropdown-list{
  display: grid;
  gap: 6px;
  max-height: 360px;
  overflow: auto;
  padding-right: 2px;
}
body.app-shell .topbar-dropdown-list::-webkit-scrollbar{
  width: 7px;
}
body.app-shell .topbar-dropdown-list::-webkit-scrollbar-thumb{
  background: color-mix(in srgb,var(--shell-primary) 36%, var(--shell-border));
  border-radius: 999px;
}
body.app-shell .topbar-item{
  display: flex;
  gap: 12px;
  padding: 11px 10px;
  border-radius: 14px;
  border: 1px solid transparent;
}
body.app-shell .topbar-item:hover{
  background: color-mix(in srgb,var(--shell-primary) 8%, var(--shell-panel-2));
  border-color: color-mix(in srgb,var(--shell-primary) 18%, var(--shell-border));
}
body.app-shell .topbar-item-icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb,var(--shell-primary) 12%, var(--shell-panel-2));
  color: var(--shell-primary);
  flex: 0 0 auto;
}
body.app-shell .topbar-item-body{
  display: grid;
  gap: 4px;
  min-width: 0;
}
.topbar-item-body strong{
  font-size: .92rem;
  color: var(--shell-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.topbar-item-body small,.topbar-item-body em{
  font-size: .8rem;
  color: var(--shell-text-2);
  font-style: normal;
  line-height: 1.35;
}
body.app-shell .topbar-empty{
  padding: 16px 10px;
  color: var(--shell-text-2);
}
body.app-shell .topbar, body.app-shell .topbar-actions, body.app-shell .topbar-drop-wrap{
  overflow: visible;
}
.split-grid.split-grid-wide > :only-child{
  grid-column: 1 / -1;
}
body.app-shell .nav-group-head{
  min-height: 56px;
  padding: 10px 14px;
  font-size: 1.03rem;
  font-weight: 750;
  align-items: flex-start;
}
body.app-shell .nav-group-head .nav-label{
  white-space: normal;
  line-height: 1.22;
}
body.app-shell .nav-group-head .nav-ico{
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 12px;
}
body.app-shell .topbar-user{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 16px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  color: var(--shell-text);
}
body.app-shell .topbar-user-text{
  display: grid;
  line-height: 1.15;
}
.topbar-user-text strong{
  font-size: .92rem;
  color: var(--shell-text);
}
.topbar-user-text small{
  font-size: .76rem;
  color: var(--shell-text-2);
}
body.app-shell .page, body.app-shell .page > *, body.app-shell .card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .page-head{
  max-width: 100%;
  overflow: hidden;
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero{
  padding: 20px 22px;
  border-radius: 24px;
  border: 1px solid color-mix(in srgb,var(--shell-primary) 24%, var(--shell-border));
  background: linear-gradient(135deg,color-mix(in srgb,var(--shell-primary) 14%, var(--shell-panel)),color-mix(in srgb,var(--shell-secondary) 10%, var(--shell-panel-2)));
  color: var(--refine-page-title);
  box-shadow: none;
}
body.app-shell .page-head h1,body.app-shell .page-head h2,body.app-shell .page-head h3, body.app-shell .station-hero h1,body.app-shell .station-hero h2,body.app-shell .station-hero h3, body.app-shell .hero-panel h1,body.app-shell .hero-panel h2,body.app-shell .hero-panel h3{
  color: var(--shell-text);
  font-weight: 820;
  letter-spacing: -.04em;
}
body.app-shell .page-head .muted, body.app-shell .page-head p, body.app-shell .hero-panel .muted, body.app-shell .hero-panel p, body.app-shell .station-hero .muted, body.app-shell .station-hero p{
  color: var(--shell-text-2);
}
body.app-shell .metric-card, body.app-shell .station-mini-card, body.app-shell .readiness-card, body.app-shell .machine-status-card, body.app-shell .compact-card--mbin, body.app-shell .entity-card, body.app-shell .table-card, body.app-shell .card{
  border-radius: 22px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  box-shadow: none;
}
html[data-theme="light"] body.app-shell .metric-card, html[data-theme="light"] body.app-shell .station-mini-card, html[data-theme="light"] body.app-shell .readiness-card, html[data-theme="light"] body.app-shell .machine-status-card, html[data-theme="light"] body.app-shell .compact-card--mbin, html[data-theme="light"] body.app-shell .entity-card, html[data-theme="light"] body.app-shell .table-card, html[data-theme="light"] body.app-shell .card{
  background: linear-gradient(180deg, rgba(37,99,235,.02), rgba(255,255,255,0)), #fff;
}
body.app-shell .metric-sub,body.app-shell .card .muted{
  color: var(--shell-text-2);
}
html[data-theme="light"] body.app-shell .table-wrap{
  background: #fff;
}
body.app-shell .table td,body.app-shell .table th{
  border-bottom-color: var(--shell-border);
}
body.app-shell .input, body.app-shell .topbar-search-input, body.app-shell select.input, body.app-shell textarea.input{
  color: var(--shell-text);
  background: var(--shell-panel);
  border-color: var(--shell-border);
}
html[data-theme="light"] body.app-shell .input, html[data-theme="light"] body.app-shell .topbar-search-input, html[data-theme="light"] body.app-shell select.input, html[data-theme="light"] body.app-shell textarea.input{
  background: #fff;
}
body.app-shell .input::placeholder,body.app-shell .topbar-search-input::placeholder{
  color: var(--shell-text-2);
}
body.app-shell .page-head.page-head-tight{
  padding: 12px 18px;
  gap: 12px;
  align-items: flex-start;
}
body.app-shell .page-head.page-head-tight h2{
  font-size: clamp(1.2rem,1.6vw,1.55rem);
  margin-bottom: 4px;
}
body.app-shell .page-head.page-head-tight .muted{
  font-size: .92rem;
}
.kiosk-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap: 14px;
}
.kiosk-card{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kiosk-card-top{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.kiosk-sku{
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .02em;
}
.kiosk-name{
  font-size: .95rem;
  color: var(--shell-text-soft);
}
.kiosk-metrics{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.kiosk-metric-value{
  font-size: 1.35rem;
  font-weight: 850;
  line-height: 1.05;
}
.avatar-fallback-js{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: none;
  position: relative;
}
body.app-shell .topbar-mobile-menu{
  width: min(92vw,440px);
  max-width: min(92vw,440px);
}
body.app-shell .topbar-mobile-search{
  padding: 0 6px 10px;
}
body.app-shell .topbar-search-mobile{
  max-width: none;
}
body.app-shell .topbar-mobile-action:hover{
  background: color-mix(in srgb,var(--shell-primary) 10%, var(--shell-panel));
}
body.app-shell .table-enhancer{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 0 12px;
}
body.app-shell .table-enhancer-left,body.app-shell .table-enhancer-right{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .table-enhancer-size{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--shell-text-2);
  font-size: .84rem;
  font-weight: 700;
}
body.app-shell .table-enhancer-search{
  min-width: 220px;
  max-width: 340px;
}
body.app-shell .table-enhancer-page-size{
  min-width: 84px;
  height: 36px;
  padding: 0 10px;
}
body.app-shell .table-enhancer-meta,body.app-shell .table-enhancer-page-label{
  font-size: .84rem;
  color: var(--shell-text-2);
  font-weight: 700;
}
body.app-shell .table-enhancer-pages{
  display: flex;
  align-items: center;
  gap: 8px;
}
body.app-shell .table-enhancer.is-single-page .table-enhancer-pages{
  opacity: .72;
}
body.app-shell .compact-report-head{
  padding: 12px 18px 14px;
  min-height: auto;
}
body.app-shell .compact-report-head h2{
  margin-bottom: 4px;
}
body.app-shell .report-summary-grid .metric-card,body.app-shell .metrics-grid.compact-metrics .metric-card{
  min-height: 132px;
}
body.app-shell .line-side-inventory-metrics{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
body.app-shell .line-side-inventory-metrics .metric-card{
  cursor: pointer;
}
body.app-shell .page > .page-head + .card, body.app-shell .page > .page-head + .metrics-grid, body.app-shell .page > .page-head + .compact-hero-grid, body.app-shell .page > .page-head + .split-grid, body.app-shell .page > .page-head + .grid{
  margin-top: 10px;
}
body.app-shell .entity-card-grid.fixed-card-grid, body.app-shell .fixed-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 14px;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg{
  background: var(--shell-panel);
  border: 1px solid var(--shell-border);
  box-shadow: var(--shell-shadow);
}
html[data-theme="light"] body.app-shell .modal-card, html[data-theme="light"] body.app-shell .modal-card.lg{
  background: #fff;
}
body.app-shell .page-head .actions{
  width: auto;
  justify-content: flex-start;
}
.grid,.form-grid,.three-col,.four-col,.five-col,.cards-grid,.hero-kpis,.metric-grid{
  align-items: stretch;
}
html[data-theme="light"] body.app-shell .modal-card, html[data-theme="light"] body.app-shell .modal-card.lg, html[data-theme="light"] body.app-shell .modal-card.xl{
  background: #fff;
}
body.app-shell .table-summary.table-summary-tight{
  margin-bottom: 10px;
}
body.app-shell .station-inventory-shell .metric-card{
  cursor: pointer;
}
body.app-shell .table-enhancer-top{
  padding-top: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(148,163,184,.14);
  margin-bottom: 10px;
}
body.app-shell .table-enhancer-bottom{
  padding-top: 10px;
  padding-bottom: 0;
  border-top: 1px solid rgba(148,163,184,.14);
  margin-top: 10px;
}
body.app-shell .table-enhancer-search-note{
  font-size: .82rem;
  font-weight: 700;
  color: var(--shell-text-2);
  padding: 0 6px;
}
body.app-shell .table-enhancer-meta-secondary{
  font-size: .8rem;
  color: var(--shell-text-2);
}
body.app-shell .table-wrap + .table-enhancer-bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .table-empty-state td{
  padding: 18px 12px;
  text-align: center;
  color: var(--shell-text-2);
}
.preassembly-doc-note{
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px dashed rgba(148,163,184,.24);
  border-radius: 14px;
  background: rgba(15,23,42,.04);
}
.station-s8-url-note{
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px dashed rgba(148,163,184,.24);
  border-radius: 16px;
  background: rgba(15,23,42,.04);
}
.visual-doc-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(59,130,246,.08);
  color: var(--shell-text-2);
  font-size: .78rem;
  font-weight: 700;
}
body.app-shell .mobile-app-nav{
  display: none;
}
body.app-shell .news-band{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 18px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  overflow: hidden;
}
body.app-shell .news-band-label{
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--shell-primary) 12%, var(--shell-panel));
  color: var(--shell-primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.app-shell .sidebar .nav-link:hover .nav-label,body.app-shell .sidebar .nav-group-head:hover .nav-label{
  animation: asmSidebarMarquee 8s linear infinite;
  transform: translateX(0);
  display: inline-block;
}
body.app-shell .topbar-mobile-nav-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  padding: 0 6px 12px;
}
body.app-shell .topbar-mobile-nav-card{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--shell-panel);
  color: var(--shell-text);
}
body.app-shell .topbar-mobile-nav-card.is-active{
  border-color: color-mix(in srgb,var(--shell-primary) 32%, var(--shell-border));
  background: color-mix(in srgb,var(--shell-primary) 12%, var(--shell-panel));
}
body.app-shell .topbar-mobile-nav-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: color-mix(in srgb,var(--shell-primary) 14%, var(--shell-panel-2));
  color: var(--shell-primary);
  flex: 0 0 auto;
}
body.app-shell .topbar-mobile-nav-ico svg{
  width: 22px;
  height: 22px;
}
body.app-shell .topbar-mobile-nav-copy{
  display: grid;
  gap: 4px;
  min-width: 0;
}
body.app-shell .topbar-mobile-nav-copy strong{
  font-size: .92rem;
  color: var(--shell-text);
}
body.app-shell .workflow-card{
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--shell-panel);
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 14px 32px rgba(2,8,23,.12);
}
body.app-shell .workflow-card strong{
  font-size: .92rem;
  color: var(--shell-text);
}
body.app-shell .workflow-card span{
  font-size: .84rem;
  color: var(--shell-text-2);
  line-height: 1.45;
}
.process-edit-layout-full{
  display: block;
}
.process-edit-layout-full .inprocess-worksheet-form{
  width: 100%;
}
.inprocess-create-grid.single-column{
  display: block;
}
.inprocess-check-inputs-wide{
  display: grid;
  grid-template-columns: minmax(260px,1fr) minmax(240px,1fr);
  gap: 12px;
}
.radio-pill-group{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.radio-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  cursor: pointer;
}
.radio-pill.active{
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(83,160,255,.12);
}
.radio-pill input{
  display: none;
}
.pack-trace-selected{
  grid-template-columns: 1fr;
}
body.app-shell .sidebar .nav-text{
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
}
body.app-shell .sidebar .nav-link:hover .nav-label, body.app-shell .sidebar .nav-link:focus-visible .nav-label, body.app-shell .sidebar .nav-group-head:hover .nav-label, body.app-shell .sidebar .nav-group-head:focus-visible .nav-label, body.app-shell .sidebar .nav-link.active .nav-label{
  display: inline-block;
  padding-right: 36px;
  animation: asmSidebarMarqueeWide 8s linear infinite;
}
.inprocess-create-redesigned .section-card{
  width: 100%;
}
.inprocess-create-redesigned .compact-form{
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.inprocess-create-redesigned .compact-form .full{
  grid-column: 1 / -1;
}
.pack-trace-selected .detail-list{
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.pack-trace-selected .detail-list.compact{
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
body.app-shell .sidebar .nav-group-head, body.app-shell .sidebar .nav-link{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  overflow: visible;
  transform: none;
  transition: background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
  column-gap: 12px;
}
body.app-shell .sidebar .nav-group-head:hover, body.app-shell .sidebar .nav-link:hover, body.app-shell .sidebar .nav-group-head:focus-visible, body.app-shell .sidebar .nav-link:focus-visible{
  transform: none;
}
body.app-shell .sidebar .nav-ico{
  flex: 0 0 40px;
}
body.app-shell .sidebar .nav-group-head .nav-text, body.app-shell .sidebar .nav-link .nav-text{
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  overflow: hidden;
}
body.app-shell .sidebar .nav-group-head .nav-label, body.app-shell .sidebar .nav-link .nav-label{
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  max-width: 100%;
}
body.app-shell .sidebar .nav-label-track{
  display: inline-block;
  max-width: none;
  white-space: nowrap;
  transform: translateX(0);
  will-change: transform;
  min-width: max-content;
  padding-right: 0;
}
body.app-shell .sidebar .nav-label.is-overflowing .nav-label-track{
  padding-right: 44px;
}
body.app-shell .sidebar .nav-link:hover .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-link:focus-visible .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-link.active .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group-head:hover .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group-head:focus-visible .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group.is-open > .nav-group-head .nav-label.is-overflowing .nav-label-track{
  animation: asmSidebarMarqueeTrack 7.5s linear infinite;
}
body.app-shell .sidebar .nav-caret{
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}
body.app-shell .sidebar .nav-caret svg{
  width: 18px;
  height: 18px;
}
body.app-shell .sidebar .nav-group-head .nav-badge, body.app-shell .sidebar .nav-link .nav-badge{
  flex: 0 0 auto;
  margin-left: 10px;
}
body.app-shell.sidebar-collapsed .sidebar .nav-label-track{
  animation: none;
  transform: none;
}
body.app-shell .sidebar .nav-label.is-overflowing{
  mask-image: linear-gradient(90deg,#000 0,#000 82%,transparent 100%);
  -webkit-mask-image: linear-gradient(90deg,#000 0,#000 82%,transparent 100%);
}
body.app-shell .sidebar .nav-link:hover .nav-label.is-overflowing, body.app-shell .sidebar .nav-link:focus-visible .nav-label.is-overflowing, body.app-shell .sidebar .nav-group-head:hover .nav-label.is-overflowing, body.app-shell .sidebar .nav-group-head:focus-visible .nav-label.is-overflowing, body.app-shell .sidebar .nav-group.is-open > .nav-group-head .nav-label.is-overflowing{
  mask-image: none;
  -webkit-mask-image: none;
}
body.app-shell .sidebar .nav-link:hover .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-link:focus-visible .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group-head:hover .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group-head:focus-visible .nav-label.is-overflowing .nav-label-track, body.app-shell .sidebar .nav-group.is-open > .nav-group-head .nav-label.is-overflowing .nav-label-track{
  animation: asmSidebarMarqueeTrack var(--marquee-duration,8s) linear infinite;
}
body.app-shell.sidebar-collapsed .sidebar .nav-label.is-overflowing{
  mask-image: none;
  -webkit-mask-image: none;
}
body.app-shell .sidebar .nav-link:hover .nav-label:not(.is-overflowing) .nav-label-track, body.app-shell .sidebar .nav-group-head:hover .nav-label:not(.is-overflowing) .nav-label-track{
  animation: none;
  transform: none;
}
.station-pack-view-modal .metric-value{
  font-size: 1.05rem;
  line-height: 1.25;
  word-break: normal;
}
.station-pack-view-modal .metric-title{
  font-size: .72rem;
}
.station-pack-view-modal .table td,.station-pack-view-modal .table th{
  font-size: .85rem;
}
body.app-shell .metric-card .metric-title, body.app-shell .card .card-title, body.app-shell .kpi .muted.small{
  font-weight: 800;
  letter-spacing: .08em;
}
body.app-shell .metric-card .metric-value, body.app-shell .kpi-val{
  font-size: 3rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
  word-break: normal;
}
body.app-shell .metric-card, body.app-shell .card{
  overflow: hidden;
}
body.app-shell .metric-card .metric-title, body.app-shell .card .card-title, body.app-shell .muted.small{
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}
.categories-list-page .category-inline-form .label{
  margin-bottom: 6px;
}
.sendback-toolbar-card .sendback-bulk-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.preassembly-setup-chain{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.preassembly-setup-chain .workflow-node{
  flex: 1 1 180px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.iqc-queue-page .iqc-kpi-grid .metric-card{
  min-height: 128px;
}
.iqc-queue-page .table-wrap{
  overflow: auto;
}
.station-mini-stats--quad{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.station-mini-stats--quad .stat-box{
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border: 1px solid var(--border);
}
.station-mini-stats--quad .stat-box>span{
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}
.station-mini-stats--quad .stat-box strong{
  font-size: 3rem;
  line-height: 1;
  font-weight: 900;
  color: var(--text);
  display: block;
}
.station-mini-stats--quad .stat-box--daily{
  background: linear-gradient(180deg,rgba(125,157,216,.14),rgba(125,157,216,.07));
}
.station-mini-stats--quad .stat-box--target{
  background: linear-gradient(180deg,rgba(171,156,219,.14),rgba(171,156,219,.07));
}
.station-mini-stats--quad .stat-box--monthly{
  background: linear-gradient(180deg,rgba(130,183,164,.14),rgba(130,183,164,.07));
}
.station-mini-stats--quad .stat-box--yearly{
  background: linear-gradient(180deg,rgba(184,176,156,.14),rgba(184,176,156,.07));
}
.station-mini-stats--dual{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.station-mini-stats--dual .stat-box{
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 18px;
}
.station-mini-stats--dual .stat-box>span{
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
}
.station-mini-stats--dual .stat-box strong{
  font-size: 2.15rem;
  line-height: 1.05;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.station-mini-stats--dual .ok-count{
  color: #169b45;
}
.station-mini-stats--dual .bad-count{
  color: #d13a32;
}
.station-mini-stats--dual .count-sep{
  font-style: normal;
  color: var(--text);
  font-weight: 700;
  opacity: .85;
}
.station-pack-card .entity-code, .station-pack-card strong{
  word-break: normal;
}
.station-pack-view-modal .metric-card .metric-title{
  font-weight: 800;
}
.station-pack-view-modal .metric-card .metric-value, .station-pack-view-modal .metric-card .metric-sub{
  font-size: .95rem;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.station-pack-view-modal .metric-card{
  min-height: 118px;
}
a[aria-disabled="true"], .btn.disabled{
  pointer-events: none;
  opacity: .55;
}
.page-head h1,.page-head h2{
  line-height: 1.14;
}
.card,.table-card,.hero-panel,.station-pack-card,.station-tile,.workflow-module-card,.mobile-module-card{
  box-shadow: 0 12px 32px rgba(15,23,42,.06);
}
.table-summary,.table-tools,.table-summary-tight{
  gap: 12px;
  align-items: center;
}
.table-enhancer{
  gap: 10px;
}
.table-enhancer .btn{
  min-height: 38px;
}
.table tbody td{
  line-height: 1.38;
}
.input,.btn,.icon-btn,.topbar-icon,.nav-link,.topbar-mobile-action,.topbar-mobile-nav-card{
  transition: background var(--fast), border-color var(--fast), box-shadow var(--fast), transform var(--fast), color var(--fast);
}
.input:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.topbar-icon:focus-visible,.nav-link:focus-visible,a:focus-visible,button:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 18%, transparent), 0 0 0 1px color-mix(in srgb,var(--primary) 55%, transparent) inset;
}
.kiosk-empty,.topbar-empty,.table-empty,.empty-state,.empty-card{
  display: grid;
  place-items: center;
  min-height: 108px;
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed color-mix(in srgb,var(--border) 88%, transparent);
  background: color-mix(in srgb,var(--panel-alt) 92%, transparent);
  color: var(--text-2);
  text-align: center;
}
.topbar-dropdown{
  border-radius: 20px;
}
.topbar-item{
  border-radius: 14px;
}
.topbar-item:hover{
  background: var(--panel-hover);
}
.station-pill{
  display: inline-grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
}
.station-pill strong{
  font-size: .92rem;
  line-height: 1;
}
.station-pill small{
  color: var(--text-2);
}
body.page-loading .content{
  opacity: .82;
  transition: opacity .12s ease;
}
body.page-loading .content::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.04), rgba(255,255,255,0));
  animation: asm360ShellSweep 1.1s linear infinite;
  z-index: 30;
}
body.app-shell .toolbar-form{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .server-pager-wrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
body.app-shell .server-pager{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
body.app-shell .server-pager .btn{
  min-width: 40px;
  justify-content: center;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
body.app-shell .toolbar-form .toolbar-search--wide{
  min-width: 0;
  width: min(100%, 420px);
  max-width: 420px;
  flex: 1 1 320px;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager, body.app-shell .toolbar-form.toolbar-form--inline-pager > *{
  min-width: 0;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager .input{
  max-width: 100%;
}
body.app-shell .hero-head, body.app-shell .hero-actions, body.app-shell .section-head, body.app-shell .queue-head{
  min-width: 0;
}
body.app-shell .hero-actions > .toolbar-form, body.app-shell .section-head > .toolbar-form, body.app-shell .queue-head > .toolbar-form{
  max-width: 100%;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager > .input, body.app-shell .toolbar-form.toolbar-form--inline-pager > .btn, body.app-shell .toolbar-form.toolbar-form--inline-pager > .pill, body.app-shell .toolbar-form.toolbar-form--inline-pager > .toolbar-inline-pager{
  flex: 0 0 auto;
}
body.app-shell .toolbar-inline-pager{
  display: inline-flex;
  align-items: center;
  margin-left: auto;
}
body.app-shell .toolbar-inline-pager .server-pager{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}
body.app-shell .toolbar-inline-pager .server-pager .btn{
  min-width: 36px;
  padding-inline: 10px;
}
body.app-shell .server-pager-wrap--summary{
  justify-content: flex-end;
}
body.app-shell .station-mini-stats--dual .stat-box strong, body.app-shell .station-mini-card .stat-box strong{
  font-size: clamp(2.6rem, 3.6vw, 3.6rem);
  line-height: 1;
}
body.app-shell .station-mini-stats--dual .stat-box > span{
  font-size: .86rem;
}
body.app-shell .nav-group-head, body.app-shell .nav-link, body.app-shell .topbar-dropdown{
  transition: background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease;
}
body.app-shell .station-pack-grid, body.app-shell .entity-card-grid.fixed-card-grid, body.app-shell .entity-card-grid.mbin-card-grid{
  contain-intrinsic-size: 900px;
}
body.app-shell .sidebar .nav-group-head.active, body.app-shell .sidebar .nav-group-head.is-open{
  background: color-mix(in srgb,var(--primary) 14%, var(--panel-alt));
  border-color: color-mix(in srgb,var(--primary) 38%, var(--border));
  box-shadow: 0 0 0 1px color-mix(in srgb,var(--primary) 18%, transparent) inset;
}
body.app-shell .sidebar .nav-link.is-active, body.app-shell .sidebar .sidebar-link.is-active, body.app-shell .sidebar .nav-link.active, body.app-shell .sidebar .sidebar-link.active{
  box-shadow: 0 0 0 1px color-mix(in srgb,var(--primary) 18%, transparent) inset;
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
body.app-shell .queue-head--compact{
  align-items: center;
}
body.app-shell .station-pack-search-wrap{
  width: 100%;
  display: grid;
  grid-template-columns: minmax(260px,1fr) 112px auto auto auto minmax(180px,max-content);
  align-items: center;
  gap: 10px;
  overflow: visible;
}
body.app-shell .station-pack-search-wrap .toolbar-search--wide{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: none;
}
body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  width: auto;
  min-width: 0;
  margin-left: 0;
  justify-content: flex-end;
  justify-self: end;
}
body.app-shell .station-pack-search-wrap .server-pager{
  flex-wrap: nowrap;
  justify-content: flex-end;
  display: flex;
  align-items: center;
  gap: 6px;
}
body.app-shell .station-pack-search-wrap .pill{
  white-space: nowrap;
}
body.app-shell .station-pack-search-wrap .input, body.app-shell .station-pack-search-wrap .btn, body.app-shell .station-pack-search-wrap .pill, body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  min-width: 0;
}
body.app-shell .station-pack-search-wrap .input:not(.toolbar-search--wide){
  width: 100%;
  max-width: 120px;
}
body.app-shell .station-pack-search-wrap .btn{
  white-space: nowrap;
}
body.app-shell .station-pack-search-wrap .toolbar-inline-pager .btn{
  min-width: 34px;
}
body.app-shell .station-clock-modal-card{
  width: min(1100px, calc(100vw - 24px));
  max-width: 1100px;
}
body.app-shell .station-clock-form{
  display: grid;
  gap: 16px;
}
body.app-shell .station-clock-form .machine-check-sheet{
  gap: 14px;
}
body.app-shell .station-clock-form .machine-check-sheet-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
body.app-shell .station-clock-form .machine-check-list{
  gap: 14px;
}
body.app-shell .station-clock-form .machine-check-row{
  grid-template-columns: minmax(0,1.2fr) minmax(220px,.72fr) minmax(240px,.95fr);
  align-items: end;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(180deg,color-mix(in srgb,var(--panel-alt) 80%, #fff),var(--panel-alt));
}
body.app-shell .station-clock-form .machine-check-meta{
  display: grid;
  gap: 4px;
  align-self: start;
}
body.app-shell .station-clock-form .machine-param-stack{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
body.app-shell .station-clock-form .machine-param-row{
  display: grid;
  grid-template-columns: minmax(150px,.9fr) minmax(0,1.1fr);
  gap: 10px;
  align-items: center;
}
body.app-shell .station-clock-form .machine-check-row > div:nth-child(2), body.app-shell .station-clock-form .machine-check-row > div:nth-child(3){
  display: grid;
  gap: 8px;
}
body.app-shell .station-clock-form .actions .btn{
  min-width: 138px;
}
body.app-shell .station-clock-submit-btn, .station-detail-page .station-clock-submit-btn, .preassembly-station-page .station-clock-submit-btn{
  min-width: 160px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--primary) 55%, var(--primary-hover));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--primary) 24%, transparent);
}
body.app-shell .station-clock-submit-btn:hover, .station-detail-page .station-clock-submit-btn:hover, .preassembly-station-page .station-clock-submit-btn:hover{
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 92%, #fff), color-mix(in srgb, var(--primary-hover) 88%, #fff));
  color: #fff;
}
html[data-theme="light"] body.app-shell .station-clock-submit-btn, html[data-theme="light"] .station-detail-page .station-clock-submit-btn, html[data-theme="light"] .preassembly-station-page .station-clock-submit-btn{
  color: #fff;
}
body.app-shell .station-mini-card--dual{
  gap: 12px;
}
body.app-shell .station-mini-card--dual .station-mini-head{
  align-items: flex-start;
}
body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
body.app-shell .station-mini-stats--dualblocks .stat-box--cluster{
  min-height: 132px;
  padding: 16px 18px 14px;
  border-radius: 20px;
  border: 1px solid var(--shell-border);
}
body.app-shell .station-mini-stats--dualblocks .stat-box--daily{
  background: linear-gradient(180deg,rgba(125,157,216,.14),rgba(125,157,216,.07));
}
body.app-shell .station-mini-stats--dualblocks .stat-box--overall{
  background: linear-gradient(180deg,rgba(130,183,164,.12),rgba(130,183,164,.06));
}
body.app-shell .station-mini-stats--dualblocks .stat-box>span{
  font-weight: 800;
  font-size: .84rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
  display: block;
}
body.app-shell .station-mini-stats--dualblocks .count-pair-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  align-items: end;
}
body.app-shell .station-mini-stats--dualblocks .count-pair--ok strong{
  color: #169b45;
}
body.app-shell .station-mini-stats--dualblocks .count-pair--rw strong{
  color: #d13a32;
}
body.app-shell .station-pack-search-wrap .input, body.app-shell .station-pack-search-wrap select, body.app-shell .station-pack-search-wrap .btn, body.app-shell .station-pack-search-wrap .pill{
  margin: 0;
}
body.app-shell .station-pack-search-wrap .pill.info{
  justify-self: start;
  white-space: nowrap;
}
body.app-shell .station-pack-search-wrap .server-pager .btn{
  min-width: 36px;
  padding-inline: 10px;
}
body.app-shell .line-tv-meta .pill{
  font-weight: 800;
  white-space: nowrap;
}
body.public-tv-board .line-tv-shell .line-tv-stage{
  display: flex;
  align-items: stretch;
}
body.public-tv-board .dashboard-tv-grid{
  width: 100%;
}
.geo-pack-marker-wrap{
  background: transparent;
  border: none;
}
.geo-pack-marker:hover{
  transform: translateY(-1px);
}
body.app-shell, body.auth-shell{
  color: var(--ev-text);
  background: radial-gradient(circle at top left, rgba(95,231,255,.12), transparent 25%),
    radial-gradient(circle at top right, rgba(125,255,179,.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 180px),
    linear-gradient(90deg, var(--ev-grid) 1px, transparent 1px),
    linear-gradient(0deg, var(--ev-grid) 1px, transparent 1px),
    linear-gradient(180deg, var(--ev-bg), var(--ev-bg-2) 42%, var(--ev-bg-3));
  background-size: auto,auto,auto,30px 30px,30px 30px,auto;
  background-image: radial-gradient(circle at top left, rgba(34,211,238,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(20,227,200,.06), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 180px),
    linear-gradient(180deg, var(--fix-bg), var(--fix-bg-soft));
}
body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 50% -10%, rgba(95,231,255,.07), transparent 35%), radial-gradient(circle at 80% 0%, rgba(45,225,194,.04), transparent 22%);
}
body > *{
  position: relative;
  z-index: 1;
}
.muted,.small.muted,.page-head .muted,.card .muted,.topbar-kicker,.topbar-search-input::placeholder{
  color: var(--ev-sub);
}
.label,.metric-title,.eyebrow,.station-section-label,.station-breadcrumb,.readiness-title,.topbar-kicker{
  color: var(--ev-sub);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}
.card,.card-lite,.page-head,.hero-panel,.side-panel,.station-hero,.station-protocol-card,.station-metrics-card,.readiness-card,.machine-status-panel,.table-card,.metric-card,.modal-card,.topbar,.sidebar,.brand-panel,.nav-group,.sidebar-footer,.auth-modern-showcase,.auth-modern-panel,.login-pane,.register-pane,.app-footer,.quicklink-card,.station-mini-card,.station-pack-card,.machine-status-card,.compact-card--mbin,.dashboard-tv-card,.station-target-card,.toggle-switch,.topbar-dropdown,.topbar-mobile-nav-card,.topbar-mobile-action,.news-band,.login-point,.register-point{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01)), var(--ev-panel);
  border: 1px solid var(--ev-stroke);
  box-shadow: var(--ev-shadow-soft);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.page-head,.card,.hero-panel,.station-hero,.modal-card,.topbar,.brand-panel,.nav-group,.app-footer,.login-pane,.register-pane{
  border-radius: var(--ev-radius-xl);
}
.card-lite,.metric-card,.quicklink-card,.station-mini-card,.station-pack-card,.machine-status-card,.compact-card--mbin,.station-target-card,.toggle-switch,.topbar-dropdown,.topbar-mobile-nav-card,.topbar-mobile-action,.news-band,.login-point,.register-point{
  border-radius: var(--ev-radius-lg);
}
.page-head::before,.hero-panel::before,.station-hero::before,.login-pane--showcase::before,.register-pane--showcase::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 18% 0%, rgba(95,231,255,.14), transparent 24%), radial-gradient(circle at 88% 0%, rgba(125,255,179,.10), transparent 22%);
}
.page-head::after,.hero-panel::after,.station-hero::after{
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(95,231,255,.35), transparent);
}
.card-title,h1,h2,h3,.hero-title,.topbar-title{
  color: var(--ev-text);
  letter-spacing: -.03em;
}
.topbar-icon,.icon-btn,.topbar-user,.topbar-mobile-action,.topbar-mobile-nav-card,.mobile-ev-dock a,.mobile-ev-dock button{
  border-radius: 18px;
}
.topbar-icon,.icon-btn,.topbar-mobile-action,.topbar-mobile-nav-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)), rgba(255,255,255,.025);
  border: 1px solid var(--ev-stroke);
  color: var(--ev-text);
  box-shadow: 0 0 0 1px rgba(255,255,255,.02) inset, 0 10px 24px rgba(0,0,0,.18);
}
.topbar-icon:hover,.icon-btn:hover,.btn:hover,.nav-link:hover,.nav-group-head:hover,.quicklink-card:hover,.station-mini-card:hover,.station-pack-card:hover,.machine-status-card:hover,.topbar-mobile-nav-card:hover,.topbar-mobile-action:hover,.mobile-ev-dock a:hover{
  transform: translateY(-2px);
  border-color: var(--ev-stroke-strong);
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset, 0 14px 28px rgba(0,0,0,.22), 0 0 24px rgba(95,231,255,.08);
}
.topbar-badge,.badge{
  background: linear-gradient(135deg,var(--ev-teal),var(--ev-cyan));
  color: #00131d;
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 0 18px rgba(95,231,255,.28);
}
.avatar,.avatar-fallback-js{
  background: linear-gradient(135deg, rgba(95,231,255,.16), rgba(45,225,194,.14)), rgba(255,255,255,.04);
  color: var(--ev-text);
  border: 1px solid var(--ev-stroke);
  box-shadow: 0 0 0 1px rgba(255,255,255,.02) inset;
}
.sidebar::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 180px;
  pointer-events: none;
  background: radial-gradient(circle at 12% 0%, rgba(95,231,255,.18), transparent 34%), radial-gradient(circle at 88% 0%, rgba(125,255,179,.12), transparent 28%);
}
.brand-panel::after{
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(95,231,255,.4), transparent);
}
.brand-panel .muted{
  color: var(--ev-sub);
}
.nav-group-head .nav-ico,.nav-link .nav-ico{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(95,231,255,.14), rgba(45,225,194,.06));
  color: var(--ev-cyan);
  border: 1px solid rgba(95,231,255,.18);
  box-shadow: 0 0 22px rgba(95,231,255,.08);
}
.nav-group-head.is-active,.nav-group-head.active,.nav-link.is-active,.nav-link.active{
  background: linear-gradient(90deg, rgba(95,231,255,.14), rgba(45,225,194,.08));
  border: 1px solid rgba(95,231,255,.22);
  color: var(--ev-text);
  box-shadow: 0 16px 30px rgba(3,13,24,.22), 0 0 32px rgba(95,231,255,.08);
}
.nav-link strong,.nav-group-head strong{
  font-weight: 700;
}
.pill.ok,.mini-tag.ok{
  background: linear-gradient(135deg, rgba(125,255,179,.14), rgba(73,232,143,.08)), rgba(255,255,255,.02);
  border-color: rgba(125,255,179,.22);
  color: var(--ev-mint);
}
.pill.warn,.mini-tag.warn{
  background: linear-gradient(135deg, rgba(245,158,11,.16), rgba(245,158,11,.06)), rgba(255,255,255,.02);
  border-color: rgba(245,158,11,.22);
  color: #ffca74;
}
.pill.danger,.mini-tag.danger{
  background: linear-gradient(135deg, rgba(239,68,68,.16), rgba(239,68,68,.06)), rgba(255,255,255,.02);
  border-color: rgba(239,68,68,.22);
  color: #ff9494;
}
.pill.info,.mini-tag.info{
  background: linear-gradient(135deg, rgba(95,231,255,.16), rgba(45,225,194,.08)), rgba(255,255,255,.02);
  border-color: rgba(95,231,255,.22);
  color: var(--ev-cyan);
}
.table-wrap,.responsive-table{
  border-radius: 24px;
  border: 1px solid var(--ev-stroke);
  background: transparent;
  box-shadow: var(--ev-shadow-soft);
}
.table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--panel-alt);
  color: var(--text-2);
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .74rem;
  border-bottom: 1px solid var(--ev-stroke);
}
.table tbody tr{
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.table tbody tr:hover{
  background: rgba(95,231,255,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.table-enhancer,.table-enhancer-controls,.table-tools,.toolbar-form{
  background: transparent;
  border: 0;
  box-shadow: none;
}
.hero-panel{
  background: var(--ev-hero-gradient);
  border-color: var(--ev-stroke-strong);
  box-shadow: var(--ev-shadow);
  overflow: hidden;
}
.hero-head,.station-panel-head,.queue-head{
  align-items: flex-start;
  gap: 14px;
}
.hero-kpis,.metrics-grid,.station-readiness-grid,.station-metric-squares,.dashboard-tv-stats,.chart-summary-strip{
  gap: 14px;
}
.metric-card,.readiness-card,.attention-item,.protocol-chip,.tv-stat,.station-mini-card .stat-box,.count-pair,.compact-metric,.kpi,.machine-status-row .pill,.station-pack-status,.station-pack-chip,.station-pack-action-board .btn,.station-pack-action-board--phase13 .btn{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)), rgba(255,255,255,.02);
  border: 1px solid var(--ev-stroke);
  box-shadow: 0 10px 22px rgba(0,0,0,.14), 0 0 0 1px rgba(255,255,255,.02) inset;
}
.metric-card{
  padding: 18px 16px;
  min-height: 132px;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}
.metric-card::after,.readiness-card::after,.station-mini-card .stat-box::after{
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(95,231,255,.28), transparent);
}
.metric-value,.small-value,.metric-square strong,.station-mini-card strong,.count-pair strong,.tv-stat strong{
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  line-height: 1;
  font-weight: 800;
  color: var(--ev-text);
  text-shadow: 0 0 18px rgba(95,231,255,.08);
}
.metric-card.danger .metric-value,.metric-card.warn .metric-value{
  color: var(--ev-text);
}
.attention-item strong{
  font-size: 1.2rem;
  color: var(--ev-text);
}
.news-band{
  padding: 12px 16px;
  overflow: hidden;
  position: relative;
  background: var(--panel);
  border-color: var(--border);
}
.news-band-label{
  background: color-mix(in srgb,var(--primary) 10%, var(--panel));
  border: 1px solid var(--ev-stroke);
  color: var(--primary);
  border-radius: 999px;
  padding: 8px 12px;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .72rem;
  font-weight: 800;
}
.news-band-track{
  mask-image: linear-gradient(90deg,transparent, #000 8%, #000 92%, transparent);
}
.station-compact-grid,.dashboard-top-grid,.dashboard-mid-grid,.phase2-quicklinks{
  gap: 16px;
}
.station-mini-card::before,.station-pack-card::before,.machine-status-card::before,.quicklink-card::before,.compact-card--mbin::before{
  content: "";
  position: absolute;
  inset: auto -10% 0 auto;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(95,231,255,.14), transparent 65%);
  pointer-events: none;
}
.station-mini-card--dual .stat-box{
  position: relative;
  border-radius: 22px;
  padding: 16px 14px;
  min-height: 108px;
}
.station-mini-card--dual .stat-box span{
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ev-sub);
  font-weight: 700;
}
.count-pair-grid{
  gap: 12px;
  margin-top: 12px;
}
.count-pair{
  border-radius: 18px;
  padding: 12px 10px;
  text-align: center;
}
.count-pair small{
  color: var(--ev-sub);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.count-pair--ok strong{
  color: var(--ev-mint);
  text-shadow: 0 0 18px rgba(125,255,179,.18);
}
.count-pair--rw strong{
  color: var(--ev-cyan);
  text-shadow: 0 0 18px rgba(95,231,255,.18);
}
.quicklink-card small{
  color: var(--ev-sub);
}
.station-hero h1{
  font-size: clamp(1.8rem, 2.4vw, 2.45rem);
}
.station-subtitle{
  color: var(--ev-sub);
  max-width: 78ch;
}
.station-protocol-card,.station-metrics-card,.machine-status-panel,.station-alerts-panel,.table-card{
  padding: 20px;
}
.protocol-list li{
  margin: 0 0 10px;
  color: var(--ev-text);
}
.protocol-chip strong{
  font-size: 1.1rem;
}
.readiness-card.is-ok{
  box-shadow: 0 12px 28px rgba(0,0,0,.16), 0 0 24px rgba(125,255,179,.08);
}
.readiness-card.is-block,.readiness-card.is-warn{
  box-shadow: 0 12px 28px rgba(0,0,0,.16), 0 0 24px rgba(245,158,11,.06);
}
.machine-status-head strong{
  font-size: 1.05rem;
}
.mobile-ev-dock{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 75;
  display: none;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  padding: 10px;
  border-radius: 28px;
  border: 1px solid var(--ev-stroke);
  background: linear-gradient(180deg, rgba(8,18,30,.9), rgba(6,13,23,.92));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 22px 50px rgba(0,0,0,.28), 0 0 28px rgba(95,231,255,.08);
}
html[data-theme="light"] .mobile-ev-dock{
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,252,255,.9));
}
.mobile-ev-dock a{
  min-height: 64px;
  padding: 8px 6px;
  display: grid;
  place-items: center;
  gap: 5px;
  text-align: center;
  background: transparent;
  border: 1px solid transparent;
  color: var(--ev-sub);
  font-size: .72rem;
  font-weight: 700;
}
.mobile-ev-dock a svg{
  width: 20px;
  height: 20px;
  display: block;
}
.mobile-ev-dock a.is-active{
  color: var(--ev-text);
  background: linear-gradient(180deg, rgba(95,231,255,.14), rgba(45,225,194,.08));
  border-color: rgba(95,231,255,.2);
  box-shadow: 0 0 24px rgba(95,231,255,.08);
}
.mobile-ev-dock .dock-ico{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.04);
}
.auth-login-layout,.auth-register-layout{
  width: min(1220px,100%);
  display: grid;
  grid-template-columns: minmax(380px, 520px) minmax(420px, 1fr);
  gap: 18px;
}
.auth-shell .login-pane,.auth-shell .register-pane{
  min-height: min(860px, calc(100vh - 48px));
  overflow: hidden;
  position: relative;
}
.login-pane--form,.register-pane--form{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)), var(--ev-panel);
}
.login-pane-inner,.register-pane-inner{
  padding: 28px 28px 26px;
  display: grid;
  gap: 18px;
  align-content: start;
}
.login-brand-block,.register-brand-block{
  display: flex;
  gap: 14px;
  align-items: center;
}
.login-brand-mark,.register-brand-mark{
  width: 56px;
  height: 56px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(95,231,255,.18), rgba(45,225,194,.1));
  color: var(--ev-cyan);
  border: 1px solid rgba(95,231,255,.2);
  box-shadow: 0 0 28px rgba(95,231,255,.12);
}
.login-brand-name,.register-brand-name{
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ev-text);
}
.login-brand-sub,.register-brand-sub,.login-form-copy p,.register-form-copy p,.login-point span,.register-point span{
  color: var(--ev-sub);
}
.login-form-copy h1,.register-form-copy h1{
  font-size: clamp(2rem, 4vw, 2.7rem);
  line-height: 1.02;
  margin: 0;
  color: var(--ev-text);
}
.login-pane--showcase,.register-pane--showcase{
  background: var(--ev-hero-gradient);
  border-color: var(--ev-stroke-strong);
  box-shadow: var(--ev-shadow);
}
.login-showcase-overlay,.register-showcase-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,11,20,.1), rgba(4,11,20,.36));
  pointer-events: none;
}
.login-showcase-content,.register-showcase-content{
  position: relative;
  z-index: 1;
  padding: 32px;
  display: grid;
  align-content: end;
  height: 100%;
  gap: 18px;
}
.login-showcase-kicker,.register-showcase-kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid var(--ev-stroke);
  color: var(--ev-cyan);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 800;
}
.login-showcase-content h2,.register-showcase-content h2{
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: .98;
  margin: 0;
  color: var(--ev-text);
  max-width: 11ch;
}
.login-showcase-content blockquote,.register-showcase-content blockquote{
  margin: 0;
  color: var(--ev-sub);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 56ch;
}
.login-showcase-points,.register-showcase-points{
  display: grid;
  gap: 12px;
}
.login-point,.register-point{
  padding: 16px 18px;
}
.login-point strong,.register-point strong{
  display: block;
  font-size: 1rem;
  color: var(--ev-text);
  margin-bottom: 4px;
}
.login-theme-btn,.register-theme-btn{
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
}
.login-submit-v2,.register-submit-v2{
  min-height: 52px;
  font-size: .98rem;
}
.login-footnote-v2,.register-footnote-v2,.register-footer-links{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.theme-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--ev-stroke);
  background: rgba(255,255,255,.04);
  color: var(--ev-sub);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
}
.theme-badge .theme-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ev-cyan), var(--ev-mint));
  box-shadow: 0 0 16px rgba(95,231,255,.22);
}
[data-ev-reveal]{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .45s ease, transform .45s ease;
}
[data-ev-reveal].is-visible{
  opacity: 1;
  transform: none;
}
.ev-shell-ready .metric-card,.ev-shell-ready .station-mini-card,.ev-shell-ready .quicklink-card{
  animation: evPulse 7.5s ease-in-out infinite;
}
.ev-shell-ready .metric-card:nth-child(2n),.ev-shell-ready .station-mini-card:nth-child(2n),.ev-shell-ready .quicklink-card:nth-child(2n){
  animation-delay: -2.6s;
}
html,body, body.app-shell, body.auth-shell{
  background: var(--fix-bg);
  color: var(--fix-text);
}
html[data-theme="light"] body.app-shell, html[data-theme="light"] body.auth-shell{
  background-image: radial-gradient(circle at top left, rgba(0,169,204,.06), transparent 28%),
    radial-gradient(circle at top right, rgba(0,191,165,.05), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,0) 180px),
    linear-gradient(180deg, var(--fix-bg), var(--fix-bg-soft));
}
body.app-shell .topbar, body.app-shell .sidebar, body.app-shell .brand-panel, body.app-shell .nav-group, body.app-shell .sidebar-footer, body.app-shell .card, body.app-shell .card-lite, body.app-shell .table-card, body.app-shell .modal-card, body.app-shell .app-footer, body.app-shell .hero-panel, body.app-shell .page-head, body.app-shell .station-hero, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel, body.app-shell .topbar-dropdown, body.auth-shell .login-pane, body.auth-shell .register-pane, body.auth-shell .auth-modern-panel, body.auth-shell .auth-modern-showcase{
  background: var(--fix-panel);
  border-color: var(--fix-border);
  box-shadow: var(--fix-shadow-soft);
  color: var(--fix-text);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.auth-shell .login-pane--showcase, body.auth-shell .register-pane--showcase{
  background: radial-gradient(circle at 18% 0%, rgba(34,211,238,.13), transparent 24%),
    radial-gradient(circle at 88% 0%, rgba(20,227,200,.10), transparent 20%),
    linear-gradient(135deg, color-mix(in srgb, var(--fix-panel-3) 78%, #000), var(--fix-panel));
}
html[data-theme="light"] body.app-shell .page-head, html[data-theme="light"] body.app-shell .hero-panel, html[data-theme="light"] body.app-shell .station-hero, html[data-theme="light"] body.auth-shell .login-pane--showcase, html[data-theme="light"] body.auth-shell .register-pane--showcase{
  background: radial-gradient(circle at 18% 0%, rgba(0,169,204,.10), transparent 24%),
    radial-gradient(circle at 88% 0%, rgba(0,191,165,.08), transparent 20%),
    linear-gradient(135deg, #ffffff, #edf4fb);
}
body.app-shell, body.auth-shell, body.app-shell .content, body.app-shell .page, body.app-shell .table-wrap, body.app-shell .table-card, body.app-shell .card, body.app-shell .card-lite, body.app-shell .note-box, body.app-shell .pill, body.app-shell .metric-title, body.app-shell .muted, body.app-shell .small.muted, body.app-shell .page-head .muted, body.app-shell .topbar-kicker, body.app-shell .table th, body.app-shell .table td, body.app-shell label, body.auth-shell, body.auth-shell label, body.auth-shell .muted, body.auth-shell .small.muted{
  color: var(--fix-text);
}
body.app-shell .muted, body.app-shell .small.muted, body.app-shell .metric-title, body.app-shell .page-head .muted, body.app-shell .table th, body.app-shell .label, body.app-shell .eyebrow, body.app-shell .topbar-kicker, body.auth-shell .muted, body.auth-shell .small.muted{
  color: var(--fix-text-2);
}
body.app-shell .metric-sub, body.app-shell .help-text, body.app-shell .table .small, body.app-shell .nav-subtitle, body.auth-shell .login-brand-sub, body.auth-shell .register-brand-sub, body.auth-shell .login-point span, body.auth-shell .register-point span{
  color: var(--fix-text-3);
}
body.app-shell a, body.auth-shell a{
  color: color-mix(in srgb, var(--fix-accent) 86%, var(--fix-text));
}
body.app-shell .card-title, body.app-shell h1, body.app-shell h2, body.app-shell h3, body.app-shell h4, body.app-shell strong, body.auth-shell h1, body.auth-shell h2, body.auth-shell h3, body.auth-shell strong{
  color: var(--fix-text);
}
body.app-shell .input, body.app-shell input, body.app-shell select, body.app-shell textarea, body.auth-shell .input, body.auth-shell input, body.auth-shell select, body.auth-shell textarea{
  min-height: 46px;
  border-radius: 14px;
  background: var(--fix-panel-2);
  color: var(--fix-text);
  border: 1px solid var(--fix-border);
  box-shadow: none;
}
body.app-shell textarea, body.auth-shell textarea{
  min-height: 104px;
}
body.app-shell input::placeholder, body.app-shell textarea::placeholder, body.auth-shell input::placeholder, body.auth-shell textarea::placeholder{
  color: var(--fix-text-3);
  opacity: 1;
}
body.app-shell .input:focus, body.app-shell input:focus, body.app-shell select:focus, body.app-shell textarea:focus, body.auth-shell .input:focus, body.auth-shell input:focus, body.auth-shell select:focus, body.auth-shell textarea:focus{
  outline: none;
  border-color: var(--fix-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fix-accent) 16%, transparent);
}
body.app-shell .btn, body.auth-shell .btn{
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid var(--fix-border);
  background: var(--fix-panel-2);
  color: var(--fix-text);
  box-shadow: none;
}
body.app-shell .btn.primary, body.auth-shell .btn.primary{
  background: linear-gradient(135deg, var(--fix-accent), var(--fix-accent-2));
  color: #08111f;
  border-color: transparent;
  font-weight: 700;
}
body.app-shell .btn.success{
  background: linear-gradient(135deg, var(--fix-success), color-mix(in srgb, var(--fix-success) 75%, #fff));
  color: #072015;
  border-color: transparent;
}
body.app-shell .btn.danger{
  background: linear-gradient(135deg, var(--fix-danger), color-mix(in srgb, var(--fix-danger) 78%, #fff));
  color: #fff;
  border-color: transparent;
}
body.app-shell .btn:hover, body.auth-shell .btn:hover{
  transform: translateY(-1px);
}
body.app-shell .pill, body.app-shell .badge, body.app-shell .topbar-badge{
  background: color-mix(in srgb, var(--fix-accent) 18%, var(--fix-panel-2));
  color: var(--fix-text);
  border: 1px solid color-mix(in srgb, var(--fix-accent) 28%, var(--fix-border));
}
body.app-shell .pill.ok, body.app-shell .badge.ok{
  background: color-mix(in srgb, var(--fix-success) 18%, var(--fix-panel-2));
  border-color: color-mix(in srgb, var(--fix-success) 30%, var(--fix-border));
}
body.app-shell .pill.warn, body.app-shell .badge.warn{
  background: color-mix(in srgb, var(--fix-warning) 18%, var(--fix-panel-2));
  border-color: color-mix(in srgb, var(--fix-warning) 30%, var(--fix-border));
}
body.app-shell .pill.danger, body.app-shell .badge.danger{
  background: color-mix(in srgb, var(--fix-danger) 16%, var(--fix-panel-2));
  border-color: color-mix(in srgb, var(--fix-danger) 30%, var(--fix-border));
}
html[data-theme="light"] body.app-shell .sidebar{
  box-shadow: 16px 0 40px rgba(16,32,51,.08);
}
body.app-shell .sidebar::before, body.app-shell .sidebar::after, body.app-shell .brand-panel::after{
  display: none;
}
body.app-shell .brand-panel, body.app-shell .nav-group, body.app-shell .sidebar-footer{
  background: var(--fix-panel-2);
  border: 1px solid var(--fix-border);
  border-radius: 18px;
  padding: 12px;
}
body.app-shell .brand-panel{
  padding: 14px 16px;
}
body.app-shell .brand-panel .logo{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--fix-accent) 24%, var(--fix-panel-3)), color-mix(in srgb, var(--fix-accent-2) 18%, var(--fix-panel-2)));
  color: var(--fix-text);
  box-shadow: none;
}
body.app-shell .nav-group-head:hover, body.app-shell .nav-link:hover, body.app-shell .nav-group-head:focus-visible, body.app-shell .nav-link:focus-visible{
  background: color-mix(in srgb, var(--fix-accent) 10%, var(--fix-panel-2));
  border-color: color-mix(in srgb, var(--fix-accent) 22%, var(--fix-border));
}
body.app-shell .nav-link.active, body.app-shell .nav-link.is-active, body.app-shell .nav-group.is-open > .nav-group-head, body.app-shell .nav-group-head.active{
  background: linear-gradient(135deg, color-mix(in srgb, var(--fix-accent) 12%, var(--fix-panel-2)), color-mix(in srgb, var(--fix-accent-2) 8%, var(--fix-panel-2)));
  border-color: color-mix(in srgb, var(--fix-accent) 28%, var(--fix-border));
  color: var(--fix-text);
}
body.app-shell .nav-label, body.app-shell .nav-label-track{
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  animation: none;
  transform: none;
  padding-right: 0;
  min-width: 0;
}
body.app-shell .nav-link.active .nav-label, body.app-shell .nav-link:hover .nav-label, body.app-shell .nav-group-head:hover .nav-label{
  animation: none;
}
body.app-shell .sidebar-footer .nav-link{
  min-height: 46px;
}
body.app-shell .sidebar-footer .nav-link .nav-label{
  white-space: nowrap;
}
body.app-shell.sidebar-collapsed .content, body.app-shell.sidebar-collapsed .app-footer{
  margin-left: var(--fix-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed .sidebar:hover, body.app-shell.sidebar-collapsed .sidebar:focus-within, body.app-shell.sidebar-open-peek .sidebar{
  width: var(--fix-sidebar-w);
  box-shadow: var(--fix-shadow);
}
body.app-shell.sidebar-collapsed .brand-copy, body.app-shell.sidebar-collapsed .nav-text, body.app-shell.sidebar-collapsed .nav-caret, body.app-shell.sidebar-collapsed .sidebar-footer .nav-label{
  display: none;
}
body.app-shell.sidebar-collapsed .nav-group{
  padding: 8px;
}
body.app-shell.sidebar-collapsed .sidebar:hover .brand-copy, body.app-shell.sidebar-collapsed .sidebar:hover .nav-text, body.app-shell.sidebar-collapsed .sidebar:hover .nav-caret, body.app-shell.sidebar-collapsed .sidebar:focus-within .brand-copy, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-text, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-caret, body.app-shell.sidebar-open-peek .brand-copy, body.app-shell.sidebar-open-peek .nav-text, body.app-shell.sidebar-open-peek .nav-caret{
  display: block;
}
body.app-shell.sidebar-collapsed .sidebar:hover .nav-group, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-group, body.app-shell.sidebar-open-peek .nav-group{
  padding: 12px;
}
body.app-shell.sidebar-collapsed .sidebar:hover .nav-group-body, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-group.is-open > .nav-group-body, body.app-shell.sidebar-open-peek .nav-group.is-open > .nav-group-body{
  display: grid;
}
body.app-shell.sidebar-collapsed .sidebar:hover .nav-group-head, body.app-shell.sidebar-collapsed .sidebar:hover .nav-link, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-group-head, body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-link, body.app-shell.sidebar-open-peek .nav-group-head, body.app-shell.sidebar-open-peek .nav-link{
  justify-content: flex-start;
  padding: 10px 12px;
}
body.app-shell.sidebar-collapsed .sidebar:hover .sidebar-footer .nav-label, body.app-shell.sidebar-collapsed .sidebar:focus-within .sidebar-footer .nav-label, body.app-shell.sidebar-open-peek .sidebar-footer .nav-label{
  display: block;
}
body.app-shell .topbar, body.app-shell .topbar-search, body.app-shell .topbar-user, body.app-shell .topbar-icon, body.app-shell .icon-btn, body.app-shell .topbar-mobile-action, body.app-shell .topbar-mobile-nav-card{
  background: var(--fix-panel);
  border-color: var(--fix-border);
  color: var(--fix-text);
  box-shadow: none;
}
body.app-shell .topbar-search-input, body.app-shell .topbar-search-input::placeholder{
  color: var(--fix-text-2);
}
body.app-shell .topbar-user .muted{
  color: var(--fix-text-3);
}
body.app-shell .modal-card.lg{
  width: min(1180px, calc(100vw - 32px));
  max-width: 1180px;
}
body.app-shell .modal-card.xl{
  width: min(1280px, calc(100vw - 24px));
  max-width: 1280px;
}
body.app-shell .modal-body > form, body.app-shell .modal-body .form{
  display: grid;
  gap: 14px;
}
body.app-shell .modal .grid, body.app-shell .modal .form-grid{
  align-items: start;
  gap: 14px;
}
body.app-shell .modal .grid.two, body.app-shell .modal .grid.three, body.app-shell .modal .form-grid.two, body.app-shell .modal .form-grid.three{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
body.app-shell .modal .queue-head, body.app-shell .modal .section-head, body.app-shell .modal .card-lite, body.app-shell .modal .card{
  min-width: 0;
}
body.app-shell .modal-body > form > button.btn, body.app-shell .modal-body > form > .actions, body.app-shell .modal-body > form > .row-actions, body.app-shell .modal-body > .actions, body.app-shell .modal-body > .row-actions{
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding-top: 12px;
  margin-top: 2px;
  background: linear-gradient(180deg, rgba(0,0,0,0), color-mix(in srgb, var(--fix-panel) 92%, transparent) 28%, var(--fix-panel) 100%);
}
html[data-theme="light"] body.app-shell .modal-body > form > button.btn, html[data-theme="light"] body.app-shell .modal-body > form > .actions, html[data-theme="light"] body.app-shell .modal-body > form > .row-actions, html[data-theme="light"] body.app-shell .modal-body > .actions, html[data-theme="light"] body.app-shell .modal-body > .row-actions{
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.92) 28%, #fff 100%);
}
body.app-shell .modal-body > form > button.btn{
  justify-self: start;
}
body.app-shell .modal-close, body.app-shell [data-close-modal]{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  border: 1px solid var(--fix-border);
  background: var(--fix-panel-2);
  color: var(--fix-text);
}
body.app-shell .table, body.app-shell table{
  color: var(--fix-text);
}
body.app-shell .table th, body.app-shell table th{
  background: color-mix(in srgb, var(--fix-panel-2) 92%, transparent);
}
body.app-shell .table td, body.app-shell table td, body.app-shell .table th, body.app-shell table th{
  border-color: var(--fix-border);
}
body.app-shell .table tr:hover td, body.app-shell table tr:hover td{
  background: color-mix(in srgb, var(--fix-accent) 6%, var(--fix-panel));
}
body.auth-shell .auth-login-layout, body.auth-shell .auth-register-layout{
  gap: 18px;
}
body.auth-shell .login-pane-inner, body.auth-shell .register-pane-inner{
  padding: 28px;
}
body.auth-shell .login-showcase-content, body.auth-shell .register-showcase-content{
  padding: 28px;
}
body.auth-shell .theme-badge{
  color: var(--fix-text-2);
  border-color: var(--fix-border);
  background: var(--fix-panel-2);
}
body.app-shell .page-head h1, body.app-shell .page-head h2, body.app-shell .page-head h3, body.app-shell .hero-panel .hero-title, body.app-shell .hero-panel h1, body.app-shell .hero-panel h2, body.app-shell .hero-panel h3, body.app-shell .station-hero h1, body.app-shell .station-hero h2, body.app-shell .station-hero h3{
  color: var(--refine-page-title);
}
body.app-shell .page-head .muted, body.app-shell .page-head p, body.app-shell .hero-panel .muted, body.app-shell .hero-panel p, body.app-shell .station-hero .muted, body.app-shell .station-hero p, body.app-shell .eyebrow, body.app-shell .metric-title, body.app-shell .card .muted, body.app-shell .card .small.muted{
  color: var(--refine-page-subtitle);
}
body.app-shell .dashboard-pro .page-head, body.app-shell .dashboard-pro .hero-panel, body.app-shell .dashboard-pro .side-panel, body.app-shell .dashboard-pro .metric-card, body.app-shell .dashboard-pro .station-mini-card, body.app-shell .dashboard-pro .quicklink-card, body.app-shell .dashboard-pro .news-band, body.app-shell .dashboard-pro .attention-item{
  background: var(--refine-surface);
  border-color: var(--refine-border);
}
html[data-theme="light"] body.app-shell .dashboard-pro .page-head, html[data-theme="light"] body.app-shell .dashboard-pro .hero-panel{
  background: linear-gradient(135deg, #ffffff, #edf4fb);
}
body.app-shell .dashboard-pro .metric-value, body.app-shell .dashboard-pro .attention-item strong, body.app-shell .dashboard-pro .station-mini-card strong, body.app-shell .dashboard-pro .count-pair strong, body.app-shell .dashboard-pro .card-title{
  color: var(--refine-page-title);
}
body.app-shell .dashboard-pro .attention-item span, body.app-shell .dashboard-pro .station-mini-card .muted, body.app-shell .dashboard-pro .quicklink-card small, body.app-shell .dashboard-pro .news-band-label{
  color: var(--refine-page-subtitle);
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .modal-head, body.app-shell .modal-body{
  color: var(--refine-page-title);
}
body.app-shell .modal-body .actions, body.app-shell .modal-body .row-actions, body.app-shell .modal-body > form > .actions, body.app-shell .modal-body > form > .row-actions, body.app-shell .modal-body > form > button.btn{
  background: linear-gradient(180deg, rgba(0,0,0,0), color-mix(in srgb, var(--refine-surface) 94%, transparent) 24%, var(--refine-surface) 100%);
}
html[data-theme="light"] body.app-shell .modal-body .actions, html[data-theme="light"] body.app-shell .modal-body .row-actions, html[data-theme="light"] body.app-shell .modal-body > form > .actions, html[data-theme="light"] body.app-shell .modal-body > form > .row-actions, html[data-theme="light"] body.app-shell .modal-body > form > button.btn{
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
}
body.app-shell .table, body.app-shell .table th, body.app-shell .table td, body.app-shell label, body.app-shell .input, body.app-shell input, body.app-shell select, body.app-shell textarea{
  color: var(--refine-page-title);
}
body.app-shell .table th, body.app-shell label, body.app-shell .help-text, body.app-shell .field-help, body.app-shell .input::placeholder, body.app-shell textarea::placeholder{
  color: var(--refine-page-subtitle);
}
body.app-shell .sidebar .nav-group-body, body.app-shell .sidebar .nav-link, body.app-shell .sidebar .nav-group-head{
  width: 100%;
}
body.app-shell .sidebar .nav-link{
  min-height: 44px;
  align-items: center;
  white-space: normal;
}
body.app-shell .sidebar .nav-link-label, body.app-shell .sidebar .nav-group-head .label{
  line-height: 1.25;
}
body.app-shell .modal-body > form{
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
body.app-shell .modal-body > form .actions, body.app-shell .modal-body > form .row-actions, body.app-shell .modal-card > .actions, body.app-shell .modal-card > .row-actions{
  position: sticky;
  bottom: 0;
  z-index: 4;
  padding-top: 12px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  margin-top: auto;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(10,16,32,.92) 28%, rgba(10,16,32,.98) 100%);
}
html[data-theme="light"] body.app-shell .modal-body > form .actions, html[data-theme="light"] body.app-shell .modal-body > form .row-actions, html[data-theme="light"] body.app-shell .modal-card > .actions, html[data-theme="light"] body.app-shell .modal-card > .row-actions{
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.96) 28%, rgba(255,255,255,.99) 100%);
}
body.app-shell .modal-body .grid, body.app-shell .modal-body .grid-2, body.app-shell .modal-body .grid-3, body.app-shell .modal-body .form-grid, body.app-shell .modal-body .two-col{
  align-items: start;
}
body.app-shell .modal-body .field, body.app-shell .modal-body .input-group, body.app-shell .modal-body .stack{
  gap: 8px;
}
body.app-shell .table th, body.app-shell .table td, body.app-shell .label, body.app-shell .help-text, body.app-shell .field-help, body.app-shell input, body.app-shell select, body.app-shell textarea{
  overflow-wrap: break-word;
}
.sidebar--neo{
  width: var(--sb-w);
  padding: 12px;
  background: radial-gradient(circle at top right, rgba(34,211,238,.12), transparent 30%),
    radial-gradient(circle at bottom left, rgba(139,92,246,.10), transparent 35%),
    linear-gradient(180deg, color-mix(in srgb,var(--sb-bg-dark-2) 86%, #0a111f), color-mix(in srgb,var(--sb-bg-dark-1) 94%, #050915));
  border-right: 1px solid rgba(100,116,139,.14);
  box-shadow: 16px 0 48px rgba(2,8,23,.24);
  overflow: hidden;
}
html[data-theme="light"] .sidebar--neo{
  background: radial-gradient(circle at top right, rgba(20,184,166,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(14,165,233,.06), transparent 34%),
    linear-gradient(180deg, var(--sb-bg-light-1), var(--sb-bg-light-2));
  border-right: 1px solid rgba(148,163,184,.14);
  box-shadow: 16px 0 48px rgba(15,23,42,.08);
}
.sidebar--neo::before{
  content: "";
  position: absolute;
  inset: 10px 10px auto 10px;
  height: 90px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(34,211,238,.16), rgba(20,184,166,.09) 55%, rgba(139,92,246,.08));
  filter: blur(22px);
  pointer-events: none;
  opacity: .8;
}
html[data-theme="light"] .sidebar--neo::before{
  opacity: .55;
}
.sidebar--neo .sidebar-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.sidebar--neo .sidebar-brand-panel{
  position: relative;
  overflow: hidden;
  padding: 16px 16px 14px;
  border-radius: 24px;
  border: 1px solid var(--sb-border);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 32px rgba(2,8,23,.18);
}
html[data-theme="light"] .sidebar--neo .sidebar-brand-panel{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 16px 30px rgba(15,23,42,.06);
}
.sidebar--neo .brand-core{
  display: flex;
  align-items: center;
  gap: 12px;
}
.sidebar--neo .logo{
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(20,184,166,.36), rgba(34,211,238,.22));
  color: #ecfeff;
  border: 1px solid rgba(34,211,238,.24);
  font-size: 1.18rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(20,184,166,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
html[data-theme="light"] .sidebar--neo .logo{
  color: #0f172a;
  background: linear-gradient(145deg, rgba(20,184,166,.18), rgba(34,211,238,.11));
}
.sidebar--neo .brand-kicker{
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sb-muted);
  margin-bottom: 4px;
}
.sidebar--neo .brand-title{
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--sb-ink);
}
html[data-theme="light"] .sidebar--neo .brand-title{
  color: #0f172a;
}
.sidebar--neo .brand-subtitle{
  font-size: .78rem;
  line-height: 1.45;
  color: var(--sb-muted);
  margin-top: 4px;
  max-width: 210px;
}
.sidebar--neo .sidebar-mini-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.sidebar--neo .sidebar-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.16);
  background: rgba(255,255,255,.035);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
html[data-theme="light"] .sidebar--neo .sidebar-chip{
  background: rgba(255,255,255,.75);
}
.sidebar--neo .sidebar-chip--alerts{
  color: #fecdd3;
  border-color: rgba(251,113,133,.22);
}
.sidebar--neo .sidebar-chip--stations{
  color: #ccfbf1;
  border-color: rgba(20,184,166,.2);
}
.sidebar--neo .sidebar-chip--role{
  color: #dbeafe;
  border-color: rgba(59,130,246,.18);
}
html[data-theme="light"] .sidebar--neo .sidebar-chip--stations{
  color: #115e59;
}
html[data-theme="light"] .sidebar--neo .sidebar-chip--role{
  color: #1d4ed8;
}
.sidebar--neo .sidebar-body{
  padding-right: 2px;
  overflow: auto;
  min-height: 0;
}
.sidebar--neo .sidebar-body::-webkit-scrollbar{
  width: 8px;
}
.sidebar--neo .sidebar-body::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(20,184,166,.72), rgba(34,211,238,.42));
}
.sidebar--neo .nav{
  display: grid;
  gap: 10px;
}
.sidebar--neo .nav-group{
  position: relative;
  padding: 8px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.09);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.01));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
html[data-theme="light"] .sidebar--neo .nav-group{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.86));
  border-color: rgba(148,163,184,.12);
}
.sidebar--neo .nav-group-head{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: none;
  border-radius: 16px;
  background: transparent;
  color: var(--sb-ink);
  font-size: .9rem;
  font-weight: 760;
  letter-spacing: .01em;
  position: relative;
  transition: background .22s ease, color .22s ease, transform .22s ease;
}
html[data-theme="light"] .sidebar--neo .nav-group-head{
  color: #0f172a;
}
.sidebar--neo .nav-group-head:hover{
  background: linear-gradient(135deg, rgba(34,211,238,.10), rgba(20,184,166,.07));
}
.sidebar--neo .nav-group.is-open .nav-group-head, .sidebar--neo .nav-group-head.active{
  background: linear-gradient(135deg, rgba(20,184,166,.14), rgba(34,211,238,.08), rgba(139,92,246,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(20,184,166,.10);
}
.sidebar--neo .nav-group-head .nav-text, .sidebar--neo .nav-link .nav-text{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.sidebar--neo .nav-label{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar--neo .nav-caret{
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: var(--sb-muted);
  transition: transform .24s ease;
}
.sidebar--neo .nav-caret svg{
  width: 16px;
  height: 16px;
}
.sidebar--neo .nav-group.is-open .nav-caret{
  transform: rotate(180deg);
}
.sidebar--neo .nav-group > .nav-group-body{
  display: none;
  padding: 8px 2px 2px;
  gap: 6px;
}
.sidebar--neo .nav-group.is-open > .nav-group-body{
  display: grid;
}
.sidebar--neo .nav-subtitle{
  padding: 8px 12px 2px;
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
.sidebar--neo .nav-link{
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  padding: 10px 12px;
  border-radius: 16px;
  color: var(--sb-ink);
  background: transparent;
  border: 1px solid transparent;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease,color .18s ease;
}
html[data-theme="light"] .sidebar--neo .nav-link{
  color: #0f172a;
}
.sidebar--neo .nav-link:hover{
  transform: translateX(2px);
  background: linear-gradient(135deg, rgba(20,184,166,.10), rgba(34,211,238,.06));
  border-color: rgba(34,211,238,.16);
}
.sidebar--neo .nav-link.active, .sidebar--neo .nav-link.is-active{
  background: linear-gradient(135deg, rgba(20,184,166,.16), rgba(34,211,238,.09), rgba(139,92,246,.05));
  border-color: rgba(34,211,238,.18);
  box-shadow: 0 12px 24px rgba(20,184,166,.10), inset 0 1px 0 rgba(255,255,255,.04);
}
.sidebar--neo .nav-ico{
  width: 38px;
  min-width: 38px;
  height: 38px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
  border: 1px solid rgba(148,163,184,.14);
  color: var(--sb-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(2,8,23,.12);
}
html[data-theme="light"] .sidebar--neo .nav-ico{
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,248,251,.92));
  color: #0f172a;
  box-shadow: 0 8px 16px rgba(15,23,42,.06);
}
.sidebar--neo .nav-ico svg{
  width: 19px;
  height: 19px;
}
.sidebar--neo .nav-ico--overview{
  color: #67e8f9;
}
.sidebar--neo .nav-ico--success{
  color: #5eead4;
}
.sidebar--neo .nav-ico--warning{
  color: #fbbf24;
}
.sidebar--neo .nav-ico--danger{
  color: #fb7185;
}
.sidebar--neo .nav-ico--info{
  color: #93c5fd;
}
.sidebar--neo .nav-badge{
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid rgba(34,211,238,.24);
  background: linear-gradient(180deg, rgba(20,184,166,.18), rgba(34,211,238,.12));
  color: #ecfeff;
}
html[data-theme="light"] .sidebar--neo .nav-badge{
  color: #0f172a;
}
.sidebar--neo .nav-badge--danger{
  background: linear-gradient(180deg, rgba(251,113,133,.22), rgba(251,113,133,.12));
  border-color: rgba(251,113,133,.24);
  color: #ffe4e6;
}
.sidebar--neo .nav-badge--station{
  background: linear-gradient(180deg, rgba(139,92,246,.18), rgba(34,211,238,.11));
  border-color: rgba(139,92,246,.22);
  color: #ede9fe;
}
.sidebar--neo .station-link.has-alert{
  border-color: rgba(139,92,246,.18);
  background: linear-gradient(135deg, rgba(139,92,246,.10), rgba(34,211,238,.05));
}
.sidebar--neo .station-link.has-alert::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: radial-gradient(circle, #22d3ee 0 42%, rgba(34,211,238,.18) 43% 100%);
  box-shadow: 0 0 0 0 rgba(34,211,238,.38);
  animation: sidebarPulse2 2s infinite;
}
.sidebar--neo .sidebar-footer--neo{
  margin-top: auto;
  padding: 8px;
  background: transparent;
  border: none;
  box-shadow: none;
}
.sidebar--neo .nav-link-logout--neo{
  min-height: 52px;
  justify-content: flex-start;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(190,24,93,.16), rgba(239,68,68,.12));
  border: 1px solid rgba(251,113,133,.24);
  color: #ffe4e6;
  box-shadow: 0 14px 28px rgba(190,24,93,.10);
}
.sidebar--neo .nav-link-logout--neo:hover{
  transform: none;
  background: linear-gradient(135deg, rgba(190,24,93,.22), rgba(239,68,68,.16));
}
.app-shell.sidebar-collapsed .sidebar--neo{
  width: var(--sb-collapsed);
}
.app-shell.sidebar-collapsed .sidebar--neo .sidebar-brand-panel, .app-shell.sidebar-collapsed .sidebar--neo .nav-group, .app-shell.sidebar-collapsed .sidebar--neo .sidebar-footer--neo{
  padding: 10px;
}
.app-shell.sidebar-collapsed .sidebar--neo .sidebar-mini-stats, .app-shell.sidebar-collapsed .sidebar--neo .brand-copy, .app-shell.sidebar-collapsed .sidebar--neo .nav-group > .nav-group-body, .app-shell.sidebar-collapsed .sidebar--neo .nav-caret, .app-shell.sidebar-collapsed .sidebar--neo .nav-text, .app-shell.sidebar-collapsed .sidebar--neo .nav-subtitle{
  display: none;
}
.app-shell.sidebar-collapsed .sidebar--neo .brand-core{
  justify-content: center;
}
.app-shell.sidebar-collapsed .sidebar--neo .nav-group-head, .app-shell.sidebar-collapsed .sidebar--neo .nav-link, .app-shell.sidebar-collapsed .sidebar--neo .nav-link-logout--neo{
  justify-content: center;
  padding: 10px;
  min-height: 50px;
}
.app-shell.sidebar-collapsed .sidebar--neo .nav-group-head > .nav-ico, .app-shell.sidebar-collapsed .sidebar--neo .nav-link > .nav-ico{
  display: inline-flex;
  width: 42px;
  min-width: 42px;
  height: 42px;
}
.app-shell.sidebar-collapsed .sidebar--neo .nav-group::before, .app-shell.sidebar-collapsed .sidebar--neo .nav-badge, .app-shell.sidebar-collapsed .sidebar--neo .station-link.has-alert::after{
  display: none;
}
.asm-modern-page .page.asm-modern-page{
  gap: 16px;
}
.asm-modern-page .page.asm-modern-page .page-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}
.asm-modern-page .page.asm-modern-page .card, .asm-modern-page .page.asm-modern-page .glass-card, .asm-modern-page .page.asm-modern-page .table-card, .asm-modern-page .page.asm-modern-page .metric-card{
  border-radius: 24px;
}
.asm-modern-page .phase7-auth-shell .auth-modern-panel, .asm-modern-page .phase7-auth-shell .auth-modern-showcase{
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--line, rgba(255,255,255,.12)) 86%, rgba(255,255,255,.22));
}
.asm-modern-page .phase7-auth-shell .auth-modern-panel::after, .asm-modern-page .phase7-auth-shell .auth-modern-showcase::after{
  content: "";
  position: absolute;
  inset: auto -10% -35% auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent, #4f8cff) 22%, transparent), transparent 70%);
  pointer-events: none;
  opacity: .65;
}
.asm-modern-page .phase7-auth-shell .auth-form-head-modern h2, .asm-modern-page .phase7-state-shell h2{
  letter-spacing: -.02em;
}
.asm-modern-page .phase7-auth-shell .auth-footer-links, .asm-modern-page .phase7-auth-shell .auth-form-foot-grid{
  position: relative;
  z-index: 1;
}
.asm-modern-page .phase7-state-shell .state-card-phase7{
  max-width: 760px;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}
.asm-modern-page .phase7-state-shell .state-card-phase7::before{
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--warn, #f59e0b) 20%, transparent), transparent 70%);
  transform: translate(-30%, -30%);
  pointer-events: none;
}
.asm-modern-page .phase7-state-shell .state-list{
  margin: 14px 0 0;
  padding-left: 18px;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}
.asm-modern-page .phase7-state-shell .state-actions{
  position: relative;
  z-index: 1;
}
.asm-modern-page .phase7-state-shell code{
  padding: 2px 6px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel, rgba(255,255,255,.08)) 92%, transparent);
}
body.asm-modern-page{
  margin: 0;
  padding: 16px;
  background: #edf2f7;
  color: #111;
  font-family: Arial,sans-serif;
}
.asm-modern-page .page.asm-modern-page{
  display: block;
  max-width: 1180px;
  margin: 0 auto;
}
.asm-modern-page .print-sheet{
  background: #fff;
  border: 1px solid #cfd7e3;
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
  padding: 24px;
}
.asm-modern-page .print-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.asm-modern-page .print-kicker{
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 700;
  color: #475467;
  margin-bottom: 4px;
}
.asm-modern-page .print-title{
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}
.asm-modern-page .print-meta{
  font-size: 12px;
  line-height: 1.65;
  color: #475467;
  margin: 10px 0 14px;
}
.asm-modern-page .print-section{
  margin-top: 16px;
}
.asm-modern-page .print-pill,.asm-modern-page .pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 5px 10px;
  border: 1px solid #c9d2e0;
  background: #f8fafc;
  font-size: 11px;
  font-weight: 700;
  color: #344054;
}
.asm-modern-page .print-note,.asm-modern-page .small{
  color: #667085;
}
.asm-modern-page table{
  width: 100%;
  border-collapse: collapse;
}
.asm-modern-page th,.asm-modern-page td{
  border: 1px solid #cfd7e3;
  padding: 8px 10px;
  font-size: 12px;
  vertical-align: top;
}
.asm-modern-page th{
  background: #f6f8fb;
  text-align: left;
}
.asm-modern-page .right{
  text-align: right;
}
.asm-modern-page .sign{
  height: 44px;
}
.asm-modern-page .row{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.asm-modern-page .box{
  flex: 1 1 320px;
  border: 1px solid #cfd7e3;
  border-radius: 16px;
  padding: 12px;
  background: #fbfcfe;
}
.asm-modern-page .sheet{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.asm-modern-page .sheet .label{
  background: #fff;
}
.asm-modern-page .noprint{
  margin-bottom: 10px;
}
body.app-shell .sidebar, body.app-shell .topbar, body.app-shell .page-head, body.app-shell .card, body.app-shell .table-wrap, body.app-shell .metric-card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .modal-card, body.app-shell .topbar-mobile-menu, body.app-shell .topbar-dropdown, body.app-shell .app-footer-inner{
  background: var(--panel);
  color: var(--text);
  border-color: var(--border);
}
html[data-theme="light"] body.app-shell, html[data-theme="light"] body.app-shell .content, html[data-theme="light"] body.app-shell .page, html[data-theme="light"] body.app-shell .page-shell{
  background: var(--bg);
  color: var(--text);
}
html[data-theme="light"] body.app-shell .page-head, html[data-theme="light"] body.app-shell .topbar, html[data-theme="light"] body.app-shell .card, html[data-theme="light"] body.app-shell .table-wrap, html[data-theme="light"] body.app-shell .metric-card, html[data-theme="light"] body.app-shell .hero-panel, html[data-theme="light"] body.app-shell .station-hero, html[data-theme="light"] body.app-shell .modal-card, html[data-theme="light"] body.app-shell .topbar-mobile-menu, html[data-theme="light"] body.app-shell .topbar-dropdown, html[data-theme="light"] body.app-shell .app-footer-inner{
  background: var(--panel);
  color: var(--text);
  border-color: var(--border);
}
body.app-shell .sidebar-brand-panel, body.app-shell .brand-panel{
  margin: 0 0 10px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
body.app-shell .brand-core, body.app-shell .brand-core--compact{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 12px 14px;
  border-radius: 20px;
  background: var(--panel-alt);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
body.app-shell .logo{
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
}
body.app-shell .nav-link{
  font-weight: 650;
}
body.app-shell.sidebar-collapsed .brand-copy, body.app-shell.sidebar-collapsed .nav-text, body.app-shell.sidebar-collapsed .nav-subtitle, body.app-shell.sidebar-collapsed .nav-badge, body.app-shell.sidebar-collapsed .nav-caret{
  display: none;
}
body.app-shell.sidebar-collapsed .brand-core, body.app-shell.sidebar-collapsed .brand-core--compact, body.app-shell.sidebar-collapsed .nav-group-head, body.app-shell.sidebar-collapsed .nav-link{
  justify-content: center;
}
body.app-shell.sidebar-open-peek .sidebar{
  width: var(--shell-sidebar-w);
}
body.app-shell.sidebar-open-peek .brand-copy, body.app-shell.sidebar-open-peek .nav-text, body.app-shell.sidebar-open-peek .nav-subtitle, body.app-shell.sidebar-open-peek .nav-badge, body.app-shell.sidebar-open-peek .nav-caret{
  display: initial;
}
body.app-shell.sidebar-open-peek .nav-group.is-open .nav-group-body{
  display: block;
}
body.app-shell .page-head h1, body.app-shell .page-head h2, body.app-shell .page-head h3, body.app-shell .hero-title, body.app-shell .station-hero h1, body.app-shell .station-hero h2, body.app-shell .station-hero h3{
  color: var(--text);
}
body.app-shell .page-head .muted, body.app-shell .station-subtitle, body.app-shell .hero-subtitle, body.app-shell .card .muted{
  color: var(--text-2);
}
body.app-shell .input, body.app-shell select.input, body.app-shell textarea.input, body.app-shell input[type="text"], body.app-shell input[type="number"], body.app-shell input[type="search"], body.app-shell input[type="date"], body.app-shell input[type="time"], body.app-shell select, body.app-shell textarea{
  background: var(--panel-alt);
  color: var(--text);
  border-color: var(--border);
}
body.app-shell .input::placeholder, body.app-shell textarea::placeholder{
  color: var(--text-3);
}
body.app-shell .station-clock-form, body.app-shell .form, body.app-shell form.form{
  display: grid;
  gap: 14px;
}
body.app-shell .station-clock-form .actions, body.app-shell .modal .actions, body.app-shell .modal .row-actions{
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding-top: 12px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--panel) 4%, transparent), var(--panel));
}
body.app-shell .station-pack-grid-wrap .station-pack-lock-overlay{
  display: none;
}
body.app-shell, .app-shell{
  background: var(--bg);
}
.page-head,.topbar,.card,.modal-card,.hero-panel,.station-hero,.topbar-user,.toast,.auth-modern-showcase,.auth-modern-panel{
  background: var(--panel);
  color: var(--text);
}
.page-head,.station-hero{
  background-image: var(--ev-hero-gradient);
}
html[data-theme="light"] .page-head, html[data-theme="light"] .station-hero, html[data-theme="light"] .news-band, html[data-theme="light"] .station-protocol-card, html[data-theme="light"] .station-metrics-card, html[data-theme="light"] .machine-status-panel, html[data-theme="light"] .readiness-card, html[data-theme="light"] .card{
  background-color: var(--panel);
  background-image: none;
}
html[data-theme="light"] .news-band{
  background: #f7fbff;
}
html[data-theme="light"] .station-hero{
  background: linear-gradient(135deg,#ffffff 0%,#f4f8fc 100%);
}
.station-subtitle,.page-head .muted,.muted,.station-hero p,.station-panel-head p{
  color: var(--text-2);
}
.station-breadcrumb,.station-section-label,.metric-square span,.readiness-title,.nav-subtitle{
  color: var(--text-3);
}
.station-hero h1,.page-head h2,.card-title,h1,h2,h3{
  color: var(--text);
}
.station-hero,.station-protocol-card,.station-metrics-card,.machine-status-panel,.readiness-card{
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
html[data-theme="light"] .sidebar{
  background: linear-gradient(180deg,#f7fbff,#eef4fa);
  border-color: #d6e1ee;
  box-shadow: 22px 0 42px rgba(8,18,30,.08);
  border-right-color: #d4e0eb;
}
.sidebar-brand-panel,.sidebar-footer{
  flex: 0 0 auto;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 20px;
}
.sidebar-brand-panel{
  position: sticky;
  top: 0;
  z-index: 3;
}
.brand-core{
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}
.brand-copy{
  display: grid;
  gap: 2px;
  min-width: 0;
}
.nav-group-head:hover,.nav-link:hover{
  background: var(--panel-hover);
  border-color: color-mix(in srgb,var(--primary) 18%, var(--border));
}
html[data-theme="light"] .nav-group-head:hover,html[data-theme="light"] .nav-link:hover{
  background: #f4f8fc;
}
.nav-group-head.active,.nav-link.active,.nav-link.is-active{
  background: color-mix(in srgb,var(--primary) 14%, var(--panel));
  border-color: color-mix(in srgb,var(--primary) 28%, var(--border));
  color: var(--text);
}
html[data-theme="light"] .nav-group-head.active,html[data-theme="light"] .nav-link.active,html[data-theme="light"] .nav-link.is-active{
  background: #eaf3fb;
  color: #0c1626;
}
.nav-text{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.nav-label{
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.nav-label-track{
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
}
.nav-label.is-overflowing:hover .nav-label-track, .nav-link:hover .nav-label.is-overflowing .nav-label-track, .nav-group-head:hover .nav-label.is-overflowing .nav-label-track{
  animation: asmSidebarMarqueeTrack var(--marquee-duration,7.5s) linear infinite;
}
.nav-link.has-alert .nav-ico,.nav-link.has-alert.active .nav-ico{
  border-color: color-mix(in srgb,var(--danger) 35%, var(--border));
  background: color-mix(in srgb,var(--danger) 12%, var(--panel));
}
.nav-badge{
  flex: 0 0 auto;
  min-width: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  background: color-mix(in srgb,var(--primary) 14%, var(--panel));
  color: var(--text);
}
.sidebar-collapsed .sidebar{
  width: var(--sidebar-collapsed-w);
}
.sidebar-collapsed .app-shell{
  padding-left: var(--sidebar-collapsed-w);
}
body.sidebar-collapsed .sidebar .brand-copy, body.sidebar-collapsed .sidebar .nav-text, body.sidebar-collapsed .sidebar .nav-caret, body.sidebar-collapsed .sidebar .nav-subtitle, body.sidebar-collapsed .sidebar .nav-group-body{
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}
body.sidebar-collapsed.sidebar-open-peek .sidebar{
  width: calc(var(--sidebar-w) + 16px);
  z-index: 90;
  box-shadow: 24px 0 48px rgba(15,23,42,.16);
}
body.sidebar-collapsed.sidebar-open-peek .sidebar .brand-copy, body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-text, body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-caret, body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-subtitle, body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-group-body{
  opacity: 1;
  pointer-events: auto;
  width: auto;
  height: auto;
  overflow: visible;
}
body.sidebar-collapsed .sidebar .nav-link,body.sidebar-collapsed .sidebar .nav-group-head{
  justify-content: center;
  padding-inline: 10px;
}
body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-link,body.sidebar-collapsed.sidebar-open-peek .sidebar .nav-group-head{
  justify-content: flex-start;
  padding-inline: 14px;
}
.station-clock-form,.modal .form,.modal form{
  display: grid;
  gap: 14px;
}
.modal,.modal-backdrop{
  background: var(--overlay);
}
.modal-header,.modal-head{
  padding: 18px 20px 12px;
  border-bottom: 1px solid var(--border);
}
.modal .actions,.modal .row-actions,.station-clock-form .actions{
  position: sticky;
  bottom: 0;
  padding-top: 12px;
  margin-top: 8px;
  background: linear-gradient(180deg,transparent,var(--panel) 30%);
}
.form-grid,.grid,.toolbar-form{
  gap: 14px;
}
.label,label{
  color: var(--text);
  font-weight: 600;
}
.input,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{
  background: var(--panel-alt);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 14px;
  min-height: 46px;
  padding: 10px 14px;
}
.input::placeholder,input::placeholder,textarea::placeholder{
  color: var(--text-3);
}
.input:focus,input:focus,select:focus,textarea:focus{
  outline: none;
  border-color: color-mix(in srgb,var(--primary) 50%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 16%, transparent);
}
.table,.table th,.table td{
  border-color: var(--border);
  color: var(--text);
}
.machine-status-panel,.station-protocol-card,.station-metrics-card,.readiness-card,.machine-status-card,.metric-square,.protocol-chip{
  background: var(--panel);
}
.metric-square,.protocol-chip,.machine-status-card{
  border: 1px solid var(--border);
  border-radius: 16px;
}
.readiness-card strong.ok-count,.readiness-card strong,.ok-count{
  color: var(--success);
}
.bad-count{
  color: var(--danger);
}
@keyframes asmNewsTicker{
0%{transform:translateX(0)}100%{transform:translateX(-100%)}
}
@keyframes asmSidebarMarquee{
0%,18%{transform:translateX(0)}82%{transform:translateX(calc(-100% + 120px))}100%{transform:translateX(0)}
}
@keyframes asmSidebarMarqueeWide{
0%,16%{transform:translateX(0)}78%{transform:translateX(calc(-100% + 156px))}100%{transform:translateX(0)}
}
@keyframes asmSidebarMarqueeTrack{
0%,14%{transform:translateX(0)}82%{transform:translateX(calc(-1 * var(--marquee-shift, 0px)))}100%{transform:translateX(0)}
}
@keyframes asm360ShellSweep{
from{transform:translateX(-100%);}
  to{transform:translateX(100%);}
}
@keyframes evPulse{
0%,100%{box-shadow:0 10px 22px rgba(0,0,0,.14), 0 0 0 1px rgba(255,255,255,.02) inset}50%{box-shadow:0 12px 28px rgba(0,0,0,.18), 0 0 28px rgba(95,231,255,.08), 0 0 0 1px rgba(255,255,255,.03) inset}
}
@keyframes sidebarPulse2{
0%{box-shadow:0 0 0 0 rgba(34,211,238,.34)}70%{box-shadow:0 0 0 11px rgba(34,211,238,0)}100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}
}
@page{
size:auto;margin:10mm;
}
@media (max-width: 1440px){
.station-pack-grid,.entity-card-grid,.station-target-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.phase2-quicklinks{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-readiness-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.station-pack-grid,.entity-card-grid,.station-board{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.station-top-actions,.station-top-actions--utility{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
}
@media (max-width: 1200px){
.app-shell.sidebar-open .sidebar,.sidebar-open .sidebar{
  transform: translateX(0);
  box-shadow: var(--shadow-lg);
}
.topbar{
  margin-bottom: 14px;
  display: block;
}
.dashboard-top-grid,.dashboard-mid-grid,.station-overview-grid,.profile-main-grid{
  grid-template-columns: 1fr;
}
.station-compact-grid,.grid.kpi,.metrics-grid,.hero-kpis,.profile-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-pack-grid,.entity-card-grid,.station-target-grid,.station-readiness-grid,.station-metric-squares{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-actions-bar{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.auth-modern-wrap,.auth-modern-wrap-register{
  grid-template-columns: 1fr;
}
.topbar-left{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}
.topbar-actions{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  overflow-x: auto;
  padding-bottom: 4px;
  justify-content: space-between;
}
.station-pack-grid,.entity-card-grid,.station-target-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.topbar.ki-topbar{
  grid-template-columns: 1fr;
  align-items: stretch;
}
.split-grid,.dashboard-top-grid,.dashboard-mid-grid,.dispatch-layout-grid,.profile-main-grid,.audit-create-layout{
  grid-template-columns: 1fr;
}
.metrics-grid,.hero-kpis,.entity-card-grid,.station-target-grid,.audit-kpis-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.pack-pick-grid{
  grid-template-columns: 1fr;
}
.asset-master-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.app-footer{
  left: 14px;
  right: 14px;
  bottom: 10px;
}
.app-shell{
  padding-left: 0;
}
.sidebar{
  transform: translateX(-108%);
  transition: transform var(--normal), box-shadow var(--normal);
  width: min(92vw,340px);
  z-index: 90;
}
body.sidebar-open .sidebar{
  transform: translateX(0);
}
body.sidebar-collapsed .sidebar, body.sidebar-collapsed.sidebar-open-peek .sidebar{
  width: min(92vw,340px);
}
.sidebar-brand-panel,.sidebar-footer{
  position: sticky;
}
.content{
  padding: 12px;
}
}
@media (max-width: 860px){
html{
  font-size: 14.5px;
}
.topbar{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  padding: 12px;
}
.topbar-left{
  grid-column: 1 / -1;
}
.topbar-actions{
  grid-column: 1 / -1;
  justify-content: flex-start;
  gap: 8px;
}
.topbar-user-meta{
  display: none;
}
.page-head{
  padding: 18px;
}
.page-head .actions{
  justify-content: flex-start;
}
.grid.two,.grid.three,.station-target-fields,.station-target-switches,.profile-detail-list,.workstation-card-grid,.workstation-cards{
  grid-template-columns: 1fr;
}
.station-pack-grid,.station-compact-grid,.entity-card-grid,.station-target-grid,.station-readiness-grid,.station-metric-squares,.grid.kpi,.metrics-grid,.hero-kpis,.profile-kpi-grid,.phase2-quicklinks{
  grid-template-columns: 1fr;
}
.station-actions-bar{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-hero-btn{
  min-height: 50px;
}
.machine-check-row{
  grid-template-columns: 1fr;
}
.table-toolbar,.table-pagination{
  align-items: flex-start;
}
.table-toolbar .input{
  max-width: none;
  width: 100%;
}
.content{
  padding: 10px;
}
.topbar-title{
  font-size: 1.12rem;
}
.topbar-sub{
  display: none;
}
.topbar-actions .top-chip{
  display: none;
}
.topbar-user{
  min-width: 136px;
}
.station-pack-grid,.entity-card-grid,.station-target-grid,.station-readiness-grid,.metrics-grid,.hero-kpis,.grid.kpi,.profile-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-actions-bar,.station-hero .actions,.station-hero .station-actions-bar{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-pack-head strong{
  font-size: 1.55rem;
}
.table{
  min-width: 720px;
}
.chart-summary-strip,.analytics-grid,.geo-selected-strip,.dashboard-tv-grid,.station-target-grid{
  grid-template-columns: 1fr;
}
.station-target-switches--stacked{
  grid-template-columns: 1fr;
}
.station-pack-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.evidence-metrics-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width: 560px){
html{
  font-size: 14px;
}
.auth-shell{
  padding: 10px;
}
.sidebar{
  padding: 8px;
  width: min(92vw,360px);
}
.brand-panel,.sidebar-status,.sidebar-footer,.nav-group{
  border-radius: 16px;
}
.card,.page-head,.station-hero,.hero-panel{
  padding: 16px;
  border-radius: 20px;
}
.topbar{
  padding: 12px;
  position: sticky;
  top: 0;
  margin-bottom: 12px;
}
.topbar-title{
  font-size: 1.16rem;
}
.topbar-actions{
  gap: 8px;
  display: flex;
  grid-template-columns: repeat(3,minmax(0,44px)) 1fr;
  align-items: center;
  overflow: visible;
  overflow-x: auto;
}
.icon-btn{
  width: 40px;
  height: 40px;
  border-radius: 12px;
}
.table th,.table td{
  padding: 12px 12px;
  font-size: .92rem;
}
.station-pack-card{
  min-height: auto;
  padding: 14px 12px;
}
.station-pack-head strong{
  font-size: 1.5rem;
}
.station-pack-action-board{
  grid-template-columns: 1fr 1fr;
}
.queue-head,.station-panel-head,.hero-head,.entity-card-head{
  gap: 10px;
}
.brand-panel,.nav-group,.sidebar-footer{
  padding: 12px;
  border-radius: 18px;
}
.nav-group-head{
  font-size: .94rem;
  padding: 10px 12px;
}
.nav-link{
  padding: 11px 12px;
  font-size: .9rem;
}
.topbar-left{
  margin-bottom: 8px;
}
.topbar-actions details,.topbar-actions .icon-btn,.topbar-actions > a,.topbar-actions > button{
  width: 44px;
  height: 44px;
}
.topbar-actions .topbar-user{
  grid-column: auto;
  width: 100%;
  justify-content: flex-start;
  min-width: 180px;
}
.topbar-user-meta{
  display: grid;
}
.station-pack-grid,.entity-card-grid,.station-target-grid,.metrics-grid,.hero-kpis,.grid.kpi,.profile-kpi-grid{
  grid-template-columns: 1fr;
}
.station-actions-bar,.station-hero .actions,.station-hero .station-actions-bar{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-hero .btn,.station-actions-bar .btn{
  white-space: normal;
  min-height: 46px;
}
.station-pack-action-board,.station-pack-action-board--phase13,.compact-actions{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-pack-action-board .btn,.compact-actions .btn{
  font-size: .82rem;
  min-height: 34px;
  white-space: normal;
  line-height: 1.15;
}
.modal{
  padding: 8px;
}
.modal-card,.modal-card.lg{
  width: calc(100vw - 12px);
  max-height: 94dvh;
  padding: 14px;
}
.table{
  min-width: 680px;
}
.app-shell{
  padding-left: 0;
}
.page-head{
  padding: 16px 16px 18px;
  gap: 12px;
}
.chart-summary-strip{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-pack-grid{
  grid-template-columns: 1fr;
}
.station-pack-action-board .btn{
  font-size: .8rem;
  min-height: 34px;
}
.dashboard-tv-stats{
  grid-template-columns: 1fr;
}
.responsive-table{
  margin-inline: -2px;
}
.grn-line-grid,.compact-hero-grid,.grn-summary-grid,.process-summary-grid,.machine-hero-grid,.machine-kv-grid{
  grid-template-columns: 1fr;
}
.grn-line-actions{
  justify-content: stretch;
}
.grn-line-actions .btn{
  width: 100%;
}
.table-wrap{
  overflow: auto;
}
.responsive-table .table{
  min-width: 760px;
}
.evidence-metrics-grid{
  grid-template-columns: 1fr;
}
.content{
  padding: 10px 10px 112px;
}
.topbar-search{
  min-height: 46px;
}
.mobile-ev-dock{
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 8px;
  gap: 8px;
}
.mobile-ev-dock a{
  min-height: 58px;
  font-size: .68rem;
}
.mobile-ev-dock .dock-ico{
  width: 30px;
  height: 30px;
  border-radius: 10px;
}
.login-pane-inner,.register-pane-inner,.login-showcase-content,.register-showcase-content{
  padding: 20px;
}
}
@media (max-width: 1360px){
.station-pack-grid,.entity-card-grid,.station-target-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.station-actions-bar,.station-hero .actions,.station-hero .station-actions-bar{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.dashboard-tv-grid,.station-target-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.grn-line-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.compact-hero-grid,.grn-summary-grid,.process-summary-grid,.machine-hero-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width: 1100px){
.chart-summary-strip,.analytics-grid,.geo-selected-strip,.dashboard-tv-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.process-station-page .metrics-grid, .cell-module-bin-page .metrics-grid, .preassembly-overview-page .metrics-grid, .inventory-home-page .inventory-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.preassembly-overview-page .preassembly-dashboard-grid{
  grid-template-columns: 1fr;
}
.dispatch-layout-grid{
  grid-template-columns: 1fr;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager{
  flex-wrap: wrap;
}
body.app-shell .toolbar-inline-pager{
  margin-left: 0;
  width: 100%;
}
body.app-shell .toolbar-inline-pager .server-pager{
  flex-wrap: wrap;
}
}
@media (max-width: 1400px){
.machine-summary-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.machine-kv-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.report-summary-grid,.phase4-kpi-strip,.chart-summary-strip,.geo-selected-strip{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width: 1024px){
.machine-hero,.dashboard-top-grid,.dashboard-mid-grid,.profile-main-grid{
  grid-template-columns: 1fr;
}
.dashboard-tv-grid,.station-target-grid,.compact-card-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.geo-selected-strip{
  grid-template-columns: 1fr;
}
:root{
  --final-sidebar-w: 292px;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl{
  width: calc(100vw - 14px);
  max-height: min(94vh, 980px);
}
}
@media (max-width: 720px){
.report-summary-grid,.phase4-kpi-strip,.chart-summary-strip,.machine-summary-grid,.machine-kv-grid,.station-target-fields,.station-target-switches,.dashboard-tv-grid,.compact-card-grid,.bulk-upload-grid{
  grid-template-columns: 1fr;
}
.dashboard-tv-card{
  min-height: unset;
}
.dashboard-tv-stats{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.bar-line{
  grid-template-columns: 1fr;
}
:root{
  --sidebar-w: min(88vw,340px);
}
.sidebar{
  width: var(--sidebar-w);
}
.topbar{
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.topbar-actions{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,44px)) 1fr;
  gap: 10px;
}
.topbar-actions .icon-btn,.topbar-actions .topbar-user{
  width: 100%;
  min-width: 0;
}
.page-head,.station-hero{
  border-radius: 20px;
}
.page-head h2{
  font-size: 1.8rem;
}
.station-pack-grid,.entity-card-grid,.station-board,.station-map-grid{
  grid-template-columns: 1fr;
}
.station-pack-head strong{
  font-size: 1.6rem;
}
.station-pack-action-board{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-top-actions,.station-top-actions--utility{
  grid-template-columns: 1fr 1fr;
}
.flow-card{
  min-width: 84vw;
}
.table-toolbar,.table-pagination{
  gap: 10px;
}
.responsive-table .table{
  min-width: 760px;
}
.auth-login-refresh{
  padding: 14px;
}
.auth-login-layout.login-split-v2{
  min-height: 0;
  border-radius: 26px;
}
.login-pane-inner{
  padding: 28px 22px;
}
.login-form-copy h1{
  font-size: 1.9rem;
}
.login-pane--showcase{
  display: none;
}
.login-brand-name{
  font-size: 1.2rem;
}
.auth-register-refresh{
  padding: 14px;
}
.auth-register-layout.register-split-v2{
  min-height: 0;
  border-radius: 26px;
}
.register-pane-inner{
  padding: 28px 22px;
}
.register-form-copy h1{
  font-size: 1.85rem;
}
.register-password-grid{
  grid-template-columns: 1fr;
}
.register-pane--showcase{
  display: none;
}
.register-brand-name{
  font-size: 1.2rem;
}
.page-head,.hero-panel,.station-hero,.card,.table-card,.station-protocol-card,.station-metrics-card,.machine-status-panel{
  padding: 16px;
}
.metric-card{
  min-height: 118px;
}
.metric-value,.small-value,.metric-square strong,.station-mini-card strong,.count-pair strong,.tv-stat strong{
  font-size: 1.55rem;
}
.station-mini-card{
  min-height: unset;
}
body.app-shell .modal{
  padding: 8px;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl{
  width: calc(100vw - 12px);
  max-height: 94dvh;
  border-radius: 18px;
}
body.app-shell .modal-head{
  padding: 14px 14px 12px;
}
body.app-shell .modal-body{
  padding: 14px;
}
body.app-shell .content{
  padding: calc(var(--fix-topbar-h) + 10px) 10px 110px;
}
body.app-shell .app-footer{
  padding: 0 10px 14px;
}
}
@media (max-width: 980px){
.process-edit-layout{
  grid-template-columns: 1fr;
}
.process-sidebar-card{
  position: static;
}
.inprocess-check-inputs{
  grid-template-columns: 1fr;
}
.grn-line-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.asset-master-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.pack-trace-selected .detail-list, .pack-trace-selected .detail-list.compact{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.page-head{
  padding: 14px 14px;
  gap: 12px;
}
.card,.table-card,.hero-panel,.station-pack-card{
  border-radius: 18px;
}
.topbar{
  margin-bottom: 14px;
  padding: 10px 12px;
}
.topbar-title{
  font-size: 1rem;
}
.topbar-context .topbar-kicker{
  font-size: .7rem;
  letter-spacing: .12em;
}
.table-enhancer{
  flex-direction: column;
  align-items: stretch;
}
.table-enhancer-left,.table-enhancer-right{
  width: 100%;
  justify-content: space-between;
}
}
@media (max-width: 1080px){
.app-shell{
  padding-left: 0;
}
.content{
  padding: 16px 14px 24px;
}
.grid.two,.grid.three,.dashboard-top-grid,.dashboard-mid-grid,.profile-main-grid,.mobile-access-grid,.page-head.bulk-page-head + .grid.two.bulk-upload-grid,.inprocess-redesign .inspection-check-grid,.grn-view-redesign .grn-summary-grid,.report-summary-grid,.data-cards-compact,.chart-summary-strip,.workflow-module-grid{
  grid-template-columns: 1fr;
}
.metrics-grid,.station-readiness-grid,.station-compact-grid,.phase2-quicklinks{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-pack-grid,.entity-card-grid,.station-board,.station-map-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.station-top-actions,.station-top-actions--utility{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.page-head{
  padding: 18px;
}
body.app-shell .topbar-dropdown{
  right: auto;
  left: 0;
}
}
@media (max-width: 520px){
.metrics-grid,.station-readiness-grid,.station-compact-grid,.phase2-quicklinks{
  grid-template-columns: 1fr;
}
.station-top-actions,.station-top-actions--utility{
  grid-template-columns: 1fr;
}
.station-top-actions .btn,.station-top-actions--utility .btn{
  min-height: 38px;
  font-size: .94rem;
}
.brand-title{
  font-size: 1.06rem;
}
.nav-group-head,.nav-link{
  font-size: .88rem;
}
}
@media (max-width:1100px){
.access-check-grid{
  grid-template-columns: 1fr;
}
}
@media (max-width:720px){
:root{
  --sidebar-w: 320px;
}
.simple-login-card{
  padding: 24px 20px;
}
}
@media (max-width: 1040px){
.auth-login-layout.login-split-v2{
  grid-template-columns: 1fr;
}
.login-pane--showcase{
  min-height: 420px;
}
.login-showcase-content{
  width: 100%;
  padding: 72px 36px 40px;
}
.auth-register-layout.register-split-v2{
  grid-template-columns: 1fr;
}
.register-showcase-content{
  width: 100%;
  padding: 70px 36px 40px;
}
}
@media (max-width:1200px){
.inventory-home-redesigned .inventory-home-actions-grid,.inventory-grn-workbench-page .grn-line-grid,.connected-workflow-lane{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.ttit-modal-card .ttit-metric-grid,.ttit-module-grid,.mbin-card-grid.redesign{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.pack-trace-fullpage .connected-workflow-lane{
  grid-template-columns: repeat(4,minmax(220px,1fr));
}
.station-mini-stats--quad{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:760px){
.inventory-home-redesigned .inventory-home-actions-grid,.inventory-home-redesigned .inventory-alert-tile-grid,.inventory-grn-workbench-page .grn-line-grid,.inventory-grn-workbench-page .grn-line-meta,.connected-workflow-lane{
  grid-template-columns: 1fr;
}
.ttit-modal-card .ttit-metric-grid,.ttit-module-grid,.ttit-busbar-grid,.mbin-card-grid.redesign{
  grid-template-columns: 1fr;
}
.stage-modal-card--xl{
  width: min(96vw,96vw);
}
body.app-shell .topbar{
  gap: 10px;
  padding: 10px 12px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
}
body.app-shell .topbar-title{
  font-size: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-kicker,body.app-shell .topbar-user-text small{
  display: none;
}
body.app-shell .topbar-actions{
  gap: 8px;
  grid-column: auto;
  justify-content: flex-end;
  overflow: visible;
}
body.app-shell .topbar-search{
  max-width: none;
}
body.app-shell .topbar-search-input{
  height: 42px;
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero{
  padding: 18px 16px;
}
body.app-shell .page-head .actions{
  width: 100%;
}
body.app-shell .topbar-left{
  min-width: 0;
  gap: 10px;
  grid-column: auto;
  margin-bottom: 0;
}
body.app-shell .topbar-context{
  min-width: 0;
}
body.app-shell .topbar-user-text{
  display: none;
}
body.app-shell .page-head{
  padding: 14px 14px 16px;
  border-radius: 18px;
}
body.app-shell .page-head h2, body.app-shell .hero-title{
  font-size: 1.3rem;
}
body.app-shell .actions .btn, body.app-shell .page-head .actions .btn{
  flex: 1 1 auto;
}
.card, .metric-card, .table-wrap{
  border-radius: 16px;
}
body.app-shell .topbar-kicker{
  display: none;
}
body.app-shell .topbar-mobile-menu-btn svg{
  width: 20px;
  height: 20px;
}
body.app-shell .topbar-user{
  padding: 2px;
  min-width: auto;
  border-radius: 999px;
}
body.app-shell .topbar-user .avatar,body.app-shell .topbar-user .avatar-img{
  width: 40px;
  height: 40px;
}
body.app-shell .mobile-app-nav{
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  top: calc(var(--hosting-banner-height,0px) + var(--shell-topbar-h) - 2px);
  z-index: 54;
  padding: 0 10px 10px;
  pointer-events: none;
}
body.app-shell .mobile-app-nav-inner{
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 10px;
  border-radius: 18px;
  border: 1px solid var(--shell-border);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)), var(--shell-panel);
  box-shadow: 0 14px 34px rgba(2,8,23,.22);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
body.app-shell .mobile-app-nav-inner::-webkit-scrollbar{
  display: none;
}
body.app-shell .mobile-app-nav-link{
  position: relative;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--shell-text-2);
  background: transparent;
}
body.app-shell .mobile-app-nav-link:hover,body.app-shell .mobile-app-nav-link:active{
  background: color-mix(in srgb,var(--shell-primary) 12%, var(--shell-panel));
  color: var(--shell-text);
}
body.app-shell .mobile-app-nav-link.is-active{
  background: color-mix(in srgb,var(--shell-primary) 16%, var(--shell-panel));
  border-color: color-mix(in srgb,var(--shell-primary) 28%, var(--shell-border));
  color: var(--shell-primary);
}
body.app-shell .mobile-app-nav-icon{
  display: inline-flex;
  width: 22px;
  height: 22px;
}
body.app-shell .mobile-app-nav-icon svg{
  width: 100%;
  height: 100%;
}
body.app-shell .mobile-app-nav-badge{
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: #fb7185;
  color: #fff;
  font-size: .64rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--shell-panel);
}
body.app-shell .content{
  padding-top: calc(var(--shell-topbar-h) + var(--hosting-banner-height,0px) + 12px);
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
  position: relative;
}
body.app-shell .topbar-mobile-menu{
  position: fixed;
  top: calc(var(--hosting-banner-height,0px) + var(--shell-topbar-h) + 8px);
  right: 10px;
  left: 10px;
  width: auto;
  max-width: none;
  padding: 14px;
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(2,8,23,.28);
}
body.app-shell .topbar-mobile-quick-grid{
  grid-template-columns: 1fr 1fr;
}
body.app-shell .news-band{
  padding: 10px 12px;
}
body.app-shell .news-band-label{
  padding: 7px 10px;
  font-size: .66rem;
}
body.app-shell .station-pack-search-wrap{
  grid-template-columns: 1fr;
}
body.app-shell .station-pack-search-wrap .pill.info, body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  grid-column: auto;
  justify-self: stretch;
}
}
@media (max-width: 1280px){
.evidence-metrics-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.content{
  padding-bottom: 118px;
}
}
@media (max-width: 640px){
.asset-master-grid,.dispatch-checklist-grid,.dispatch-summary-grid,.pack-pick-grid,.machine-summary-grid,.machine-kv-grid{
  grid-template-columns: 1fr;
}
.dispatch-summary-item{
  flex-direction: column;
}
}
@media (max-width: 768px){
body.app-wrapper{
  padding-bottom: 108px;
}
.page,.card,.metric-card{
  border-radius: 16px;
}
.content{
  gap: 14px;
}
.page-head{
  gap: 12px;
}
.page-head .actions{
  width: 100%;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.page-head .actions .btn{
  flex: 1 1 180px;
}
.metrics-grid,.hero-kpis,.entity-card-grid,.station-target-grid,.audit-kpis-grid{
  grid-template-columns: 1fr;
}
.grid.two,.grid.three,.grid.four,.asset-master-grid{
  grid-template-columns: 1fr;
}
.table-wrap{
  border-radius: 16px;
}
.table{
  min-width: 820px;
}
.sidebar{
  width: min(82vw,330px);
  transform: translateX(-102%);
  transition: transform .24s ease;
}
.app-shell{
  padding-left: 0;
}
.sidebar-open .sidebar{
  transform: translateX(0);
}
.topbar-search{
  min-height: 46px;
}
.topbar-actions{
  gap: 8px;
}
.topbar-user-link{
  width: 100%;
  justify-content: flex-start;
}
.app-footer-inner{
  padding: 12px 14px;
  flex-direction: column;
  align-items: flex-start;
}
body.app-shell .topbar-actions{
  overflow: visible;
}
body.app-shell .topbar-dropdown{
  left: auto;
  right: 0;
  min-width: min(340px,calc(100vw - 20px));
  max-width: min(360px,calc(100vw - 20px));
}
body.app-shell .nav-group-head{
  min-height: 52px;
  padding: 9px 12px;
  font-size: .98rem;
}
}
@media (max-width: 991.98px){
.sidebar--futuristic .nav-group-head,.sidebar--futuristic .nav-link{
  min-height: 44px;
}
.sidebar--futuristic .nav-ico{
  width: 26px;
  min-width: 26px;
  height: 26px;
}
}
@media (max-width:1360px){
body.app-shell .hero-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:1180px){
body.app-shell .sidebar{
  transform: translateX(-108%);
  transition: transform .22s ease;
  width: min(92vw,380px);
}
body.app-shell.sidebar-open .sidebar{
  transform: translateX(0);
}
body.app-shell .topbar{
  left: 0;
  padding: 12px 14px;
  grid-template-columns: auto 1fr auto;
}
body.app-shell .content{
  margin-left: 0;
  padding: calc(var(--shell-topbar-h) + var(--hosting-banner-height,0px) + 14px) 14px 22px;
}
body.app-shell .app-footer{
  margin-left: 0;
  padding: 0 14px 20px;
}
body.app-shell .topbar-center{
  display: none;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
}
body.app-shell .topbar-desktop-only{
  display: none;
}
}
@media (max-width:768px){
body.app-shell .page-head{
  padding: 16px 16px 18px;
}
body.app-shell .page-head h2,body.app-shell .hero-title{
  font-size: 1.8rem;
}
body.app-shell .hero-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .entity-card-grid{
  grid-template-columns: 1fr;
}
body.app-shell .page-head.page-head-tight{
  padding: 12px 14px;
}
.kiosk-grid{
  grid-template-columns: 1fr;
}
body.app-shell .topbar{
  grid-template-columns: auto 1fr auto;
  align-items: center;
}
body.app-shell .topbar-context{
  min-width: 0;
}
body.app-shell .topbar-title{
  font-size: 1rem;
}
body.app-shell .topbar-actions{
  gap: 8px;
}
body.app-shell .topbar-user{
  padding: 4px 6px;
  min-width: auto;
}
body.app-shell .topbar-user-text{
  display: none;
}
body.app-shell .topbar-mobile-menu{
  right: 0;
  left: auto;
}
body.app-shell .table-enhancer{
  padding-top: 8px;
}
body.app-shell .table-enhancer-left,body.app-shell .table-enhancer-right{
  width: 100%;
  justify-content: space-between;
}
body.app-shell .table-enhancer-search{
  min-width: 100%;
  max-width: none;
}
body.app-shell .topbar-mobile-quick-grid{
  grid-template-columns: 1fr;
}
body.app-shell .line-side-inventory-metrics{
  grid-template-columns: 1fr;
}
}
@media (max-width:560px){
body.app-shell .hero-kpis{
  grid-template-columns: 1fr;
}
body.app-shell .content{
  padding: calc(var(--shell-topbar-h) + 10px) 10px 16px 10px;
}
body.app-shell .topbar{
  height: auto;
  min-height: var(--shell-topbar-h);
  align-items: center;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
}
body.app-shell .btn{
  min-height: 40px;
  padding: 0 12px;
}
body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .grid.four, .grid.two, .grid.three, .grid.four{
  grid-template-columns: 1fr;
}
body.app-shell .entity-card-grid{
  grid-template-columns: 1fr;
}
body.app-shell .topbar-mobile-nav-grid,body.app-shell .topbar-mobile-quick-grid{
  grid-template-columns: 1fr;
}
body.app-shell .topbar-mobile-menu{
  top: calc(var(--hosting-banner-height,0px) + var(--shell-topbar-h) + 6px);
}
}
@media (max-width:1280px){
body.app-shell .topbar-center{
  max-width: 520px;
}
body.app-shell .content{
  padding: calc(var(--shell-topbar-h) + 14px) 16px 18px 16px;
}
body.app-shell .station-pack-search-wrap{
  grid-template-columns: minmax(240px,1fr) 108px auto auto minmax(0,1fr);
}
body.app-shell .station-pack-search-wrap .pill.info{
  grid-column: 1 / span 2;
}
body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  grid-column: 3 / -1;
  justify-self: end;
}
}
@media (max-width:1024px){
body.app-shell .page-head{
  gap: 12px;
}
body.app-shell .page-head h2{
  font-size: 1.45rem;
}
body.app-shell .metric-card, body.app-shell .card{
  padding: 14px;
}
.sidebar--neo{
  width: min(88vw,320px);
}
}
@media (max-width: 900px){
body.app-shell .table-enhancer-top, body.app-shell .table-enhancer-bottom{
  gap: 8px;
}
body.app-shell .table-enhancer-bottom .table-enhancer-left, body.app-shell .table-enhancer-bottom .table-enhancer-right{
  width: 100%;
  justify-content: space-between;
}
.inprocess-check-inputs-wide{
  grid-template-columns: 1fr;
}
.split-grid.split-grid-wide{
  grid-template-columns: 1fr;
}
body.app-shell .toolbar-form, body.app-shell .server-pager-wrap{
  align-items: stretch;
}
body.app-shell .toolbar-form .input, body.app-shell .toolbar-form .btn{
  width: 100%;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager .input, body.app-shell .toolbar-form.toolbar-form--inline-pager .btn{
  width: auto;
}
body.app-shell .toolbar-form.toolbar-form--inline-pager .toolbar-search--wide, body.app-shell .toolbar-form.toolbar-form--inline-pager select, body.app-shell .toolbar-inline-pager, body.app-shell .toolbar-inline-pager .server-pager{
  width: 100%;
  max-width: 100%;
}
body.app-shell .station-pack-search-wrap{
  display: flex;
  flex-wrap: wrap;
}
body.app-shell .station-pack-search-wrap .toolbar-search--wide, body.app-shell .station-pack-search-wrap .input, body.app-shell .station-pack-search-wrap .btn, body.app-shell .station-pack-search-wrap .pill, body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}
body.app-shell .station-clock-modal-card{
  width: min(100vw - 12px,100vw - 12px);
}
body.app-shell .station-clock-form .machine-check-row{
  grid-template-columns: 1fr;
}
body.app-shell .station-clock-form .machine-param-row{
  grid-template-columns: 1fr;
}
}
@media (max-width: 760px){
.inprocess-create-redesigned .compact-form{
  grid-template-columns: 1fr;
}
.pack-trace-selected .detail-list, .pack-trace-selected .detail-list.compact{
  grid-template-columns: 1fr;
}
}
@media (max-width:700px){
.station-mini-stats--quad{
  grid-template-columns: 1fr;
}
.station-mini-stats--quad .stat-box strong{
  font-size: 2.4rem;
}
}
@media (max-width:900px){
.station-mini-stats--dual{
  grid-template-columns: 1fr;
}
.station-mini-stats--dual .stat-box strong{
  font-size: 1.9rem;
}
body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: 1fr;
}
}
@media (min-width: 1101px){
body.app-shell .toolbar-form.toolbar-form--inline-pager{
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}
}
@media (max-width: 1260px){
body.app-shell .station-pack-search-wrap{
  grid-template-columns: minmax(200px,1fr) minmax(104px,.3fr) auto auto;
}
body.app-shell .station-pack-search-wrap .pill, body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  grid-column: 1 / -1;
  margin-left: 0;
  justify-content: flex-start;
}
}
@media (min-width:1101px){
body.app-shell .toolbar-form.toolbar-form--inline-pager{
  overflow: visible;
}
}
@media (max-width:980px){
body.app-shell .station-pack-search-wrap{
  grid-template-columns: 1fr 110px auto auto;
}
body.app-shell .station-pack-search-wrap .pill.info{
  grid-column: 1 / span 2;
}
body.app-shell .station-pack-search-wrap .toolbar-inline-pager{
  grid-column: 1 / -1;
  justify-self: start;
}
body.app-shell .station-pack-search-wrap .server-pager{
  flex-wrap: wrap;
  justify-content: flex-start;
}
}
@media (max-width: 1180px){
.content{
  padding: 14px 14px 116px;
}
.topbar{
  top: 8px;
  border-radius: 24px;
}
.app-footer{
  margin: 0 14px 96px;
}
.mobile-ev-dock{
  display: grid;
}
body.app-shell .sidebar{
  width: min(92vw, 360px);
  transform: translateX(-108%);
}
body.app-shell.sidebar-open .sidebar{
  transform: translateX(0);
}
body.app-shell .topbar{
  left: 0;
}
body.app-shell .content, body.app-shell .app-footer{
  margin-left: 0;
}
body.app-shell.sidebar-collapsed .sidebar{
  width: min(92vw, 360px);
}
body.app-shell{
  padding-left: 0;
}
}
@media (max-width: 960px){
.auth-login-layout,.auth-register-layout{
  grid-template-columns: 1fr;
}
.auth-shell .login-pane,.auth-shell .register-pane{
  min-height: auto;
}
.login-pane--showcase,.register-pane--showcase{
  order: -1;
  min-height: 380px;
}
.login-showcase-content h2,.register-showcase-content h2{
  max-width: 16ch;
}
}
@media (max-width:640px){
.sidebar--neo{
  width: min(92vw,308px);
  padding: 10px;
}
.sidebar--neo .brand-title{
  font-size: .96rem;
}
.sidebar--neo .brand-subtitle{
  font-size: .76rem;
}
}
@media (max-width: 820px){
.asm-modern-page .print-sheet{
  padding: 18px;
}
.asm-modern-page .sheet{
  grid-template-columns: 1fr;
}
html,body,body.app-shell,body.app-shell .content,body.app-shell .page,body.app-shell .page-shell{
  background: var(--bg);
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-wrap, body.app-shell .metric-card, body.app-shell .modal-card{
  border-radius: 18px;
}
body.app-shell .modal{
  padding: 10px;
  align-items: flex-end;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .station-clock-modal-card{
  width: min(100vw - 12px, 100vw - 12px);
  max-height: min(92vh, 1200px);
  padding: 16px;
}
body.app-shell .station-clock-form .machine-check-row, body.app-shell .station-clock-form .machine-param-row, body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .grid.four{
  grid-template-columns: 1fr;
}
}
@media print{
body.asm-modern-page{
  padding: 0;
  background: #fff;
}
.asm-modern-page .page.asm-modern-page{
  max-width: none;
}
.asm-modern-page .print-sheet{
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.asm-modern-page .noprint{
  display: none;
}
}
.mobile-module-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0 12px;
}
.mobile-module-card .toggle-switch.compact{
  min-height: 40px;
  padding: 8px 12px;
}
.mobile-module-card .toggle-switch.compact .toggle-label{
  font-size: .86rem;
}
.mobile-module-flags{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.mobile-module-flags .toggle-switch{
  width: 100%;
  justify-content: flex-start;
}
.mobile-module-flags .toggle-switch.is-static{
  opacity: .72;
}
@media (max-width: 960px){
.mobile-access-grid{
  grid-template-columns: 1fr;
}
.mobile-access-module-grid{
  grid-template-columns: 1fr;
}
.mobile-module-toolbar{
  flex-direction: column;
  align-items: flex-start;
}
.mobile-module-flags{
  grid-template-columns: 1fr;
}
}
html[data-theme="dark"]{
  --ki-page: #0b1220;
  --ki-panel: #111827;
  --ki-panel-2: #162132;
  --ki-text: #e8f1fb;
  --ki-muted: #98a7b8;
  --ki-border: #273447;
  --ki-hover: #1b2739;
  --ki-shadow: 0 16px 34px rgba(2,8,23,.34), 0 2px 8px rgba(2,8,23,.22);
  --shell-bg: #08111f;
  --shell-sidebar: #0b1832;
  --shell-topbar: #0d1b2d;
  --shell-panel: #0f1c35;
  --shell-panel-2: #122344;
  --shell-text: #edf5ff;
  --shell-text-soft: #a7bdd8;
  --shell-text-mute: #7f97b5;
  --shell-border: #223a65;
  --shell-hover: #122740;
  --shell-primary: #3b82f6;
  --shell-primary-2: #14b8a6;
  --shell-scroll-track: #102035;
  --shell-glow: rgba(56,189,248,.18);
  --shell-table-head: #10253f;
  --shell-bg-soft: #0d1730;
  --shell-panel-3: #172b52;
  --shell-border-soft: rgba(125,162,220,.16);
  --shell-text-2: #9bb3d2;
  --shell-text-3: #7388a6;
  --shell-secondary: #22c7ee;
  --shell-accent: #60a5fa;
  --shell-shadow: 0 18px 48px rgba(3,8,18,.34);
  --shell-topbar-bg: rgba(9,19,39,.82);
  --shell-topbar-line: rgba(102,138,188,.18);
  --bg: #0A1020;
  --bg-elev: #101A2E;
  --panel: #111B2F;
  --panel-alt: #16243B;
  --panel-hover: #1A2B46;
  --sidebar: #101A2E;
  --border: #263754;
  --text: #F5FAFF;
  --text-2: #B8C7DA;
  --text-3: #7D92AE;
  --primary: #22D3EE;
  --primary-hover: #14E3C8;
  --secondary: #4DA3FF;
  --special: #8B7CFF;
  --success: #39D98A;
  --warning: #F6B73C;
  --danger: #FF5C7A;
  --info: #56A8FF;
  --overlay: rgba(10,16,32,.72);
  --ev-hero-gradient: linear-gradient(135deg, rgba(20,34,58,.98) 0%, rgba(16,26,46,.98) 52%, rgba(10,16,32,.98) 100%);
  --shadow-sm: 0 12px 28px rgba(0,0,0,.22);
  --shadow-md: 0 20px 46px rgba(0,0,0,.28);
  --shadow-lg: 0 28px 72px rgba(0,0,0,.34);
}
html[data-theme="light"]{
  --bg: #F4F8FC;
  --bg-elev: #EEF4FA;
  --bg-grid: rgba(37, 99, 235, .04);
  --panel: #FFFFFF;
  --panel-alt: #F6FAFE;
  --panel-hover: #EDF4FB;
  --sidebar: #F7FBFF;
  --border: #D7E2EF;
  --text: #0C1626;
  --text-2: #435770;
  --text-3: #71849B;
  --primary: #00A9CC;
  --primary-hover: #00BFA5;
  --secondary: #2F80ED;
  --special: #6C63FF;
  --success: #179C64;
  --warning: #B57A10;
  --danger: #D93C63;
  --info: #2563EB;
  --disabled: #94A3B8;
  --table-head: #eef4f9;
  --overlay: rgba(12,22,38,.18);
  --shadow-sm: 0 10px 24px rgba(16,32,51,.06);
  --shadow-md: 0 18px 40px rgba(16,32,51,.09);
  --shadow-lg: 0 28px 70px rgba(16,32,51,.12);
  --shell-bg: #eef4fb;
  --shell-sidebar: #f6f9fd;
  --shell-topbar: #ffffff;
  --shell-panel: #ffffff;
  --shell-panel-2: #f7fbff;
  --shell-text: #10233a;
  --shell-text-soft: #52657e;
  --shell-text-mute: #73879f;
  --shell-border: #d7e3f0;
  --shell-hover: #eef4fb;
  --shell-primary: #2563eb;
  --shell-primary-2: #0ea5b7;
  --shell-scroll-track: #dfe8f2;
  --shell-glow: rgba(37,99,235,.10);
  --shell-table-head: #f4f8fc;
  --shell-bg-soft: #f7fbff;
  --shell-panel-3: #eef5fd;
  --shell-border-soft: rgba(37,99,235,.10);
  --shell-text-2: #516a86;
  --shell-text-3: #70839d;
  --shell-secondary: #0891b2;
  --shell-accent: #38bdf8;
  --shell-shadow: 0 16px 34px rgba(15,23,42,.08);
  --shell-topbar-bg: rgba(255,255,255,.88);
  --shell-topbar-line: rgba(37,99,235,.12);
  --ev-bg: #edf3f8;
  --ev-bg-2: #e7eef5;
  --ev-bg-3: #f6fbff;
  --ev-panel: rgba(255,255,255,.78);
  --ev-panel-solid: #ffffff;
  --ev-panel-2: rgba(255,255,255,.9);
  --ev-panel-soft: rgba(255,255,255,.66);
  --ev-stroke: rgba(38,126,151,.12);
  --ev-stroke-strong: rgba(38,126,151,.2);
  --ev-glow: rgba(30,203,225,.18);
  --ev-glow-soft: rgba(22,191,168,.12);
  --ev-cyan: #1ecbe1;
  --ev-teal: #16bfa8;
  --ev-aqua: #22d3ee;
  --ev-mint: #33c97a;
  --ev-green: #2dbf73;
  --ev-blue: #4c72ed;
  --ev-text: #0d1720;
  --ev-sub: #5f7283;
  --ev-sub-2: #7c8c99;
  --ev-shadow: 0 20px 55px rgba(7,18,33,.08);
  --ev-shadow-soft: 0 10px 28px rgba(7,18,33,.06);
  --ev-grid: rgba(41,118,142,.045);
  --ev-hero-gradient: linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 54%, #EAF3FB 100%);
  --fix-bg: #f4f8fc;
  --fix-bg-soft: #eef4fa;
  --fix-panel: #ffffff;
  --fix-panel-2: #f6fafe;
  --fix-panel-3: #edf4fb;
  --fix-border: #d7e2ef;
  --fix-border-strong: #b9cde2;
  --fix-text: #0c1626;
  --fix-text-2: #435770;
  --fix-text-3: #71849b;
  --fix-accent: #00a9cc;
  --fix-accent-2: #00bfa5;
  --fix-accent-soft: rgba(0,169,204,.10);
  --fix-success: #179c64;
  --fix-warning: #b57a10;
  --fix-danger: #d93c63;
  --fix-overlay: rgba(16,32,51,.22);
  --fix-shadow: 0 20px 48px rgba(16,32,51,.10);
  --fix-shadow-soft: 0 10px 22px rgba(16,32,51,.08);
  --refine-page-title: #10233a;
  --refine-page-subtitle: #516a86;
  --refine-surface: #ffffff;
  --refine-surface-soft: #f6fafe;
  --refine-border: #d7e2ef;
}
html[data-theme="dark"] body, html[data-theme="dark"] body.app-shell, html[data-theme="dark"] body.auth-shell, html[data-theme="dark"] .content, html[data-theme="dark"] .page, html[data-theme="dark"] .page-shell{
  background: radial-gradient(circle at top right, rgba(34,211,238,.10), transparent 28%),
    linear-gradient(180deg, #0A1020 0%, #101A2E 100%);
  color: var(--text);
}
html[data-theme="light"] body, html[data-theme="light"] body.app-shell, html[data-theme="light"] body.auth-shell, html[data-theme="light"] .content, html[data-theme="light"] .page, html[data-theme="light"] .page-shell{
  background: linear-gradient(180deg, #F4F8FC 0%, #EEF4FA 100%);
  color: var(--text);
}
body.app-shell .sidebar, body.app-shell .topbar, body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-wrap, body.app-shell .metric-card, body.app-shell .station-mini-card, body.app-shell .readiness-card, body.app-shell .machine-status-card, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel, body.app-shell .news-band, body.app-shell .modal-card, body.app-shell .topbar-dropdown, body.app-shell .app-footer-inner{
  background-color: var(--panel);
  color: var(--text);
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .news-band{
  background-image: var(--ev-hero-gradient);
}
html[data-theme="light"] body.app-shell .news-band, html[data-theme="light"] body.app-shell .station-protocol-card, html[data-theme="light"] body.app-shell .station-metrics-card, html[data-theme="light"] body.app-shell .machine-status-panel, html[data-theme="light"] body.app-shell .readiness-card, html[data-theme="light"] body.app-shell .page-head, html[data-theme="light"] body.app-shell .hero-panel, html[data-theme="light"] body.app-shell .station-hero{
  background-image: none;
}
html[data-theme="dark"] body.app-shell .page-head, html[data-theme="dark"] body.app-shell .hero-panel, html[data-theme="dark"] body.app-shell .station-hero, html[data-theme="dark"] body.app-shell .news-band{
  border-color: rgba(38,55,84,.95);
  box-shadow: 0 22px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(77,163,255,.05);
}
body.app-shell .page-head h1, body.app-shell .page-head h2, body.app-shell .page-head h3, body.app-shell .station-hero h1, body.app-shell .station-hero h2, body.app-shell .station-hero h3, body.app-shell .hero-title, body.app-shell .card-title, body.app-shell .metric-value, body.app-shell .metric-title, body.app-shell .section-kicker{
  color: var(--text);
}
body.app-shell .muted, body.app-shell .page-head .muted, body.app-shell .hero-subtitle, body.app-shell .station-subtitle, body.app-shell .news-band, body.app-shell .label, body.app-shell .station-section-label, body.app-shell .metric-sub, body.app-shell .nav-subtitle{
  color: var(--text-2);
}
body.app-shell .table, body.app-shell table, body.app-shell th, body.app-shell td, body.app-shell .table-wrap{
  color: var(--text);
}
body.app-shell .table thead th, body.app-shell table thead th{
  background: color-mix(in srgb, var(--panel-alt) 84%, transparent);
  color: var(--text-2);
  border-bottom: 1px solid var(--border);
}
body.app-shell .table tbody tr:hover, body.app-shell table tbody tr:hover{
  background: color-mix(in srgb, var(--primary) 6%, var(--panel));
}
body.app-shell .input, body.app-shell input[type="text"], body.app-shell input[type="search"], body.app-shell input[type="number"], body.app-shell input[type="date"], body.app-shell input[type="time"], body.app-shell input[type="email"], body.app-shell input[type="password"], body.app-shell select, body.app-shell textarea, body.auth-shell input[type="text"], body.auth-shell input[type="email"], body.auth-shell input[type="password"]{
  background: var(--panel-alt);
  color: var(--text);
  border: 1px solid var(--border);
}
body.app-shell .input:focus, body.app-shell input:focus, body.app-shell select:focus, body.app-shell textarea:focus, body.auth-shell input:focus{
  border-color: var(--primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);
  outline: none;
}
body.app-shell .input::placeholder, body.app-shell input::placeholder, body.app-shell textarea::placeholder, body.auth-shell input::placeholder{
  color: var(--text-3);
}
body.app-shell .btn, body.auth-shell .btn, body.auth-shell .login-submit-v2, body.auth-shell .register-submit-v2{
  border-radius: 16px;
}
body.app-shell .btn.primary, body.auth-shell .login-submit-v2, body.auth-shell .register-submit-v2{
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  color: #08111f;
  border: 1px solid color-mix(in srgb, var(--primary) 55%, var(--primary-hover));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--primary) 24%, transparent);
}
html[data-theme="light"] body.app-shell .btn.primary, html[data-theme="light"] body.auth-shell .login-submit-v2, html[data-theme="light"] body.auth-shell .register-submit-v2{
  color: #ffffff;
}
body.app-shell .icon-btn, body.app-shell .topbar-mobile-menu, body.app-shell .topbar-user, body.app-shell .topbar-dropdown, body.auth-shell .login-theme-btn, body.auth-shell .register-theme-btn{
  background: var(--panel);
  color: var(--text);
  border: 1px solid var(--border);
}
body.app-shell .sidebar{
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--shell-sidebar-w);
  padding: 12px 10px 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar) 94%, #ffffff 0%) 0%, color-mix(in srgb, var(--bg-elev) 96%, #ffffff 0%) 100%);
  border-right: 1px solid var(--fix-border);
  box-shadow: 18px 0 46px rgba(0,0,0,.24);
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  z-index: 70;
  transition: width .22s ease, transform .22s ease, box-shadow .22s ease;
  overflow: hidden;
}
body.app-shell .sidebar-brand-panel, body.app-shell .sidebar-footer, body.app-shell .nav-group{
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
body.app-shell .nav-group-head, body.app-shell .nav-link{
  width: 100%;
  min-height: 46px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  border-radius: 15px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  font-size: .97rem;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.01em;
  box-shadow: none;
  justify-content: flex-start;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
body.app-shell .nav-group-head:hover, body.app-shell .nav-link:hover{
  background: color-mix(in srgb, var(--primary) 8%, var(--panel));
  border-color: color-mix(in srgb,var(--shell-primary) 20%, var(--shell-border));
  color: var(--text);
}
body.app-shell .nav-link.active, body.app-shell .nav-link.is-active, body.app-shell .nav-group-head.active, body.app-shell .nav-group.is-open > .nav-group-head{
  background: color-mix(in srgb, var(--primary) 16%, var(--panel));
  border-color: color-mix(in srgb, var(--primary) 38%, var(--border));
  color: var(--text);
}
body.app-shell .nav-ico{
  width: 36px;
  min-width: 20px;
  height: 36px;
  display: grid;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  filter: drop-shadow(0 0 8px var(--shell-glow));
  flex: 0 0 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 20px color-mix(in srgb,var(--shell-primary) 14%, transparent);
  margin: 0;
  place-items: center;
}
body.app-shell .sidebar .nav-label, body.app-shell .sidebar .nav-link, body.app-shell .sidebar .nav-group-head{
  min-width: 0;
}
body.auth-shell .login-pane--form, body.auth-shell .register-pane--form, body.auth-shell .login-pane--showcase, body.auth-shell .register-pane--showcase{
  background: var(--panel);
  color: var(--text);
  border-color: var(--border);
}
html[data-theme="dark"] body.auth-shell .login-pane--showcase, html[data-theme="dark"] body.auth-shell .register-pane--showcase{
  background-image: var(--ev-hero-gradient);
}
html[data-theme="light"] body.auth-shell .login-pane--showcase, html[data-theme="light"] body.auth-shell .register-pane--showcase{
  background-image: none;
}
body.auth-shell .login-brand-sub, body.auth-shell .login-form-copy p, body.auth-shell .register-form-copy p, body.auth-shell .login-showcase-content p, body.auth-shell .register-showcase-content p, body.auth-shell .login-showcase-content blockquote, body.auth-shell .register-showcase-content blockquote{
  color: var(--text-2);
}
body.app-shell .sidebar-brand-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
body.app-shell .sidebar-close-btn, body.app-shell .sidebar-theme-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
}
.sidebar-backdrop{
  background: rgba(2, 8, 18, .58);
  position: fixed;
  inset: 0;
  z-index: 1498;
  border: 0;
  padding: 0;
  margin: 0;
  opacity: 1;
  transition: opacity .22s ease;
}
.sidebar-backdrop[hidden]{
  display: none;
}
body.app-shell .mobile-ev-dock{
  transition: transform .22s ease, opacity .22s ease;
}
@media (max-width: 1180px){
html, body, body.app-shell{
  overflow-x: hidden;
}
body.app-shell{
  --mobile-dock-height: calc(86px + env(safe-area-inset-bottom, 0px));
}
body.app-shell .app-footer{
  display: none;
}
body.app-shell .content{
  padding-bottom: calc(var(--mobile-dock-height) + 34px);
}
body.app-shell.sidebar-open .mobile-ev-dock, body.app-shell.modal-open .mobile-ev-dock{
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
}
body.app-shell .sidebar{
  position: fixed;
  top: 10px;
  left: 10px;
  bottom: 10px;
  width: min(90vw, 360px);
  max-width: 360px;
  max-height: calc(100dvh - 20px);
  border-radius: 24px;
  z-index: 1500;
  display: flex;
  flex-direction: column;
  transform: translateX(-112%);
}
body.app-shell.sidebar-open .sidebar{
  transform: translateX(0);
}
body.app-shell .sidebar-inner{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}
body.app-shell .sidebar-brand-panel{
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}
body.app-shell .brand-core{
  min-width: 0;
  flex: 1 1 auto;
}
body.app-shell .sidebar-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 8px 10px calc(var(--mobile-dock-height) + 18px);
}
body.app-shell .sidebar-footer{
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 10px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
body.app-shell .topbar{
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  grid-template-columns: auto minmax(0,1fr) auto auto;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 0 0 22px 22px;
}
body.app-shell .topbar-center, body.app-shell .topbar-desktop-only{
  display: none;
}
body.app-shell .topbar-context{
  min-width: 0;
}
body.app-shell .topbar-kicker{
  display: none;
}
body.app-shell .topbar-title{
  font-size: clamp(1rem, 4.8vw, 1.2rem);
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-actions{
  gap: 8px;
  align-items: center;
}
body.app-shell .topbar-user{
  min-width: auto;
  padding: 3px;
  justify-content: center;
}
body.app-shell .topbar-user-text{
  display: none;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
}
body.app-shell .page-head{
  padding: 18px 16px;
  gap: 14px;
}
body.app-shell .page-head > div:first-child{
  min-width: 0;
}
body.app-shell .page-head h2, body.app-shell .hero-title, body.app-shell .station-hero h2, body.app-shell .station-hero h1{
  font-size: clamp(1.55rem, 6vw, 2.1rem);
  line-height: 1.08;
}
body.app-shell .station-top-actions, body.app-shell .golden-action-bar{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}
body.app-shell .station-top-actions .btn, body.app-shell .station-top-actions a.btn, body.app-shell .golden-action-bar .btn, body.app-shell .golden-action-bar a.btn{
  width: 100%;
  min-height: 52px;
  padding: 10px 12px;
  line-height: 1.15;
  text-align: center;
  justify-content: center;
  white-space: normal;
}
body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .line-side-inventory-metrics, body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .metric-card, body.app-shell .entity-card, body.app-shell .station-mini-card, body.app-shell .readiness-card, body.app-shell .machine-status-card{
  min-width: 0;
}
body.app-shell .metric-card .metric-title, body.app-shell .entity-card .card-title, body.app-shell .station-mini-card .metric-title, body.app-shell .readiness-card .metric-title{
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  line-height: 1.18;
}
body.app-shell .process-station-page .process-metrics-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .process-station-page .process-metrics-grid .metric-card{
  padding: 14px 12px;
}
body.app-shell .process-station-page .process-metrics-grid .metric-title{
  font-size: .8rem;
  letter-spacing: .06em;
}
body.app-shell .process-station-page .process-metrics-grid .metric-value{
  font-size: clamp(1.9rem, 10vw, 2.6rem);
  line-height: 1;
}
body.app-shell .queue-head{
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
body.app-shell .table-wrap{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .table-wrap > table, body.app-shell .table-wrap .table{
  min-width: max-content;
}
body.app-shell .modal{
  padding: 12px 10px calc(var(--mobile-dock-height) + 18px);
  align-items: flex-end;
  overflow: auto;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .station-clock-modal-card{
  width: min(calc(100vw - 20px), 760px);
  max-height: min(82dvh, 82vh);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
body.app-shell .modal-head{
  position: sticky;
  top: 0;
  z-index: 1;
  background: inherit;
}
body.app-shell .modal-body, body.app-shell .modal-card > form, body.app-shell .modal-card > .form{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
body.app-shell .modal-body{
  padding-bottom: 12px;
}
body.app-shell .modal-body .actions, body.app-shell .modal-body .row-actions, body.app-shell .modal-body > form > .actions, body.app-shell .modal-body > form > .row-actions, body.app-shell .modal-card > form > .actions, body.app-shell .modal-card > form > .row-actions, body.app-shell .modal-card > .actions, body.app-shell .modal-card > .row-actions{
  position: sticky;
  bottom: 0;
  z-index: 1;
  margin-top: auto;
  padding-top: 12px;
  padding-bottom: 4px;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--panel) 88%, transparent) 24%, var(--panel) 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.app-shell .modal-body .actions .btn, body.app-shell .modal-body .row-actions .btn, body.app-shell .modal-card > form > .actions .btn, body.app-shell .modal-card > .actions .btn, body.app-shell .modal-card > .row-actions .btn{
  width: 100%;
}
}
@media (max-width: 760px){
body.app-shell .topbar-mobile-menu-wrap{
  display: none;
}
body.app-shell .topbar{
  grid-template-columns: auto minmax(0, 1fr) auto auto;
}
body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
body.app-shell .station-top-actions, body.app-shell .golden-action-bar, body.app-shell .process-station-page .process-metrics-grid, body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .machine-strip, body.app-shell .process-station-page .metrics-grid:not(.process-metrics-grid), body.app-shell .split-grid, body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .grid.four{
  grid-template-columns: 1fr;
}
}
@media (max-width: 480px){
body.app-shell .topbar{
  grid-template-columns: auto minmax(0, 1fr) auto;
}
body.app-shell .topbar-user{
  display: none;
}
body.app-shell .station-top-actions, body.app-shell .golden-action-bar{
  grid-template-columns: 1fr;
}
body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .station-mini-stats--dualblocks, body.app-shell .process-station-page .process-metrics-grid{
  grid-template-columns: 1fr 1fr;
}
body.app-shell .metric-card .metric-title, body.app-shell .station-mini-card .metric-title, body.app-shell .process-station-page .process-metrics-grid .metric-title{
  font-size: .75rem;
}
body.app-shell .mobile-ev-dock{
  left: 8px;
  right: 8px;
  bottom: max(8px, env(safe-area-inset-bottom, 0px));
}
body.app-shell .mobile-ev-dock a{
  padding: 10px 8px 12px;
  font-size: .8rem;
}
}
body.app-shell.shell-overlay-open .mobile-ev-dock, body.app-shell.modal-open .mobile-ev-dock, body.app-shell.sidebar-open .mobile-ev-dock{
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
}
body.app-shell.shell-overlay-open .app-footer, body.app-shell.modal-open .app-footer, body.app-shell.sidebar-open .app-footer{
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1180px){
body.app-shell .app-footer{
  display: none;
}
body.app-shell .content{
  padding-bottom: calc(var(--mobile-dock-height) + 42px);
}
body.app-shell .mobile-ev-dock{
  left: 10px;
  right: 10px;
  bottom: max(10px, env(safe-area-inset-bottom, 0px));
  z-index: 1200;
}
body.app-shell .sidebar{
  z-index: 1510;
}
body.app-shell .sidebar-brand-panel{
  padding: 12px 12px 10px;
}
body.app-shell .sidebar-brand-actions{
  gap: 8px;
}
body.app-shell .sidebar-body{
  padding-bottom: calc(var(--mobile-dock-height) + 30px);
}
body.app-shell .modal{
  z-index: 1600;
  padding: 12px 10px 20px;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .station-clock-modal-card{
  max-height: min(84dvh, 84vh);
  border-radius: 22px;
}
body.app-shell .modal-body, body.app-shell .modal-card > form, body.app-shell .modal-card > .form{
  padding-bottom: 12px;
}
body.app-shell .modal-body .actions, body.app-shell .modal-body .row-actions, body.app-shell .modal-body > form > .actions, body.app-shell .modal-body > form > .row-actions, body.app-shell .modal-card > form > .actions, body.app-shell .modal-card > form > .row-actions, body.app-shell .modal-card > .actions, body.app-shell .modal-card > .row-actions{
  padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
}
body.app-shell .topbar{
  z-index: 1300;
  grid-template-columns: auto minmax(0,1fr) auto auto;
}
body.app-shell .topbar-actions{
  gap: 8px;
}
body.app-shell .topbar-theme-mobile, body.app-shell .topbar-mobile-menu-btn, body.app-shell .topbar-user{
  flex: 0 0 auto;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid .metric-card{
  min-width: 0;
  padding: 14px 12px;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid .metric-title{
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.15;
  font-size: .8rem;
  min-height: 2.1em;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid .metric-value{
  font-size: clamp(1.7rem, 7vw, 2.45rem);
}
body.app-shell .station-top-actions, body.app-shell .station-top-actions--utility, body.app-shell .golden-action-bar{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.app-shell .station-top-actions .btn, body.app-shell .station-top-actions a.btn, body.app-shell .station-top-actions--utility .btn, body.app-shell .station-top-actions--utility a.btn, body.app-shell .golden-action-bar .btn, body.app-shell .golden-action-bar a.btn{
  min-height: 54px;
  white-space: normal;
  line-height: 1.15;
}
body.app-shell .sendback-matrix, body.app-shell .table-wrap, body.app-shell .process-station-page .table-wrap{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
}
@media (max-width: 760px){
body.app-shell .topbar{
  grid-template-columns: auto minmax(0,1fr) auto auto;
}
body.app-shell .topbar-theme-mobile{
  display: inline-flex;
  order: 1;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
  order: 2;
}
body.app-shell .topbar-user{
  order: 3;
  display: inline-flex;
}
body.app-shell .topbar-mobile-menu{
  position: fixed;
  top: calc(var(--hosting-banner-height,0px) + 64px);
  right: 10px;
  left: 10px;
  max-width: none;
  width: auto;
  max-height: calc(100dvh - 84px);
  overflow: auto;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid, body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .process-station-page .machine-check-row{
  grid-template-columns: 1fr;
}
}
@media (max-width: 560px){
body.app-shell .topbar{
  padding: 10px;
  grid-template-columns: auto minmax(0,1fr) auto auto;
  gap: 8px;
}
body.app-shell .topbar-title{
  font-size: 1rem;
}
body.app-shell .topbar-user{
  width: 48px;
  min-width: 48px;
  padding: 3px;
}
body.app-shell .topbar-user-avatar, body.app-shell .topbar-user .avatar, body.app-shell .topbar-user .user-avatar{
  width: 40px;
  height: 40px;
}
body.app-shell .sidebar{
  width: min(94vw, 360px);
  left: 8px;
  top: 8px;
  bottom: 8px;
  max-height: calc(100dvh - 16px);
}
body.app-shell .page-head, body.app-shell .station-hero, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel{
  padding: 16px 14px;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid .metric-title{
  font-size: .74rem;
  min-height: 2.4em;
}
body.app-shell .station-top-actions, body.app-shell .station-top-actions--utility, body.app-shell .golden-action-bar{
  grid-template-columns: 1fr;
}
body.app-shell .modal{
  padding: 10px 8px 12px;
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .station-clock-modal-card{
  width: calc(100vw - 16px);
  max-height: min(88dvh, 88vh);
  border-radius: 20px;
}
}
@media (max-width: 420px){
body.app-shell .topbar{
  grid-template-columns: auto minmax(0,1fr) auto;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: none;
}
body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
body.app-shell .topbar-user{
  display: none;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid, body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .station-mini-stats--dualblocks{
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body.app-shell .metric-card, body.app-shell .entity-card, body.app-shell .station-mini-card{
  padding: 12px 10px;
}
body.app-shell .metric-card .metric-value, body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid .metric-value{
  font-size: clamp(1.55rem, 9vw, 2rem);
}
body.app-shell .mobile-ev-dock a{
  padding: 10px 6px 12px;
  font-size: .76rem;
}
}
body.app-shell .sidebar-theme-toggle{
  display: none;
}
body.app-shell .topbar-theme-mobile{
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  flex: 0 0 auto;
}
body.app-shell .sidebar-close-btn{
  display: none;
  visibility: visible;
}
body.app-shell .page-head .actions, body.app-shell .table-summary, body.app-shell .table-tools, body.app-shell .toolbar-form, body.app-shell .compact-hero-grid, body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .split-grid{
  min-width: 0;
}
body.app-shell .tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
body.app-shell .tabs .tab{
  white-space: nowrap;
}
body.app-shell .table-tools .input, body.app-shell .compact-tools .input{
  width: 100%;
}
body.app-shell .inprocess-page .compact-hero-grid, body.app-shell .inventory-insights-page .metrics-grid, body.app-shell .dispatch-home-page .metrics-grid, body.app-shell .store-kiosk-page .metrics-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body.app-shell .station-hero, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel, body.app-shell .news-band{
  background-image: none;
  background-color: var(--panel);
}
body.app-shell .station-hero::before, body.app-shell .station-hero::after, body.app-shell .station-protocol-card::before, body.app-shell .station-protocol-card::after, body.app-shell .station-metrics-card::before, body.app-shell .station-metrics-card::after, body.app-shell .machine-status-panel::before, body.app-shell .machine-status-panel::after, body.app-shell .news-band::before, body.app-shell .news-band::after{
  content: none;
  display: none;
}
html[data-theme="dark"] body.app-shell .station-hero, html[data-theme="dark"] body.app-shell .station-protocol-card, html[data-theme="dark"] body.app-shell .station-metrics-card, html[data-theme="dark"] body.app-shell .machine-status-panel, html[data-theme="dark"] body.app-shell .news-band{
  background: linear-gradient(180deg, rgba(17,29,50,.96) 0%, rgba(13,22,38,.98) 100%);
  border-color: rgba(55,80,122,.82);
}
html[data-theme="light"] body.app-shell .station-hero, html[data-theme="light"] body.app-shell .station-protocol-card, html[data-theme="light"] body.app-shell .station-metrics-card, html[data-theme="light"] body.app-shell .machine-status-panel, html[data-theme="light"] body.app-shell .news-band{
  background: #ffffff;
  border-color: #d7e2ef;
}
body.auth-shell .login-label{
  margin-top: 2px;
  margin-bottom: -4px;
}
html[data-viewport="desktop"] body.app-shell .topbar-desktop-only, html[data-viewport="laptop"] body.app-shell .topbar-desktop-only, html[data-viewport="desktop-4k"] body.app-shell .topbar-desktop-only{
  display: inline-flex;
}
html[data-viewport="desktop"] body.app-shell .topbar-mobile-menu-wrap, html[data-viewport="desktop"] body.app-shell .topbar-theme-mobile, html[data-viewport="laptop"] body.app-shell .topbar-mobile-menu-wrap, html[data-viewport="laptop"] body.app-shell .topbar-theme-mobile, html[data-viewport="desktop-4k"] body.app-shell .topbar-mobile-menu-wrap, html[data-viewport="desktop-4k"] body.app-shell .topbar-theme-mobile{
  display: none;
}
html[data-viewport="desktop"] body.app-shell .sidebar-close-btn, html[data-viewport="laptop"] body.app-shell .sidebar-close-btn, html[data-viewport="desktop-4k"] body.app-shell .sidebar-close-btn{
  display: none;
}
@media (max-width: 1024px){
body.app-shell .topbar-desktop-only{
  display: none;
}
body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
body.app-shell .sidebar-close-btn{
  display: inline-flex;
}
body.app-shell .sidebar-brand-panel{
  padding-right: 12px;
}
body.app-shell .brand-core--compact .brand-title{
  font-size: 1.08rem;
  line-height: 1.1;
}
body.app-shell .brand-core--compact .brand-sub{
  font-size: .78rem;
}
body.app-shell .inprocess-page .compact-hero-grid, body.app-shell .inventory-insights-page .metrics-grid, body.app-shell .dispatch-home-page .metrics-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .dispatch-home-page .page-head .actions, body.app-shell .inprocess-page .page-head .actions, body.app-shell .inventory-page .page-head .actions, body.app-shell .reports-page .page-head .actions{
  width: 100%;
}
body.app-shell .dispatch-home-page .page-head .actions .btn, body.app-shell .inprocess-page .page-head .actions .btn, body.app-shell .inventory-page .page-head .actions .btn, body.app-shell .reports-page .page-head .actions .btn{
  flex: 1 1 180px;
}
body.app-shell .table-summary > div:first-child{
  flex: 1 1 100%;
}
body.app-shell .table-tools, body.app-shell .compact-tools{
  width: 100%;
  margin-left: 0;
}
}
@media (min-width: 768px) and (max-width: 1024px){
body.app-shell .content{
  padding-left: 18px;
  padding-right: 18px;
}
body.app-shell .topbar{
  grid-template-columns: auto minmax(0,1fr) auto auto;
}
body.app-shell .topbar-user-text{
  display: none;
}
body.app-shell .topbar-user{
  min-width: 56px;
  justify-content: center;
}
body.app-shell .station-top-actions, body.app-shell .golden-action-bar{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 767px){
body.app-shell .topbar{
  grid-template-columns: auto minmax(0,1fr) auto auto;
}
body.app-shell .topbar-search{
  min-width: 0;
}
body.app-shell .topbar-user-text{
  display: none;
}
body.app-shell .topbar-user{
  min-width: 52px;
  justify-content: center;
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel, body.app-shell .card{
  border-radius: 18px;
}
body.app-shell .inprocess-page .compact-hero-grid, body.app-shell .inventory-insights-page .metrics-grid, body.app-shell .dispatch-home-page .metrics-grid, body.app-shell .store-kiosk-page .metrics-grid{
  grid-template-columns: 1fr;
}
body.app-shell .page-head .actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
}
body.app-shell .page-head .actions .btn{
  width: 100%;
  justify-content: center;
}
body.app-shell .table-summary{
  gap: 12px;
}
body.app-shell .topbar-mobile-menu{
  top: calc(var(--hosting-banner-height,0px) + 68px);
  max-height: calc(100dvh - 88px);
}
}
@media (max-width: 575px){
body.app-shell .topbar{
  padding: 10px;
  gap: 8px;
  grid-template-columns: auto minmax(0,1fr) auto;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: none;
}
body.app-shell .topbar-title{
  font-size: 1rem;
}
body.app-shell .topbar-user{
  display: none;
}
body.app-shell .page-head .actions, body.app-shell .station-top-actions, body.app-shell .golden-action-bar{
  grid-template-columns: 1fr;
}
body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .inventory-kpi-grid, body.app-shell .station-mini-stats--dualblocks, body.app-shell .process-station-page .process-metrics-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.app-shell .metric-card .metric-title, body.app-shell .process-station-page .process-metrics-grid .metric-title{
  font-size: .76rem;
}
body.app-shell .table-wrap > table, body.app-shell .table-wrap .table{
  min-width: 900px;
}
body.auth-shell .login-pane-inner{
  width: 100%;
}
}
@media (min-width: 1025px) and (max-width: 1439px){
body.app-shell .sidebar{
  width: 296px;
}
body.app-shell .topbar{
  left: 316px;
}
body.app-shell .content, body.app-shell .app-footer{
  padding-left: 316px;
}
}
@media (min-width: 1440px) and (max-width: 1919px){
body.app-shell .sidebar{
  width: 308px;
}
body.app-shell .topbar{
  left: 328px;
}
body.app-shell .content, body.app-shell .app-footer{
  padding-left: 328px;
  padding-right: 24px;
}
}
@media (min-width: 2200px){
body.app-shell .sidebar{
  width: 344px;
}
body.app-shell .topbar{
  left: 364px;
  right: 24px;
  max-width: none;
}
body.app-shell .content, body.app-shell .app-footer{
  padding-left: 364px;
  padding-right: 28px;
}
body.app-shell .content > .page, body.app-shell .content > .dashboard-pro, body.app-shell .content > .dashboard-shell{
  max-width: none;
}
body.app-shell .metrics-grid, body.app-shell .entity-card-grid, body.app-shell .compact-hero-grid, body.app-shell .inventory-insights-page .metrics-grid, body.app-shell .dispatch-home-page .metrics-grid{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card{
  padding: 24px;
}
}
html[data-theme="light"] .metric-card::after, html[data-theme="light"] .readiness-card::after, html[data-theme="light"] .station-mini-card::after, html[data-theme="light"] .machine-status-card::after, html[data-theme="light"] .station-pack-card::after, html[data-theme="light"] .quicklink-card::after, html[data-theme="light"] .attention-item::after{
  background: radial-gradient(circle, rgba(37,99,235,.22), transparent 72%);
  opacity: .22;
}
body.app-shell .store-kiosk-page .kiosk-tools{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
body.app-shell .store-kiosk-page .kiosk-tools .kiosk-search{
  min-width: 220px;
  flex: 1 1 320px;
}
@media (max-width: 1180px){
body.app-shell .modal{
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, body.app-shell .station-clock-modal-card{
  max-height: min(calc(84dvh - env(safe-area-inset-bottom, 0px)), 84vh);
}
}
@media (max-width: 767px){
body.app-shell .store-kiosk-page .summary-row-blocks{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.app-shell .store-kiosk-page .kiosk-section-head{
  gap: 12px;
}
body.app-shell .store-kiosk-page .kiosk-section-head .table-tools{
  width: 100%;
}
body.app-shell .store-kiosk-page .kiosk-tools{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}
body.app-shell .store-kiosk-page .kiosk-tools .kiosk-search{
  flex: 1 1 220px;
  min-width: 0;
}
body.app-shell .store-kiosk-page .floating-cart-button{
  bottom: calc(var(--mobile-dock-height) + 14px);
}
}
@media (max-width: 1024px){
body.app-shell .dispatch-home-page .dispatch-checklist-grid{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
}
@media (max-width: 767px){
body.app-shell .dispatch-home-page .pack-pick-grid{
  grid-template-columns: 1fr;
}
body.app-shell .dispatch-home-page .dispatch-pack-tools .row-actions{
  flex-wrap: wrap;
  gap: 10px;
}
}
@media (max-width: 767px){
body.app-shell .inprocess-page .tabs{
  gap: 8px;
}
body.app-shell .reports-page .page-head .actions form, body.app-shell .inventory-insights-page .page-head .actions form{
  width: 100%;
}
body.app-shell .reports-page .page-head .actions form > div, body.app-shell .inventory-insights-page .page-head .actions form > div{
  flex: 1 1 160px;
}
body.app-shell .reports-page .page-head .actions form .btn, body.app-shell .inventory-insights-page .page-head .actions form .btn{
  width: 100%;
}
}
body.auth-shell .auth-login-layout.login-split-v2{
  min-height: 100vh;
  align-items: stretch;
}
body.auth-shell .login-pane--form{
  display: flex;
  align-items: center;
  justify-content: center;
}
body.auth-shell .login-pane-inner{
  width: min(100%, 430px);
}
body.auth-shell .login-form-v2{
  gap: 14px;
  display: grid;
}
body.auth-shell .login-field{
  position: relative;
  display: block;
}
body.auth-shell .login-field .login-input{
  width: 100%;
  min-height: 52px;
  padding-left: 56px;
  padding-right: 54px;
  line-height: 1.2;
  font-size: 1rem;
  padding: 15px 54px 15px 56px;
  border-radius: 16px;
}
body.auth-shell .login-field .field-icon, body.auth-shell .login-field .password-toggle--icon{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: var(--text-2);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
body.auth-shell .login-field .field-icon{
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  z-index: 2;
  pointer-events: none;
}
body.auth-shell .login-field .password-toggle--icon{
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  border: none;
  background: transparent;
  border-radius: 10px;
  cursor: pointer;
}
body.auth-shell .login-field .field-icon svg, body.auth-shell .login-field .password-toggle--icon svg{
  width: 18px;
  height: 18px;
  display: block;
}
body.auth-shell .login-submit-v2{
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  align-content: center;
}
body.app-shell .module-tabs-row{
  margin-bottom: 12px;
}
body.app-shell .module-section-gap{
  margin-top: 14px;
}
body.app-shell .module-section-gap-sm{
  margin-bottom: 14px;
}
body.app-shell .module-note-gap{
  margin-bottom: 12px;
}
body.app-shell .metric-value--compact{
  font-size: 18px;
}
body.app-shell .store-kiosk-page .kiosk-section-card{
  margin-top: 14px;
}
body.app-shell .store-kiosk-page .kiosk-inline-note{
  margin-bottom: 10px;
}
body.app-shell .store-kiosk-page .kiosk-modal-note{
  margin-top: 12px;
}
body.app-shell .store-kiosk-page .kiosk-preview-copy{
  margin-top: 10px;
}
body.app-shell .store-kiosk-page .kiosk-modal-foot, body.app-shell .modal-foot{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 0 0;
}
body.app-shell .store-kiosk-page .summary-kpi-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
body.app-shell .store-kiosk-page .summary-kpi{
  padding: 12px;
  border-radius: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.app-shell .store-kiosk-page .summary-kpi span{
  font-size: .78rem;
  color: var(--shell-text-soft);
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.app-shell .store-kiosk-page .summary-kpi strong{
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 850;
}
body.app-shell .store-kiosk-page .kiosk-mode-option{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  cursor: pointer;
  min-height: 100%;
}
body.app-shell .store-kiosk-page .kiosk-mode-option input{
  margin-top: 2px;
  transform: scale(1.05);
}
body.app-shell .store-kiosk-page .kiosk-mode-option span{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
body.app-shell .store-kiosk-page .kiosk-mode-option strong{
  font-size: .93rem;
  line-height: 1.2;
}
body.app-shell .store-kiosk-page .kiosk-mode-option small{
  font-size: .78rem;
  color: var(--shell-text-soft);
  line-height: 1.35;
}
body.app-shell .store-kiosk-page .kiosk-mode-option.is-active{
  border-color: color-mix(in srgb,var(--primary) 65%, var(--border) 35%);
  box-shadow: 0 0 0 1px color-mix(in srgb,var(--primary) 25%, transparent 75%) inset;
  background: color-mix(in srgb,var(--primary) 6%, var(--panel) 94%);
}
body.app-shell .store-kiosk-page .essential-toggle-wrap{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
body.app-shell .store-kiosk-page .kiosk-manual-station-wrap{
  display: grid;
  gap: 6px;
}
body.app-shell .store-kiosk-page .assigned-stations-strip{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--border);
}
body.app-shell .store-kiosk-page .assigned-station-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 40px;
  align-items: flex-start;
}
body.app-shell .store-kiosk-page .station-pill{
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--panel);
  font-weight: 800;
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
body.app-shell .store-kiosk-page .station-pill small{
  font-weight: 600;
  color: var(--shell-text-soft);
}
body.app-shell .store-kiosk-page .kiosk-section-stack{
  display: grid;
  gap: 14px;
}
body.app-shell .store-kiosk-page .kiosk-station-section{
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--panel-alt);
}
body.app-shell .store-kiosk-page .kiosk-station-head{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 12px;
}
body.app-shell .store-kiosk-page .kiosk-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(292px,292px));
  justify-content: start;
  gap: 14px;
  align-items: start;
}
body.app-shell .store-kiosk-page .kiosk-card{
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel);
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
}
body.app-shell .store-kiosk-page .kiosk-card.is-out{
  opacity: .72;
}
body.app-shell .store-kiosk-page .kiosk-card.is-out .btn{
  cursor: not-allowed;
}
body.app-shell .store-kiosk-page .kiosk-card .btn[disabled], body.app-shell .store-kiosk-page .kiosk-card .input[disabled]{
  opacity: .58;
}
body.app-shell .store-kiosk-page .kiosk-card-top{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
body.app-shell .store-kiosk-page .kiosk-sku{
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .02em;
}
body.app-shell .store-kiosk-page .kiosk-name{
  font-size: .95rem;
  color: var(--shell-text-soft);
}
body.app-shell .store-kiosk-page .kiosk-badges{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body.app-shell .store-kiosk-page .kiosk-metrics{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
body.app-shell .store-kiosk-page .kiosk-metric{
  padding: 10px;
  border-radius: 14px;
  background: var(--panel-alt);
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.app-shell .store-kiosk-page .kiosk-metric .muted{
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.app-shell .store-kiosk-page .kiosk-metric strong{
  font-size: 1.2rem;
  line-height: 1.05;
}
body.app-shell .store-kiosk-page .kiosk-card-actions{
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 10px;
  align-items: end;
  margin-top: auto;
}
body.app-shell .store-kiosk-page .kiosk-station-label{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-weight: 800;
}
body.app-shell .store-kiosk-page .kiosk-qty-hint{
  font-size: .78rem;
  color: var(--shell-text-soft);
}
body.app-shell .store-kiosk-page .floating-cart-button{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 68%, #3fd0ff 32%));
  color: #fff;
  font-weight: 900;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
}
body.app-shell .store-kiosk-page .floating-cart-button strong{
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
}
body.app-shell .store-kiosk-page .cart-meta-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 14px;
}
body.app-shell .store-kiosk-page .cart-meta-box{
  padding: 12px;
  border-radius: 14px;
  background: var(--panel-alt);
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.app-shell .store-kiosk-page .cart-meta-box span{
  font-size: .78rem;
  color: var(--shell-text-soft);
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.app-shell .store-kiosk-page .cart-meta-box strong{
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 850;
}
body.app-shell .store-kiosk-page .kiosk-cart-table-wrap{
  max-height: 55vh;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
}
body.app-shell .store-kiosk-page .kiosk-cart-table{
  margin: 0;
  min-width: 980px;
}
body.app-shell .store-kiosk-page .kiosk-empty{
  padding: 16px;
  border: 1px dashed var(--border);
  border-radius: 16px;
  background: var(--panel-alt);
  color: var(--shell-text-soft);
}
body.app-shell .store-kiosk-page .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
body.app-shell .store-kiosk-page .kiosk-static-note strong{
  font-size: .9rem;
  font-weight: 850;
}
body.app-shell .store-kiosk-page .kiosk-static-note span{
  font-size: .82rem;
  color: var(--shell-text-soft);
}
body.app-shell .store-kiosk-page .kiosk-toggle{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  font-weight: 800;
}
body.app-shell .store-kiosk-page .kiosk-disabled{
  opacity: .55;
  pointer-events: none;
}
body.app-shell .store-kiosk-page .approval-square-modal{
  width: min(520px,92vw);
  max-width: 520px;
  min-height: 320px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: auto;
}
body.app-shell .store-kiosk-page #approveModal .modal-body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-height: 170px;
}
body.app-shell .inprocess-create-page .inprocess-create-kpis{
  margin-bottom: 14px;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
body.app-shell .inprocess-records-page #tblIpiRecords{
  min-width: 1320px;
}
body.app-shell .reports-page #tblInprocessRpt{
  min-width: 1420px;
}
body.app-shell .inventory-insights-page .inventory-insights-filters{
  display: flex;
  gap: 8px;
  align-items: flex-end;
  flex-wrap: wrap;
}
body.app-shell .inventory-insights-page .inventory-insights-kpis{
  margin-bottom: 14px;
}
body.app-shell .inventory-insights-page #tblStockStmt{
  min-width: 1450px;
}
body.app-shell .inventory-insights-page #tblIssueStmt{
  min-width: 1120px;
}
body.app-shell .inventory-insights-page #tblMiniStation, body.app-shell .inventory-insights-page #tblRej{
  min-width: 980px;
}
body.app-shell .inventory-insights-page #tblMiniUser{
  min-width: 1080px;
}
body.app-shell .inventory-insights-page .inventory-insights-grid{
  gap: 14px;
}
body.app-shell .dispatch-home-page .dispatch-pack-updated, body.app-shell .dispatch-view-page .dispatch-note-foot{
  margin-top: 8px;
}
body.app-shell .dispatch-home-page .dispatch-blocked-card{
  margin-top: 14px;
  padding: 14px;
}
body.app-shell .dispatch-home-page .dispatch-note-text, body.app-shell .dispatch-view-page .dispatch-note-text{
  margin-bottom: 8px;
}
body.app-shell .dispatch-home-page .dispatch-note-foot{
  margin-top: 10px;
}
body.app-shell .dispatch-view-page .dispatch-stage-row{
  margin-top: 10px;
}
body.app-shell .dispatch-view-page .dispatch-gate-card{
  border-color: rgba(255,120,120,.35);
}
body.app-shell .dispatch-view-page .dispatch-close-row{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .dispatch-view-page .dispatch-flow-note{
  margin-top: 6px;
}
body.app-shell .dispatch-view-page .dispatch-preview-pills{
  margin-bottom: 10px;
}
body.app-shell .dispatch-view-page .dispatch-preview-table{
  min-width: 1200px;
}
body.app-shell .dispatch-view-page .dispatch-attachments-table{
  min-width: 1100px;
}
body.app-shell .dispatch-view-page .dispatch-attachment-form{
  display: grid;
  gap: 10px;
}
@media (max-width:1320px){
body.app-shell .store-kiosk-page .summary-row-blocks{
  grid-template-columns: 1fr;
}
body.app-shell .store-kiosk-page .issue-setup-row{
  grid-template-columns: 1fr;
}
body.app-shell .store-kiosk-page .kiosk-mode-switch{
  grid-template-columns: 1fr;
}
}
@media (max-width:980px){
body.auth-shell .auth-login-layout.login-split-v2{
  grid-template-columns: 1fr;
}
body.auth-shell .login-pane--showcase{
  min-height: 320px;
}
body.auth-shell .login-pane-inner{
  width: min(100%, 520px);
}
body.app-shell .inprocess-create-page .inprocess-create-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:900px){
body.app-shell .store-kiosk-page .kiosk-card-grid{
  grid-template-columns: 1fr;
}
body.app-shell .store-kiosk-page .cart-meta-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .store-kiosk-page .assigned-stations-strip{
  flex-direction: column;
}
body.app-shell .store-kiosk-page .floating-cart-button{
  right: 14px;
  bottom: 14px;
  padding: 12px 14px;
}
}
@media (max-width:767px){
body.auth-shell .login-pane-inner{
  width: 100%;
}
body.auth-shell .login-field .login-input{
  min-height: 50px;
  padding: 14px 48px 14px 52px;
}
body.auth-shell .login-field .field-icon{
  left: 16px;
}
body.auth-shell .login-field .password-toggle--icon{
  right: 12px;
}
body.app-shell .store-kiosk-page .kiosk-span-two{
  grid-column: 1 / -1;
}
body.app-shell .store-kiosk-page .modal-foot, body.app-shell .store-kiosk-page .kiosk-modal-foot{
  flex-direction: column;
  align-items: stretch;
}
body.app-shell .store-kiosk-page .modal-foot > .row-actions, body.app-shell .store-kiosk-page .kiosk-modal-foot > .row-actions{
  width: 100%;
  justify-content: stretch;
}
body.app-shell .store-kiosk-page .modal-foot .btn, body.app-shell .store-kiosk-page .kiosk-modal-foot .btn{
  width: 100%;
}
body.app-shell .inprocess-create-page .inprocess-create-kpis{
  grid-template-columns: 1fr;
}
body.app-shell .inprocess-page .table-summary, body.app-shell .reports-page .table-summary, body.app-shell .dispatch-home-page .table-summary, body.app-shell .dispatch-view-page .table-summary{
  flex-direction: column;
}
body.app-shell .dispatch-view-page .dispatch-bottom-grid, body.app-shell .dispatch-view-page .split-grid, body.app-shell .dispatch-home-page .split-grid{
  grid-template-columns: 1fr;
}
body.app-shell .dispatch-home-page .dispatch-pack-tools .grid, body.app-shell .dispatch-home-page .dispatch-pack-tools .grid.two{
  grid-template-columns: 1fr;
}
body.app-shell .dispatch-home-page .dispatch-checklist-grid{
  grid-template-columns: 1fr;
}
body.app-shell .dispatch-home-page .dispatch-selection-note{
  width: 100%;
}
body.app-shell .dispatch-home-page .dispatch-create-card .btn.primary{
  width: 100%;
}
body.app-shell .dispatch-view-page .dispatch-close-row form, body.app-shell .dispatch-view-page .dispatch-close-row .btn{
  width: 100%;
}
body.app-shell .inventory-insights-page .inventory-insights-filters{
  width: 100%;
}
body.app-shell .inventory-insights-page .inventory-insights-filters > div, body.app-shell .inventory-insights-page .inventory-insights-filters > button{
  flex: 1 1 100%;
}
body.app-shell .inventory-insights-page .inventory-insights-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo{
  width: var(--shell-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .sidebar-brand-panel, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .sidebar-footer--neo{
  padding: 10px;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .brand-core, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group-head, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link-logout--neo{
  justify-content: center;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group-head, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link-logout--neo{
  min-height: 50px;
  padding: 10px;
  color: var(--text);
  font-size: inherit;
  line-height: inherit;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group-head > .nav-ico, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link > .nav-ico{
  display: inline-flex;
  width: 40px;
  min-width: 40px;
  height: 40px;
  flex: 0 0 40px;
  opacity: 1;
  visibility: visible;
  color: var(--text);
}
html[data-theme="light"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group-head > .nav-ico, html[data-theme="light"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link > .nav-ico{
  color: #0f172a;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group-head > .nav-ico svg, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-link > .nav-ico svg{
  width: 19px;
  height: 19px;
  opacity: 1;
  visibility: visible;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .brand-copy, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-text, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-caret, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-subtitle, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-group > .nav-group-body, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .sidebar-mini-stats, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-badge{
  display: none;
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within{
  width: var(--shell-sidebar-w);
  z-index: 90;
  box-shadow: 24px 0 48px rgba(15,23,42,.16);
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .brand-copy, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-text, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-caret, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-subtitle, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .sidebar-mini-stats, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-badge, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .brand-copy, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-text, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-caret, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-subtitle, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .sidebar-mini-stats, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-badge, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .brand-copy, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-text, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-caret, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-subtitle, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .sidebar-mini-stats, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-badge{
  display: initial;
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-group > .nav-group-body, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-group.is-open > .nav-group-body, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-group.is-open > .nav-group-body{
  display: block;
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-group-head, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-link, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-link-logout--neo, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-group-head, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-link, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-link-logout--neo, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-group-head, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-link, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-link-logout--neo{
  justify-content: flex-start;
  padding-inline: 14px;
}
body.app-shell .dispatch-preview-card .table-wrap, body.app-shell .dispatch-pdir-table-wrap{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .dispatch-preview-table{
  min-width: max-content;
}
@media print{
@page{
size: A4 landscape;
    margin: 10mm;
}
}
.calendar-toolbar-card{
  overflow: hidden;
}
.calendar-toolbar{
  display: grid;
  grid-template-columns: minmax(180px,220px) 1fr auto;
  gap: 14px;
  align-items: end;
}
.calendar-month-title{
  font-size: clamp(20px,2vw,28px);
  font-weight: 800;
  color: var(--ink-strong,#10213c);
}
.calendar-toolbar-copy{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.calendar-summary-grid .metric-card{
  min-height: 104px;
}
.calendar-main-card{
  overflow: hidden;
}
.calendar-grid-head,.calendar-grid{
  min-width: 920px;
}
.calendar-day:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(14,27,58,.12);
  border-color: rgba(83,173,255,.42);
}
.calendar-day.is-other-month{
  opacity: .55;
  background: linear-gradient(180deg,rgba(249,251,255,.84),rgba(243,247,253,.72));
}
.calendar-day.is-today{
  border-color: rgba(65,195,174,.52);
  box-shadow: 0 0 0 2px rgba(65,195,174,.12),0 20px 40px rgba(14,27,58,.12);
}
.calendar-day.has-signal::after{
  content: "";
  position: absolute;
  inset: auto 12px 12px 12px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(46,154,255,.92),rgba(65,195,174,.92));
}
.calendar-day-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.calendar-day-no{
  font-size: 19px;
  font-weight: 800;
  color: var(--ink-strong,#10213c);
}
.calendar-day-note{
  font-size: 12px;
  color: var(--ink-muted,#61738f);
  min-height: 18px;
}
.calendar-mini-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(70,105,156,.18);
  background: rgba(232,240,252,.86);
  font-size: 11px;
  font-weight: 800;
  color: #244064;
  white-space: nowrap;
}
.calendar-mini-pill.ok{
  background: rgba(215,249,234,.88);
  color: #0b6f46;
  border-color: rgba(11,111,70,.16);
}
.calendar-mini-pill.warn{
  background: rgba(255,238,210,.92);
  color: #9b5c0f;
  border-color: rgba(155,92,15,.16);
}
.calendar-mini-pill.danger{
  background: rgba(255,223,223,.94);
  color: #a62a2a;
  border-color: rgba(166,42,42,.16);
}
.calendar-mini-pill.info{
  background: rgba(224,239,255,.92);
  color: #185ea6;
  border-color: rgba(24,94,166,.16);
}
.calendar-mini-pill.birthday{
  background: rgba(255,232,247,.94);
  color: #a83c84;
  border-color: rgba(168,60,132,.16);
}
.calendar-legend{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}
.calendar-legend>span{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ink-muted,#61738f);
}
.calendar-side-stack{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.calendar-side-list,.calendar-event-register{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.calendar-side-item{
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line-soft,#d7e1ef);
  border-radius: 16px;
  background: rgba(255,255,255,.7);
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease;
}
.calendar-side-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(14,27,58,.08);
}
.calendar-event-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line-soft,#d7e1ef);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.calendar-modal[hidden]{
  display: none;
}
.calendar-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(11,18,35,.48);
  backdrop-filter: blur(4px);
}
.calendar-modal-body{
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.calendar-modal-summary-grid{
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 12px;
}
.calendar-modal-summary-grid .metric-card{
  min-height: 92px;
}
.calendar-modal-section{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.calendar-modal-section-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.calendar-modal-section-head h3{
  margin: 0;
  font-size: 18px;
  color: var(--ink-strong,#10213c);
}
.calendar-detail-list{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.calendar-detail-card{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(205,219,237,.9);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(13,30,56,.05);
}
.calendar-birthday-card{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(247,187,225,.64);
  border-radius: 20px;
  background: linear-gradient(135deg,rgba(255,244,251,.98),rgba(245,250,255,.94));
  box-shadow: 0 14px 30px rgba(164,72,135,.08);
}
.calendar-birthday-avatar{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  object-fit: cover;
  flex: 0 0 52px;
  border: 1px solid rgba(205,219,237,.9);
  background: #fff;
}
.calendar-birthday-fallback{
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #244064;
  background: rgba(224,239,255,.92);
}
.calendar-birthday-title{
  font-size: 17px;
  font-weight: 800;
  color: #7f2f63;
}
.calendar-cake{
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 26px;
  animation: calendarCakeBob 1.6s ease-in-out infinite;
}
@keyframes calendarCakeBob{
0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(-4deg)}
}
[data-theme="dark"] .calendar-dow, [data-theme="dark"] .calendar-day, [data-theme="dark"] .calendar-event-row, [data-theme="dark"] .calendar-side-item, [data-theme="dark"] .calendar-detail-card, [data-theme="dark"] .calendar-modal-card{
  background: linear-gradient(180deg,rgba(17,28,49,.96),rgba(12,21,39,.94));
  border-color: rgba(84,111,158,.36);
  color: #edf4ff;
}
[data-theme="dark"] .calendar-day-no, [data-theme="dark"] .calendar-month-title, [data-theme="dark"] .calendar-modal-section-head h3{
  color: #edf4ff;
}
[data-theme="dark"] .calendar-day-note, [data-theme="dark"] .calendar-dow, [data-theme="dark"] .calendar-toolbar-copy .muted, [data-theme="dark"] .calendar-event-row .muted, [data-theme="dark"] .calendar-side-item .muted, [data-theme="dark"] .calendar-detail-card .muted{
  color: #9eb4d8;
}
@media (max-width: 1280px){
.calendar-board-grid{
  grid-template-columns: minmax(0,1fr);
}
}
@media (max-width: 980px){
.calendar-toolbar{
  grid-template-columns: 1fr;
}
.calendar-modal-summary-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.calendar-detail-list{
  grid-template-columns: 1fr;
}
}
@media (max-width: 640px){
.calendar-modal{
  padding: 12px;
}
.calendar-modal-card{
  width: min(100vw - 16px,1120px);
  border-radius: 22px;
}
.calendar-modal-summary-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
body.app-shell .topbar, body.app-shell .topbar-dropdown, body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-card, body.app-shell .metric-card, body.app-shell .sidebar, body.app-shell .app-footer-inner{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.app-shell .topbar-dropdown-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
body.app-shell .topbar-dropdown-close{
  appearance: none;
  border: 1px solid rgba(148,163,184,.24);
  background: rgba(255,255,255,.04);
  color: inherit;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
body.app-shell .topbar-dropdown-close:hover{
  transform: translateY(-1px);
  border-color: rgba(95,231,255,.28);
}
body.app-shell .sidebar .nav-link .nav-ico, body.app-shell .sidebar .nav-group-head .nav-ico{
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  background: none;
  box-shadow: none;
  border: none;
  filter: none;
  border-radius: 0;
}
body.app-shell .sidebar .nav-link .nav-ico svg, body.app-shell .sidebar .nav-group-head .nav-ico svg{
  width: 20px;
  height: 20px;
}
body.app-shell .sidebar .nav-label{
  display: block;
  max-width: 100%;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  will-change: transform;
  min-width: 0;
}
body.app-shell .page, body.app-shell .page > *, body.app-shell .card, body.app-shell .card-lite, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .page-head, body.app-shell .table-card, body.app-shell .table-wrap, body.app-shell .metric-card, body.app-shell .modal-card{
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
body.app-shell .page-head::before, body.app-shell .hero-panel::before, body.app-shell .station-hero::before{
  opacity: .34;
}
html[data-theme="light"] body.app-shell::before{
  opacity: .10;
  background: linear-gradient(180deg, rgba(54,122,214,.06), transparent 220px),
    linear-gradient(90deg, rgba(54,122,214,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(54,122,214,.04) 1px, transparent 1px);
  background-size: auto, 26px 26px, 26px 26px;
}
html[data-theme="light"] body.app-shell .page-head, html[data-theme="light"] body.app-shell .hero-panel, html[data-theme="light"] body.app-shell .station-hero{
  background: linear-gradient(135deg,#ffffff,#edf4fb);
  border-color: color-mix(in srgb,var(--shell-primary) 18%, var(--shell-border));
  color: var(--shell-text);
  background-image: linear-gradient(135deg, rgba(241,247,255,.96), rgba(247,250,255,.98));
}
html[data-theme="light"] body.app-shell .content, html[data-theme="light"] body.app-shell .app-footer{
  background: transparent;
}
body.app-shell .table-wrap, body.app-shell .responsive-table, body.app-shell .table-wrap.responsive-table, body.app-shell .table-card .table-wrap, body.app-shell .card .table-wrap{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .table{
  width: max-content;
  min-width: 100%;
}
body.app-shell .table th, body.app-shell .table td, body.app-shell .table td .pill, body.app-shell .table td .btn, body.app-shell .table td select, body.app-shell .table td .input, body.app-shell .table .row-actions, body.app-shell .table .actions-col, body.app-shell .table thead th, body.app-shell .table-summary .table-tools{
  white-space: nowrap;
}
body.app-shell .table td.wrap-cell, body.app-shell .table td[data-wrap="true"], body.app-shell .table td[data-wrap="1"], body.app-shell .table td.allow-wrap, body.app-shell .table td.wrap, body.app-shell .table td .allow-wrap, body.app-shell .table td .wrap-text, body.app-shell .table td .muted{
  white-space: normal;
  overflow-wrap: break-word;
}
body.app-shell .row-actions, body.app-shell .actions, body.app-shell .page-head .actions, body.app-shell .table-summary, body.app-shell .table-tools, body.app-shell .inline-form, body.app-shell .toolbar, body.app-shell [data-action-bar]{
  flex-wrap: wrap;
}
body.app-shell .station-mini-stats--dualblocks .count-pair strong{
  font-size: clamp(.92rem,.95vw,1.02rem);
  line-height: 1;
  font-weight: 900;
  display: block;
}
body.app-shell .station-mini-stats--dualblocks .count-pair small{
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
body.app-shell .station-mini-stats--dualblocks .count-pair{
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
  min-height: 72px;
  padding: 10px 8px;
}
.inventory-insights-costs .cost-curve-wrap{
  overflow-x: auto;
}
.cost-sparkline{
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  min-height: 78px;
  padding: 8px 0 4px;
}
.cost-sparkline-bar{
  width: 12px;
  min-height: 18px;
  border-radius: 999px;
  display: inline-block;
  background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #ffffff 0%), color-mix(in srgb, var(--primary-hover) 78%, #ffffff 0%));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent), 0 6px 14px color-mix(in srgb, var(--primary) 12%, transparent);
}
.text-ok{
  color: var(--success);
}
.text-warn{
  color: var(--warning);
}
.inventory-insights-kpis{
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
}
body.auth-shell.auth-login-refresh .login-input, body.auth-shell.auth-login-refresh .login-submit-v2{
  min-height: 46px;
}
@media (max-width:1120px){
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width: min(940px,100%);
  height: min(600px,calc(100svh - 24px));
  min-height: 560px;
}
}
@media (max-width:680px){
body.auth-shell.auth-login-refresh{
  height: 100svh;
  min-height: 100svh;
  overflow: hidden;
  place-items: center;
  padding: 8px;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width: min(100%, 420px);
  height: min(620px,calc(100svh - 16px));
  min-height: auto;
  border-radius: 20px;
  padding: 8px;
}
body.auth-shell.auth-login-refresh .login-pane-inner{
  width: min(100%, 340px);
  min-height: 0;
  justify-content: center;
  align-content: center;
  gap: 10px;
  padding: 16px 14px;
}
body.auth-shell.auth-login-refresh .login-form-copy h1{
  font-size: 1.58rem;
}
body.auth-shell.auth-login-refresh .login-brand-name{
  font-size: 1.22rem;
}
}
.calendar-board-page, .calendar-main-card, .calendar-side-stack, .calendar-toolbar-card, .calendar-grid-wrap{
  min-width: 0;
}
.calendar-board-page{
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}
.calendar-board-grid{
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(290px,.8fr);
  gap: 12px;
  align-items: start;
  overflow: hidden;
}
.calendar-grid-wrap{
  overflow: auto hidden;
  padding-bottom: 0;
}
.calendar-grid-head, .calendar-grid{
  min-width: 0;
  grid-template-columns: repeat(7,minmax(0,1fr));
}
.calendar-grid-head{
  display: grid;
  grid-template-columns: repeat(7,minmax(124px,1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.calendar-grid{
  display: grid;
  grid-template-columns: repeat(7,minmax(124px,1fr));
  gap: 8px;
}
.calendar-dow{
  padding: 9px 6px;
  border: 1px solid var(--line-soft,#d7e1ef);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-muted,#61738f);
  text-align: center;
  min-width: 0;
}
.calendar-day{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 118px;
  padding: 9px;
  border: 1px solid var(--line-soft,#d7e1ef);
  border-radius: 20px;
  background: linear-gradient(180deg,rgba(255,255,255,.94),rgba(241,247,255,.86));
  box-shadow: 0 16px 34px rgba(14,27,58,.08);
  text-align: left;
  transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  background-clip: padding-box;
  min-width: 0;
  overflow: hidden;
}
.calendar-day-summary, .calendar-day-top, .calendar-day-note{
  min-width: 0;
}
.calendar-day-summary{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: flex-start;
  align-content: flex-start;
  min-height: 0;
}
.calendar-day-note, .calendar-mini-pill{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar-modal{
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: grid;
  place-items: start center;
  padding: calc(var(--asm360-topbar-h,74px) + 10px) 12px 12px;
  overflow: hidden;
}
.calendar-modal-card{
  position: relative;
  width: min(1100px,calc(100vw - 24px));
  max-height: calc(100dvh - var(--asm360-topbar-h,74px) - 22px);
  overflow: auto;
  border-radius: 28px;
  border: 1px solid rgba(205,219,237,.78);
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,247,255,.94));
  box-shadow: 0 34px 70px rgba(10,24,50,.24);
}
.calendar-modal-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(205,219,237,.78);
  position: sticky;
  top: 0;
  background: inherit;
  z-index: 2;
}
@media (max-width:1400px){
.calendar-board-grid{
  grid-template-columns: minmax(0,1fr);
}
}
@media (max-width:980px){
.calendar-toolbar{
  grid-template-columns: 1fr;
}
.calendar-modal-summary-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.calendar-detail-list{
  grid-template-columns: 1fr;
}
}
@media (max-width:820px){
.calendar-grid-head{
  gap: 6px;
}
.calendar-grid{
  gap: 6px;
}
.calendar-day{
  min-height: 96px;
  padding: 7px;
  border-radius: 16px;
}
.calendar-day-summary{
  display: grid;
  grid-template-columns: 1fr;
}
.calendar-day-note{
  display: none;
}
.calendar-modal{
  padding: calc(var(--asm360-topbar-h,68px) + 8px) 10px 10px;
}
.calendar-modal-card{
  width: calc(100vw - 20px);
  max-height: calc(100dvh - var(--asm360-topbar-h,68px) - 18px);
}
}
.asset-inline-cell{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.asset-thumb{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 16px;
  background: var(--panel-alt);
  border: 1px solid var(--border);
  color: var(--shell-text-soft);
  font-weight: 700;
  flex: 0 0 auto;
}
img.asset-thumb{
  display: block;
  object-fit: cover;
}
.asset-thumb--xs{
  width: 32px;
  height: 32px;
  border-radius: 10px;
}
.asset-thumb--sm{
  width: 42px;
  height: 42px;
  border-radius: 12px;
}
.asset-thumb--lg{
  width: 96px;
  height: 96px;
  border-radius: 22px;
}
.asset-thumb--placeholder{
  font-size: .9rem;
}
.asset-hero-wrap{
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.user-workspace-hero .profile-hero-meta,.profile-action-row{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.user-workspace-kpis{
  grid-template-columns: repeat(6,minmax(0,1fr));
}
.user-report-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.compact-chart-card{
  min-height: 100%;
}
.mini-chart-bars{
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
  align-items: end;
  min-height: 220px;
}
.mini-chart-col{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.mini-chart-col strong{
  font-size: .9rem;
}
.mini-chart-col small{
  font-size: .72rem;
  color: var(--shell-text-soft);
  text-align: center;
  line-height: 1.3;
}
.mini-chart-track{
  height: 140px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  padding: 8px;
  border-radius: 18px;
  background: linear-gradient(180deg,var(--panel-alt),transparent);
  border: 1px solid var(--border);
}
.mini-chart-fill{
  display: block;
  width: 100%;
  min-height: 10px;
  border-radius: 14px;
  background: linear-gradient(180deg,var(--accent),var(--accent-2, var(--accent)));
}
.stacked-metric-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stacked-metric-row{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stacked-metric-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.stacked-metric-head>div{
  min-width: 0;
}
.stacked-metric-head strong,.asset-inline-cell strong{
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stacked-metric-head small,.asset-inline-cell .small{
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stacked-metric-bar{
  height: 10px;
  border-radius: 999px;
  background: var(--panel-alt);
  overflow: hidden;
  border: 1px solid var(--border);
}
.stacked-metric-bar>span{
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--accent),var(--accent-2, var(--accent)));
}
.asset-stacked-row .stacked-metric-head{
  justify-content: flex-start;
}
.profile-identity-panel{
  gap: 16px;
}
.avatar-img--xl,.avatar--xl{
  width: 96px;
  height: 96px;
  border-radius: 26px;
}
@media (max-width:1180px){
.user-workspace-kpis{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.user-report-grid{
  grid-template-columns: 1fr;
}
.asset-hero-wrap{
  align-items: flex-start;
}
}
@media (max-width:780px){
.user-workspace-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.mini-chart-bars{
  grid-template-columns: repeat(3,minmax(0,1fr));
  min-height: 0;
}
.mini-chart-track{
  height: 96px;
}
}
@media (max-width:560px){
.asset-inline-cell{
  gap: 10px;
}
.asset-thumb--lg,.avatar-img--xl,.avatar--xl{
  width: 74px;
  height: 74px;
  border-radius: 20px;
}
}
@media (max-width: 1180px){
html, body{
  min-height: 100%;
  height: auto;
}
body.app-shell{
  min-height: 100dvh;
  height: auto;
  overflow-y: auto;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .content{
  min-height: auto;
  height: auto;
  overflow: visible;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .page, body.app-shell .page > *, body.app-shell .card, body.app-shell .card-lite, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .station-protocol-card, body.app-shell .station-metrics-card, body.app-shell .machine-status-panel, body.app-shell .table-card, body.app-shell .calendar-toolbar-card, body.app-shell .calendar-main-card{
  min-height: 0;
}
body.app-shell .table-wrap, body.app-shell .responsive-table, body.app-shell .table-wrap.responsive-table, body.app-shell .topbar-dropdown-list, body.app-shell .sidebar-body, body.app-shell .calendar-grid-wrap, body.app-shell .calendar-modal-card, body.app-shell .modal-card{
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
}
body.app-shell .calendar-modal-card{
  max-height: min(calc(100dvh - var(--asm360-topbar-h, 74px) - 28px), 900px);
}
}
body.app-shell:not(.modal-open):not(.sidebar-open){
  overflow-y: auto;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom;
}
body.app-shell .content, body.app-shell .page, body.app-shell .page-shell, body.app-shell .station-page-shell{
  min-width: 0;
}
body.app-shell .page, body.app-shell .page-shell, body.app-shell .station-page-shell, body.app-shell .page > .grid, body.app-shell .page > .split-grid, body.app-shell .page > .metrics-grid, body.app-shell .page > .compact-hero-grid, body.app-shell .page > form, body.app-shell .page > .card, body.app-shell .page > .table-card{
  overflow: visible;
}
body.app-shell .table-wrap, body.app-shell .responsive-table, body.app-shell .table-wrap.responsive-table, body.app-shell .modal-body, body.app-shell .modal-card > form, body.app-shell .modal-card > .form, body.app-shell .sidebar-body, body.app-shell .topbar-dropdown-list{
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}
@media (max-width:1180px){
html, body{
  overflow-x: hidden;
  overflow-y: auto;
}
body.app-shell{
  min-height: 100dvh;
  height: auto;
  padding-bottom: max(env(safe-area-inset-bottom), 0px);
}
body.app-shell:not(.modal-open):not(.sidebar-open){
  overflow-y: auto;
}
body.app-shell .content{
  margin-left: 0;
  min-height: calc(100dvh - var(--asm360-topbar-h, var(--fix-topbar-h)));
  height: auto;
  overflow: visible;
  overflow-x: hidden;
  padding-top: calc(var(--asm360-topbar-h, var(--fix-topbar-h)) + var(--hosting-banner-height, 0px) + 12px);
  padding-bottom: calc(var(--mobile-dock-height, 0px) + 26px);
}
body.app-shell .topbar{
  position: sticky;
  top: var(--hosting-banner-height, 0px);
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
}
body.app-shell .metrics-grid, body.app-shell .inventory-kpi-grid, body.app-shell .line-side-inventory-metrics, body.app-shell .entity-card-grid, body.app-shell .station-mini-stats--dualblocks, body.app-shell .dashboard-tv-grid, body.app-shell .compact-card-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width:767px){
body.app-shell .content{
  padding-left: 12px;
  padding-right: 12px;
}
body.app-shell .metrics-grid, body.app-shell .inventory-kpi-grid, body.app-shell .line-side-inventory-metrics, body.app-shell .entity-card-grid, body.app-shell .station-mini-stats--dualblocks, body.app-shell .dashboard-tv-grid, body.app-shell .compact-card-grid, body.app-shell .process-station-page .process-metrics-grid{
  grid-template-columns: 1fr;
}
body.app-shell .table-wrap{
  max-width: 100%;
}
body.app-shell .table-wrap > table, body.app-shell .table-wrap .table{
  min-width: max(720px, 100%);
}
}
@media (min-width:1440px){
body.app-shell .content, body.app-shell .app-footer{
  padding-left: 24px;
  padding-right: 24px;
}
}
@media (min-width:2200px){
body.app-shell .content{
  padding-left: 32px;
  padding-right: 32px;
}
body.app-shell .entity-card-grid{
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
}
.topbar-icon.is-active,.topbar-mobile-action.is-active{
  border-color: rgba(34,197,94,.45);
  box-shadow: 0 0 0 1px rgba(34,197,94,.18) inset;
}
.email-settings-page .note-box{
  line-height: 1.6;
}
html,body{
  font-family: var(--ki-font);
  background: var(--ki-page);
  color: var(--ki-text);
  overflow-x: hidden;
  background-color: var(--ev-bg);
  max-width: 100%;
}
body.app-shell .content, body.app-shell .page, body.app-shell .grid, body.app-shell .split-grid, body.app-shell .metrics-grid, body.app-shell .card, body.app-shell .table-card, body.app-shell .table-wrap, body.app-shell .modal-card{
  min-width: 0;
}
body.app-shell .content, body.app-shell .table-wrap, body.app-shell .topbar-dropdown-list, body.app-shell .sidebar-body{
  -webkit-overflow-scrolling: touch;
}
body.app-shell .topbar-dropdown-list, body.app-shell .sidebar-body{
  overscroll-behavior: contain;
}
body.app-shell .table-wrap.responsive-table, body.app-shell .table-wrap.max-h-table, body.app-shell .modal .table-wrap, body.app-shell .inventory-grn-workbench-page .modal .table-wrap, body.app-shell .machines-param-page .table-wrap{
  overflow: auto;
  overscroll-behavior: auto;
}
body.app-shell .page-head .actions, body.app-shell .actions, body.app-shell .row-actions{
  flex-wrap: wrap;
}
@media (max-width: 1024px){
body.app-shell .content{
  padding-inline: 14px;
  padding-bottom: 110px;
}
body.app-shell .page{
  gap: 14px;
}
}
@media (max-width: 767px){
body.app-shell .content{
  padding-inline: 12px;
  padding-top: calc(var(--asm360-topbar-h,74px) + 10px);
}
body.app-shell .page-head{
  padding: 16px 16px 14px;
}
body.app-shell .page-head h1,body.app-shell .page-head h2{
  font-size: 1.18rem;
}
body.app-shell .table-enhancer{
  gap: 10px;
}
body.app-shell .table-enhancer-right{
  width: 100%;
  justify-content: flex-start;
  flex-wrap: wrap;
}
body.app-shell .table-enhancer-search{
  width: 100%;
  min-width: 0;
}
}
@media (min-width: 2200px){
body.app-shell .content{
  padding-right: 28px;
}
body.app-shell .page{
  max-width: 1800px;
}
}
body.app-shell.shell-scroll-locked{
  overflow: hidden;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  overflow-y: auto;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open) .content{
  overflow: visible;
  overflow-x: hidden;
}
body.app-shell .page, body.app-shell .page-shell, body.app-shell .station-page-shell, body.app-shell .dashboard-shell, body.app-shell .dashboard-pro{
  min-height: 0;
}
body.app-shell .content > .page, body.app-shell .content > .dashboard-pro, body.app-shell .content > .dashboard-shell, body.app-shell .content > .station-page-shell{
  width: 100%;
  overflow: visible;
}
@media (min-width:1181px){
html, body{
  overflow-y: auto;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  height: auto;
  min-height: 100dvh;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open) .content{
  min-height: calc(100dvh - var(--asm360-topbar-h, 74px));
}
}
@media (max-width:1180px){
html, body{
  overflow-y: auto;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  height: auto;
  min-height: 100dvh;
}
body.app-shell:not(.shell-scroll-locked):not(.modal-open) .content{
  min-height: calc(100dvh - var(--asm360-topbar-h, 74px));
  overflow: visible;
}
}
body.app-shell, body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  overflow-y: auto;
}
body.app-shell .content, body.app-shell .content > .page, body.app-shell .content > .dashboard-pro, body.app-shell .content > .dashboard-shell, body.app-shell .content > .station-page-shell{
  overscroll-behavior: auto;
}
body.app-shell .page, body.app-shell .page-shell, body.app-shell .station-page-shell, body.app-shell .dashboard-shell, body.app-shell .dashboard-pro, body.app-shell .table-card, body.app-shell .card, body.app-shell .card-lite{
  min-width: 0;
}
@media (min-width:1181px){
body.app-shell .content{
  min-height: calc(100dvh - var(--asm360-topbar-h, 74px));
}
}
@media (max-width:1180px){
html, body, body.app-shell{
  height: auto;
  overflow-y: auto;
}
body.app-shell .content{
  min-height: calc(100dvh - var(--asm360-topbar-h, 74px));
  overflow: visible;
}
}
.browser-alert-toggle{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 142px;
  justify-content: space-between;
}
.browser-alert-toggle--compact{
  width: auto;
  min-width: 164px;
  padding-inline: 14px;
  border-radius: 18px;
}
.browser-alert-toggle__text{
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: left;
}
.browser-alert-toggle__switch{
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--border) 82%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text-muted) 16%, transparent);
  flex: 0 0 auto;
  transition: background .18s ease, box-shadow .18s ease;
}
.browser-alert-toggle__thumb{
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 10px rgba(15,23,42,.18);
  transition: transform .18s ease;
}
.browser-alert-toggle.is-active .browser-alert-toggle__switch{
  background: linear-gradient(135deg, rgba(34,197,94,.95), rgba(22,163,74,.82));
  box-shadow: inset 0 0 0 1px rgba(22,163,74,.28), 0 0 0 1px rgba(22,163,74,.1);
}
.browser-alert-toggle.is-active .browser-alert-toggle__thumb{
  transform: translateX(18px);
}
.browser-alert-toggle.topbar-mobile-action{
  width: 100%;
}
.btn-xs{
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 12px;
  font-size: .78rem;
}
.email-settings-page .table td.actions form{
  margin: 0;
}
.fullscreen-resume-btn:hover{
  transform: translateY(-1px);
}
@media (max-width:767px){
.fullscreen-resume-btn{
  right: 12px;
  bottom: 12px;
  max-width: calc(100vw - 24px);
}
}
body.auth-shell.auth-login-refresh{
  overflow: auto;
  display: grid;
  place-items: center;
  padding: 18px;
  min-height: 100svh;
  align-items: center;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width: min(980px,100%);
  max-width: 980px;
  height: auto;
  min-height: min(700px,calc(100svh - 36px));
  margin-inline: auto;
  max-height: calc(100svh - 36px);
  align-items: stretch;
  overflow: hidden;
  border-radius: 30px;
}
body.auth-shell.auth-login-refresh .login-pane{
  min-height: 0;
}
body.auth-shell.auth-login-refresh .login-pane--form{
  align-items: center;
  justify-content: center;
  overflow: auto;
}
body.auth-shell.auth-login-refresh .login-pane-inner{
  width: min(100%,384px);
  gap: 14px;
  padding: 24px 22px;
  margin-inline: auto;
  min-height: 100%;
  justify-content: center;
}
body.auth-shell.auth-login-refresh .login-brand-block{
  margin-bottom: 2px;
}
body.auth-shell.auth-login-refresh .login-form-copy h1{
  font-size: clamp(1.78rem,2.1vw,2.4rem);
  margin: 0;
  line-height: 1.02;
}
body.auth-shell.auth-login-refresh .login-form-copy p{
  margin: 0;
  max-width: 36ch;
}
body.auth-shell.auth-login-refresh .login-form-v2{
  gap: 12px;
}
body.auth-shell.auth-login-refresh .login-label{
  margin-bottom: 0;
}
body.auth-shell.auth-login-refresh .login-field .login-input{
  padding: 14px 50px 14px 52px;
  min-height: 50px;
}
body.auth-shell.auth-login-refresh .login-submit-v2{
  min-height: 50px;
}
body.auth-shell.auth-login-refresh .login-notify-card{
  margin-top: 2px;
  padding: 12px 14px;
  border-radius: 18px;
  background: color-mix(in srgb,var(--panel) 88%, white 12%);
  border: 1px solid color-mix(in srgb,var(--border) 86%, transparent);
}
body.auth-shell.auth-login-refresh .login-notify-btn{
  white-space: nowrap;
}
body.auth-shell.auth-login-refresh .login-footnote-v2{
  margin-top: 0;
}
body.auth-shell.auth-login-refresh .login-pane--showcase{
  min-height: 0;
}
body.auth-shell.auth-login-refresh .login-showcase-content{
  padding: 26px 26px 24px;
}
body.auth-shell.auth-login-refresh .login-showcase-content h2{
  font-size: clamp(2.15rem,4.8vw,4rem);
  line-height: .96;
}
body.auth-shell.auth-login-refresh .login-showcase-points{
  gap: 10px;
}
body.auth-shell.auth-login-refresh .login-point{
  padding: 12px 14px;
}
body.app-shell .qc-number-input{
  text-align: left;
  font-variant-numeric: tabular-nums;
}
@media (max-width:1120px){
body.auth-shell.auth-login-refresh{
  padding: 12px;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  min-height: min(660px,calc(100svh - 24px));
  max-height: calc(100svh - 24px);
}
}
@media (max-width:760px){
body.auth-shell.auth-login-refresh{
  padding: 8px;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width: min(100%,420px);
  min-height: auto;
  max-height: calc(100svh - 16px);
  border-radius: 22px;
}
body.auth-shell.auth-login-refresh .login-pane--form{
  overflow: auto;
}
body.auth-shell.auth-login-refresh .login-pane-inner{
  width: min(100%,352px);
  min-height: 0;
  padding: 18px 16px;
  gap: 12px;
}
body.auth-shell.auth-login-refresh .login-pane--showcase{
  display: none;
}
}
.input.is-invalid, select.input.is-invalid, textarea.input.is-invalid, .form-control.is-invalid{
  border-color: rgba(239,68,68,.92);
  box-shadow: 0 0 0 3px rgba(239,68,68,.16);
  background-image: linear-gradient(0deg, rgba(239,68,68,.06), rgba(239,68,68,.06));
}
.field-validation-note{
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: #fca5a5;
}
html[data-theme="light"] .field-validation-note{
  color: #b91c1c;
}
.maintenance-flow-board{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}
.maintenance-flow-card{
  position: relative;
  padding: 16px 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border: 1px solid rgba(148,163,184,.18);
  box-shadow: 0 14px 34px rgba(2,6,23,.14);
  min-height: 132px;
}
.maintenance-flow-card::after{
  content: "→";
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(56,189,248,.14);
  color: var(--text);
  border: 1px solid rgba(56,189,248,.24);
}
.maintenance-flow-card:last-child::after{
  display: none;
}
.maintenance-flow-step{
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 8px;
}
.maintenance-flow-title{
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 8px;
}
.maintenance-flow-chain{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.maintenance-flow-chip{
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid rgba(148,163,184,.18);
  background: rgba(255,255,255,.04);
}
.app-guide-hero{
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: 14px;
}
.app-guide-intro,.app-guide-summary{
  padding: 20px 22px;
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.app-guide-kpis{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}
.app-guide-kpi{
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(148,163,184,.14);
}
.app-guide-kpi strong{
  display: block;
  font-size: 24px;
}
.app-guide-chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.app-guide-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(56,189,248,.22);
  background: rgba(56,189,248,.08);
  color: var(--text);
}
.app-guide-grid{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 14px;
  align-items: start;
}
.guide-panel{
  padding: 18px;
  border-radius: 22px;
}
.guide-sequence-list{
  display: grid;
  gap: 12px;
}
.guide-sequence-item{
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(148,163,184,.14);
}
.guide-sequence-item strong{
  display: block;
  margin-bottom: 8px;
}
.guide-section-grid{
  display: grid;
  gap: 12px;
}
.guide-section-card{
  padding: 16px 18px;
  border-radius: 18px;
}
.guide-section-card ol{
  margin: 10px 0 0 18px;
}
html[data-theme="light"] .maintenance-flow-card, html[data-theme="light"] .app-guide-intro, html[data-theme="light"] .app-guide-summary, html[data-theme="light"] .app-guide-kpi, html[data-theme="light"] .guide-sequence-item{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,248,252,.95));
}
@media (max-width: 1100px){
.app-guide-hero, .app-guide-grid, .maintenance-flow-board{
  grid-template-columns: 1fr;
}
.maintenance-flow-card::after{
  display: none;
}
}
@media (max-width: 760px){
.app-guide-kpis{
  grid-template-columns: 1fr;
}
}
body.app-shell .table-summary{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
body.app-shell .table-tools, body.app-shell .compact-tools{
  width: auto;
  margin-left: auto;
  max-width: 100%;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 10px;
}
body.app-shell .table-tools > .input, body.app-shell .compact-tools > .input{
  width: min(100%, 320px);
}
body.app-shell .table-tools form, body.app-shell .table-tools .inline-form, body.app-shell .toolbar-form{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}
body.app-shell .table-tools .inline-form .input, body.app-shell .toolbar-form .input{
  min-width: 160px;
  max-width: 280px;
}
body.app-shell .table-summary .table-tools{
  white-space: normal;
}
@media (max-width: 900px){
body.app-shell .table-summary{
  align-items: stretch;
}
body.app-shell .table-tools, body.app-shell .compact-tools{
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
}
body.app-shell .table-tools > .input, body.app-shell .compact-tools > .input, body.app-shell .table-tools .inline-form .input, body.app-shell .toolbar-form .input{
  width: 100%;
  max-width: none;
}
}
body.app-shell .news-band-track{
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
body.app-shell .news-band-text{
  display: inline-block;
  white-space: nowrap;
  min-width: 100%;
  padding-left: 100%;
  animation: asmNewsTicker 24s linear infinite;
  color: var(--shell-text);
  font-weight: 600;
  animation-duration: 32s;
  animation-play-state: running;
}
body.app-shell .news-band:hover .news-band-text, body.app-shell .news-band:focus-within .news-band-text{
  animation-play-state: paused;
}
body.app-shell .dpr-flow-card{
  position: relative;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px 18px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--panel) 92%, transparent), color-mix(in srgb,var(--panel) 100%, transparent));
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
body.app-shell .dpr-flow-card::after{
  content: "";
  position: absolute;
  top: 38px;
  right: -18px;
  width: 22px;
  height: 2px;
  background: var(--line);
}
body.app-shell .dpr-flow-card:last-child::after{
  display: none;
}
body.app-shell .dpr-flow-step{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%, var(--line));
  color: var(--primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.app-shell .dpr-flow-title{
  margin-top: 12px;
  font-weight: 800;
  font-size: 1rem;
}
@media (max-width: 980px){
body.app-shell .dpr-flow-board{
  grid-template-columns: 1fr;
}
body.app-shell .dpr-flow-card::after{
  display: none;
}
}
body.app-shell .form-error-summary{
  display: grid;
  gap: 6px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(239,68,68,.28);
  background: rgba(239,68,68,.08);
  color: var(--text);
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
}
body.app-shell .form-error-summary[hidden]{
  display: none;
}
body.app-shell .form-error-summary-title{
  font-weight: 700;
}
body.app-shell .form-error-summary ul{
  margin: 0;
  padding-left: 18px;
}
body.app-shell .form-error-summary li{
  margin: 0 0 2px;
}
body.app-shell .input.is-invalid,body.app-shell select.is-invalid,body.app-shell textarea.is-invalid{
  border-color: rgba(239,68,68,.55);
  box-shadow: 0 0 0 3px rgba(239,68,68,.12), 0 8px 20px rgba(239,68,68,.08);
}
body.app-shell .toolbar-compact-ready{
  min-width: 0;
}
body.app-shell .table-summary.toolbar-compact-ready{
  align-items: flex-end;
  gap: 14px;
}
body.app-shell .table-summary.toolbar-compact-ready > div:first-child{
  min-width: 220px;
}
body.app-shell .table-summary.toolbar-compact-ready .table-tools{
  margin-left: auto;
}
body.app-shell .table-tools.toolbar-compact-ready,body.app-shell .toolbar-form.toolbar-compact-ready{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}
body.app-shell .table-tools.toolbar-compact-ready > .input,body.app-shell .table-tools.toolbar-compact-ready form .input,body.app-shell .toolbar-form.toolbar-compact-ready .input{
  width: min(100%, 260px);
  max-width: 260px;
}
body.app-shell .table-tools.toolbar-compact-ready .btn,body.app-shell .toolbar-form.toolbar-compact-ready .btn{
  white-space: nowrap;
}
body.app-shell .machine-checks-page .toolbar-form{
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-2);
}
body.app-shell .machine-checks-page .table-card .table-wrap{
  margin-top: 0;
}
body.app-shell .machine-hero .table-tools .input{
  max-width: 280px;
}
@media (max-width: 900px){
body.app-shell .table-summary.toolbar-compact-ready{
  align-items: stretch;
}
body.app-shell .table-summary.toolbar-compact-ready .table-tools{
  margin-left: 0;
}
body.app-shell .table-tools.toolbar-compact-ready,body.app-shell .toolbar-form.toolbar-compact-ready{
  width: 100%;
}
body.app-shell .table-tools.toolbar-compact-ready > .input,body.app-shell .table-tools.toolbar-compact-ready form .input,body.app-shell .toolbar-form.toolbar-compact-ready .input{
  width: 100%;
  max-width: none;
}
}
.delivery-flow-board, .quick-action-board{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 12px;
}
.delivery-flow-card, .quick-action-card{
  border: 1px solid var(--line);
  background: linear-gradient(180deg, color-mix(in srgb, var(--card) 96%, transparent), color-mix(in srgb, var(--panel) 92%, transparent));
  border-radius: 16px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.quick-action-card .btn{
  width: 100%;
  justify-content: center;
}
.delivery-flow-step, .quick-action-step{
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.delivery-flow-title, .quick-action-title{
  font-weight: 700;
}
.station-chip-list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.station-chip-list .pill{
  white-space: nowrap;
}
.field-note{
  font-size: .78rem;
  color: var(--muted);
  margin-top: 6px;
}
.form-disabled-note{
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed var(--line);
  color: var(--muted);
  background: color-mix(in srgb, var(--panel) 85%, transparent);
}
.delivery-route-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 12px;
  margin-top: 12px;
}
.delivery-route-card{
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: var(--card);
}
.delivery-route-card .metric-title{
  margin-bottom: 8px;
}
.delivery-route-list{
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .92rem;
}
.delivery-route-list .mono{
  word-break: break-all;
}
@media (max-width:700px){
.delivery-flow-board, .quick-action-board, .delivery-route-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready > div:first-child{
  flex: 1 1 240px;
  min-width: 220px;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .table-tools.toolbar-compact-ready{
  flex: 0 1 auto;
  max-width: 100%;
  margin-left: auto;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .inline-form{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .inline-form > *{
  flex: 0 0 auto;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .input{
  max-width: 260px;
}
@media (max-width: 900px){
body.app-shell .table-card > .table-summary.toolbar-compact-ready{
  align-items: stretch;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .table-tools.toolbar-compact-ready{
  width: 100%;
  margin-left: 0;
}
body.app-shell .table-card > .table-summary.toolbar-compact-ready .input{
  max-width: none;
  width: 100%;
}
}
body.app-shell .process-chain{
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 12px;
  margin: 0 0 14px;
}
body.app-shell .process-step-card{
  grid-column: span 4;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.22);
  background: linear-gradient(180deg, rgba(12,18,34,.92), rgba(7,11,22,.88));
  box-shadow: 0 16px 34px rgba(2,8,23,.18);
}
body.app-shell .process-step-card .step-kicker{
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
body.app-shell .process-step-card .step-title{
  font-weight: 700;
  margin-bottom: 6px;
}
body.app-shell .process-step-card .step-text{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
body.app-shell .process-step-card .step-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
body.app-shell .inline-code-row, body.app-shell .copy-row{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
body.app-shell .copy-chip{
  border: 1px solid rgba(148,163,184,.24);
  background: rgba(15,23,42,.78);
  color: inherit;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
body.app-shell .copy-chip:hover{
  transform: translateY(-1px);
}
body.app-shell .diagnostic-callout{
  border: 1px solid rgba(250,204,21,.24);
  background: rgba(245,158,11,.08);
  border-radius: 16px;
  padding: 12px 14px;
}
body.app-shell .diagnostic-callout.error{
  border-color: rgba(248,113,113,.22);
  background: rgba(239,68,68,.08);
}
body.app-shell .info-grid-2{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
body.app-shell .card .table-summary.sticky-tools{
  position: sticky;
  top: calc(var(--asm360-topbar-h, 74px) + 8px);
  z-index: 5;
  background: inherit;
}
@media (max-width: 980px){
body.app-shell .process-step-card{
  grid-column: span 12;
}
body.app-shell .info-grid-2{
  grid-template-columns: 1fr;
}
}
body.app-shell .delivery-flow-board.compact{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
body.app-shell .mono{
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
body.app-shell .modal-body .actions, body.app-shell .modal-body .row-actions, body.app-shell .modal-body > form > .actions, body.app-shell .modal-body > form > .row-actions{
  position: sticky;
  bottom: -1px;
  z-index: 3;
  padding: 12px 0 0;
  background: linear-gradient(180deg, rgba(11,18,32,0) 0%, rgba(11,18,32,.92) 26%, rgba(11,18,32,.98) 100%);
}
html[data-theme="light"] body.app-shell .modal-body .actions, html[data-theme="light"] body.app-shell .modal-body .row-actions, html[data-theme="light"] body.app-shell .modal-body > form > .actions, html[data-theme="light"] body.app-shell .modal-body > form > .row-actions{
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.92) 26%, rgba(255,255,255,.98) 100%);
}
body.app-shell .modal-body .field-validation-note{
  max-width: 100%;
}
@media (max-width: 900px){
body.app-shell .delivery-flow-board.compact{
  grid-template-columns: 1fr;
}
}
.runtime-note-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 12px;
  margin-top: 14px;
}
.runtime-note-card{
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.runtime-note-card .title{
  font-weight: 700;
  font-size: .95rem;
}
.runtime-note-card .text{
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.5;
}
.runtime-note-card .mono{
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: .78rem;
  word-break: break-all;
}
.table-summary.sticky-tools{
  gap: 12px;
  align-items: flex-end;
}
.table-summary.sticky-tools .table-tools{
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  justify-content: flex-end;
}
.table-summary.sticky-tools .table-tools .input{
  width: min(100%,320px);
}
@media (max-width: 900px){
.runtime-note-grid{
  grid-template-columns: 1fr;
}
.table-summary.sticky-tools .table-tools{
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
}
.table-summary.sticky-tools .table-tools .input{
  width: 100%;
  max-width: none;
}
}
.chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(148,163,184,.12);
  color: var(--text);
  font-size: 12px;
  line-height: 1.2;
  max-width: 100%;
  overflow-wrap: break-word;
}
body.app-shell .guide-quick-nav{
  margin-bottom: 14px;
  position: sticky;
  top: calc(var(--topbar-h, 72px) + 8px);
  z-index: 5;
  backdrop-filter: blur(10px);
}
body.app-shell .guide-anchor-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
body.app-shell .app-guide-page [id]{
  scroll-margin-top: calc(var(--topbar-h, 72px) + 18px);
}
body.app-shell .dpr-page .delivery-route-grid, body.app-shell .dpr-page .report-summary-grid{
  align-items: stretch;
}
body.app-shell .dpr-page .note-box .mono{
  word-break: normal;
}
@media (max-width: 900px){
body.app-shell .guide-quick-nav{
  position: static;
}
body.app-shell .guide-anchor-row{
  width: 100%;
  justify-content: flex-start;
}
}
body.app-shell .runtime-note-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 14px;
}
body.app-shell .runtime-note-card, body.app-shell .diagnostic-callout{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: var(--shadow-sm);
}
body.app-shell .runtime-note-card{
  padding: 16px 18px;
}
body.app-shell .runtime-note-card .title{
  font-weight: 700;
  margin-bottom: 6px;
}
body.app-shell .runtime-note-card .text{
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.5;
}
body.app-shell .runtime-note-card .mono{
  margin-top: 10px;
  font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size: .82rem;
  word-break: break-all;
  color: var(--text-soft);
}
body.app-shell .settings-page .settings-stack{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  align-items: start;
}
body.app-shell .settings-page .settings-stack > .card.full-span{
  grid-column: 1 / -1;
}
body.app-shell .settings-page .table-card .table-tools{
  margin-left: auto;
}
body.app-shell .settings-page .chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.app-shell .settings-page .chip{
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  font-size: .82rem;
}
@media (max-width: 980px){
body.app-shell .runtime-note-grid, body.app-shell .settings-page .settings-stack{
  grid-template-columns: 1fr;
}
}
body.app-shell .diagnostic-hero-grid, body.app-shell .email-hub-grid, body.app-shell .dpr-domain-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
body.app-shell .diagnostic-hero-card, body.app-shell .email-hub-card, body.app-shell .dpr-iso-header-card{
  position: relative;
  border: 1px solid rgba(118,145,186,.22);
  border-radius: 24px;
  background: linear-gradient(180deg,rgba(17,27,46,.96),rgba(11,18,33,.94));
  box-shadow: 0 20px 48px rgba(3,10,23,.26);
  padding: 18px;
}
html[data-theme="light"] body.app-shell .diagnostic-hero-card, html[data-theme="light"] body.app-shell .email-hub-card, html[data-theme="light"] body.app-shell .dpr-iso-header-card{
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(242,247,255,.94));
  border-color: rgba(148,168,196,.4);
  box-shadow: 0 16px 36px rgba(15,23,42,.08);
}
body.app-shell .diagnostic-hero-card .hero-kicker, body.app-shell .email-hub-kicker, body.app-shell .dpr-iso-header-card .doc-kicker{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-2,#7dd3fc);
  margin-bottom: 8px;
}
body.app-shell .diagnostic-hero-card .hero-title, body.app-shell .email-hub-title, body.app-shell .dpr-iso-header-card .doc-title{
  font-size: 1.02rem;
  font-weight: 800;
  margin-bottom: 8px;
}
body.app-shell .diagnostic-hero-card .hero-text, body.app-shell .email-hub-copy{
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.55;
}
body.app-shell .diagnostic-hero-card .hero-pills, body.app-shell .dpr-doc-chip-strip{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
body.app-shell .diagnostic-standard-card, body.app-shell .diagnostic-process-chain .process-step-card, body.app-shell .runtime-note-card--soft{
  background: linear-gradient(180deg,rgba(19,30,51,.96),rgba(11,18,33,.92));
  border: 1px solid rgba(115,141,186,.2);
}
html[data-theme="light"] body.app-shell .diagnostic-standard-card, html[data-theme="light"] body.app-shell .diagnostic-process-chain .process-step-card, html[data-theme="light"] body.app-shell .runtime-note-card--soft{
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,255,.94));
  border-color: rgba(148,168,196,.35);
}
body.app-shell .diagnostic-log-panel{
  max-height: 420px;
  overflow: auto;
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(98,123,167,.28);
  background: linear-gradient(180deg,rgba(11,19,34,.98),rgba(7,12,24,.96));
  color: #cfe2ff;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: 12px;
  white-space: pre-wrap;
}
html[data-theme="light"] body.app-shell .diagnostic-log-panel{
  background: linear-gradient(180deg,rgba(245,249,255,.98),rgba(236,243,252,.96));
  color: #20324d;
}
body.app-shell .diagnostics-page-redesigned .diagnostics-scroll-table{
  max-height: 360px;
  overflow: auto;
}
body.app-shell .diagnostics-page-redesigned .grid.two{
  align-items: stretch;
}
body.app-shell .diagnostics-page-redesigned .grid.two > .card{
  height: 100%;
}
body.app-shell .diagnostics-page-redesigned .diagnostics-scroll-table .table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: inherit;
}
body.app-shell .warn-box{
  border: 1px solid rgba(245,158,11,.34);
  background: linear-gradient(180deg,rgba(73,46,8,.18),rgba(54,34,7,.12));
}
html[data-theme="light"] body.app-shell .warn-box{
  background: linear-gradient(180deg,rgba(255,248,228,.95),rgba(255,244,215,.9));
}
body.app-shell .email-hub-card .actions{
  margin-top: 14px;
}
body.app-shell .email-hub-card .chip-row{
  margin-top: 10px;
}
body.app-shell .email-hub-page .table-card{
  margin-top: 0;
}
body.app-shell .dpr-main-kpis .metric-card{
  min-height: 146px;
}
body.app-shell .dpr-template-preview{
  min-height: 112px;
}
body.app-shell .dpr-wa-preview{
  min-height: 112px;
  margin: 0;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(118,145,186,.26);
  background: linear-gradient(180deg,rgba(19,29,47,.95),rgba(11,17,30,.92));
  color: #d9e8ff;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space: pre-wrap;
}
html[data-theme="light"] body.app-shell .dpr-wa-preview{
  background: linear-gradient(180deg,rgba(244,248,255,.98),rgba(236,243,252,.95));
  color: #20324d;
}
body.app-shell .dpr-flow-board{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 14px;
  margin: 14px 0;
}
body.app-shell .dpr-domain-grid .card, body.app-shell .diagnostic-head, body.app-shell .dpr-iso-page .card, body.app-shell .email-hub-page .card{
  overflow: hidden;
}
@media (max-width: 1024px){
body.app-shell .diagnostic-hero-grid, body.app-shell .email-hub-grid, body.app-shell .dpr-domain-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width: 720px){
body.app-shell .diagnostic-hero-grid, body.app-shell .email-hub-grid, body.app-shell .dpr-domain-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .email-hub-grid-six{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
body.app-shell .audience-config-block{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(8,18,32,.44);
  margin-bottom: 14px;
  overflow: hidden;
}
body.app-shell .audience-config-block > summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 18px;
  background: rgba(255,255,255,.02);
}
body.app-shell .audience-config-block > summary::-webkit-details-marker{
  display: none;
}
body.app-shell .audience-config-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  padding: 14px 16px 16px;
}
body.app-shell .card.subtle{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
  border-radius: 16px;
  padding: 14px;
}
body.app-shell .audience-select-list{
  max-height: 220px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(8,18,32,.32);
}
body.app-shell .detail-list{
  display: grid;
  gap: 10px;
}
body.app-shell .detail-row{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px dashed var(--line);
  padding-bottom: 8px;
}
body.app-shell .detail-row:last-child{
  border-bottom: none;
  padding-bottom: 0;
}
body.app-shell .field-note{
  color: var(--muted);
  font-size: 12px;
  margin-top: 6px;
}
@media (max-width: 1100px){
body.app-shell .email-hub-grid-six{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .audience-config-grid{
  grid-template-columns: 1fr;
}
}
@media (max-width: 720px){
body.app-shell .email-hub-grid-six{
  grid-template-columns: 1fr;
}
body.app-shell .audience-config-block > summary, body.app-shell .detail-row{
  display: block;
}
}
body.app-shell .modal-card.xxl{
  max-width: min(1380px,calc(100vw - 20px));
  max-height: calc(100dvh - var(--asm360-topbar-h,74px) - 20px);
}
html[data-theme="light"] body.app-shell .process-step-card{
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,255,.94));
  border-color: rgba(148,168,196,.35);
  box-shadow: 0 16px 36px rgba(15,23,42,.08);
}
html[data-theme="light"] body.app-shell .copy-chip{
  background: rgba(255,255,255,.88);
  border-color: rgba(148,168,196,.38);
  color: var(--text);
}
body.app-shell .store-kiosk-page .issue-setup-row .label, body.app-shell .store-kiosk-page .essential-toggle-wrap .label{
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}
body.app-shell .store-kiosk-page .issue-setup-row > div, body.app-shell .store-kiosk-page .issue-setup-row .essential-toggle-wrap{
  align-self: start;
}
body.app-shell .store-kiosk-page .kiosk-static-note, body.app-shell .store-kiosk-page .kiosk-mode-option{
  min-height: 80px;
}
body.app-shell .audience-filter-input{
  margin-bottom: 8px;
}
body.app-shell .audience-config-block[open] > summary{
  border-bottom: 1px solid var(--line);
}
body.app-shell .audience-config-block .chip-row{
  flex-wrap: wrap;
}
body.app-shell .monitor-assessment-table .pill{
  min-width: 72px;
  text-align: center;
}
body.light-mode.app-shell .audience-config-block{
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(15,23,42,.07);
}
body.light-mode.app-shell .audience-config-block > summary, body.light-mode.app-shell .card.subtle{
  background: linear-gradient(180deg,#ffffff,#f8fbff);
}
body.light-mode.app-shell .audience-select-list{
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.18);
}
body.light-mode.app-shell .audience-filter-input{
  background: #fff;
}
body.light-mode.app-shell .monitor-score-card, body.light-mode.app-shell .monitor-score-card .table-wrap table{
  background: #fff;
}
body.app-shell .admin-access-matrix-page .table, body.app-shell .admin-module-access-page .table, body.app-shell .qms-readiness-page .table, body.app-shell .admin-consolidated-reports-page .table{
  width: 100%;
}
body.app-shell .admin-access-matrix-page .table-wrap, body.app-shell .admin-module-access-page .table-wrap, body.app-shell .qms-readiness-page .table-wrap, body.app-shell .admin-consolidated-reports-page .table-wrap{
  width: 100%;
}
body.app-shell .qms-top-card-grid, body.app-shell .qms-readiness-page .grid.two{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .qms-register-stack{
  grid-template-columns: minmax(0,1fr);
}
body.app-shell .calendar-event-row .row-actions{
  align-items: center;
}
@media (max-width: 1100px){
body.app-shell .qms-top-card-grid, body.app-shell .qms-readiness-page .grid.two{
  grid-template-columns: minmax(0,1fr);
}
}
body.app-shell .content, body.app-shell .page, body.app-shell .page > *, body.app-shell .card, body.app-shell .table-card, body.app-shell .table-wrap, body.app-shell .page-head{
  max-width: 100%;
}
body.app-shell .table-card, body.app-shell .table-wrap, body.app-shell .table-wrap.responsive-table, body.app-shell .card .table-wrap{
  width: 100%;
}
body.app-shell .table-wrap > table, body.app-shell .table-wrap .table, body.app-shell table.table{
  width: 100%;
  min-width: 100%;
  table-layout: auto;
}
body.app-shell .page-head .actions, body.app-shell .table-summary, body.app-shell .inline-form, body.app-shell .table-tools{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
body.app-shell .page-head .actions > *, body.app-shell .table-summary > *, body.app-shell .inline-form > *, body.app-shell .table-tools > *{
  max-width: 100%;
}
body.app-shell .input, body.app-shell select, body.app-shell textarea, body.app-shell .btn, body.app-shell .topbar-search, body.app-shell .topbar-search-input{
  max-width: 100%;
}
body.app-shell .topbar-search{
  width: min(100%, 760px);
  min-height: 46px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--fix-panel-2);
  border: 1px solid var(--shell-border);
  box-shadow: 0 10px 24px rgba(8,15,30,.05);
  position: relative;
  display: flex;
  align-items: center;
  max-width: 530px;
  margin: 0 auto;
}
body.app-shell .topbar-context, body.app-shell .topbar-title, body.app-shell .topbar-kicker, body.app-shell .nav-text, body.app-shell .card-title, body.app-shell .page-head h1, body.app-shell .page-head h2, body.app-shell .page-head h3{
  min-width: 0;
  overflow-wrap: break-word;
}
@media (max-width: 1180px){
body.app-shell .topbar{
  left: 12px;
  right: 12px;
  width: auto;
  min-height: 64px;
  padding: 12px 14px;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
}
body.app-shell .topbar-center{
  display: none;
}
body.app-shell .topbar-actions{
  gap: 8px;
}
body.app-shell .content{
  margin-left: 0;
  padding: calc(var(--fix-topbar-h) + 12px) 16px 110px;
}
body.app-shell .app-footer{
  margin-left: 0;
  padding: 0 16px 104px;
}
body.app-shell .sidebar{
  width: min(92vw, 360px);
  max-width: min(92vw, 360px);
}
body.app-shell .page-head, body.app-shell .card, body.app-shell .table-card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .metric-card{
  border-radius: 18px;
}
body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .dashboard-top-grid, body.app-shell .dashboard-mid-grid, body.app-shell .profile-main-grid, body.app-shell .report-summary-grid, body.app-shell .data-cards-compact, body.app-shell .chart-summary-strip, body.app-shell .workflow-module-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 860px){
body.app-shell .content{
  padding: calc(var(--fix-topbar-h) + 8px) 14px 108px;
  gap: 14px;
}
body.app-shell .page{
  gap: 14px;
}
body.app-shell .page-head{
  padding: 16px;
  gap: 12px;
}
body.app-shell .page-head .actions, body.app-shell .table-summary, body.app-shell .inline-form, body.app-shell .table-tools{
  width: 100%;
  align-items: stretch;
}
body.app-shell .page-head .actions > *, body.app-shell .table-summary > *, body.app-shell .inline-form > *, body.app-shell .table-tools > *{
  flex: 1 1 220px;
}
body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .dashboard-top-grid, body.app-shell .dashboard-mid-grid, body.app-shell .profile-main-grid, body.app-shell .report-summary-grid, body.app-shell .data-cards-compact, body.app-shell .chart-summary-strip, body.app-shell .workflow-module-grid, body.app-shell .mobile-access-grid{
  grid-template-columns: 1fr;
}
}
@media (max-width: 640px){
body.app-shell .topbar{
  top: 10px;
  left: 10px;
  right: 10px;
  padding: 10px 12px;
}
body.app-shell .topbar-title{
  font-size: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-kicker{
  font-size: .68rem;
}
body.app-shell .content{
  padding: calc(var(--fix-topbar-h) + 2px) 10px 102px;
}
body.app-shell .app-footer{
  padding: 0 10px 98px;
}
body.app-shell .page-head, body.app-shell .card, body.app-shell .table-card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .metric-card, body.app-shell .table-wrap{
  border-radius: 16px;
}
body.app-shell .btn, body.app-shell .input, body.app-shell select, body.app-shell textarea{
  width: 100%;
}
body.app-shell .page-head .actions > *, body.app-shell .table-summary > *, body.app-shell .inline-form > *, body.app-shell .table-tools > *{
  flex: 1 1 100%;
}
.mobile-ev-dock{
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 8px;
  gap: 8px;
}
}
.qms-hub-action-grid{
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
}
.qms-hub-action-card{
  display: block;
  text-decoration: none;
  color: inherit;
  min-height: 124px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.qms-hub-action-card:hover{
  transform: translateY(-2px);
}
.qms-card-grid,.qms-top-card-grid{
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
}
.qms-readiness-page .detail-list{
  width: 100%;
}
.qms-readiness-page .card .table-wrap{
  width: 100%;
  overflow: auto;
}
.qms-readiness-page .card .table{
  width: 100%;
  min-width: 100%;
  table-layout: auto;
}
.admin-consolidated-reports-page .detail-row strong{
  padding-right: 10px;
}
.admin-consolidated-reports-page .detail-list{
  display: grid;
  gap: 8px;
}
@media (max-width: 991px){
.qms-readiness-page .page-head,.admin-consolidated-reports-page .page-head{
  gap: 12px;
}
.qms-readiness-page .page-head .actions,.admin-consolidated-reports-page .page-head .actions{
  width: 100%;
  justify-content: flex-start;
  flex-wrap: wrap;
}
}
.qms-readiness-page .qms-hub-action-grid, .qms-readiness-page .qms-top-card-grid, .qms-readiness-page .qms-card-grid, .qms-readiness-page .compact-metrics-grid, .qms-readiness-page .grid.three, .qms-readiness-page .grid.four{
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
}
.qms-readiness-page .qms-register-stack{
  grid-template-columns: minmax(360px,1fr) minmax(0,1.45fr);
}
.qms-readiness-page .qms-hub-action-card, .qms-readiness-page .metric-card, .qms-readiness-page .card .grid.three > .card, .qms-readiness-page .card .grid.three > .metric-card, .qms-readiness-page .card .grid.four > .metric-card{
  height: 100%;
}
.qms-readiness-page .table-wrap, .qms-readiness-page .table, .qms-readiness-page .table-wrap .table, body.app-shell .table-wrap, body.app-shell .table-card, body.app-shell .card{
  width: 100%;
  max-width: 100%;
}
.qms-readiness-page .table-wrap .table{
  min-width: 100%;
}
@media (max-width: 1100px){
.qms-readiness-page .qms-register-stack{
  grid-template-columns: 1fr;
}
}
@media (max-width: 900px){
body.app-shell .page-head .actions, body.app-shell .page-head .table-tools, body.app-shell .table-summary, body.app-shell .row-actions{
  flex-wrap: wrap;
}
.qms-readiness-page .table-wrap .table, body.app-shell .table{
  min-width: 760px;
}
}
@media (max-width: 640px){
.qms-readiness-page .qms-hub-action-grid, .qms-readiness-page .qms-top-card-grid, .qms-readiness-page .qms-card-grid, .qms-readiness-page .compact-metrics-grid, .qms-readiness-page .grid.three, .qms-readiness-page .grid.four, .qms-readiness-page .qms-register-stack{
  grid-template-columns: 1fr;
}
}
body.app-shell .table-enhancer-date-range{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .table-enhancer-date-label{
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .76rem;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .02em;
}
body.app-shell .table-enhancer-date-column{
  min-width: 170px;
}
body.app-shell .table-enhancer-date-from, body.app-shell .table-enhancer-date-to{
  min-width: 148px;
}
body.app-shell .table-enhancer-date-clear{
  align-self: flex-end;
}
@media (max-width: 900px){
body.app-shell .table-enhancer-date-range{
  width: 100%;
  align-items: stretch;
}
body.app-shell .table-enhancer-date-label, body.app-shell .table-enhancer-date-column, body.app-shell .table-enhancer-date-from, body.app-shell .table-enhancer-date-to, body.app-shell .table-enhancer-date-clear{
  width: 100%;
  min-width: 0;
}
}
.qms-iso-page .qms-iso-grid{
  align-items: start;
}
.qms-iso-card .card-title-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.qms-iso-page textarea.input{
  min-height: 76px;
  resize: vertical;
}
.qms-fixed-table{
  max-height: 620px;
  overflow: auto;
}
.qms-fixed-table .table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
}
.evidence-links{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 140px;
}
.filter-action-cell{
  display: flex;
  align-items: end;
}
.report-filter-grid{
  align-items: end;
}
@media (max-width: 980px){
.qms-iso-page .grid.two, .qms-iso-page .grid.three, .qms-iso-page .grid.four, .qms-iso-page .grid.six, .qms-iso-page .grid.seven{
  grid-template-columns: 1fr;
}
.filter-action-cell .btn{
  width: 100%;
}
}
.table-enhancer-date-range{
  align-items: end;
  gap: .45rem;
  flex-wrap: wrap;
}
.table-enhancer-date-label{
  display: inline-flex;
  flex-direction: column;
  gap: .18rem;
  font-size: .72rem;
  color: var(--muted,#64748b);
}
.table-enhancer-as-on-label{
  padding-left: .35rem;
  border-left: 1px solid rgba(148,163,184,.35);
}
.table-enhancer-as-on-export{
  white-space: nowrap;
}
.ason-report-page .filter-action-cell{
  display: flex;
  align-items: end;
}
.ason-report-page .metric-card{
  min-width: 0;
}
body.app-shell .table-enhancer-date-range[hidden], body.app-shell .table-enhancer-date-label[hidden], body.app-shell .table-enhancer-range-label[hidden], body.app-shell .table-enhancer-date-column-label[hidden]{
  display: none;
}
body.app-shell .table-enhancer-date-range.has-external-date-range .table-enhancer-as-on-label{
  padding-left: 0;
  border-left: 0;
}
body.app-shell .table-enhancer-date-today, body.app-shell .table-enhancer-as-on-print{
  white-space: nowrap;
}
.oee-monitoring-page .report-filter-bar{
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.oee-kpi-grid{
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  margin-bottom: 16px;
}
.oee-monitoring-page .form-grid.compact{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.oee-monitoring-page .form-grid.compact .span-2{
  grid-column: 1 / -1;
}
.oee-monitoring-page .compact-scroll{
  max-height: 420px;
  overflow: auto;
}
.oee-monitoring-page .compact-scroll table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
}
@media(max-width:900px){
.oee-monitoring-page .form-grid.compact{
  grid-template-columns: 1fr;
}
.oee-monitoring-page .report-filter-bar{
  justify-content: flex-start;
}
.oee-monitoring-page .form-grid.compact .span-2{
  grid-column: auto;
}
}
@media print{
.sidebar,.topbar,.page-head .actions,.oee-monitoring-page form{
  display: none;
}
.page{
  padding: 0;
}
.card{
  break-inside: avoid;
  box-shadow: none;
  border: 1px solid #ddd;
}
.oee-monitoring-page .compact-scroll{
  max-height: none;
  overflow: visible;
}
}
@media (pointer: coarse), (max-width: 768px){
.btn,.icon-btn,.topbar-icon,.nav-link,.nav-group-head,.topbar-mobile-action,button,[role="button"]{
  min-height: 42px;
}
.btn.sm{
  min-height: 36px;
  padding-top: 7px;
  padding-bottom: 7px;
}
.table .btn.sm,.row-actions .btn.sm{
  min-height: 34px;
}
input[type="checkbox"],input[type="radio"]{
  min-width: 22px;
  min-height: 22px;
}
.nav-link,.nav-group-head{
  padding-top: 10px;
  padding-bottom: 10px;
}
}
body.app-shell .oee-monitoring-page .page-head{
  display: grid;
  grid-template-columns: minmax(260px,.9fr) minmax(620px,1.45fr);
  align-items: end;
  gap: 18px;
  overflow: visible;
}
body.app-shell .oee-monitoring-page .page-head > .actions{
  width: 100%;
  justify-content: flex-end;
  min-width: 0;
}
body.app-shell .oee-monitoring-page .report-filter-bar{
  width: 100%;
  display: grid;
  grid-template-columns: minmax(128px,.72fr) minmax(128px,.72fr) minmax(128px,.72fr) minmax(210px,1.18fr) auto auto auto;
  gap: 10px;
  align-items: end;
  justify-content: stretch;
  margin: 0;
}
body.app-shell .oee-monitoring-page .report-filter-bar > div{
  min-width: 0;
}
body.app-shell .oee-monitoring-page .report-filter-bar .input, body.app-shell .oee-monitoring-page .report-filter-bar select.input{
  min-width: 0;
  width: 100%;
}
body.app-shell .oee-monitoring-page .report-filter-bar .btn{
  width: auto;
  min-width: max-content;
  padding-left: 14px;
  padding-right: 14px;
}
body.app-shell .oee-monitoring-page .oee-kpi-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  align-items: stretch;
  margin-bottom: 16px;
}
body.app-shell .oee-monitoring-page .oee-kpi-grid .metric-card{
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.app-shell .oee-monitoring-page .oee-panel-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}
body.app-shell .oee-monitoring-page .card{
  min-width: 0;
  overflow: hidden;
}
body.app-shell .oee-monitoring-page .form-grid.compact{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  align-items: end;
}
body.app-shell .oee-monitoring-page .form-grid.compact .span-2{
  grid-column: 1 / -1;
}
body.app-shell .oee-monitoring-page .compact-scroll table{
  min-width: 760px;
}
body.app-shell .oee-monitoring-page .compact-scroll table thead th{
  position: sticky;
  top: 0;
  z-index: 3;
}
body.app-shell .oee-monitoring-page .table-enhancer-date-range, body.app-shell .oee-monitoring-page .table-enhancer-date-label, body.app-shell .oee-monitoring-page .table-enhancer-range-label, body.app-shell .oee-monitoring-page .table-enhancer-as-on-label, body.app-shell .oee-monitoring-page .table-enhancer-date-today, body.app-shell .oee-monitoring-page .table-enhancer-as-on-export, body.app-shell .oee-monitoring-page .table-enhancer-as-on-print{
  display: none;
}
@media(max-width:1320px){
body.app-shell .oee-monitoring-page .page-head{
  grid-template-columns: 1fr;
  align-items: start;
}
body.app-shell .oee-monitoring-page .page-head > .actions{
  justify-content: flex-start;
}
body.app-shell .oee-monitoring-page .report-filter-bar{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
body.app-shell .oee-monitoring-page .report-filter-bar .btn{
  min-width: 0;
  width: 100%;
}
}
@media(max-width:980px){
body.app-shell .oee-monitoring-page .oee-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .oee-monitoring-page .oee-panel-grid{
  grid-template-columns: 1fr;
}
body.app-shell .oee-monitoring-page .report-filter-bar{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media(max-width:640px){
body.app-shell .oee-monitoring-page .oee-kpi-grid, body.app-shell .oee-monitoring-page .report-filter-bar, body.app-shell .oee-monitoring-page .form-grid.compact{
  grid-template-columns: 1fr;
}
body.app-shell .oee-monitoring-page .compact-scroll table{
  min-width: 680px;
}
}
body.app-shell .oee-monitoring-page .oee-filter-card{
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.app-shell .oee-monitoring-page .oee-entry-card h3, body.app-shell .oee-monitoring-page .card h3{
  margin-bottom: 12px;
  line-height: 1.2;
}
body.app-shell .oee-monitoring-page .oee-entry-card .input{
  min-height: 40px;
}
body.app-shell .oee-monitoring-page textarea.input{
  resize: vertical;
  min-height: 74px;
}
body.app-shell .oee-monitoring-page .table-enhancer{
  gap: 10px;
  align-items: center;
}
body.app-shell .oee-monitoring-page .table-enhancer-right{
  flex-wrap: wrap;
  gap: 8px;
}
body.app-shell .oee-monitoring-page .table-enhancer .btn.sm{
  min-height: 32px;
  padding: 6px 10px;
}
body.app-shell .oee-monitoring-page .compact-scroll{
  width: 100%;
  max-height: 420px;
  min-height: 220px;
  overflow: auto;
  border-radius: 16px;
  background: rgba(15,23,42,.02);
}
body.app-shell .oee-monitoring-page .compact-scroll td, body.app-shell .oee-monitoring-page .compact-scroll th{
  white-space: nowrap;
}
body.app-shell .oee-monitoring-page .compact-scroll td:nth-child(2), body.app-shell .oee-monitoring-page .compact-scroll td:nth-child(3){
  white-space: normal;
}
@media(max-width:1320px){
body.app-shell .oee-monitoring-page .report-filter-bar{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
body.app-shell .oee-monitoring-page .report-filter-bar .btn{
  width: 100%;
}
}
@media(max-width:760px){
body.app-shell .oee-monitoring-page .table-enhancer-top{
  align-items: stretch;
}
body.app-shell .oee-monitoring-page .table-enhancer-left,body.app-shell .oee-monitoring-page .table-enhancer-right{
  width: 100%;
  justify-content: flex-start;
}
body.app-shell .oee-monitoring-page .table-enhancer-right .btn{
  flex: 1 1 auto;
}
body.app-shell .oee-monitoring-page .metric-value{
  font-size: 1.35rem;
}
}
body.app-shell .quick-ops-wrap{
  position: relative;
}
body.app-shell .quick-ops-dropdown{
  min-width: min(420px,calc(100vw - 28px));
  padding: 14px;
}
body.app-shell .quick-ops-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
body.app-shell .quick-op-card{
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
  text-align: left;
  text-decoration: none;
  color: inherit;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel-alt);
  transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.app-shell .quick-op-card:hover{
  transform: translateY(-1px);
  border-color: color-mix(in srgb,var(--primary) 45%,var(--border));
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
body.app-shell .quick-op-card strong{
  font-size: .92rem;
  line-height: 1.2;
}
body.app-shell .quick-op-card span{
  font-size: .78rem;
  color: var(--shell-text-soft);
  line-height: 1.35;
}
body.app-shell .quick-op-card.success{
  border-color: color-mix(in srgb,#22c55e 40%,var(--border));
}
body.app-shell .quick-op-card.danger{
  border-color: color-mix(in srgb,#ef4444 40%,var(--border));
}
body.app-shell .quick-op-card.info{
  border-color: color-mix(in srgb,var(--primary) 35%,var(--border));
}
body.app-shell .quick-op-card.theme{
  cursor: pointer;
  width: 100%;
  font: inherit;
}
body.app-shell .topbar-mobile-quick-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  padding: 0 6px 6px;
  margin-top: 10px;
}
body.app-shell .topbar-mobile-action{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 13px;
  border-radius: 14px;
  border: 1px solid var(--shell-border);
  background: var(--shell-panel);
  color: var(--shell-text);
  font-weight: 700;
  min-height: 46px;
  white-space: normal;
  text-align: left;
}
body.app-shell .topbar-mobile-action strong, body.app-shell .topbar-mobile-action span{
  display: block;
  line-height: 1.25;
}
body.app-shell .topbar-mobile-action span{
  font-size: .76rem;
  color: var(--shell-text-soft);
  margin-top: 2px;
}
body.app-shell .news-public-page .news-card:hover{
  transform: translateY(-2px);
  border-color: color-mix(in srgb,var(--primary) 48%,var(--border));
}
body.app-shell .news-detail-image{
  width: 100%;
  max-height: 300px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 12px;
  border: 1px solid var(--border);
}
body.app-shell .news-detail-foot{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
body.app-shell .table-enhancer-date-strip[hidden]{
  display: none;
}
body.app-shell .table-enhancer-date-strip-title{
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--shell-text-soft);
  padding: 9px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--panel);
  align-self: center;
}
body.app-shell .table-enhancer-top .table-enhancer-date-range{
  display: none;
}
body.app-shell .machines-page .row-actions, body.app-shell .machine-page .row-actions, body.app-shell .machines-index-page .row-actions, body.app-shell table .row-actions{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
body.app-shell table .row-actions .btn, body.app-shell table .row-actions .icon-btn{
  flex: 0 0 auto;
}
body.app-shell .machines-page table td:last-child, body.app-shell .machine-page table td:last-child, body.app-shell .machines-index-page table td:last-child{
  white-space: nowrap;
}
body.app-shell .store-kiosk-page .summary-block{
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-alt);
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
  min-width: 0;
  overflow: hidden;
}
body.app-shell .store-kiosk-page .issue-setup-row{
  display: grid;
  grid-template-columns: minmax(170px,220px) minmax(0,1.5fr) minmax(220px,280px);
  gap: 12px;
  align-items: stretch;
}
body.app-shell .store-kiosk-page .issue-setup-row-bottom{
  margin-top: 12px;
  align-items: start;
  grid-template-columns: minmax(0,1.5fr) minmax(220px,280px);
}
body.app-shell .store-kiosk-page .issue-setup-row > div{
  min-width: 0;
}
body.app-shell .store-kiosk-page .kiosk-mode-option, body.app-shell .store-kiosk-page .kiosk-static-note{
  height: 100%;
}
body.app-shell .store-kiosk-page .kiosk-span-two{
  grid-column: auto;
}
.oee-chart-grid{
  margin-bottom: 16px;
}
.oee-chart-card{
  min-height: 310px;
}
.oee-svg-chart{
  min-height: 240px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-alt);
  padding: 8px;
  overflow: hidden;
}
.oee-svg-chart svg{
  width: 100%;
  height: 240px;
  display: block;
}
.oee-chart-axis{
  stroke: color-mix(in srgb,var(--shell-text-soft) 45%,transparent);
  stroke-width: 1;
}
.oee-chart-bar{
  fill: color-mix(in srgb,var(--primary) 72%,#5eead4 28%);
}
.oee-chart-line{
  fill: none;
  stroke: color-mix(in srgb,var(--primary) 80%,#5eead4 20%);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.oee-chart-dot{
  fill: var(--panel);
  stroke: var(--primary);
  stroke-width: 2;
}
.oee-chart-label{
  fill: var(--shell-text-soft);
  font-size: 10px;
  font-weight: 700;
}
.oee-chart-value{
  fill: var(--text);
  font-size: 11px;
  font-weight: 850;
}
.oee-chart-empty{
  height: 220px;
  display: grid;
  place-items: center;
  color: var(--shell-text-soft);
  border: 1px dashed var(--border);
  border-radius: 16px;
}
@media(max-width:900px){
body.app-shell .quick-ops-grid, body.app-shell .topbar-mobile-quick-grid{
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-date-strip{
  align-items: stretch;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-range, body.app-shell .table-enhancer-date-strip .table-enhancer-date-label, body.app-shell .table-enhancer-date-strip .input, body.app-shell .table-enhancer-date-strip .btn{
  width: 100%;
  min-width: 0;
}
body.app-shell .store-kiosk-page .issue-setup-row, body.app-shell .store-kiosk-page .issue-setup-row-bottom, body.app-shell .store-kiosk-page .kiosk-mode-switch{
  grid-template-columns: 1fr;
}
body.app-shell table .row-actions{
  flex-wrap: wrap;
}
}
@media (min-width: 1180px){
body.app-shell .metrics-grid:not(.process-metrics-grid):not(.oee-chart-grid){
  grid-template-columns: repeat(auto-fit,minmax(178px,1fr));
  align-items: stretch;
}
body.app-shell .metric-card{
  min-width: 0;
}
body.app-shell .metric-card .metric-value{
  font-size: clamp(1.9rem,3.1vw,2.85rem);
}
}
body.app-shell .store-kiosk-page .summary-row-blocks{
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  gap: 16px;
  align-items: stretch;
}
body.app-shell .store-kiosk-page .summary-row-blocks > .summary-block:nth-child(3){
  grid-column: 1 / -1;
  overflow: visible;
}
body.app-shell .store-kiosk-page .summary-row-blocks > .summary-block:nth-child(3) .issue-setup-row{
  grid-template-columns: minmax(190px,240px) minmax(420px,1.4fr) minmax(260px,320px);
  align-items: stretch;
}
body.app-shell .store-kiosk-page .summary-row-blocks > .summary-block:nth-child(3) .issue-setup-row-bottom{
  grid-template-columns: minmax(0,1.4fr) minmax(260px,320px);
}
body.app-shell .store-kiosk-page .kiosk-mode-switch{
  display: grid;
  grid-template-columns: repeat(2,minmax(220px,1fr));
  gap: 10px;
  align-items: stretch;
}
body.app-shell .store-kiosk-page .kiosk-mode-option strong, body.app-shell .store-kiosk-page .kiosk-mode-option small, body.app-shell .store-kiosk-page .kiosk-static-note strong, body.app-shell .store-kiosk-page .kiosk-static-note span{
  display: block;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}
body.app-shell .store-kiosk-page .kiosk-static-note{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  min-width: 0;
}
@media (max-width: 1180px){
body.app-shell .store-kiosk-page .summary-row-blocks, body.app-shell .store-kiosk-page .summary-row-blocks > .summary-block:nth-child(3) .issue-setup-row, body.app-shell .store-kiosk-page .summary-row-blocks > .summary-block:nth-child(3) .issue-setup-row-bottom, body.app-shell .store-kiosk-page .kiosk-mode-switch{
  grid-template-columns: 1fr;
}
}
body.app-shell .news-public-page .news-hero{
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr);
  gap: 18px;
  margin-bottom: 16px;
}
body.app-shell .news-public-page .news-lead-card{
  min-height: 260px;
  border-radius: 28px;
  padding: 24px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--panel) 82%),var(--panel-alt));
  box-shadow: 0 22px 60px rgba(15,23,42,.14);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  position: relative;
}
body.app-shell .news-public-page .news-lead-card::after{
  content: "";
  position: absolute;
  inset: auto -10% -38% 40%;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle,color-mix(in srgb,var(--primary) 25%,transparent),transparent 70%);
  pointer-events: none;
}
body.app-shell .news-public-page .news-lead-card > *{
  position: relative;
  z-index: 1;
}
body.app-shell .news-public-page .news-lead-card .news-card-type{
  font-size: .78rem;
  letter-spacing: .1em;
  font-weight: 950;
  text-transform: uppercase;
  color: var(--primary);
}
body.app-shell .news-public-page .news-lead-card h3{
  font-size: clamp(1.55rem,3.2vw,2.45rem);
  line-height: 1.04;
  margin: 8px 0 10px;
}
body.app-shell .news-public-page .news-side-list{
  display: grid;
  gap: 12px;
}
body.app-shell .news-public-page .news-side-item{
  border: 1px solid var(--border);
  background: var(--panel);
  border-radius: 20px;
  padding: 14px;
  text-align: left;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 6px;
}
body.app-shell .news-public-page .news-side-item:hover,.news-card:hover{
  border-color: color-mix(in srgb,var(--primary) 50%,var(--border));
  transform: translateY(-2px);
}
body.app-shell .news-public-page .news-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
  gap: 16px;
  align-items: stretch;
}
body.app-shell .news-public-page .news-card{
  width: 100%;
  min-height: 210px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel-alt) 86%,var(--primary) 14%));
  color: inherit;
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  cursor: pointer;
  transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
body.app-shell .news-public-page .news-card strong{
  font-size: 1.12rem;
  line-height: 1.22;
}
body.app-shell .news-public-page .news-meta-row{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: auto;
}
body.app-shell .news-public-page .news-card-meta{
  margin-top: 0;
  font-size: .78rem;
  color: var(--muted);
}
@media(max-width:900px){
body.app-shell .news-public-page .news-hero{
  grid-template-columns: 1fr;
}
body.app-shell .news-public-page .news-lead-card{
  min-height: 220px;
}
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-strip-title{
  display: none;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-column-label[hidden], body.app-shell .table-enhancer-date-strip .table-enhancer-range-label[hidden]{
  display: none;
}
@media(max-width:1100px){
body.app-shell .table-enhancer-date-strip{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{
  grid-column: 1/-1;
}
}
@media(max-width:720px){
body.app-shell .table-enhancer-date-strip{
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions .btn{
  width: 100%;
}
}
body.app-shell .station-alert-fix-card{
  display: grid;
  gap: 8px;
  min-width: 260px;
}
body.app-shell .station-alert-responsible{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.app-shell .station-alert-quick-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body.app-shell .grid.five{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 16px;
}
@media(max-width:1100px){
body.app-shell .grid.five{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media(max-width:720px){
body.app-shell .grid.five{
  grid-template-columns: 1fr;
}
}
html, body{
  background-color: var(--bg);
  color: var(--text);
  min-height: 100%;
  height: auto;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body.app-shell{
  font-family: var(--shell-font);
  background: var(--bg);
  color: var(--text);
  padding-left: 0;
  padding-bottom: max(0px, env(safe-area-inset-bottom));
  min-height: 100dvh;
  overflow-x: hidden;
  padding: 0;
}
body.app-shell .app-frame{
  width: 100%;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: var(--rev230-sidebar-w) minmax(0,1fr);
  grid-template-rows: minmax(var(--rev230-topbar-min-h),auto) minmax(0,1fr) auto;
  grid-template-areas: "sidebar topbar" "sidebar content" "sidebar footer";
  gap: var(--rev230-frame-gap);
  padding: var(--rev230-frame-pad);
  box-sizing: border-box;
  align-items: start;
  background: radial-gradient(circle at 0 0,color-mix(in srgb,var(--primary) 10%,transparent),transparent 30%),radial-gradient(circle at 100% 0,color-mix(in srgb,var(--primary-hover) 7%,transparent),transparent 28%),var(--bg);
}
html[data-theme="light"] body.app-shell .app-frame{
  background: radial-gradient(circle at 0 0,rgba(0,169,204,.06),transparent 30%),radial-gradient(circle at 100% 0,rgba(0,191,165,.05),transparent 28%),var(--bg);
}
body.app-shell.sidebar-collapsed .app-frame{
  grid-template-columns: var(--rev230-sidebar-collapsed-w) minmax(0,1fr);
}
body.app-shell .sidebar.sidebar--neo,body.app-shell .sidebar{
  grid-area: sidebar;
  position: sticky;
  inset: auto;
  top: var(--rev230-frame-pad);
  left: auto;
  bottom: auto;
  width: 100%;
  height: calc(100dvh - (var(--rev230-frame-pad) * 2));
  max-height: calc(100dvh - (var(--rev230-frame-pad) * 2));
  transform: none;
  border-radius: 24px;
  z-index: 40;
  overflow: hidden;
  align-self: start;
  box-shadow: 0 18px 42px rgba(15,23,42,.10);
}
body.app-shell .sidebar-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  gap: 10px;
}
body.app-shell .topbar{
  position: sticky;
  left: auto;
  right: auto;
  top: var(--rev230-frame-pad);
  height: auto;
  padding: 10px 16px;
  gap: 16px;
  background: var(--shell-topbar-bg);
  backdrop-filter: none;
  border-bottom: 1px solid var(--shell-topbar-line);
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
  z-index: 35;
  min-height: var(--rev230-topbar-min-h);
  transition: left .22s ease;
  -webkit-backdrop-filter: none;
  grid-area: topbar;
  width: 100%;
  min-width: 0;
  margin: 0;
}
body.app-shell .content{
  min-height: calc(100dvh - var(--rev230-topbar-min-h) - 72px);
  margin-left: var(--fix-sidebar-w);
  padding: 0 0 16px 0;
  overflow-x: hidden;
  position: relative;
  transition: margin-left .22s ease;
  overscroll-behavior: auto;
  overflow: visible;
  overflow-y: visible;
  grid-area: content;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}
body.app-shell .content>.page,body.app-shell .content>.dashboard-pro,body.app-shell .content>.dashboard-shell,body.app-shell .content>.station-page-shell{
  width: 100%;
  max-width: 100%;
  margin: 0;
}
body.app-shell .app-footer{
  margin-left: var(--fix-sidebar-w);
  padding: 0 0 2px 0;
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  transition: margin-left .22s ease;
  grid-area: footer;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
body.app-shell .app-footer-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px solid var(--shell-border);
  background: var(--shell-panel);
  width: 100%;
  box-sizing: border-box;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,body.app-shell.sidebar-collapsed .sidebar{
  width: var(--rev230-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo,body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within,body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar,body.app-shell.sidebar-collapsed .sidebar:hover,body.app-shell.sidebar-collapsed .sidebar:focus-within{
  width: var(--rev230-sidebar-w);
  z-index: 90;
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero,body.app-shell .card,body.app-shell .table-card,body.app-shell .metric-card{
  max-width: 100%;
  box-sizing: border-box;
}
body.app-shell .grid,body.app-shell .form-grid,body.app-shell .split-grid,body.app-shell .metrics-grid,body.app-shell .entity-card-grid,body.app-shell .compact-hero-grid,body.app-shell .hero-kpis{
  min-width: 0;
}
body.app-shell .page-head{
  padding: 14px 16px;
  border-radius: 22px;
  background: linear-gradient(90deg,#3a65a8,#72b8d4);
  border: 1px solid rgba(255,255,255,.12);
  gap: 12px;
  align-items: flex-start;
}
body.app-shell .page-head>div,body.app-shell .hero-head,body.app-shell .section-head,body.app-shell .queue-head{
  min-width: 0;
}
body.app-shell .table-card,body.app-shell .table-wrap{
  overflow: hidden;
}
body.app-shell .table-wrap>table,body.app-shell .table-wrap .table{
  max-width: none;
}
body.app-shell .metrics-grid,body.app-shell .inventory-kpi-grid,body.app-shell .line-side-inventory-metrics,body.app-shell .hero-kpis{
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
}
body.app-shell .metric-card{
  padding: 18px 18px 16px;
  min-height: 104px;
}
body.app-shell .metric-card .metric-value{
  font-size: clamp(1.7rem,2.15vw,2.55rem);
}
body.app-shell .table-summary,body.app-shell .table-enhancer,body.app-shell .table-enhancer-left,body.app-shell .table-enhancer-right,body.app-shell .toolbar-form,body.app-shell .actions,body.app-shell .row-actions{
  min-width: 0;
}
body.app-shell .table-enhancer-search,body.app-shell .toolbar-search,body.app-shell .input,body.app-shell input,body.app-shell select,body.app-shell textarea{
  max-width: 100%;
}
@media (min-width:1181px) and (max-width:1439px){
:root{
  --rev230-sidebar-w: 292px;
  --rev230-frame-gap: 10px;
  --rev230-frame-pad: 10px;
}
body.app-shell .topbar-title{
  font-size: 1.05rem;
}
}
@media (min-width:1920px){
:root{
  --rev230-sidebar-w: 326px;
  --rev230-frame-gap: 16px;
  --rev230-frame-pad: 16px;
}
body.app-shell .content>.page,body.app-shell .content>.dashboard-pro,body.app-shell .content>.dashboard-shell{
  max-width: none;
}
}
@media (max-width:1180px){
body.app-shell .app-frame{
  display: block;
  min-height: 100dvh;
  padding: 0;
  background: var(--bg);
}
body.app-shell .sidebar.sidebar--neo,body.app-shell .sidebar{
  position: fixed;
  top: 10px;
  left: 10px;
  bottom: 10px;
  width: min(92vw,360px);
  max-width: 360px;
  height: auto;
  max-height: calc(100dvh - 20px);
  transform: translateX(-112%);
  border-radius: 24px;
  z-index: 1510;
}
body.app-shell.sidebar-open .sidebar.sidebar--neo,body.app-shell.sidebar-open .sidebar{
  transform: translateX(0);
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,body.app-shell.sidebar-collapsed .sidebar,body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,body.app-shell.sidebar-collapsed .sidebar:hover{
  width: min(92vw,360px);
}
body.app-shell .topbar{
  position: sticky;
  top: var(--hosting-banner-height,0px);
  left: 0;
  right: 0;
  width: 100%;
  border-radius: 0 0 22px 22px;
  min-height: var(--asm360-topbar-h,var(--rev230-topbar-min-h));
  margin: 0;
}
body.app-shell .content{
  margin: 0;
  padding: calc(var(--asm360-topbar-h,74px) + var(--hosting-banner-height,0px) + 14px) 14px calc(var(--mobile-dock-height,96px) + 34px);
  min-height: calc(100dvh - var(--asm360-topbar-h,74px));
  overflow: visible;
}
body.app-shell .app-footer{
  display: none;
}
}
@media (max-width:767px){
body.app-shell .content{
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: calc(var(--mobile-dock-height,96px) + 28px);
}
body.app-shell .page{
  gap: 14px;
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero,body.app-shell .card,body.app-shell .table-card{
  border-radius: 18px;
}
body.app-shell .metrics-grid,body.app-shell .inventory-kpi-grid,body.app-shell .line-side-inventory-metrics,body.app-shell .hero-kpis,body.app-shell .entity-card-grid,body.app-shell .compact-hero-grid{
  grid-template-columns: 1fr;
}
body.app-shell .page-head .actions,body.app-shell .actions,body.app-shell .row-actions{
  width: 100%;
}
body.app-shell .page-head .actions .btn,body.app-shell .actions .btn,body.app-shell .row-actions .btn{
  flex: 1 1 160px;
}
body.app-shell .table-wrap>table,body.app-shell .table-wrap .table{
  min-width: max(760px,100%);
}
}
@media (max-width:480px){
body.app-shell .content{
  padding-left: 8px;
  padding-right: 8px;
}
body.app-shell .topbar{
  padding: 9px 10px;
  gap: 8px;
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero,body.app-shell .card,body.app-shell .table-card{
  padding: 14px;
}
}
@media print{
body.app-shell .app-frame{
  display: block;
  padding: 0;
  background: #fff;
}
body.app-shell .sidebar,body.app-shell .topbar,body.app-shell .mobile-ev-dock,body.app-shell .app-footer{
  display: none;
}
body.app-shell .content{
  padding: 0;
  margin: 0;
  min-height: auto;
}
}
@media (min-width:1181px){
body.app-shell .app-frame{
  position: relative;
  grid-template-columns: var(--rev230-sidebar-w) minmax(0,1fr);
}
body.app-shell.sidebar-collapsed .app-frame{
  grid-template-columns: var(--rev230-sidebar-collapsed-w) minmax(0,1fr);
}
body.app-shell .sidebar.sidebar--neo, body.app-shell .sidebar{
  position: fixed;
  top: var(--rev230-frame-pad);
  left: var(--rev230-frame-pad);
  bottom: auto;
  right: auto;
  width: var(--rev230-sidebar-w);
  height: calc(100dvh - (var(--rev230-frame-pad) * 2));
  max-height: calc(100dvh - (var(--rev230-frame-pad) * 2));
  transform: none;
  align-self: auto;
  overflow: hidden;
  z-index: 90;
  will-change: auto;
}
body.app-shell .sidebar-inner{
  height: 100%;
  max-height: 100%;
  min-height: 0;
}
body.app-shell .sidebar-body{
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo, body.app-shell.sidebar-collapsed .sidebar{
  width: var(--rev230-sidebar-collapsed-w);
}
body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover, body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within, body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar, body.app-shell.sidebar-collapsed .sidebar:hover, body.app-shell.sidebar-collapsed .sidebar:focus-within{
  width: var(--rev230-sidebar-w);
  z-index: 120;
}
}
@media (max-width:575px){
body.app-shell .topbar{
  grid-template-columns: auto minmax(0,1fr) auto auto;
}
body.app-shell .topbar-mobile-menu-wrap{
  display: block;
}
body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
}
body.app-shell .mobile-dock-toggle{
  display: none;
}
@media (max-width:1180px){
body.app-shell{
  --mobile-dock-handle-gap: 18px;
}
body.app-shell .mobile-dock-toggle{
  display: inline-flex;
  position: fixed;
  left: 12px;
  bottom: calc(env(safe-area-inset-bottom,0px) + 10px);
  z-index: 1492;
  width: 64px;
  height: 20px;
  min-height: 20px;
  border: 1px solid var(--shell-border);
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb,var(--shell-panel) 94%, transparent);
  box-shadow: 0 10px 24px rgba(15,23,42,.14);
  backdrop-filter: blur(12px);
}
body.app-shell .mobile-dock-toggle span{
  display: block;
  width: 28px;
  height: 4px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--shell-primary) 55%, var(--shell-text-2));
}
body.app-shell .mobile-ev-dock{
  transform: translateY(calc(100% - var(--mobile-dock-handle-gap)));
  opacity: .98;
  pointer-events: none;
}
body.app-shell.mobile-dock-open .mobile-ev-dock{
  transform: translateY(0);
  pointer-events: auto;
}
body.app-shell.mobile-dock-open .mobile-dock-toggle{
  bottom: calc(var(--mobile-dock-height,86px) + env(safe-area-inset-bottom,0px) + 6px);
}
body.app-shell:not(.mobile-dock-open) .mobile-ev-dock a, body.app-shell:not(.mobile-dock-open) .mobile-ev-dock button{
  pointer-events: none;
}
body.app-shell.sidebar-open .mobile-ev-dock, body.app-shell.modal-open .mobile-ev-dock, body.app-shell.shell-overlay-open .mobile-ev-dock, body.app-shell.sidebar-open .mobile-dock-toggle, body.app-shell.modal-open .mobile-dock-toggle{
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
}
body.app-shell .sidebar-backdrop{
  touch-action: manipulation;
}
body.app-shell a, body.app-shell button, body.app-shell .btn, body.app-shell .nav-link, body.app-shell .nav-group-head, body.app-shell .topbar-icon, body.app-shell .icon-btn, body.app-shell .row-actions a, body.app-shell .row-actions button{
  min-height: 44px;
}
body.app-shell .table .row-actions a, body.app-shell .table .row-actions button, body.app-shell .table .btn{
  min-height: 36px;
  touch-action: manipulation;
}
body.app-shell .sidebar .nav-link, body.app-shell .sidebar .nav-group-head{
  min-height: 48px;
}
body.app-shell .topbar-mobile-menu{
  width: min(94vw,440px);
  max-width: min(94vw,440px);
  right: 8px;
  left: auto;
}
body.app-shell .topbar-mobile-nav-card, body.app-shell .topbar-mobile-action{
  min-height: 52px;
}
}
@media (min-width:1181px){
body.app-shell .mobile-dock-toggle{
  display: none;
}
}
body.app-shell .row-actions, body.app-shell .table-actions, body.app-shell td.actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
body.app-shell .row-actions .btn, body.app-shell .table-actions .btn, body.app-shell td.actions .btn{
  white-space: nowrap;
}
body.app-shell .table th, body.app-shell .table td{
  vertical-align: middle;
}
@media (min-width: 900px){
body.app-shell .grid.two, body.app-shell .form-grid.two, body.app-shell .two-col, body.app-shell .users-top-grid, body.app-shell .qms-card-grid, body.app-shell .qms-top-card-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  align-items: start;
}
body.app-shell .grid.three, body.app-shell .three-col, body.app-shell .compact-hero-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
body.app-shell .grid.four, body.app-shell .four-col, body.app-shell .metrics-grid, body.app-shell .report-summary-grid, body.app-shell .standardized-kpi-strip, body.app-shell .inventory-kpi-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 16px;
}
body.app-shell .grid.five, body.app-shell .five-col{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 14px;
}
}
@media (min-width: 1240px){
body.app-shell .metrics-grid.standardized-kpi-strip, body.app-shell .report-summary-grid.standardized-kpi-strip{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
}
@media (max-width: 899px){
body.app-shell .grid.two, body.app-shell .form-grid.two, body.app-shell .two-col, body.app-shell .users-top-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .card, body.app-shell .metric-card, body.app-shell .table-card{
  min-width: 0;
}
body.app-shell .role-template-note{
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  margin-top: 12px;
}
body.app-shell .role-template-note .pill{
  justify-content: center;
  min-height: 34px;
}
body.app-shell .hero-panel .eyebrow{
  color: rgb(124 137 151 / 92%);
}
.fullscreen-resume-btn{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 120;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(235, 235, 234, .92);
  color: var(--text);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
  backdrop-filter: blur(10px);
}
body.app-shell .page-head .muted{
  max-width: 820px;
}
body.app-shell .page-head .muted.is-brief, body.app-shell .production-brief{
  display: none;
}
body.app-shell .filter-card, body.app-shell .table-card > form.toolbar-form, body.app-shell form.report-filter-strip{
  padding: 12px 14px;
  margin-bottom: 14px;
}
body.app-shell .filter-card .report-filter-grid, body.app-shell .filter-card .grid.report-filter-grid, body.app-shell form.report-filter-strip .report-filter-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(132px,1fr));
  gap: 10px;
  align-items: end;
}
@media (min-width:1200px){
body.app-shell .filter-card .grid.six.report-filter-grid{
  grid-template-columns: 1fr 1fr 1fr 1fr 1.5fr auto;
}
body.app-shell .filter-card .grid.seven.report-filter-grid{
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1.6fr auto;
}
}
body.app-shell .filter-card .label, body.app-shell form.report-filter-strip .label{
  font-size: .68rem;
  margin-bottom: 4px;
  letter-spacing: .12em;
}
body.app-shell .filter-card .input, body.app-shell form.report-filter-strip .input{
  min-height: 38px;
  padding: 8px 12px;
}
body.app-shell .filter-card .btn, body.app-shell form.report-filter-strip .btn{
  min-height: 38px;
  padding: 8px 14px;
}
body.app-shell .filter-action-cell{
  display: flex;
  align-items: end;
}
body.app-shell .compact-register-table{
  min-width: 980px;
}
body.app-shell .compact-register-table td, body.app-shell .compact-register-table th{
  white-space: nowrap;
}
body.app-shell .compact-register-table .wrap-cell{
  white-space: normal;
  min-width: 220px;
}
body.app-shell .record-detail-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 12px;
}
body.app-shell .record-detail-item{
  border: 1px solid var(--shell-border);
  border-radius: 14px;
  padding: 10px 12px;
  background: color-mix(in srgb,var(--shell-panel) 92%, transparent);
}
body.app-shell .record-detail-item strong{
  display: block;
  font-size: .72rem;
  color: var(--shell-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 5px;
}
body.app-shell .record-detail-item span, body.app-shell .record-detail-item p{
  margin: 0;
  color: var(--shell-text);
  line-height: 1.45;
}
body.app-shell .dashboard-insight-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr .9fr;
  gap: 14px;
  margin-top: 14px;
}
body.app-shell .micro-chart{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.app-shell .micro-bar-row{
  display: grid;
  grid-template-columns: 96px minmax(0,1fr) 42px;
  gap: 10px;
  align-items: center;
  font-size: .82rem;
}
body.app-shell .micro-bar-track{
  height: 12px;
  border-radius: 999px;
  background: rgba(148,163,184,.22);
  overflow: hidden;
}
body.app-shell .micro-bar-fill{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--primary),var(--success));
}
body.app-shell .calendar-mini-list{
  display: grid;
  gap: 8px;
}
body.app-shell .calendar-mini-item{
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--shell-border);
  border-radius: 14px;
  padding: 9px 10px;
  background: color-mix(in srgb,var(--shell-panel) 94%, transparent);
}
body.app-shell .calendar-mini-date{
  min-width: 46px;
  text-align: center;
  border-radius: 12px;
  padding: 6px 4px;
  background: color-mix(in srgb,var(--primary) 12%, transparent);
  font-weight: 800;
}
body.app-shell .calendar-mini-date small{
  display: block;
  font-size: .65rem;
  color: var(--shell-muted);
  text-transform: uppercase;
}
@media (max-width:1100px){
body.app-shell .dashboard-insight-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .field-invalid, body.app-shell form.was-validated :invalid{
  border-color: var(--danger);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--danger) 18%, transparent);
}
body.app-shell .field-validation-banner{
  border: 1px solid color-mix(in srgb,var(--danger) 35%, transparent);
  background: color-mix(in srgb,var(--danger) 10%, var(--shell-panel));
  color: var(--shell-text);
  border-radius: 16px;
  padding: 10px 12px;
  margin: 0 0 12px;
  font-weight: 700;
}
body.app-shell .field-help-required{
  display: block;
  margin-top: 4px;
  font-size: .72rem;
  color: var(--danger);
}
body.app-shell .toolbar-form.filter-card, body.app-shell form.report-filter-strip, body.app-shell .card.toolbar-form.filter-card{
  display: block;
  min-height: 0;
  height: auto;
  padding: 12px 14px;
  overflow: visible;
}
body.app-shell .toolbar-form.filter-card > .grid, body.app-shell form.report-filter-strip > .grid, body.app-shell .compact-filter-grid{
  width: 100%;
  display: grid;
  align-items: end;
  gap: 10px;
}
body.app-shell .grid.five.report-filter-grid, body.app-shell .grid.five.compact-filter-grid{
  grid-template-columns: minmax(140px,.9fr) minmax(140px,.9fr) minmax(150px,.9fr) minmax(220px,1.4fr) auto;
}
body.app-shell .report-filter-grid .input, body.app-shell .compact-filter-grid .input{
  min-height: 40px;
  padding: 8px 12px;
  width: 100%;
  max-width: none;
}
body.app-shell .report-filter-grid .btn, body.app-shell .compact-filter-grid .btn{
  min-height: 40px;
  white-space: nowrap;
}
body.app-shell .report-filter-grid .label, body.app-shell .compact-filter-grid .label{
  margin-bottom: 5px;
  font-size: .68rem;
  letter-spacing: .12em;
}
body.app-shell .table-summary.sticky-tools, body.app-shell .card > .table-summary.sticky-tools{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}
body.app-shell .table-summary.sticky-tools > div:first-child{
  flex: 1 1 260px;
  min-width: 220px;
}
body.app-shell .table-summary.sticky-tools .table-tools, body.app-shell .table-tools.toolbar-compact-ready{
  width: auto;
  max-width: 100%;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
}
body.app-shell .table-summary.sticky-tools .table-tools > .input, body.app-shell .table-tools.toolbar-compact-ready > .input{
  width: min(280px,100%);
  min-width: 220px;
  max-width: 280px;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form, body.app-shell .table-summary.sticky-tools .inline-form{
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
  width: auto;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form .input, body.app-shell .table-summary.sticky-tools .inline-form .input{
  width: 180px;
  max-width: 180px;
  min-width: 160px;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form .btn, body.app-shell .table-summary.sticky-tools .inline-form .btn{
  width: auto;
  white-space: nowrap;
}
body.app-shell .debit-notes-page > .grid.two, body.app-shell .debit-notes-page .debit-note-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .debit-notes-page .debit-note-card{
  overflow: hidden;
}
body.app-shell .debit-notes-page .table-action-form{
  justify-content: flex-end;
  margin: 0;
}
body.app-shell .connected-blocks{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 14px;
  position: relative;
}
body.app-shell .connected-block-card{
  position: relative;
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 132px;
  text-decoration: none;
  color: var(--text);
  padding: 16px;
  border: 1px solid var(--shell-border, var(--border));
  border-radius: 22px;
  background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,transparent),transparent 42%),var(--shell-panel,var(--panel));
  box-shadow: 0 14px 34px rgba(15,23,42,.07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
}
body.app-shell .connected-block-card::after{
  content: "";
  position: absolute;
  right: -24px;
  top: 18px;
  width: 78px;
  height: 78px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb,var(--primary) 26%,transparent);
  background: color-mix(in srgb,var(--primary) 7%,transparent);
  pointer-events: none;
}
body.app-shell .connected-block-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(15,23,42,.11);
  border-color: color-mix(in srgb,var(--primary) 38%,var(--shell-border,var(--border)));
}
body.app-shell .connected-block-card .block-step, body.app-shell .block-step{
  width: max-content;
  min-width: 42px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 14%,transparent);
  color: var(--primary);
  font-weight: 900;
  font-size: .78rem;
  letter-spacing: .08em;
}
body.app-shell .connected-block-card strong{
  font-size: 1rem;
  letter-spacing: -.02em;
}
body.app-shell .inventory-rule-grid{
  margin-top: 2px;
}
body.app-shell .timeline-list.compact-timeline{
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
body.app-shell .timeline-list.compact-timeline > div{
  display: grid;
  grid-template-columns: 160px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid var(--shell-border,var(--border));
  border-radius: 14px;
  background: color-mix(in srgb,var(--shell-panel,var(--panel)) 92%, transparent);
}
body.app-shell .timeline-list.compact-timeline strong{
  color: var(--text);
}
body.app-shell .timeline-list.compact-timeline span{
  color: var(--muted);
  line-height: 1.45;
}
body.app-shell .mini-station-selector .connected-block-card{
  min-height: 122px;
}
body.app-shell .mini-station-selector .pill{
  width: max-content;
}
body.app-shell .iqc-queue-table-card .table-wrap, body.app-shell .debit-notes-page .table-wrap{
  overflow-x: auto;
  overflow-y: visible;
}
body.app-shell .fullscreen-resume-btn{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 120;
  min-height: 42px;
  border-radius: 999px;
  background: rgba(235, 235, 234, .92);
  color: var(--text);
  box-shadow: 0 14px 34px rgba(15,23,42,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
@media (max-width:1180px){
body.app-shell .grid.five.report-filter-grid, body.app-shell .grid.five.compact-filter-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:760px){
body.app-shell .grid.five.report-filter-grid, body.app-shell .grid.five.compact-filter-grid, body.app-shell .debit-notes-page > .grid.two, body.app-shell .debit-notes-page .debit-note-kpis, body.app-shell .timeline-list.compact-timeline > div{
  grid-template-columns: 1fr;
}
body.app-shell .table-summary.sticky-tools .table-tools, body.app-shell .table-tools.toolbar-compact-ready, body.app-shell .table-tools.toolbar-compact-ready .inline-form, body.app-shell .table-summary.sticky-tools .inline-form{
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
  flex-wrap: wrap;
}
body.app-shell .table-summary.sticky-tools .table-tools > .input, body.app-shell .table-tools.toolbar-compact-ready > .input, body.app-shell .table-tools.toolbar-compact-ready .inline-form .input, body.app-shell .table-summary.sticky-tools .inline-form .input{
  width: 100%;
  max-width: none;
}
}
body.app-shell .table-summary.toolbar-compact-ready, body.app-shell .table-summary{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
body.app-shell .table-summary.toolbar-compact-ready > div:first-child, body.app-shell .table-summary > div:first-child{
  flex: 1 1 260px;
  min-width: 220px;
}
body.app-shell .table-tools.toolbar-compact-ready, body.app-shell .table-summary .table-tools, body.app-shell .standalone-table-tools{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
body.app-shell .table-tools.toolbar-compact-ready .input, body.app-shell .table-summary .table-tools .input, body.app-shell .standalone-table-tools .input{
  width: min(280px,100%);
  max-width: 280px;
  min-width: 200px;
  min-height: 40px;
}
body.app-shell .filter-card-compact{
  min-height: 0;
  padding: 16px;
  overflow: visible;
}
body.app-shell form.compact-filter-auto{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) auto;
  align-items: end;
  gap: 10px;
  width: 100%;
  margin: 0;
}
body.app-shell form.compact-filter-auto .compact-filter-cell, body.app-shell form.compact-filter-auto > div, body.app-shell form.compact-filter-auto > label{
  min-width: 0;
  margin: 0;
}
body.app-shell form.compact-filter-auto .label, body.app-shell form.compact-filter-auto label{
  margin-bottom: 5px;
  font-size: .68rem;
  letter-spacing: .12em;
}
body.app-shell form.compact-filter-auto .input, body.app-shell form.compact-filter-auto select, body.app-shell form.compact-filter-auto input:not([type=hidden]), body.app-shell form.compact-filter-auto textarea{
  width: 100%;
  max-width: none;
  min-height: 40px;
  padding: 8px 12px;
}
body.app-shell form.compact-filter-auto .btn, body.app-shell form.compact-filter-auto button, body.app-shell form.compact-filter-auto input[type=submit]{
  min-height: 40px;
  white-space: nowrap;
}
body.app-shell .page > .card:empty, body.app-shell .card > .table-wrap:empty{
  display: none;
}
body.app-shell .table td.actions-col, body.app-shell .table th.actions-col{
  white-space: nowrap;
}
@media (max-width:760px){
body.app-shell .table-summary.toolbar-compact-ready, body.app-shell .table-summary{
  align-items: flex-start;
}
body.app-shell .table-tools.toolbar-compact-ready, body.app-shell .table-summary .table-tools, body.app-shell .standalone-table-tools{
  width: 100%;
  justify-content: flex-start;
  margin-left: 0;
}
body.app-shell .table-tools.toolbar-compact-ready .input, body.app-shell .table-summary .table-tools .input, body.app-shell .standalone-table-tools .input{
  width: 100%;
  max-width: none;
}
body.app-shell form.compact-filter-auto{
  grid-template-columns: 1fr;
}
}
body.app-shell .uat-readiness-page .uat-hero{
  display: grid;
  grid-template-columns: minmax(0,1fr) 220px;
  gap: 16px;
  align-items: stretch;
  margin: 14px 0;
}
body.app-shell .uat-readiness-page .uat-hero-main, body.app-shell .uat-readiness-page .uat-score-card{
  border: 1px solid var(--border);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(246,249,252,.78));
  box-shadow: var(--shadow-sm);
  padding: 18px;
}
body.app-shell[data-theme="dark"] .uat-readiness-page .uat-hero-main, body.app-shell[data-theme="dark"] .uat-readiness-page .uat-score-card{
  background: linear-gradient(135deg, rgba(23,31,45,.94), rgba(13,21,33,.82));
}
body.app-shell .uat-readiness-page .hero-title{
  font-size: clamp(1.35rem,2vw,2rem);
  font-weight: 850;
  letter-spacing: -.035em;
  margin: .25rem 0 .35rem;
}
body.app-shell .uat-readiness-page .hero-text{
  color: var(--muted);
  max-width: 900px;
}
body.app-shell .uat-readiness-page .hero-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
body.app-shell .uat-readiness-page .uat-score-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
body.app-shell .uat-readiness-page .score-ring{
  width: 112px;
  height: 112px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  box-shadow: inset 0 0 0 10px rgba(44,123,229,.08), var(--shadow-sm);
  margin-bottom: 10px;
}
body.app-shell .uat-readiness-page .score-ring span{
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: -.04em;
}
body.app-shell .uat-process-chain{
  margin-top: 14px;
}
body.app-shell .uat-card .table td{
  vertical-align: middle;
}
@media (max-width: 860px){
body.app-shell .uat-readiness-page .uat-hero{
  grid-template-columns: 1fr;
}
body.app-shell .uat-readiness-page .uat-score-card{
  align-items: flex-start;
  text-align: left;
}
}
.uat-sql-profiles{
  margin: 14px 0;
  padding: 16px;
  border-radius: 22px;
  overflow: hidden;
}
.sql-profile-chain{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  position: relative;
}
.sql-profile-card{
  position: relative;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.74));
  box-shadow: var(--shadow-sm);
}
.sql-profile-card:after{
  content: "";
  position: absolute;
  top: 50%;
  right: -13px;
  width: 14px;
  height: 2px;
  background: var(--border);
}
.sql-profile-card:last-child:after{
  display: none;
}
.sql-profile-card.warn{
  background: linear-gradient(135deg,rgba(255,251,235,.92),rgba(255,247,237,.74));
}
.dark .sql-profile-card{
  background: linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.7));
}
.dark .sql-profile-card.warn{
  background: linear-gradient(135deg,rgba(69,47,9,.82),rgba(67,56,20,.62));
}
@media(max-width:900px){
.sql-profile-chain{
  grid-template-columns: 1fr;
}
.sql-profile-card:after{
  display: none;
}
}
body.app-shell .store-kiosk-page #bomModeInlineWrap{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
body.app-shell .store-kiosk-page #bomModeInlineWrap[hidden]{
  display: none;
}
body.app-shell .news-public-page .news-card, body.app-shell .news-public-page .news-side-item{
  min-height: 168px;
  max-height: 230px;
  overflow: hidden;
}
body.app-shell .news-public-page .news-card-short{
  color: var(--shell-text-soft);
  font-size: .94rem;
  line-height: 1.48;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.app-shell .news-public-page .news-lead-card .news-card-short{
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.app-shell .news-public-page .news-card-type{
  align-self: flex-start;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--primary);
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--border));
  background: color-mix(in srgb,var(--primary) 9%,transparent);
  border-radius: 999px;
  padding: 4px 8px;
}
.geo-vendor-marker-wrap,.geo-pack-marker-wrap{
  background: transparent;
  border: none;
}
.geo-icon-marker{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 17px;
  line-height: 1;
  border: 1px solid color-mix(in srgb,var(--primary) 45%,var(--border));
  box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent),0 14px 28px rgba(15,23,42,.22);
  animation: geoIconPulse 2.6s ease-in-out infinite;
}
.geo-pack-marker{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg,#ecfeff 0%,#dbeafe 100%);
  border: 1px solid #7dd3fc;
  box-shadow: 0 10px 20px rgba(15,23,42,.18);
  font-size: 16px;
  line-height: 1;
  border-color: #7dd3fc;
}
.geo-vendor-marker{
  background: linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
  border-color: #fdba74;
}
.geo-electric-route{
  filter: drop-shadow(0 0 5px currentColor) drop-shadow(0 0 12px rgba(56,189,248,.45));
  stroke-linecap: round;
  animation: geoElectricDash 1.4s linear infinite;
}
.geo-electric-dot{
  filter: drop-shadow(0 0 8px #fff) drop-shadow(0 0 14px currentColor);
}
.geo-electric-halo{
  filter: drop-shadow(0 0 14px currentColor);
}
@keyframes geoElectricDash{
to{stroke-dashoffset:-36;}
}
@keyframes geoIconPulse{
0%,100%{transform:translateY(0) scale(1);filter:saturate(1);}50%{transform:translateY(-1px) scale(1.06);filter:saturate(1.25);}
}
body.app-shell .station-pack-badges .pill.warn{
  box-shadow: 0 0 0 3px color-mix(in srgb,#f59e0b 12%,transparent);
}
.micro-chart--station-scroll{
  max-height: 360px;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
}
.calendar-mini-actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.slim-info-card.upstream-takt-pill{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(56,189,248,.22);
  background: linear-gradient(135deg,rgba(240,249,255,.92),rgba(255,255,255,.72));
}
body.dark .slim-info-card.upstream-takt-pill{
  background: linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.72));
}
.record-detail-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 12px;
}
.record-detail-item{
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--card-soft,rgba(248,250,252,.72));
}
.record-detail-item p{
  margin: .35rem 0 0;
  white-space: normal;
}
body.app-shell .sidebar-backdrop{
  z-index: 3990;
  background: rgba(2,8,18,.42);
  opacity: 1;
}
body.app-shell.sidebar-open .sidebar,body.app-shell.sidebar-open .sidebar.sidebar--neo{
  z-index: 4000;
  opacity: 1;
  pointer-events: auto;
  filter: none;
}
body.app-shell.sidebar-open .sidebar *,body.app-shell.sidebar-open .sidebar.sidebar--neo *{
  pointer-events: auto;
}
@media(max-width:1180px){
html,body,body.app-shell{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body.app-shell .app-frame{
  display: block;
  width: 100%;
  min-height: 100dvh;
  padding: 0;
  overflow: visible;
}
body.app-shell .topbar{
  position: sticky;
  top: var(--hosting-banner-height,0px);
  left: 0;
  right: 0;
  width: 100%;
  min-height: 60px;
  margin: 0;
  border-radius: 0 0 20px 20px;
  padding: 10px max(10px,env(safe-area-inset-right,0px)) 10px max(10px,env(safe-area-inset-left,0px));
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  z-index: 3200;
  box-shadow: 0 12px 28px rgba(15,23,42,.12);
  background: color-mix(in srgb,var(--panel) 94%,transparent);
  backdrop-filter: saturate(140%) blur(14px);
}
body.app-shell .topbar-left{
  min-width: 0;
  gap: 10px;
}
body.app-shell .topbar-context{
  min-width: 0;
  display: grid;
  gap: 2px;
}
body.app-shell .topbar-kicker{
  font-size: .66rem;
  letter-spacing: .1em;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 58vw;
}
body.app-shell .topbar-title{
  font-size: clamp(.98rem,3.6vw,1.22rem);
  line-height: 1.15;
  max-width: 58vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-center,body.app-shell .topbar-desktop-only,body.app-shell .topbar-user{
  display: none;
}
body.app-shell .topbar-actions{
  justify-content: flex-end;
  overflow: visible;
  gap: 6px;
  min-width: 0;
  padding: 0;
}
body.app-shell .topbar-mobile-menu-wrap,body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn{
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 15px;
  padding: 0;
  flex: 0 0 auto;
}
body.app-shell .topbar-dropdown.topbar-mobile-menu{
  position: fixed;
  top: calc(var(--asm360-topbar-h,64px) + var(--hosting-banner-height,0px) + 8px);
  left: 8px;
  right: 8px;
  width: auto;
  max-width: none;
  max-height: calc(100dvh - var(--asm360-topbar-h,64px) - 28px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 4100;
}
body.app-shell .sidebar.sidebar--neo,body.app-shell .sidebar{
  position: fixed;
  top: max(8px,env(safe-area-inset-top,0px));
  left: max(8px,env(safe-area-inset-left,0px));
  bottom: max(8px,env(safe-area-inset-bottom,0px));
  width: min(88vw,350px);
  max-width: 350px;
  height: auto;
  max-height: calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  padding: 10px;
  border-radius: 24px;
  transform: translate3d(-112%,0,0);
  transition: transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
  overflow: hidden;
  box-shadow: 24px 0 60px rgba(2,8,18,.34);
  touch-action: pan-y;
  overscroll-behavior: contain;
}
body.app-shell.sidebar-open .sidebar.sidebar--neo,body.app-shell.sidebar-open .sidebar{
  transform: translate3d(0,0,0);
}
body.app-shell .sidebar-inner{
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.app-shell .sidebar-brand-panel,body.app-shell .brand-panel{
  flex: 0 0 auto;
}
body.app-shell .sidebar-body{
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding-right: 6px;
  margin-right: -6px;
}
body.app-shell .sidebar-footer{
  flex: 0 0 auto;
  position: relative;
  bottom: auto;
  margin-top: 0;
  z-index: 2;
}
body.app-shell .sidebar .nav-link,body.app-shell .sidebar .nav-group-head{
  min-height: 50px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
body.app-shell .sidebar .nav-text,body.app-shell .sidebar .nav-label{
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell.shell-scroll-locked,body.app-shell.sidebar-open{
  overflow: hidden;
  touch-action: none;
}
body.app-shell.sidebar-open .sidebar,body.app-shell.sidebar-open .sidebar-body{
  touch-action: pan-y;
}
body.app-shell .content{
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: calc(var(--asm360-topbar-h,64px) + var(--hosting-banner-height,0px) + 12px) 12px calc(var(--rev252-mobile-dock-height) + env(safe-area-inset-bottom,0px) + 24px);
  overflow: visible;
  overflow-x: hidden;
}
body.app-shell .mobile-dock-toggle{
  display: none;
}
body.app-shell .mobile-ev-dock{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  position: fixed;
  left: max(8px,env(safe-area-inset-left,0px));
  right: max(8px,env(safe-area-inset-right,0px));
  bottom: max(8px,env(safe-area-inset-bottom,0px));
  min-height: 68px;
  height: auto;
  padding: 8px;
  border-radius: 22px;
  z-index: 3150;
  transform: none;
  opacity: 1;
  pointer-events: auto;
  background: color-mix(in srgb,var(--panel) 94%,transparent);
  border: 1px solid color-mix(in srgb,var(--border) 86%,transparent);
  box-shadow: 0 16px 34px rgba(15,23,42,.18);
  backdrop-filter: saturate(145%) blur(14px);
}
body.app-shell .mobile-ev-dock a,body.app-shell .mobile-ev-dock button{
  pointer-events: auto;
  min-height: 52px;
  border-radius: 16px;
}
body.app-shell:not(.mobile-dock-open) .mobile-ev-dock,body.app-shell.mobile-dock-collapsed .mobile-ev-dock{
  transform: none;
  pointer-events: auto;
}
body.app-shell:not(.mobile-dock-open) .mobile-ev-dock a,body.app-shell:not(.mobile-dock-open) .mobile-ev-dock button{
  pointer-events: auto;
}
body.app-shell.sidebar-open .mobile-ev-dock,body.app-shell.modal-open .mobile-ev-dock,body.app-shell.shell-overlay-open .mobile-ev-dock{
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}
}
@media(min-width:768px) and (max-width:1180px){
body.app-shell .topbar{
  min-height: 68px;
  padding: 12px 16px;
  grid-template-columns: auto minmax(0,1fr) auto;
}
body.app-shell .topbar-title,body.app-shell .topbar-kicker{
  max-width: 62vw;
}
body.app-shell .content{
  padding-left: 18px;
  padding-right: 18px;
  padding-bottom: calc(var(--rev252-mobile-dock-height) + 28px);
}
body.app-shell .mobile-ev-dock{
  left: 18px;
  right: 18px;
  max-width: 720px;
  margin-inline: auto;
}
}
@media(max-width:480px){
body.app-shell .topbar{
  min-height: 58px;
  padding: 8px;
  gap: 7px;
}
body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn{
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 14px;
}
body.app-shell .topbar-kicker{
  font-size: .61rem;
  max-width: 50vw;
}
body.app-shell .topbar-title{
  font-size: .98rem;
  max-width: 50vw;
}
body.app-shell .content{
  padding-left: 9px;
  padding-right: 9px;
}
body.app-shell .mobile-ev-dock{
  left: 7px;
  right: 7px;
  padding: 7px;
}
body.app-shell .mobile-ev-dock a{
  font-size: .72rem;
  gap: 3px;
}
body.app-shell .mobile-ev-dock svg{
  width: 19px;
  height: 19px;
}
}
@media(prefers-reduced-motion:reduce){
body.app-shell .sidebar,body.app-shell .mobile-ev-dock,body.app-shell .topbar-dropdown{
  transition: none;
  animation: none;
}
}
@media(max-width:1180px){
body.app-shell.sidebar-open, body.app-shell.shell-scroll-locked{
  overflow: hidden;
  touch-action: auto;
}
body.app-shell.sidebar-open .sidebar, body.app-shell.sidebar-open .sidebar-inner, body.app-shell.sidebar-open .sidebar-body{
  touch-action: pan-y;
}
}
.dashboard-mid-grid--single{
  grid-template-columns: 1fr;
}
.dashboard-mid-grid--single .phase4-table-card{
  min-width: 0;
}
@media(max-width:1180px){
body.app-shell .sidebar.sidebar--neo, body.app-shell .sidebar{
  z-index: 10010;
  isolation: isolate;
  pointer-events: auto;
}
body.app-shell.sidebar-open .sidebar.sidebar--neo, body.app-shell.sidebar-open .sidebar{
  z-index: 10010;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.app-shell.sidebar-open .sidebar *, body.app-shell.sidebar-open .sidebar.sidebar--neo *{
  pointer-events: auto;
}
body.app-shell .sidebar-backdrop{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: calc(max(8px, env(safe-area-inset-left, 0px)) + min(88vw, 350px) + 8px);
  width: auto;
  height: auto;
  z-index: 10000;
  opacity: 1;
  background: rgba(2,8,18,.42);
  pointer-events: auto;
  border: 0;
  padding: 0;
  margin: 0;
  touch-action: manipulation;
}
body.app-shell .sidebar-backdrop[hidden]{
  display: none;
  pointer-events: none;
}
body.app-shell.sidebar-open, body.app-shell.shell-scroll-locked{
  overflow: hidden;
  touch-action: auto;
}
body.app-shell.sidebar-open .sidebar, body.app-shell.sidebar-open .sidebar-inner, body.app-shell.sidebar-open .sidebar-body{
  overflow: hidden;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
body.app-shell.sidebar-open .sidebar-body{
  overflow-y: auto;
  overscroll-behavior: contain;
}
}
@media(max-width:400px){
body.app-shell .sidebar-backdrop{
  left: calc(max(6px, env(safe-area-inset-left, 0px)) + min(86vw, 340px) + 6px);
}
}
.preassembly-overview-page .preassembly-mini-inventory-first{
  margin: 12px 0 14px;
}
.preassembly-overview-page .preassembly-mini-inventory-first .card, .preassembly-overview-page .preassembly-mini-inventory-first .section-card{
  margin-bottom: 0;
}
.preassembly-overview-page .preassembly-production-form-card{
  border: 1px solid var(--border);
  background: var(--panel-alt);
  border-radius: 18px;
  padding: 14px;
  margin-top: 12px;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(15,23,42,.08));
}
.preassembly-overview-page .preassembly-production-form-card .form{
  margin-top: 10px;
}
.preassembly-overview-page .preassembly-bom-card{
  align-self: start;
}
.preassembly-overview-page .table-card{
  margin-top: 14px;
}
@media (max-width: 980px){
.preassembly-overview-page .dashboard-mid-grid{
  grid-template-columns: 1fr;
}
.preassembly-overview-page .preassembly-production-form-card{
  padding: 12px;
  border-radius: 16px;
}
}
.preassembly-stage-stack{
  display: block;
  width: 100%;
}
.preassembly-full-console{
  width: 100%;
}
.preassembly-production-form-wide{
  margin-top: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(248,251,255,.62);
}
.preassembly-bom-inline-card{
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
}
body.dark .preassembly-production-form-wide,body.dark .preassembly-bom-inline-card{
  background: rgba(15,23,42,.48);
}
.assigned-material-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 14px;
}
.assigned-chip-qty{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
}
body.dark .assigned-chip-qty{
  background: rgba(15,23,42,.5);
}
.chip-qty-label{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .05em;
}
.chip-qty-input{
  width: 110px;
  min-height: 34px;
  padding: 6px 9px;
}
.preassembly-history-card{
  width: 100%;
}
@media (max-width:900px){
.preassembly-production-form-wide .grid.two{
  grid-template-columns: 1fr;
}
.assigned-chip-qty{
  width: 100%;
  justify-content: space-between;
}
.chip-qty-input{
  width: 120px;
}
}
.station-inventory-shell .metric-title{
  letter-spacing: .055em;
}
.station-inventory-shell .metric-sub{
  line-height: 1.35;
}
.machine-image-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 12px;
}
.machine-image-card{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--shadow-soft,0 10px 28px rgba(15,23,42,.08));
}
.machine-image-card small{
  display: block;
  color: var(--muted);
  font-size: .78rem;
  margin-top: 2px;
}
.machine-card-icon{
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(76,201,196,.12);
  overflow: hidden;
  font-size: 1.4rem;
}
.machine-card-icon img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.machine-readiness-image .asset-thumb--lg{
  width: 92px;
  height: 92px;
}
.machine-detail-tables{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.single-row-filter{
  display: grid;
  grid-template-columns: repeat(2,minmax(180px,220px)) auto;
  align-items: end;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(248,251,255,.72);
}
.connected-blocks{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  gap: 10px;
  margin: 12px 0;
}
.connected-block{
  position: relative;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: var(--shadow-soft,0 10px 24px rgba(15,23,42,.07));
}
.connected-block strong{
  display: block;
  font-size: .9rem;
  margin-bottom: 3px;
}
.connected-block span{
  display: block;
  color: var(--muted);
  font-size: .78rem;
}
.kiosk-mode-option strong{
  white-space: normal;
}
#bomModeInlineWrap .btn{
  width: max-content;
}
.station-history-panel .detail-list.compact{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 8px;
}
.station-history-panel .detail-row{
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 8px 10px;
  background: rgba(255,255,255,.58);
}
@media(max-width:760px){
.single-row-filter{
  grid-template-columns: 1fr;
}
.machine-image-card-grid{
  grid-template-columns: 1fr;
}
.station-history-panel .detail-list.compact{
  grid-template-columns: 1fr;
}
}
.kiosk-bom-inline-panel{
  margin-top: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(241,249,252,.96));
  box-shadow: 0 14px 35px rgba(15,23,42,.08);
}
.dark .kiosk-bom-inline-panel{
  background: linear-gradient(135deg,rgba(15,23,42,.96),rgba(17,35,48,.92));
}
.kiosk-bom-inline-panel .kiosk-preview-copy{
  margin-top: 12px;
}
.kiosk-bom-inline-panel .table-wrap{
  max-height: 320px;
  overflow: auto;
}
@media (min-width: 900px){
body.app-shell .page > .grid.two:has(> .table-card):has(> .card form), body.app-shell .page > .grid.two:has(> .card form):has(> .table-card), body.app-shell .page > .split-grid:has(> .table-card):has(> .card form), body.app-shell .page > .split-grid:has(> .card form):has(> .table-card){
  grid-template-columns: 1fr;
}
}
.station-inventory-panel .inventory-panel-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.station-inventory-panel .inventory-panel-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.station-inventory-panel .inventory-warning{
  margin-top: 12px;
}
.mini-lot-stack{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.mini-lot-pill{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(15,23,42,.04);
  font-size: 12px;
  font-weight: 800;
}
html[data-theme="light"] body.app-shell .modal-body > form > button.btn, html[data-theme="light"] body.app-shell .modal-body > form > .actions, html[data-theme="light"] body.app-shell .modal-body > form > .row-actions, html[data-theme="light"] body.app-shell .modal-body > .actions, html[data-theme="light"] body.app-shell .modal-body > .row-actions, html[data-theme="light"] body.app-shell .modal-card > .actions, html[data-theme="light"] body.app-shell .modal-card > .row-actions{
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 18px 40px rgba(37,99,235,.20);
}
html[data-theme="light"] body.app-shell .modal-body > form > .actions .btn:not(.primary):not(.danger):not(.warn), html[data-theme="light"] body.app-shell .modal-body > form > .row-actions .btn:not(.primary):not(.danger):not(.warn), html[data-theme="light"] body.app-shell .modal-body > .actions .btn:not(.primary):not(.danger):not(.warn), html[data-theme="light"] body.app-shell .modal-body > .row-actions .btn:not(.primary):not(.danger):not(.warn), html[data-theme="light"] body.app-shell .modal-card > .actions .btn:not(.primary):not(.danger):not(.warn), html[data-theme="light"] body.app-shell .modal-card > .row-actions .btn:not(.primary):not(.danger):not(.warn){
  background: rgba(255,255,255,.95);
  color: var(--text);
}
body.app-shell .preassembly-run-view .grid.two, body.app-shell .form-table-stack, body.app-shell .form-table-stack.grid.two, body.app-shell .form-table-stack.grid.three{
  grid-template-columns: 1fr;
}
body.app-shell .kiosk-bom-inline-panel[hidden]{
  display: block;
}
body.app-shell .kiosk-bom-inline-panel{
  grid-column: 1 / -1;
  display: block;
  border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--line));
}
body.app-shell .asm-modern-page .calendar-mini-actions .btn[data-open-modal="dashboardCalendarEventModal"]{
  display: none;
}
body.app-shell .page > .grid.two:has(form):has(table), body.app-shell .page > .split-grid:has(form):has(table), body.app-shell .page > .dashboard-mid-grid:has(form):has(table), body.app-shell .page > .dispatch-layout-grid:has(form):has(table), body.app-shell .page > .profile-main-grid:has(form):has(table){
  grid-template-columns: 1fr;
}
body.app-shell .form-table-stack, body.app-shell .form-table-stack.grid, body.app-shell .form-table-stack.split-grid, body.app-shell .grid.two.form-table-stack{
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-date-strip, body.app-shell .single-row-filter, body.app-shell .report-filter-bar, body.app-shell .filter-card .report-filter-grid{
  max-width: 100%;
  overflow: visible;
}
body.app-shell .table-enhancer-date-strip{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg,var(--panel),var(--panel-alt));
  grid-template-columns: repeat(8,minmax(120px,1fr));
  box-shadow: 0 18px 46px rgba(15,23,42,.08);
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-range{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-label, body.app-shell .table-enhancer-date-strip .table-enhancer-date-extra-label{
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
  color: var(--shell-text-soft);
  min-width: 128px;
  max-width: 180px;
  flex: 1 1 140px;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{
  display: flex;
  gap: 8px;
  align-items: end;
  grid-column: auto;
  flex: 0 0 auto;
}
body.app-shell .table-enhancer-date-strip .input{
  min-height: 38px;
}
body.app-shell .table-enhancer-date-strip .btn{
  white-space: nowrap;
  min-height: 38px;
  padding: 8px 12px;
}
@media (max-width: 760px){
body.app-shell .table-wrap{
  overflow-x: visible;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only){
  min-width: 0;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) thead{
  display: none;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) tbody, body.app-shell .table-wrap > table.table:not(.desktop-table-only) tr, body.app-shell .table-wrap > table.table:not(.desktop-table-only) td{
  display: block;
  width: 100%;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) tr{
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
  overflow: hidden;
  margin-bottom: 10px;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td{
  display: grid;
  grid-template-columns: minmax(112px,38%) minmax(0,1fr);
  gap: 8px;
  align-items: start;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb,var(--border) 65%,transparent);
  padding: 10px 12px;
  text-align: left;
  white-space: normal;
  word-break: normal;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td:last-child{
  border-bottom: 0;
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td::before{
  content: attr(data-label);
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-3);
}
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td.right{
  text-align: left;
}
body.app-shell .table-enhancer{
  align-items: stretch;
  gap: 8px;
}
body.app-shell .table-enhancer-top{
  display: grid;
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-right, body.app-shell .table-enhancer-left{
  width: 100%;
  justify-content: stretch;
}
body.app-shell .table-enhancer-search{
  width: 100%;
  max-width: none;
}
body.app-shell .table-enhancer-date-strip{
  display: grid;
  grid-template-columns: 1fr;
  padding: 10px;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-range{
  display: grid;
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-label, body.app-shell .table-enhancer-date-strip .table-enhancer-date-extra-label{
  max-width: none;
  min-width: 0;
  width: 100%;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions .btn{
  width: 100%;
}
body.app-shell .profile-password-form .form-grid.three{
  grid-template-columns: 1fr;
}
}
body.app-shell .debit-notes-page .table-enhancer-left,body.app-shell .debit-notes-page .table-enhancer-right{
  min-width: 0;
  flex-wrap: wrap;
}
body.app-shell .debit-notes-page .table-enhancer-size{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
body.app-shell .module-action-strip{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  gap: 10px;
  margin: 0 0 14px;
  align-items: stretch;
}
body.app-shell .module-action-btn{
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 12px 14px;
  background: linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  min-height: 74px;
  transition: transform .16s ease,border-color .16s ease,background .16s ease;
}
body.app-shell .module-action-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(49,209,137,.55);
}
body.app-shell .module-action-btn.active{
  border-color: rgba(49,209,137,.76);
  background: linear-gradient(135deg,rgba(49,209,137,.20),rgba(59,130,246,.10));
}
body.app-shell .module-action-icon{
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(49,209,137,.13);
  border: 1px solid rgba(49,209,137,.24);
  font-weight: 800;
  flex: 0 0 auto;
}
body.app-shell .module-action-btn strong{
  display: block;
  font-size: .95rem;
  line-height: 1.15;
}
body.app-shell .module-action-btn small{
  display: block;
  color: var(--muted);
  margin-top: 3px;
  line-height: 1.2;
}
@media(max-width:680px){
body.app-shell .module-action-strip{
  grid-template-columns: 1fr;
}
body.app-shell .module-action-btn{
  min-height: 64px;
  padding: 10px 12px;
}
}
body.app-shell .debit-notes-page .card.table-card{
  overflow: visible;
}
body.app-shell .debit-notes-page .table-summary, body.app-shell .debit-notes-page .table-summary.sticky-tools{
  position: relative;
  top: auto;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
body.app-shell .debit-notes-page table thead th{
  top: 0;
  z-index: 1;
}
body.app-shell .debit-notes-page .card.table-card, body.app-shell .debit-notes-page .debit-note-card{
  overflow: visible;
  isolation: isolate;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools{
  position: relative;
  z-index: 4;
  align-items: start;
  gap: 12px;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,380px);
  margin: 0 0 12px;
  top: auto;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools>div:first-child{
  min-width: 0;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools{
  width: 100%;
  margin-left: 0;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  z-index: 5;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools .input{
  width: 100%;
  max-width: 380px;
  min-width: 0;
}
body.app-shell .debit-notes-page .table-enhancer-top{
  position: relative;
  z-index: 3;
  margin: 12px 0 14px;
  clear: both;
  top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  border-radius: 14px;
}
body.app-shell .debit-notes-page .table-enhancer-left, body.app-shell .debit-notes-page .table-enhancer-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
body.app-shell .debit-notes-page .table-wrap{
  clear: both;
  margin-top: 8px;
  position: relative;
  z-index: 1;
  overflow: auto;
}
body.app-shell .debit-notes-page .table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
}
@media (max-width:900px){
body.app-shell .debit-notes-page .table-summary.sticky-tools{
  grid-template-columns: 1fr;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools{
  justify-content: flex-start;
}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools .input{
  max-width: none;
}
body.app-shell .debit-notes-page .table-enhancer-top{
  align-items: stretch;
}
body.app-shell .debit-notes-page .table-enhancer-left,body.app-shell .debit-notes-page .table-enhancer-right{
  width: 100%;
  justify-content: flex-start;
}
}
body.app-shell .inprocess-action-strip{
  display: grid;
  grid-template-columns: repeat(3,minmax(180px,1fr));
  gap: 12px;
  margin: 0 0 16px;
}
body.app-shell .inprocess-action-strip .module-action-btn{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 14px 16px;
  border-radius: 18px;
  text-decoration: none;
  border: 1px solid rgba(148,163,184,.22);
  background: linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  box-shadow: 0 12px 26px rgba(15,23,42,.10);
}
body.app-shell .inprocess-action-strip .module-action-btn.active{
  border-color: rgba(16,185,129,.45);
  box-shadow: 0 16px 34px rgba(16,185,129,.14);
}
body.app-shell .inprocess-action-strip .module-action-icon{
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 14px;
  background: rgba(16,185,129,.12);
  font-size: 18px;
}
body.app-shell .inprocess-action-strip strong{
  display: block;
  line-height: 1.15;
}
body.app-shell .inprocess-action-strip small{
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.25;
}
@media (max-width:900px){
body.app-shell .inprocess-action-strip{
  grid-template-columns: 1fr;
}
}
body.app-shell .table-wrap:not(.allow-y-scroll){
  overflow-x: auto;
  overflow-y: hidden;
  max-height: none;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scroll-behavior: auto;
  will-change: scroll-position;
  contain: paint;
}
body.app-shell .modal .table-wrap, body.app-shell .iqc-queue-page .table-wrap, body.app-shell .inventory-grn-workbench-page .table-wrap{
  overflow: auto;
  contain: none;
}
body.app-shell .table-wrap table{
  transform: translateZ(0);
}
body.app-shell .compact-metrics{
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
}
body.app-shell .sendback-matrix th, body.app-shell .sendback-matrix td{
  white-space: nowrap;
}
body.app-shell .sendback-matrix td.center, body.app-shell .sendback-matrix th.center{
  text-align: center;
}
body.app-shell .switch-mini{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  cursor: pointer;
}
body.app-shell .switch-mini input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
body.app-shell .switch-mini span{
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: rgba(239,68,68,.22);
  border: 1px solid rgba(239,68,68,.32);
  position: relative;
  transition: .16s ease;
}
body.app-shell .switch-mini span:before{
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  left: 3px;
  top: 2px;
  background: var(--shell-text-2,#cbd5e1);
  transition: .16s ease;
}
body.app-shell .switch-mini input:checked + span{
  background: rgba(34,197,94,.22);
  border-color: rgba(34,197,94,.34);
}
body.app-shell .switch-mini input:checked + span:before{
  transform: translateX(16px);
  background: #22c55e;
}
body.app-shell .switch-mini input:disabled + span{
  opacity: .38;
  cursor: not-allowed;
}
body.app-shell .station-rule-card .table-wrap{
  margin-top: 10px;
}
body.app-shell .tiny{
  font-size: .72rem;
}
body.app-shell .checkbox-line{
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
  min-height: 42px;
}
body.app-shell .checkbox-line input{
  margin-top: 3px;
  width: auto;
}
body.app-shell .form-help.warn{
  color: #f59e0b;
}
.station-flow-grid,.station-pack-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap: 14px;
}
.station-flow-card{
  display: block;
  text-decoration: none;
  color: inherit;
  min-height: 150px;
}
.station-flow-card:hover{
  transform: translateY(-2px);
}
.entity-card-head,.station-pack-head,.module-access-group-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.station-pack-head h3{
  margin: .35rem 0 .15rem;
  font-size: 1.15rem;
}
.station-form-grid{
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  align-items: end;
}
.station-pass-form .label{
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 6px;
}
.module-access-group-row td{
  background: linear-gradient(90deg,rgba(68,177,214,.12),rgba(255,255,255,.02));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.module-access-group-head{
  padding: 6px 4px;
}
.access-group-title{
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.metrics-grid.compact-metrics .metric-card,.metric-card{
  min-height: 104px;
}
.metric-card .metric-title,.metric-title{
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--muted);
  font-weight: 800;
}
.metric-card .metric-value,.metric-value{
  font-size: 30px;
  font-weight: 900;
  line-height: 1.05;
  color: var(--text);
}
.metric-card .metric-sub,.metric-sub{
  font-size: 12px;
  color: var(--muted);
  margin-top: 6px;
}
.kiosk-bom-inline-panel[hidden]{
  display: none;
}
.row-actions form{
  display: inline-flex;
  margin: 0;
}
.bound-check, .choice-check, .check-inline, .form-check, label.check{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  cursor: pointer;
  line-height: 1.25;
  vertical-align: middle;
}
.bound-check input[type="checkbox"], .choice-check input[type="checkbox"], .check-inline input[type="checkbox"], .form-check input[type="checkbox"], label.check input[type="checkbox"]{
  flex: 0 0 auto;
  margin: 0;
}
.bound-check span, .choice-check span, .check-inline span, .form-check span, label.check span{
  display: inline-block;
}
.dispatch-checklist-template-page .dispatch-checklist-editor-grid{
  grid-template-columns: minmax(0,1.1fr) minmax(430px,.9fr);
  align-items: start;
}
.dispatch-checklist-template-page .dispatch-checklist-row-wrap .input{
  min-height: 40px;
}
body.app-shell .metrics-grid.compact-metrics{
  display: grid;
  gap: 14px;
  margin: 16px 0 18px;
}
body.app-shell .metrics-grid.compact-metrics .metric-card{
  min-height: 112px;
  padding: 18px;
  border-radius: 22px;
}
body.app-shell .metrics-grid.compact-metrics .metric-card .metric-title{
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: .72rem;
}
body.app-shell .metrics-grid.compact-metrics .metric-card .metric-value{
  font-size: 1.9rem;
  line-height: 1.1;
  margin-top: 8px;
}
body.app-shell .inventory-page .metrics-grid.compact-metrics .metric-card:nth-child(1){
  border-left: 4px solid rgba(59,130,246,.72);
}
body.app-shell .inventory-page .metrics-grid.compact-metrics .metric-card:nth-child(2){
  border-left: 4px solid rgba(245,158,11,.72);
}
body.app-shell .inventory-page .metrics-grid.compact-metrics .metric-card:nth-child(3){
  border-left: 4px solid rgba(16,185,129,.72);
}
body.app-shell .inventory-page .metrics-grid.compact-metrics .metric-card:nth-child(4){
  border-left: 4px solid rgba(239,68,68,.72);
}
body.app-shell .table-wrap, body.app-shell .responsive-table{
  overscroll-behavior: contain;
  scroll-behavior: auto;
}
@media (max-width: 980px){
.dispatch-checklist-template-page .dispatch-checklist-editor-grid{
  grid-template-columns: 1fr;
}
}
.bound-check,.check-row,.form-check,.checkbox-line{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.25;
  vertical-align: middle;
  white-space: normal;
}
.bound-check input[type="checkbox"],.check-row input[type="checkbox"],.form-check input[type="checkbox"],.checkbox-line input[type="checkbox"]{
  flex: 0 0 auto;
  margin: 0;
  position: static;
}
.table-wrap{
  position: relative;
  overflow: auto;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--ki-panel);
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  scrollbar-gutter: stable;
  overflow-x: auto;
  overflow-y: auto;
  max-width: 100%;
  overscroll-behavior: contain;
  will-change: scroll-position;
}
.table-wrap table{
  contain: layout paint;
}
.generated-operational-page .entity-card-grid{
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
}
.generated-operational-page .metric-card{
  min-height: 104px;
}
.station-inventory-panel .table-wrap{
  max-height: 340px;
  overflow: auto;
}
.entity-card-grid,.station-pack-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
  gap: 14px;
}
.entity-card{
  padding: 14px;
  display: block;
  gap: 14px;
  min-height: 164px;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--card);
  box-shadow: var(--shadow-sm);
  transition: transform .14s ease,box-shadow .14s ease;
}
.entity-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.entity-card-top,.queue-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.entity-code{
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
}
.entity-title,.card-title{
  font-weight: 800;
}
.compact-grid{
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 10px;
}
.station-pack-card{
  position: relative;
  overflow: hidden;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--panel-alt);
  display: flex;
  gap: 12px;
  min-height: 262px;
  flex-direction: column;
}
.station-form-fields{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.checkrow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 5px 10px 5px 0;
  line-height: 1.25;
}
.checkrow input{
  flex: 0 0 auto;
}
.checkrow.compact{
  margin: 0;
}
.inline-form{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sendback-mini{
  border-top: 1px dashed var(--border);
  padding-top: 10px;
  margin-top: 10px;
}
.danger-card{
  border-color: rgba(255,120,120,.35);
}
.note-box.warn{
  border-color: rgba(255,170,80,.42);
}
.dense-table th,.dense-table td{
  white-space: nowrap;
}
.three-col{
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}
@media(max-width:720px){
.page-head,.queue-head{
  align-items: stretch;
  flex-direction: column;
}
.inline-form{
  align-items: stretch;
}
.inline-form .input,.inline-form .btn{
  width: 100%;
}
}
body.app-shell label.checkbox, body.app-shell label.check, body.app-shell .checkbox-line, body.app-shell .check-inline, body.app-shell .form-check, body.app-shell .bound-check{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  max-width: 100%;
  min-height: 32px;
  line-height: 1.25;
  cursor: pointer;
  white-space: normal;
}
body.app-shell label.checkbox input[type="checkbox"], body.app-shell label.check input[type="checkbox"], body.app-shell .checkbox-line input[type="checkbox"], body.app-shell .check-inline input[type="checkbox"], body.app-shell .form-check input[type="checkbox"], body.app-shell .bound-check input[type="checkbox"]{
  appearance: auto;
  -webkit-appearance: checkbox;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  margin: 0;
  position: static;
}
body.app-shell label.checkbox span, body.app-shell label.check span, body.app-shell .checkbox-line span{
  flex: 0 1 auto;
  width: auto;
  margin: 0;
  text-align: left;
}
.toggle-field{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel-alt);
  cursor: pointer;
}
.toggle-field.compact{
  width: max-content;
  min-width: 260px;
}
.toggle-switch{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  font-weight: 700;
  position: relative;
  flex: 0 0 46px;
  width: 46px;
  height: 26px;
}
.toggle-switch input{
  appearance: none;
  width: 1px;
  height: 1px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--disabled) 28%, transparent);
  position: absolute;
  outline: none;
  cursor: pointer;
  transition: background var(--fast);
  display: none;
  opacity: 0;
  min-width: 1px;
  margin: 0;
}
.toggle-slider{
  position: absolute;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--text-2) 22%,transparent);
  flex: 0 0 auto;
  inset: 0;
  border: 1px solid var(--border);
  transition: .18s ease;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.18);
}
.toggle-slider:before{
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 2px;
  top: 2px;
  border-radius: 999px;
  background: var(--panel);
  box-shadow: 0 3px 8px rgba(15,23,42,.26);
  transition: .18s ease;
}
.toggle-switch input:checked + .toggle-slider{
  background: linear-gradient(135deg,var(--primary),var(--success));
  border-color: color-mix(in srgb,var(--primary) 60%,var(--success));
}
.toggle-switch input:checked + .toggle-slider:before{
  transform: translateX(20px);
  background: #fff;
}
.toggle-text{
  display: grid;
  gap: 2px;
  min-width: 0;
}
.toggle-text strong{
  font-size: .92rem;
  color: var(--text);
}
.toggle-text small{
  font-size: .78rem;
  color: var(--text-2);
}
.toggle-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(290px,1fr));
  gap: 12px;
  align-items: start;
}
.geoboard-page .geo-selected-strip{
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
}
.geoboard-page .geo-map-card{
  overflow: hidden;
}
#geoLeafletMap,.geo-leaflet-map{
  height: clamp(420px,52vh,620px);
  border-radius: 18px;
  border: 1px solid var(--border);
  overflow: hidden;
  background: var(--panel-alt);
  min-height: 460px;
  width: 100%;
  display: block;
}
.geo-fallback-frame{
  width: 100%;
  min-height: 420px;
  height: clamp(380px,48vh,560px);
  border: 0;
  border-radius: 18px;
  background: var(--panel-alt);
  display: block;
}
.location-map-layout{
  display: grid;
  grid-template-columns: minmax(420px,1.25fr) minmax(320px,.75fr);
  gap: 14px;
  align-items: start;
}
.location-map-card iframe{
  width: 100%;
  height: clamp(420px,50vh,600px);
  border: 0;
  border-radius: 18px;
  background: #fff;
  display: block;
}
.location-mini-section{
  margin-top: 12px;
}
.location-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 10px;
}
.machine-register-page .machine-image-card-grid{
  display: none;
}
.machine-register-page .asset-table-card{
  margin-top: 14px;
}
.machine-register-page .machine-quick-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.machine-register-page .machine-summary-band{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 12px;
  margin: 14px 0;
}
@media(max-width:980px){
.location-map-layout{
  grid-template-columns: 1fr;
}
.toggle-field.compact{
  width: 100%;
  min-width: 0;
}
}
body.app-shell input[type="checkbox"]:not(.toggle-input):not(.switch-input):not([role="switch"]){
  width: 16px;
  height: 16px;
  min-width: 16px;
  max-width: 16px;
  inline-size: 16px;
  block-size: 16px;
  margin: 0 8px 0 0;
  vertical-align: middle;
  flex: 0 0 16px;
}
body.app-shell label:has(input[type="checkbox"]), body.app-shell .checkbox-line, body.app-shell .check-line, body.app-shell .form-check, body.app-shell .access-check, body.app-shell .policy-control-row{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
  max-width: 100%;
  line-height: 1.25;
  text-align: left;
}
body.app-shell .access-check span, body.app-shell .form-check label, body.app-shell .checkbox-line span, body.app-shell .check-line span{
  min-width: 0;
  white-space: normal;
  overflow-wrap: break-word;
}
body.app-shell .entity-card-grid, body.app-shell .station-grid, body.app-shell .mbin-card-grid, body.app-shell .module-bin-grid, body.app-shell .cards-grid{
  justify-content: start;
  align-items: stretch;
}
body.app-shell .station-card, body.app-shell .station-pack-card, body.app-shell .mbin-card, body.app-shell .module-bin-card, body.app-shell .entity-card{
  width: 100%;
  max-width: 360px;
  min-height: 190px;
  display: flex;
  flex-direction: column;
}
body.app-shell .station-pack-grid, body.app-shell .mbin-card-grid, body.app-shell .module-bin-grid{
  grid-template-columns: repeat(auto-fill,minmax(280px,340px));
}
body.app-shell .compact-data-table.station-protocol-table th, body.app-shell .compact-data-table.station-protocol-table td{
  vertical-align: middle;
  padding: 10px 12px;
}
body.app-shell .compact-input{
  min-height: 38px;
}
@media (max-width:760px){
body.app-shell .station-card,body.app-shell .station-pack-card,body.app-shell .mbin-card,body.app-shell .module-bin-card,body.app-shell .entity-card{
  max-width: none;
}
body.app-shell .station-pack-grid,body.app-shell .mbin-card-grid,body.app-shell .module-bin-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell input[type="checkbox"]{
  box-sizing: border-box;
}
body.app-shell input[type="checkbox"]:not(.toggle-switch input):not(.toggle-input):not(.switch-input):not([role="switch"]){
  width: 16px;
  height: 16px;
  min-width: 16px;
  max-width: 16px;
  flex: 0 0 16px;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
}
body.app-shell label:has(> input[type="checkbox"]), body.app-shell label:has(input[type="checkbox"]){
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: auto;
  max-width: 100%;
  text-align: left;
  line-height: 1.25;
}
body.app-shell label:has(input[type="checkbox"]) span, body.app-shell label:has(input[type="checkbox"]) small, body.app-shell .check span, body.app-shell .checkbox span{
  display: inline;
  min-width: 0;
  width: auto;
  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
}
body.app-shell td label:has(input[type="checkbox"]), body.app-shell .form label:has(input[type="checkbox"]){
  min-height: 28px;
}
body.app-shell .station-protocol-check-sheet{
  margin-top: 14px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
  overflow: visible;
}
body.app-shell .station-protocol-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
body.app-shell .station-protocol-check-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}
body.app-shell .station-protocol-check-row{
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) minmax(170px,220px);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
}
body.app-shell .station-protocol-check-index{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(20,184,166,.12);
  border: 1px solid rgba(20,184,166,.25);
  font-size: 12px;
  font-weight: 800;
  color: var(--text);
}
body.app-shell .station-protocol-check-main .label{
  margin: 0 0 4px;
  line-height: 1.25;
}
body.app-shell .station-protocol-help{
  line-height: 1.35;
  overflow-wrap: break-word;
}
body.app-shell .station-protocol-check-input .input{
  width: 100%;
  min-height: 38px;
}
body.app-shell .station-param-editor{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
body.app-shell .station-param-edit-table .input.sm{
  min-height: 34px;
  width: 100%;
}
body.app-shell .station-param-edit-table .checkbox-line{
  min-height: 28px;
  white-space: nowrap;
}
@media (max-width: 760px){
body.app-shell .station-protocol-check-row{
  grid-template-columns: 32px minmax(0,1fr);
}
body.app-shell .station-protocol-check-input{
  grid-column: 2 / -1;
  width: 100%;
}
}
.inventory-grn-form-page #tblGrnDraft{
  min-width: 1600px;
}
.inventory-grn-form-page #tblGrnDraft input[readonly]{
  background: rgba(148,163,184,.08);
}
.product-form-page .card-title{
  margin-bottom: 4px;
}
.fixed-preassembly-output{
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  background: rgba(226,242,250,.48);
  border-style: dashed;
}
.fixed-preassembly-output strong{
  font-weight: 800;
}
.kiosk-flow-card{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap: 12px;
  align-items: stretch;
  margin: 12px 0 16px;
  padding: 14px;
  background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,249,252,.88));
  border: 1px solid rgba(94,121,160,.22);
}
.kiosk-flow-step{
  border: 1px solid rgba(94,121,160,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  column-gap: 10px;
  row-gap: 2px;
  align-items: start;
  min-height: 88px;
}
.kiosk-flow-step span{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(45,188,197,.14);
  border: 1px solid rgba(45,188,197,.35);
  font-weight: 900;
  color: #0d5962;
  grid-row: 1/3;
}
.kiosk-flow-step strong{
  font-size: .86rem;
  color: var(--text);
}
.kiosk-flow-step small{
  font-size: .74rem;
  color: var(--muted);
  line-height: 1.35;
}
.kiosk-flow-step.is-active{
  box-shadow: 0 14px 32px rgba(45,188,197,.11);
  border-color: rgba(45,188,197,.35);
}
.kiosk-flow-arrow{
  align-self: center;
  color: rgba(49,73,105,.6);
  font-weight: 900;
  font-size: 1.05rem;
}
@media(max-width:820px){
.kiosk-flow-card{
  grid-template-columns: 1fr;
}
.kiosk-flow-arrow{
  display: none;
}
.kiosk-flow-step{
  min-height: auto;
}
}
.issue-stage-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: .74rem;
  font-weight: 900;
  border: 1px solid rgba(94,121,160,.2);
  background: rgba(255,255,255,.78);
}
.issue-stage-chip.line{
  color: #3f466d;
  background: rgba(239,232,255,.72);
}
.issue-stage-chip.store{
  color: #725100;
  background: rgba(255,245,217,.78);
}
.issue-stage-chip.done{
  color: #0c684a;
  background: rgba(220,252,231,.78);
}
.issue-stage-chip.reject{
  color: #8a1f35;
  background: rgba(255,228,230,.78);
}
.issue-workflow-panel{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.issue-workflow-panel .mini-card{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(94,121,160,.18);
  background: rgba(255,255,255,.72);
}
.issue-workflow-panel strong{
  display: block;
  font-size: .85rem;
}
.issue-workflow-panel span{
  font-size: .74rem;
  color: var(--muted);
}
@media(max-width:760px){
.issue-workflow-panel{
  grid-template-columns: 1fr;
}
}
body.app-shell .inprocess-entry-page .ipi-entry-hero{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 14px;
  background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(237,248,252,.92));
}
body.app-shell .ipi-entry-hero h3{
  margin: 2px 0 6px;
}
body.app-shell .ipi-entry-progress{
  min-width: 190px;
  text-align: right;
  font-weight: 900;
  color: var(--text);
}
body.app-shell .ipi-entry-progress span{
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
}
body.app-shell .ipi-entry-progress div{
  height: 10px;
  border-radius: 999px;
  background: rgba(148,163,184,.18);
  overflow: hidden;
  border: 1px solid rgba(94,121,160,.16);
}
body.app-shell .ipi-entry-progress i{
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(45,188,197,.85),rgba(37,99,235,.75));
  transition: width .18s ease;
}
body.app-shell .ipi-worksheet-form{
  display: block;
  margin-top: 14px;
}
body.app-shell .ipi-group-card{
  margin: 0 0 16px;
}
body.app-shell .ipi-check-list{
  display: grid;
  gap: 12px;
}
body.app-shell .ipi-check-card{
  border: 1px solid rgba(94,121,160,.18);
  border-radius: 20px;
  background: rgba(255,255,255,.84);
  padding: 14px;
  box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
body.app-shell .ipi-check-head{
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 10px;
}
body.app-shell .ipi-check-title strong{
  display: block;
  font-size: .96rem;
  line-height: 1.25;
  color: var(--text);
}
body.app-shell .ipi-check-tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 6px;
}
body.app-shell .ipi-check-tags span{
  font-size: .72rem;
  font-weight: 800;
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(45,188,197,.1);
  border: 1px solid rgba(45,188,197,.2);
  color: #24435f;
}
body.app-shell .ipi-spec-box{
  border: 1px dashed rgba(94,121,160,.28);
  border-radius: 16px;
  background: rgba(248,250,252,.86);
  padding: 10px 12px;
  margin-bottom: 12px;
}
body.app-shell .ipi-spec-box span{
  display: block;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 3px;
}
body.app-shell .ipi-spec-box strong{
  font-size: .86rem;
  line-height: 1.35;
  color: var(--text);
  white-space: pre-wrap;
}
body.app-shell .ipi-entry-grid{
  display: grid;
  grid-template-columns: minmax(260px,.95fr) minmax(280px,1.05fr);
  gap: 12px;
  align-items: start;
}
body.app-shell .ipi-actual-input{
  min-height: 44px;
  font-weight: 800;
}
body.app-shell .ipi-remarks-input{
  min-height: 90px;
  resize: vertical;
}
body.app-shell .ipi-quick-values{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
body.app-shell .chip-btn{
  border: 1px solid rgba(94,121,160,.22);
  background: rgba(255,255,255,.88);
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
  font-size: .74rem;
  color: var(--text);
  cursor: pointer;
}
body.app-shell .chip-btn.active,body.app-shell .chip-btn:hover{
  background: rgba(45,188,197,.16);
  border-color: rgba(45,188,197,.36);
}
body.app-shell .required-dot{
  color: #e11d48;
  font-weight: 900;
}
body.app-shell .ipi-save-bar{
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .inprocess-report-stack{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
body.app-shell .ipi-report-control-card,body.app-shell .ipi-summary-section{
  width: 100%;
}
body.app-shell .ipi-header-kv{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
body.app-shell .ipi-summary-table{
  min-width: 1100px;
}
body.app-shell .ipi-row-pending{
  background: rgba(255,247,237,.56);
}
body.app-shell .inprocess_templates .btn.danger-text,body.app-shell .btn.danger-text{
  border-color: rgba(225,29,72,.28);
  background: rgba(255,241,242,.8);
}
@media(max-width:900px){
body.app-shell .inprocess-entry-page .ipi-entry-hero{
  display: block;
}
body.app-shell .ipi-entry-progress{
  text-align: left;
  margin-top: 12px;
  min-width: 0;
}
body.app-shell .ipi-entry-grid{
  grid-template-columns: 1fr;
}
body.app-shell .ipi-header-kv{
  grid-template-columns: 1fr;
}
}
@media(max-width:640px){
body.app-shell .ipi-check-card{
  padding: 12px;
  border-radius: 16px;
}
body.app-shell .ipi-check-head{
  grid-template-columns: 34px minmax(0,1fr);
}
body.app-shell .ipi-check-tags span{
  font-size: .68rem;
}
body.app-shell .ipi-actual-input{
  min-height: 42px;
}
}
body.app-shell .machine-register-page .machine-summary-band{
  display: none;
}
body.app-shell .mobile-access-page .mobile-module-toolbar{
  align-items: center;
  overflow: visible;
}
body.app-shell .mobile-access-page .mobile-module-card-head{
  align-items: flex-start;
  min-width: 0;
}
body.app-shell .mobile-access-page .mobile-module-card-head > div{
  min-width: 0;
}
body.app-shell .mobile-access-page .toggle-switch.compact{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  min-width: 118px;
  max-width: 100%;
  height: auto;
  min-height: 34px;
  flex: 0 0 auto;
  padding: 4px 8px 4px 56px;
  gap: 8px;
  overflow: visible;
  white-space: nowrap;
  line-height: 1.15;
}
body.app-shell .mobile-access-page .toggle-switch.compact .toggle-slider{
  position: absolute;
  inset: auto;
  left: 8px;
  top: 50%;
  width: 42px;
  height: 24px;
  transform: translateY(-50%);
  display: block;
  flex: 0 0 42px;
}
body.app-shell .mobile-access-page .toggle-switch.compact .toggle-slider:before{
  width: 18px;
  height: 18px;
  left: 2px;
  top: 2px;
}
body.app-shell .mobile-access-page .toggle-switch.compact input:checked + .toggle-slider:before{
  transform: translateX(18px);
}
body.app-shell .mobile-access-page .toggle-switch.compact .toggle-label{
  display: inline-block;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  min-width: max-content;
  max-width: none;
  font-size: .82rem;
  font-weight: 800;
  color: var(--text);
}
body.app-shell .mobile-access-page .mobile-module-flags{
  display: grid;
  grid-template-columns: repeat(2,minmax(145px,1fr));
  gap: 10px;
  align-items: stretch;
}
body.app-shell .mobile-access-page .mobile-module-flags .toggle-switch.compact{
  width: 100%;
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
}
body.app-shell .mobile-access-page .mobile-access-module-grid{
  grid-template-columns: repeat(2,minmax(320px,1fr));
}
@media (max-width: 1120px){
body.app-shell .mobile-access-page .mobile-access-module-grid{
  grid-template-columns: 1fr;
}
}
@media (max-width: 640px){
body.app-shell .mobile-access-page .mobile-module-toolbar{
  align-items: stretch;
}
body.app-shell .mobile-access-page .mobile-module-toolbar .toggle-switch.compact{
  width: 100%;
}
body.app-shell .mobile-access-page .mobile-module-flags{
  grid-template-columns: 1fr;
}
body.app-shell .mobile-access-page .toggle-switch.compact{
  min-width: 0;
  width: 100%;
}
body.app-shell .mobile-access-page .mobile-module-card-head{
  flex-direction: column;
  align-items: stretch;
}
}
.btn.primary-soft{
  background: linear-gradient(135deg, rgba(50,184,198,.16), rgba(77,142,255,.12));
  border-color: rgba(50,184,198,.35);
  color: var(--text);
  box-shadow: 0 10px 24px rgba(30, 80, 140, .08);
}
.pack-trace-summary-card{
  overflow: hidden;
}
.pack-trace-summary-head{
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}
.pack-trace-summary-grid{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);
  gap: 14px;
  align-items: stretch;
}
.trace-summary-panel, .station-trace-panel{
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.9));
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 16px 36px rgba(20, 60, 100, .06);
  min-width: 0;
}
.trace-panel-title{
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--muted);
  margin-bottom: 12px;
}
.trace-kv-grid, .station-trace-facts{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.trace-kv-grid > div, .station-trace-facts > div{
  min-width: 0;
  border: 1px solid rgba(141,163,190,.28);
  background: rgba(255,255,255,.74);
  border-radius: 16px;
  padding: 12px;
}
.trace-kv-grid small, .station-trace-facts small, .station-trace-pack-id span{
  display: block;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.trace-kv-grid strong, .station-trace-facts strong, .station-trace-pack-id strong{
  display: block;
  min-width: 0;
  overflow-wrap: break-word;
  color: var(--text);
}
.trace-material-details{
  margin-top: 12px;
  border: 1px dashed rgba(83,160,255,.34);
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(245,250,255,.82);
}
.trace-material-details summary{
  cursor: pointer;
  font-weight: 850;
  color: var(--text);
}
.trace-material-chipbox{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 210px;
  overflow: auto;
  padding-right: 4px;
}
.trace-material-chipbox span{
  display: inline-flex;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 10px;
  background: #fff;
  font-size: .82rem;
  overflow-wrap: break-word;
}
.station-trace-modal-card{
  max-width: min(1380px, calc(100vw - 40px));
  max-height: min(92vh, 980px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.station-trace-head{
  flex: 0 0 auto;
}
.station-trace-body{
  overflow: auto;
  padding: 2px 4px 4px;
}
.station-trace-hero{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border: 1px solid rgba(83,160,255,.24);
  background: linear-gradient(135deg, rgba(235,249,255,.95), rgba(255,255,255,.96));
  border-radius: 24px;
  padding: 16px;
  margin-bottom: 14px;
}
.station-trace-pack-id strong{
  font-size: 1.45rem;
}
.station-trace-chipline{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.station-trace-facts{
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-bottom: 14px;
}
.station-trace-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  align-items: start;
}
.station-trace-grid--timeline{
  margin-top: 14px;
}
.trace-table-wrap{
  max-height: 310px;
  overflow: auto;
  border-radius: 16px;
}
.trace-table{
  min-width: 720px;
}
.trace-table td, .trace-table th{
  vertical-align: top;
  overflow-wrap: break-word;
}
.station-trace-timeline{
  display: grid;
  gap: 10px;
  max-height: 310px;
  overflow: auto;
  padding-right: 4px;
}
.station-trace-event{
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 11px 12px;
  background: #fff;
}
.station-trace-event > div:first-child{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.station-trace-event span{
  color: var(--muted);
  font-size: .78rem;
  white-space: nowrap;
}
.station-trace-actions{
  flex: 0 0 auto;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.pack-trace-fullpage .split-grid, .pack-trace-fullpage .metrics-grid, .pack-trace-fullpage .connected-workflow-lane{
  max-width: 100%;
}
.pack-trace-fullpage .table-wrap{
  border-radius: 16px;
}
@media (max-width: 1100px){
.pack-trace-summary-grid, .station-trace-grid{
  grid-template-columns: 1fr;
}
.station-trace-facts, .trace-kv-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width: 760px){
.station-trace-modal-card{
  max-width: calc(100vw - 16px);
  max-height: 94vh;
}
.station-trace-hero{
  flex-direction: column;
}
.station-trace-chipline{
  justify-content: flex-start;
}
.station-trace-facts, .trace-kv-grid{
  grid-template-columns: 1fr;
}
.trace-table{
  min-width: 620px;
}
}
.due-reports-page .report-hero-head{
  background: linear-gradient(135deg,#ffffff 0%,#f3fbff 52%,#eef7ff 100%);
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(29,78,216,.08);
}
.due-reports-page .section-kicker{
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #2563eb;
  font-weight: 800;
  font-size: 11px;
  margin-bottom: 6px;
}
.report-range-chip{
  display: inline-flex;
  margin-top: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #e9f8ff;
  border: 1px solid #c6ebff;
  color: #0f4777;
  font-weight: 800;
  font-size: 12px;
}
.due-kpi-grid{
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 12px;
  margin: 16px 0;
}
.due-kpi-grid .metric-card{
  min-height: 120px;
}
.due-kpi-grid .small-money{
  font-size: clamp(20px,1.8vw,30px);
}
.due-chart-grid{
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
}
.tc-apex-chart{
  min-height: 260px;
  margin-top: 10px;
}
.tc-chart-fallback{
  height: 230px;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 18px 6px 28px;
  border-radius: 20px;
  background: #f7fbff;
  border: 1px solid #e0ebf8;
}
.tc-chart-fallback span{
  flex: 1;
  min-width: 18px;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg,#39c2c9,#2f80ed);
  position: relative;
}
.tc-chart-fallback em{
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  font-style: normal;
  font-size: 10px;
  text-align: center;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.report-tile-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
  gap: 12px;
  margin-top: 12px;
}
.report-tile{
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: var(--text);
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: linear-gradient(180deg,#fff,#f8fbff);
  box-shadow: 0 10px 28px rgba(15,23,42,.05);
  transition: .18s ease;
}
.report-tile:hover{
  transform: translateY(-2px);
  border-color: #95ddeb;
  box-shadow: 0 16px 34px rgba(25,118,210,.12);
}
.report-tile-icon{
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg,#e7fbff,#dff5ed);
  color: #0f766e;
  font-weight: 900;
}
.report-tile strong{
  font-size: 15px;
}
.report-tile span:last-child{
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.report-tabs{
  display: flex;
  gap: 8px;
  overflow: auto;
  padding: 8px 2px 12px;
  margin-bottom: 8px;
}
.report-tab{
  flex: 0 0 auto;
  text-decoration: none;
  color: #334155;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 9px 13px;
  font-weight: 800;
  font-size: 12px;
  box-shadow: 0 5px 14px rgba(15,23,42,.04);
}
.report-tab.active,.report-tab:hover{
  background: linear-gradient(135deg,#2f80ed,#37c9b7);
  color: #fff;
  border-color: transparent;
}
.tc-report-toolbar{
  background: rgba(255,255,255,.88);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 14px;
  margin: 12px 0 16px;
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
  backdrop-filter: blur(14px);
}
.tc-filter-row{
  display: grid;
  grid-template-columns: minmax(160px,1.1fr) repeat(4,minmax(140px,1fr)) auto;
  gap: 10px;
  align-items: end;
}
.tc-filter-row label{
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #475569;
  font-weight: 900;
}
.tc-filter-actions{
  display: flex;
  gap: 8px;
  align-items: end;
}
.tc-quick-filters{
  display: flex;
  gap: 8px;
  overflow: auto;
  margin-top: 10px;
  padding-bottom: 2px;
}
.tc-quick-filters .btn{
  flex: 0 0 auto;
}
.due-dt-card{
  overflow: hidden;
}
.due-dt-wrap{
  position: relative;
}
.tc-dt-controls{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin: 12px 0 12px;
}
.tc-dt-left,.tc-dt-right{
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.tc-dt-left label{
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 800;
  font-size: 12px;
  color: #475569;
}
.tc-dt-right .input{
  min-width: 240px;
}
.due-dt-table th.is-sortable{
  cursor: pointer;
  user-select: none;
}
.due-dt-table th.is-sortable:hover{
  color: #2563eb;
}
.due-dt-table.is-loading{
  opacity: .66;
}
.tc-dt-pager{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
@media (max-width:1100px){
.tc-filter-row{
  grid-template-columns: repeat(2,minmax(160px,1fr));
}
.tc-filter-actions{
  grid-column: 1/-1;
}
.tc-dt-controls{
  align-items: stretch;
}
.tc-dt-right .input{
  min-width: 100%;
}
}
@media (max-width:640px){
.report-hero-head{
  align-items: flex-start;
}
.tc-filter-row{
  grid-template-columns: 1fr;
}
.tc-filter-actions .btn{
  flex: 1;
}
.report-tabs{
  margin-left: -4px;
  margin-right: -4px;
}
.tc-dt-left,.tc-dt-right{
  width: 100%;
}
.tc-dt-right .btn{
  flex: 1;
}
.tc-dt-pager{
  justify-content: space-between;
}
.due-kpi-grid{
  grid-template-columns: 1fr 1fr;
}
.due-kpi-grid .metric-card{
  min-height: 105px;
}
.report-tile-grid{
  grid-template-columns: 1fr;
}
.due-reports-page .actions{
  width: 100%;
  justify-content: flex-start;
  flex-wrap: wrap;
}
}
.tc26-audit-page{
  --tc26-blue: #2563eb;
  --tc26-teal: #15b8b0;
  --tc26-navy: #0f172a;
  --tc26-muted: #64748b;
  --tc26-line: #d9e6f5;
  --tc26-soft: #f7fbff;
}
.tc26-report-hero{
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  background: linear-gradient(135deg,#fff 0%,#f7fcff 55%,#eef9ff 100%);
  border: 1px solid var(--tc26-line);
  border-radius: 28px;
  padding: 22px 24px;
  margin-bottom: 16px;
  box-shadow: 0 18px 45px rgba(15,23,42,.07);
}
.tc26-hero-main h2{
  margin: 2px 0 6px;
  font-size: clamp(24px,2.4vw,34px);
  letter-spacing: -.04em;
  color: var(--tc26-navy);
}
.tc26-hero-main p{
  margin: 0;
  max-width: 900px;
  color: #334155;
  line-height: 1.55;
}
.tc26-hero-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 280px;
}
.tc26-chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.tc26-soft-chip{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 6px 11px;
  background: rgba(255,255,255,.82);
  border: 1px solid #cfe7ff;
  color: #14517e;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 7px 16px rgba(37,99,235,.05);
}
.tc26-report-nav{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px 14px;
  margin-bottom: 4px;
  scrollbar-width: thin;
}
.tc26-report-pill{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  border: 1px solid var(--tc26-line);
  background: #fff;
  color: #334155;
  text-decoration: none;
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 7px 18px rgba(15,23,42,.04);
}
.tc26-report-pill:hover,.tc26-report-pill.active{
  border-color: transparent;
  color: white;
  background: linear-gradient(135deg,#2f80ed,#27c5b8);
  box-shadow: 0 10px 26px rgba(37,99,235,.18);
}
.tc26-report-panel{
  background: #fff;
  border: 1px solid var(--tc26-line);
  border-radius: 28px;
  padding: 16px 18px 18px;
  box-shadow: 0 18px 42px rgba(15,23,42,.065);
  overflow: hidden;
}
.tc26-panel-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 2px 12px;
  border-bottom: 1px solid #edf3fb;
  margin-bottom: 12px;
}
.tc26-export-inline{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.tc26-toolbar{
  margin: 0 0 14px;
  border-radius: 22px;
  background: linear-gradient(180deg,#fbfdff,#f4f9ff);
  border: 1px solid #d8e7f5;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px rgba(15,23,42,.04);
}
.tc26-toolbar-grid{
  display: grid;
  grid-template-columns: minmax(160px,1.25fr) repeat(4,minmax(130px,1fr)) auto;
  gap: 10px;
  align-items: end;
}
.tc26-toolbar-grid label{
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #475569;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.tc26-toolbar-actions{
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.tc26-quick-filters{
  display: flex;
  gap: 8px;
  overflow: auto;
  padding-top: 10px;
  scrollbar-width: thin;
}
.tc26-quick-filters .btn{
  flex: 0 0 auto;
}
.tc26-table-command{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
}
.tc26-dt-left,.tc26-dt-right{
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.tc26-dt-left label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #475569;
  font-size: 12px;
  font-weight: 900;
}
.tc26-info-text{
  font-weight: 800;
  color: #64748b;
}
.tc26-search{
  min-width: 280px;
}
.tc26-table-scroll{
  width: 100%;
  overflow: auto;
  border: 1px solid #dbe8f6;
  border-radius: 22px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.tc26-audit-table{
  width: 100%;
  min-width: 1100px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  color: #0f172a;
}
.tc26-audit-table thead th{
  position: sticky;
  top: 0;
  z-index: 1;
  background: linear-gradient(180deg,#f8fbff,#f1f6fc);
  border-bottom: 1px solid #dbe8f6;
  padding: 13px 14px;
  text-align: left;
  white-space: nowrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #42526a;
  font-weight: 950;
}
.tc26-audit-table thead th.is-sortable{
  cursor: pointer;
  user-select: none;
}
.tc26-audit-table thead th.is-sortable::after{
  content: "↕";
  font-size: 10px;
  margin-left: 5px;
  color: #94a3b8;
}
.tc26-audit-table thead th[data-sort="asc"]::after{
  content: "↑";
  color: #2563eb;
}
.tc26-audit-table thead th[data-sort="desc"]::after{
  content: "↓";
  color: #2563eb;
}
.tc26-audit-table tbody td{
  padding: 12px 14px;
  border-bottom: 1px solid #edf3fb;
  vertical-align: middle;
  background: #fff;
  line-height: 1.4;
}
.tc26-audit-table tbody tr:nth-child(even) td{
  background: #fbfdff;
}
.tc26-audit-table tbody tr:hover td{
  background: #eef9ff;
}
.tc26-audit-table.is-loading{
  opacity: .72;
}
.tc26-cell-money,.tc26-cell-number{
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tc26-num{
  font-weight: 850;
  color: #0f172a;
}
.tc26-status{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 950;
  border: 1px solid #d9e4ef;
  background: #f8fafc;
  color: #475569;
  white-space: nowrap;
}
.tc26-status.ok{
  background: #dff8ef;
  border-color: #bdebd8;
  color: #065f46;
}
.tc26-status.warn{
  background: #fff5d8;
  border-color: #f6d787;
  color: #854d0e;
}
.tc26-status.danger{
  background: #ffe4e8;
  border-color: #fecdd3;
  color: #9f1239;
}
.tc26-long-text{
  display: inline-block;
  max-width: 380px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}
.tc26-muted-dash{
  color: #94a3b8;
}
.tc26-empty-cell,.tc26-loading-cell,.tc26-error-cell{
  text-align: center;
  padding: 28px;
  color: #64748b;
  font-weight: 800;
  background: #fbfdff;
}
.tc26-error-cell{
  color: #b91c1c;
}
.tc26-table-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #edf3fb;
}
.tc26-footer-actions{
  display: flex;
  gap: 8px;
}
.tc26-footer-info{
  font-size: 12px;
  font-weight: 900;
  color: #64748b;
}
.tc26-kpi-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(185px,1fr));
  gap: 12px;
  margin: 16px 0;
}
.tc26-kpi-card{
  position: relative;
  overflow: hidden;
  border: 1px solid #dce9f7;
  border-radius: 24px;
  background: linear-gradient(180deg,#fff,#f8fbff);
  padding: 16px;
  box-shadow: 0 12px 30px rgba(15,23,42,.055);
  min-height: 124px;
}
.tc26-kpi-card::before{
  content: "";
  position: absolute;
  right: -26px;
  top: -30px;
  width: 86px;
  height: 86px;
  border-radius: 999px;
  background: rgba(37,99,235,.08);
}
.tc26-kpi-card span{
  display: block;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 950;
}
.tc26-kpi-card strong{
  display: block;
  margin: 8px 0 6px;
  font-size: clamp(24px,2.3vw,36px);
  line-height: 1;
  color: #0f172a;
  letter-spacing: -.05em;
}
.tc26-kpi-card em{
  font-style: normal;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}
.tc26-kpi-card.warn::before{
  background: rgba(245,158,11,.13);
}
.tc26-kpi-card.danger::before{
  background: rgba(239,68,68,.12);
}
.tc26-kpi-card.money::before{
  background: rgba(20,184,166,.12);
}
.tc26-chart-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap: 14px;
  margin: 16px 0;
}
.tc26-chart-card{
  border: 1px solid #dce9f7;
  border-radius: 26px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
}
.tc26-chart-card strong{
  display: block;
  color: #0f172a;
  font-size: 15px;
}
.tc26-chart-card span{
  display: block;
  color: #64748b;
  font-size: 12px;
  margin-top: 3px;
}
.tc26-report-library{
  border: 1px solid #dce9f7;
  border-radius: 28px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 16px 38px rgba(15,23,42,.06);
}
.tc26-library-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.tc26-library-head .input{
  max-width: 320px;
}
.tc26-report-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 12px;
}
.tc26-report-card{
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  grid-template-areas: "icon title" "icon desc" "icon action";
  gap: 3px 12px;
  text-decoration: none;
  color: #0f172a;
  border: 1px solid #dce9f7;
  border-radius: 22px;
  padding: 15px;
  background: linear-gradient(180deg,#fff,#f9fcff);
  transition: .18s ease;
}
.tc26-report-card:hover{
  transform: translateY(-2px);
  border-color: #86e2ef;
  box-shadow: 0 16px 36px rgba(37,99,235,.12);
}
.tc26-report-icon{
  grid-area: icon;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#e6fbff,#ddf8ee);
  font-weight: 950;
  color: #0f766e;
}
.tc26-report-card strong{
  grid-area: title;
  font-size: 14px;
}
.tc26-report-card small{
  grid-area: desc;
  color: #64748b;
  line-height: 1.45;
}
.tc26-report-card em{
  grid-area: action;
  font-style: normal;
  color: #2563eb;
  font-weight: 900;
  font-size: 12px;
  margin-top: 5px;
}
@media (max-width:1100px){
.tc26-report-hero,.tc26-panel-header,.tc26-library-head{
  flex-direction: column;
  align-items: flex-start;
}
.tc26-hero-actions,.tc26-export-inline{
  justify-content: flex-start;
  min-width: 0;
}
.tc26-toolbar-grid{
  grid-template-columns: repeat(2,minmax(160px,1fr));
}
.tc26-toolbar-actions{
  grid-column: 1/-1;
}
.tc26-table-command{
  align-items: stretch;
  flex-direction: column;
}
.tc26-search{
  min-width: 100%;
}
.tc26-dt-right{
  width: 100%;
}
.tc26-dt-right .btn{
  flex: 1;
}
}
@media (max-width:720px){
.tc26-report-hero,.tc26-report-panel,.tc26-report-library{
  border-radius: 20px;
  padding: 14px;
}
.tc26-toolbar-grid{
  grid-template-columns: 1fr;
}
.tc26-toolbar-actions .btn{
  flex: 1;
}
.tc26-kpi-grid{
  grid-template-columns: 1fr 1fr;
}
.tc26-table-footer{
  align-items: stretch;
  flex-direction: column;
}
.tc26-footer-actions{
  justify-content: space-between;
}
.tc26-audit-table{
  min-width: 880px;
}
.tc26-library-head .input{
  max-width: 100%;
  width: 100%;
}
}
.tc27-smart-date-toolbar .tc27-toolbar-grid{
  grid-template-columns: minmax(190px,1.25fr) repeat(2,minmax(150px,1fr)) auto;
}
.tc27-smart-date-toolbar .tc27-date-field[hidden], .tc27-smart-date-toolbar .tc27-date-field.is-hidden{
  display: none;
}
.tc27-filter-summary{
  margin-top: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.tc26-quick-filters .btn.active, .tc26-quick-filters .btn[aria-pressed="true"]{
  background: linear-gradient(135deg,#0ea5e9,#10b981);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(14,165,233,.22);
}
@media (max-width:1100px){
.tc27-smart-date-toolbar .tc27-toolbar-grid{
  grid-template-columns: repeat(2,minmax(160px,1fr));
}
.tc27-smart-date-toolbar .tc27-toolbar-actions{
  grid-column: 1/-1;
}
}
@media (max-width:720px){
.tc27-smart-date-toolbar .tc27-toolbar-grid{
  grid-template-columns: 1fr;
}
}
body.modal-open{
  overflow: hidden;
}
.modal.open,.modal.is-open,.modal.show,.modal.tc-server-open-modal{
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2,8,23,.62);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  overflow: auto;
}
.modal.open>.modal-card,.modal.is-open>.modal-card,.modal.show>.modal-card,.modal.tc-server-open-modal>.modal-card{
  display: block;
  position: relative;
  z-index: 2147483100;
  max-height: min(90vh,920px);
  overflow: auto;
  pointer-events: auto;
}
.modal.tc-station-action-modal>.modal-card{
  width: min(1120px,calc(100vw - 32px));
}
.station-detail-page .station-hero,.station-detail-page .station-actions-bar{
  position: relative;
  z-index: 1200;
  pointer-events: auto;
  overflow: visible;
  transform: none;
  contain: none;
}
.station-detail-page .station-hero-btn,.station-detail-page .tc-station-action-btn{
  position: relative;
  z-index: 1210;
  pointer-events: auto;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
}
@media(max-width:760px){
.modal.open,.modal.is-open,.modal.show,.modal.tc-server-open-modal{
  padding: 12px;
  align-items: flex-end;
}
.modal.open>.modal-card,.modal.is-open>.modal-card,.modal.show>.modal-card,.modal.tc-server-open-modal>.modal-card{
  width: 100%;
  max-height: 90dvh;
}
}
.oee-mini-bar{
  height: 10px;
  min-width: 120px;
  background: rgba(148,163,184,.18);
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.22);
}
.oee-mini-bar span{
  display: block;
  height: 100%;
  background: linear-gradient(90deg,rgba(34,197,94,.85),rgba(59,130,246,.9));
  border-radius: 999px;
}
.oee-svg{
  width: 100%;
  max-width: 100%;
  height: auto;
  background: rgba(248,250,252,.72);
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 18px;
  padding: 10px;
}
.oee-svg rect{
  fill: rgba(59,130,246,.75);
}
.oee-svg text{
  fill: var(--text);
  font-family: inherit;
}
body.dark .oee-svg{
  background: rgba(15,23,42,.45);
}
body.app-shell .station-detail-page .station-hero, body.app-shell .station-detail-page .station-actions-bar, body.app-shell .station-detail-page .station-actions-bar .btn, body.app-shell .station-detail-page .station-hero-btn{
  position: relative;
  z-index: 2147481200;
  pointer-events: auto;
  isolation: isolate;
}
body.app-shell .station-detail-page .station-pack-grid-wrap, body.app-shell .station-detail-page .station-pack-grid, body.app-shell .station-detail-page .station-pack-card, body.app-shell .station-detail-page #stationPackCards, body.app-shell .station-detail-page #stationPackSection{
  position: relative;
  z-index: 1;
}
body.app-shell .station-detail-page .station-pack-card::before, body.app-shell .station-detail-page .station-pack-card::after, body.app-shell .station-detail-page .station-hero::before, body.app-shell .station-detail-page .station-hero::after{
  pointer-events: none;
}
body.app-shell .station-detail-page .modal, body.app-shell .station-detail-page .modal.open, body.app-shell .station-detail-page .modal.is-open, body.app-shell .station-detail-page .modal.show{
  z-index: 2147483000;
}
body.app-shell .station-clock-modal-card .machine-check-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.app-shell .station-clock-modal-card .machine-check-row{
  display: grid;
  grid-template-columns: minmax(180px,260px) 1fr minmax(220px,300px);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(120,130,150,.22);
  border-radius: 18px;
  background: rgba(120,130,150,.06);
}
body.app-shell .station-clock-modal-card .machine-param-stack{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
body.app-shell .station-clock-modal-card .machine-param-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
@media(max-width:980px){
body.app-shell .station-clock-modal-card .machine-check-row{
  grid-template-columns: 1fr;
}
body.app-shell .station-clock-modal-card .machine-param-stack{
  grid-template-columns: 1fr;
}
}
.pack-represent-image{
  width: 100%;
  max-width: 420px;
  aspect-ratio: 16/10;
  object-fit: contain;
  border-radius: 22px;
  background: linear-gradient(135deg,rgba(15,23,42,.08),rgba(59,130,246,.08));
  border: 1px solid rgba(120,130,150,.22);
  padding: 16px;
}
body.app-shell .oee-svg, body.app-shell .oee-svg-compact{
  height: 190px;
  max-height: 210px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(248,250,252,.72);
}
body.app-shell .oee-svg-compact rect{
  fill: color-mix(in srgb,var(--primary) 72%,#5eead4 28%);
}
body.app-shell .oee-mini-bar{
  height: 8px;
  min-width: 80px;
}
body.app-shell .pqcds-redesign .pqcds-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  gap: 12px;
}
body.app-shell .pqcds-redesign .pq-card{
  min-height: 0;
  padding: 14px;
  border-radius: 18px;
}
body.app-shell .pqcds-redesign .pq-score{
  height: auto;
  place-items: start;
}
body.app-shell .pqcds-redesign .pq-ring{
  width: 76px;
  height: 76px;
}
body.app-shell .pqcds-redesign .pq-ring:after{
  width: 50px;
  height: 50px;
}
body.app-shell .pqcds-redesign .pq-ring span{
  font-size: 24px;
}
body.app-shell .pqcds-redesign .pq-calendar{
  grid-template-columns: repeat(16,1fr);
}
body.app-shell .pqcds-action-modal{
  position: fixed;
  inset: 0;
  z-index: 1800;
  display: none;
  background: rgba(15,23,42,.48);
  align-items: center;
  justify-content: center;
  padding: 18px;
}
body.app-shell .pqcds-action-modal.is-open{
  display: flex;
}
body.app-shell .pqcds-action-card{
  width: min(960px,96vw);
  max-height: 92vh;
  overflow: auto;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(15,23,42,.28);
  padding: 18px;
}
@media(max-width:760px){
body.app-shell .oee-page .metric-grid,body.app-shell .oee-page .oee-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .oee-svg{
  height: 170px;
}
}
body.app-shell .oee-page{
  --oee-accent: #2563eb;
  --oee-ok: #16a34a;
  --oee-warn: #d97706;
  --oee-danger: #dc2626;
}
body.app-shell .oee-page .page-head{
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}
body.app-shell .oee-page .filters.card{
  border-radius: 20px;
  padding: 14px;
  background: linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.94));
  box-shadow: 0 10px 26px rgba(15,23,42,.055);
}
body.app-shell .oee-page .filters .grid.four{
  grid-template-columns: repeat(4,minmax(150px,1fr));
  gap: 10px;
}
body.app-shell .oee-page .metric-grid, body.app-shell .oee-page .oee-kpi-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(165px,1fr));
  gap: 12px;
  align-items: stretch;
  margin: 0 0 14px;
}
body.app-shell .oee-page .metric-card{
  min-height: 96px;
  padding: 14px 15px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.22);
  background: linear-gradient(180deg,#fff,#f8fbff);
  box-shadow: 0 12px 28px rgba(15,23,42,.055);
}
body.app-shell .oee-page .metric-card:before{
  content: "";
  position: absolute;
  right: -26px;
  top: -30px;
  width: 86px;
  height: 86px;
  border-radius: 999px;
  background: rgba(37,99,235,.08);
}
body.app-shell .oee-page .metric-label{
  font-size: 10.5px;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 950;
  color: #64748b;
}
body.app-shell .oee-page .metric-value{
  font-size: 1.55rem;
  line-height: 1.1;
  letter-spacing: -.04em;
}
body.app-shell .oee-page .card{
  padding: 16px;
  margin-bottom: 12px;
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 12px 30px rgba(15,23,42,.052);
  background: linear-gradient(180deg,#fff,#fbfdff);
}
body.app-shell .oee-page .grid.two{
  gap: 14px;
  align-items: start;
}
body.app-shell .oee-page h3{
  font-size: 1rem;
  margin: 0 0 10px;
  letter-spacing: -.01em;
}
body.app-shell .oee-page .oee-svg{
  display: none;
}
body.app-shell .oee-sleek-bars{
  display: grid;
  gap: 9px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 18px;
  background: linear-gradient(180deg,#f8fbff,#fff);
  padding: 12px;
  max-height: 260px;
  overflow: auto;
}
body.app-shell .oee-sleek-row{
  display: grid;
  grid-template-columns: minmax(90px,145px) minmax(120px,1fr) minmax(52px,70px);
  gap: 10px;
  align-items: center;
  min-height: 24px;
}
body.app-shell .oee-sleek-label{
  font-size: 11.5px;
  font-weight: 850;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .oee-sleek-track{
  height: 9px;
  border-radius: 999px;
  background: #e7edf6;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.16);
}
body.app-shell .oee-sleek-track i{
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,#14b8a6,#2563eb);
}
body.app-shell .oee-sleek-row strong{
  font-size: 12px;
  font-weight: 950;
  color: #0f172a;
  text-align: right;
}
body.app-shell .oee-no-chart{
  padding: 14px;
  border: 1px dashed rgba(148,163,184,.45);
  border-radius: 16px;
  background: #f8fafc;
  font-weight: 800;
  text-align: center;
}
body.app-shell .oee-page .table-wrap{
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.2);
  background: #fff;
}
body.app-shell .oee-page .table thead th{
  background: linear-gradient(180deg,#f8fafc,#eef4fb);
  font-size: 10.5px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #475569;
}
body.app-shell .oee-page .table td{
  font-size: 12.5px;
}
body.app-shell .pq-page, body.app-shell .ai-page, body.app-shell .pq5s-wrap{
  --pq-blue: #2563eb;
  --pq-teal: #14b8a6;
  --pq-ok: #16a34a;
  --pq-warn: #d97706;
  --pq-bad: #dc2626;
}
body.app-shell .pq-hero, body.app-shell .ai-hero, body.app-shell .pq5s-hero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 24px;
  background: linear-gradient(135deg,#ffffff,#f4f8ff);
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
}
body.app-shell .pq-hero h2, body.app-shell .ai-hero h2, body.app-shell .pq5s-hero h2{
  margin: 0;
  font-size: clamp(1.25rem,2vw,1.75rem);
  letter-spacing: -.035em;
}
body.app-shell .pq-actions, body.app-shell .ai-hero .actions, body.app-shell .pq5s-hero .actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body.app-shell .pq-card-grid, body.app-shell .ai-kpis, body.app-shell .act-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(165px,1fr));
  gap: 12px;
  align-items: stretch;
}
body.app-shell .pq-card, body.app-shell .ai-card, body.app-shell .act-card, body.app-shell .pq5s-card, body.app-shell .pq-panel{
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 22px;
  background: linear-gradient(180deg,#fff,#fbfdff);
  box-shadow: 0 12px 30px rgba(15,23,42,.055);
  padding: 16px;
}
body.app-shell .pq-card h3, body.app-shell .ai-card h3, body.app-shell .pq5s-card h3, body.app-shell .pq-panel h3{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 8px;
  color: #334155;
}
body.app-shell .pq-score{
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -.055em;
  margin: 8px 0;
  color: #0f172a;
}
body.app-shell .pq-bar{
  height: 8px;
  border-radius: 999px;
  background: #e7edf6;
}
body.app-shell .pq-mini-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin-top: 10px;
}
body.app-shell .pq-mini{
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 14px;
  background: #f8fbff;
  padding: 9px;
}
body.app-shell .pq-mini strong{
  font-size: 18px;
  line-height: 1;
}
body.app-shell .pq-layout{
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  gap: 14px;
  align-items: start;
}
body.app-shell .pq-cal{
  grid-template-columns: repeat(auto-fit,minmax(7px,1fr));
  gap: 3px;
}
body.app-shell .pq-day{
  height: 10px;
  border-radius: 999px;
}
body.app-shell .pq-table, body.app-shell .ai-table, body.app-shell .act-table, body.app-shell .pq5s-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  font-size: 12.5px;
}
body.app-shell .pq-table th, body.app-shell .ai-table th, body.app-shell .act-table th, body.app-shell .pq5s-table th{
  position: sticky;
  top: 0;
  z-index: 1;
  background: linear-gradient(180deg,#f8fafc,#eef4fb);
  border-bottom: 1px solid rgba(148,163,184,.26);
  padding: 11px 12px;
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #475569;
  white-space: nowrap;
}
body.app-shell .pq-table td, body.app-shell .ai-table td, body.app-shell .act-table td, body.app-shell .pq5s-table td{
  border-bottom: 1px solid rgba(226,232,240,.9);
  padding: 11px 12px;
  vertical-align: middle;
  background: #fff;
  line-height: 1.35;
}
body.app-shell .pq-table tbody tr:nth-child(even) td, body.app-shell .ai-table tbody tr:nth-child(even) td, body.app-shell .act-table tbody tr:nth-child(even) td, body.app-shell .pq5s-table tbody tr:nth-child(even) td{
  background: #fbfdff;
}
body.app-shell .ai-grid, body.app-shell .pq5s-grid{
  display: grid;
  grid-template-columns: minmax(260px,.35fr) minmax(0,1fr);
  gap: 14px;
  align-items: start;
}
body.app-shell .ai-filter a{
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 16px;
  padding: 11px 12px;
  background: #fff;
  color: #0f172a;
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
body.app-shell .ai-filter a:hover{
  border-color: #60a5fa;
  transform: translateY(-1px);
}
body.app-shell .pq-modal, body.app-shell .act-modal{
  backdrop-filter: blur(4px);
  background: rgba(15,23,42,.54);
}
body.app-shell .pq-modal-card, body.app-shell .act-card-modal{
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(15,23,42,.32);
}
@media(max-width:1100px){
body.app-shell .oee-page .filters .grid.four{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .pq-layout,body.app-shell .ai-grid,body.app-shell .pq5s-grid{
  grid-template-columns: 1fr;
}
body.app-shell .pq-hero,body.app-shell .ai-hero,body.app-shell .pq5s-hero{
  flex-direction: column;
}
body.app-shell .pq-actions,body.app-shell .ai-hero .actions,body.app-shell .pq5s-hero .actions{
  justify-content: flex-start;
}
}
@media(max-width:720px){
body.app-shell .oee-page .filters .grid.four{
  grid-template-columns: 1fr;
}
body.app-shell .oee-page .metric-grid,body.app-shell .oee-page .oee-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .oee-sleek-row{
  grid-template-columns: 1fr;
  gap: 4px;
}
body.app-shell .oee-sleek-row strong{
  text-align: left;
}
body.app-shell .pq-card-grid,body.app-shell .ai-kpis,body.app-shell .act-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .tasm-audio-enable{
  position: fixed;
  right: 18px;
  bottom: 72px;
  z-index: 2147481200;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(15,23,42,.22);
}
body.app-shell .machines-assignments-page .station-option{
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
}
body.app-shell .machines-assignments-page .station-option span{
  line-height: 1.25;
}
body.app-shell .machine-check-row{
  align-items: start;
}
body.app-shell .machine-param-stack{
  display: grid;
  gap: 8px;
}
body.app-shell .machine-param-row{
  display: grid;
  grid-template-columns: minmax(180px,1fr) minmax(120px,220px);
  gap: 8px;
  align-items: center;
}
@media(max-width:720px){
body.app-shell .machine-param-row{
  grid-template-columns: 1fr;
}
body.app-shell .tasm-audio-enable{
  right: 12px;
  bottom: 68px;
}
}
body.app-shell .station-clock-modal-card, body.app-shell .preassembly-page .modal-card.lg{
  width: min(1040px,calc(100vw - 28px));
  max-width: 1040px;
  padding: 18px;
  border-radius: 22px;
}
body.app-shell .station-clock-form .machine-check-sheet, body.app-shell .preassembly-page .machine-check-sheet{
  border: 1px solid rgba(120,130,150,.20);
  background: linear-gradient(180deg,rgba(248,250,252,.82),rgba(255,255,255,.92));
  border-radius: 18px;
  padding: 12px;
}
body.app-shell .station-clock-form .machine-check-list, body.app-shell .preassembly-page .machine-check-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
body.app-shell .station-clock-form .machine-check-row, body.app-shell .station-clock-modal-card .machine-check-row, body.app-shell .preassembly-page .machine-check-row{
  display: grid;
  grid-template-columns: minmax(180px,245px) minmax(0,1fr) minmax(190px,240px);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(120,130,150,.18);
}
body.app-shell .station-clock-form .machine-check-meta, body.app-shell .preassembly-page .machine-check-meta{
  align-self: center;
  min-width: 0;
}
body.app-shell .station-clock-form .machine-check-controls, body.app-shell .preassembly-page .machine-check-controls{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 10px;
  align-items: end;
}
body.app-shell .station-clock-form .machine-param-stack, body.app-shell .station-clock-modal-card .machine-param-stack, body.app-shell .preassembly-page .machine-param-stack{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 10px;
  margin: 0;
}
body.app-shell .station-clock-form .machine-param-row, body.app-shell .station-clock-modal-card .machine-param-row, body.app-shell .preassembly-page .machine-param-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  margin: 0;
}
body.app-shell .station-clock-form .machine-status-field, body.app-shell .preassembly-page .machine-status-field, body.app-shell .station-clock-form .machine-remarks-field, body.app-shell .preassembly-page .machine-remarks-field{
  display: grid;
  gap: 5px;
  margin: 0;
}
body.app-shell .station-clock-form .machine-check-row .label, body.app-shell .preassembly-page .machine-check-row .label{
  margin: 0;
  font-size: .68rem;
  letter-spacing: .12em;
  color: #334155;
}
body.app-shell .station-clock-form .machine-check-row .input, body.app-shell .preassembly-page .machine-check-row .input{
  min-height: 42px;
  height: 42px;
  padding: 8px 12px;
  border-radius: 14px;
}
body.app-shell .station-clock-form .machine-check-row textarea.input, body.app-shell .preassembly-page .machine-check-row textarea.input{
  min-height: 42px;
  height: auto;
}
body.app-shell .station-clock-form .station-protocol-check-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap: 10px;
}
body.app-shell .station-clock-form .actions{
  margin-top: 2px;
  justify-content: flex-end;
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.96));
  padding-top: 10px;
  border-top: 1px solid rgba(120,130,150,.16);
}
body.app-shell .station9-template-card{
  padding: 12px 14px;
}
body.app-shell .station9-field-grid{
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 10px;
}
body.app-shell .station9-check-grid{
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 8px;
}
body.app-shell .station9-check-item{
  padding: 9px 10px;
  border-radius: 12px;
}
body.app-shell .final-pack-thumb{
  width: 92px;
  height: 58px;
  object-fit: contain;
  border-radius: 12px;
  border: 1px solid rgba(120,130,150,.18);
  background: #f8fafc;
  padding: 5px;
}
body.app-shell .pack-journey-metric-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 10px;
  margin-top: 12px;
}
@media(max-width:980px){
body.app-shell .station-clock-form .machine-check-row, body.app-shell .station-clock-modal-card .machine-check-row, body.app-shell .preassembly-page .machine-check-row{
  grid-template-columns: 1fr;
  align-items: stretch;
}
body.app-shell .station-clock-form .machine-check-controls, body.app-shell .preassembly-page .machine-check-controls{
  grid-template-columns: 1fr;
}
}
body.app-shell #stationClockModal.modal, body.app-shell #clockInModal.modal{
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15,23,42,.58);
  backdrop-filter: blur(8px);
}
body.app-shell #stationClockModal .station-clock-modal-card, body.app-shell #stationClockModal .modal-card, body.app-shell .preassembly-simple #clockInModal .modal-card, body.app-shell .preassembly-overview-page #clockInModal .modal-card, body.app-shell #clockInModal .modal-card:has(.machine-check-modal-form){
  width: min(1120px,calc(100vw - 36px));
  max-width: 1120px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border-radius: 24px;
  border: 1px solid rgba(148,163,184,.32);
  background: linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow: 0 28px 90px rgba(15,23,42,.34);
}
body.app-shell #stationClockModal .modal-head, body.app-shell #clockInModal .modal-head:has(+ .modal-body), body.app-shell .preassembly-simple #clockInModal .modal-head, body.app-shell .preassembly-overview-page #clockInModal .modal-head{
  position: sticky;
  top: 0;
  z-index: 20;
  margin: 0;
  padding: 14px 18px 12px;
  border-radius: 24px 24px 0 0;
  border-bottom: 1px solid rgba(148,163,184,.22);
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96));
  backdrop-filter: blur(8px);
}
body.app-shell #stationClockModal .modal-head .card-title, body.app-shell #stationClockModal .modal-head .modal-title, body.app-shell #clockInModal .modal-head .card-title, body.app-shell #clockInModal .modal-head .modal-title{
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0;
}
body.app-shell #stationClockModal .modal-head .muted, body.app-shell #clockInModal .modal-head .muted{
  font-size: 12px;
  margin-top: 3px;
}
body.app-shell #stationClockModal .modal-close, body.app-shell #clockInModal .modal-close{
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: grid;
  place-items: center;
}
body.app-shell #stationClockModal .machine-check-modal-form, body.app-shell #clockInModal .machine-check-modal-form{
  overflow: auto;
  padding: 14px 18px 0;
  display: block;
  scrollbar-gutter: stable;
}
body.app-shell #clockInModal .modal-body{
  padding: 0;
  overflow: hidden;
}
body.app-shell #clockInModal .modal-body > .machine-check-modal-form{
  max-height: calc(88vh - 68px);
}
body.app-shell #stationClockModal .machine-check-sheet, body.app-shell #clockInModal .machine-check-sheet{
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: linear-gradient(180deg,#f8fbff,#ffffff);
  box-shadow: none;
  padding: 10px;
  margin: 0 0 10px;
}
body.app-shell #stationClockModal .machine-check-sheet-head, body.app-shell #clockInModal .machine-check-sheet-head{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 8px;
  padding: 0 2px 8px;
  border-bottom: 1px solid rgba(148,163,184,.16);
}
body.app-shell #stationClockModal .machine-check-sheet-head .card-title, body.app-shell #clockInModal .machine-check-sheet-head .card-title{
  font-size: 13px;
  line-height: 1.15;
  margin: 0;
}
body.app-shell #stationClockModal .machine-check-sheet-head .small, body.app-shell #clockInModal .machine-check-sheet-head .small{
  font-size: 11.5px;
  line-height: 1.25;
}
body.app-shell #stationClockModal .machine-check-list, body.app-shell #clockInModal .machine-check-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
body.app-shell #stationClockModal .machine-check-meta, body.app-shell #clockInModal .machine-check-meta{
  align-self: center;
  min-width: 0;
}
body.app-shell #stationClockModal .machine-check-meta strong, body.app-shell #clockInModal .machine-check-meta strong{
  display: block;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell #stationClockModal .machine-check-meta .small, body.app-shell #clockInModal .machine-check-meta .small{
  font-size: 11.5px;
  line-height: 1.25;
  margin-top: 3px;
  white-space: normal;
}
body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls{
  display: grid;
  grid-template-columns: minmax(230px,1fr) minmax(120px,150px);
  gap: 8px;
  align-items: end;
  min-width: 0;
}
body.app-shell #stationClockModal .machine-param-row, body.app-shell #clockInModal .machine-param-row, body.app-shell #stationClockModal .machine-status-field, body.app-shell #clockInModal .machine-status-field, body.app-shell #stationClockModal .machine-remarks-field, body.app-shell #clockInModal .machine-remarks-field{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin: 0;
  min-width: 0;
}
body.app-shell #stationClockModal .machine-check-row .label, body.app-shell #clockInModal .machine-check-row .label, body.app-shell #stationClockModal .station-protocol-check-row .label, body.app-shell #clockInModal .station-protocol-check-row .label{
  margin: 0;
  font-size: 10px;
  line-height: 1.15;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #334155;
  font-weight: 900;
}
body.app-shell #stationClockModal .machine-check-row .input, body.app-shell #clockInModal .machine-check-row .input, body.app-shell #stationClockModal .station-protocol-check-row .input, body.app-shell #clockInModal .station-protocol-check-row .input, body.app-shell #stationClockModal .compact-input, body.app-shell #clockInModal .compact-input{
  width: 100%;
  min-height: 36px;
  height: 36px;
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.2;
  box-shadow: none;
}
body.app-shell #stationClockModal .machine-check-row select.input, body.app-shell #clockInModal .machine-check-row select.input, body.app-shell #stationClockModal .station-protocol-check-row select.input, body.app-shell #clockInModal .station-protocol-check-row select.input{
  padding-right: 26px;
}
body.app-shell #stationClockModal .station-protocol-check-sheet, body.app-shell #clockInModal .station-protocol-check-sheet{
  margin-top: 10px;
}
body.app-shell #stationClockModal .station-protocol-check-grid, body.app-shell #clockInModal .station-protocol-check-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(310px,1fr));
  gap: 8px;
}
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) minmax(94px,128px);
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,.20);
  background: #fff;
}
body.app-shell #stationClockModal .station-protocol-check-index, body.app-shell #clockInModal .station-protocol-check-index{
  width: 24px;
  height: 24px;
  min-width: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
}
body.app-shell #stationClockModal .station-protocol-help, body.app-shell #clockInModal .station-protocol-help{
  font-size: 10.5px;
  line-height: 1.25;
  margin-top: 2px;
}
body.app-shell #stationClockModal .machine-check-modal-form > .label, body.app-shell #clockInModal .machine-check-modal-form > .label{
  display: block;
  margin: 8px 0 4px;
  font-size: 10.5px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
body.app-shell #stationClockModal .machine-check-modal-form > input.input, body.app-shell #clockInModal .machine-check-modal-form > input.input, body.app-shell #stationClockModal .machine-check-modal-form > textarea.input, body.app-shell #clockInModal .machine-check-modal-form > textarea.input{
  min-height: 38px;
  border-radius: 12px;
}
body.app-shell #stationClockModal .machine-check-modal-form > .actions, body.app-shell #clockInModal .machine-check-modal-form > .actions, body.app-shell #clockInModal .machine-check-modal-form > .station-clock-submit-btn{
  position: sticky;
  bottom: 0;
  z-index: 30;
  margin: 12px -18px 0;
  padding: 10px 18px;
  border-top: 1px solid rgba(148,163,184,.20);
  background: linear-gradient(180deg,rgba(248,251,255,.86),rgba(255,255,255,.98));
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
}
body.app-shell #clockInModal .machine-check-modal-form > .station-clock-submit-btn{
  margin-left: auto;
  width: auto;
}
body.app-shell #stationClockModal .machine-check-modal-form > .actions .btn, body.app-shell #clockInModal .machine-check-modal-form > .actions .btn, body.app-shell #clockInModal .machine-check-modal-form > .station-clock-submit-btn{
  min-height: 38px;
  padding: 8px 18px;
  border-radius: 14px;
}
@media(max-width:1180px){
body.app-shell #stationClockModal .machine-check-row, body.app-shell #clockInModal .machine-check-row{
  grid-template-columns: minmax(180px,220px) minmax(300px,1fr) minmax(190px,230px);
}
body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls{
  grid-template-columns: minmax(190px,1fr) minmax(110px,140px);
}
}
@media(max-width:900px){
body.app-shell #stationClockModal.modal, body.app-shell #clockInModal.modal{
  padding: 10px;
  align-items: center;
}
body.app-shell #stationClockModal .machine-check-row, body.app-shell #clockInModal .machine-check-row{
  grid-template-columns: 1fr;
  align-items: stretch;
}
body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls{
  grid-template-columns: 1fr 132px;
}
}
@media(max-width:620px){
body.app-shell #stationClockModal .station-clock-modal-card, body.app-shell #stationClockModal .modal-card, body.app-shell #clockInModal .modal-card:has(.machine-check-modal-form){
  width: calc(100vw - 12px);
  max-height: 92vh;
  border-radius: 20px;
}
body.app-shell #stationClockModal .machine-check-modal-form, body.app-shell #clockInModal .machine-check-modal-form{
  padding: 12px 12px 0;
}
body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls, body.app-shell #stationClockModal .station-protocol-check-grid, body.app-shell #clockInModal .station-protocol-check-grid, body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row{
  grid-template-columns: 1fr;
}
body.app-shell #stationClockModal .machine-param-stack, body.app-shell #clockInModal .machine-param-stack{
  grid-template-columns: 1fr;
}
}
body.app-shell .queue-head, body.app-shell .section-head, body.app-shell .table-summary, body.app-shell .table-enhancer-top, body.app-shell .table-enhancer-bottom{
  min-width: 0;
}
body.app-shell .queue-head > form.toolbar-form, body.app-shell .section-head > form.toolbar-form, body.app-shell .table-card > form.toolbar-form, body.app-shell form.toolbar-form.toolbar-form--inline-pager{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.app-shell .queue-head > form.toolbar-form{
  flex: 1 1 680px;
}
body.app-shell .queue-head > div:first-child, body.app-shell .section-head > div:first-child{
  min-width: 220px;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager > input[type="hidden"]{
  display: none;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search, body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search--wide, body.app-shell form.toolbar-form.toolbar-form--inline-pager input[type="search"]{
  flex: 1 1 320px;
  width: auto;
  min-width: 240px;
  max-width: 560px;
  height: 40px;
  margin: 0;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager select.input, body.app-shell form.toolbar-form.toolbar-form--inline-pager select{
  flex: 0 0 112px;
  width: 112px;
  min-width: 112px;
  max-width: 128px;
  height: 40px;
  margin: 0;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager button.btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager a.btn{
  flex: 0 0 auto;
  width: auto;
  min-width: 82px;
  height: 40px;
  padding: 0 14px;
  white-space: nowrap;
  margin: 0;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-inline-pager{
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  margin-left: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-inline-pager .server-pager, body.app-shell .toolbar-inline-pager .server-pager{
  width: auto;
  max-width: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
}
body.app-shell .toolbar-inline-pager .server-pager .btn, body.app-shell .server-pager .btn{
  width: auto;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.app-shell .table-tools, body.app-shell .compact-tools, body.app-shell .inline-form{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
body.app-shell .table-tools .input, body.app-shell .compact-tools .input, body.app-shell .inline-form .input{
  width: auto;
  max-width: 320px;
}
@media (min-width: 901px){
body.app-shell .queue-head:has(> form.toolbar-form--inline-pager), body.app-shell .section-head:has(> form.toolbar-form--inline-pager){
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
}
@media (max-width: 900px){
body.app-shell .queue-head, body.app-shell .section-head, body.app-shell .table-summary{
  align-items: stretch;
}
body.app-shell .queue-head > form.toolbar-form, body.app-shell .section-head > form.toolbar-form, body.app-shell .table-card > form.toolbar-form, body.app-shell form.toolbar-form.toolbar-form--inline-pager{
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search, body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search--wide, body.app-shell form.toolbar-form.toolbar-form--inline-pager input[type="search"]{
  flex: 1 1 100%;
  min-width: 0;
  max-width: none;
  width: 100%;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager select.input, body.app-shell form.toolbar-form.toolbar-form--inline-pager select{
  flex: 1 1 120px;
  width: auto;
  max-width: none;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager button.btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager a.btn{
  flex: 0 0 auto;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-inline-pager{
  flex: 1 1 auto;
  margin-left: auto;
}
}
@media (max-width: 560px){
body.app-shell form.toolbar-form.toolbar-form--inline-pager select.input, body.app-shell form.toolbar-form.toolbar-form--inline-pager select, body.app-shell form.toolbar-form.toolbar-form--inline-pager .btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager button.btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager a.btn{
  flex: 1 1 calc(50% - 6px);
  width: auto;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-inline-pager{
  flex: 1 1 100%;
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 2px;
}
}
body.app-shell .tasm-audio-enable, body.app-shell .fullscreen-resume-btn{
  display: none;
  visibility: hidden;
  pointer-events: none;
}
body.app-shell .topbar-audio-toggle{
  position: relative;
  transition: background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.app-shell .topbar-audio-toggle.is-active, body.app-shell .topbar-audio-toggle[aria-checked="true"]{
  border-color: rgba(45,188,197,.48);
  background: linear-gradient(135deg,rgba(45,188,197,.20),rgba(37,99,235,.12)),var(--shell-panel);
  box-shadow: 0 0 0 1px rgba(45,188,197,.18) inset,0 10px 26px rgba(45,188,197,.12);
  color: var(--shell-primary);
}
body.app-shell .topbar-audio-toggle.is-active:after, body.app-shell .topbar-audio-toggle[aria-checked="true"]:after{
  content: "";
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 2px var(--shell-panel),0 0 14px rgba(34,197,94,.55);
}
body.app-shell .audio-queue-badge{
  background: #f59e0b;
  color: #111827;
  border-color: var(--shell-topbar-bg);
}
body.app-shell .topbar-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  overflow: visible;
  min-width: 0;
}
@media (max-width: 1180px){
body.app-shell .topbar-actions{
  gap: 7px;
}
body.app-shell .topbar-center{
  max-width: 420px;
}
}
@media (max-width: 760px){
body.app-shell{
  --fix-topbar-h: 64px;
  --shell-topbar-h: 64px;
}
body.app-shell .topbar{
  left: 0;
  right: 0;
  height: 64px;
  min-height: 64px;
  padding: 7px 10px;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  border-bottom: 1px solid rgba(94,121,160,.16);
}
body.app-shell .topbar-left{
  gap: 8px;
  min-width: 0;
}
body.app-shell .topbar-context{
  min-width: 0;
}
body.app-shell .topbar-kicker{
  font-size: .58rem;
  letter-spacing: .10em;
  line-height: 1.1;
}
body.app-shell .topbar-title{
  font-size: .96rem;
  line-height: 1.08;
  max-width: 42vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-center{
  display: none;
}
body.app-shell .topbar-actions{
  gap: 6px;
  justify-content: flex-end;
  overflow: visible;
}
body.app-shell .topbar-icon, body.app-shell .topbar-theme-mobile, body.app-shell .topbar-mobile-menu-btn, body.app-shell .topbar-audio-toggle{
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 14px;
  padding: 0;
}
body.app-shell .topbar-icon svg{
  width: 19px;
  height: 19px;
}
body.app-shell .topbar-audio-toggle.is-active:after, body.app-shell .topbar-audio-toggle[aria-checked="true"]:after{
  right: 6px;
  bottom: 6px;
  width: 7px;
  height: 7px;
}
body.app-shell .content{
  margin-left: 0;
  padding: calc(64px + var(--hosting-banner-height,0px) + 10px) 10px 88px;
  overflow-x: hidden;
}
body.app-shell .app-footer{
  display: none;
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-wrap, body.app-shell .metric-card{
  border-radius: 18px;
  padding: 12px;
  margin-bottom: 10px;
}
body.app-shell .grid, body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .grid.four, body.app-shell .metrics-grid, body.app-shell .metric-grid{
  grid-template-columns: 1fr;
  gap: 10px;
}
body.app-shell .actions, body.app-shell .toolbar, body.app-shell .table-toolbar, body.app-shell .table-tools, body.app-shell .queue-head, body.app-shell .page-actions{
  gap: 8px;
  flex-wrap: wrap;
  align-items: stretch;
}
body.app-shell .actions .btn, body.app-shell .toolbar .btn, body.app-shell .table-toolbar .btn, body.app-shell .page-actions .btn{
  flex: 1 1 auto;
  min-width: 0;
}
body.app-shell .input, body.app-shell select.input, body.app-shell textarea.input{
  max-width: 100%;
  min-height: 40px;
  font-size: 16px;
}
body.app-shell .modal-card{
  width: calc(100vw - 14px);
  max-width: calc(100vw - 14px);
  max-height: calc(100dvh - 18px);
  border-radius: 20px;
}
body.app-shell .modal-body{
  padding: 12px;
}
body.app-shell .modal-head{
  padding: 12px;
}
body.app-shell .topbar-dropdown.topbar-mobile-menu{
  top: calc(64px + var(--hosting-banner-height,0px) + 6px);
  left: 8px;
  right: 8px;
  width: auto;
  max-width: none;
  border-radius: 20px;
}
}
@media (max-width: 430px){
body.app-shell .topbar-title{
  max-width: 34vw;
  font-size: .9rem;
}
body.app-shell .topbar-left{
  gap: 6px;
}
body.app-shell .topbar-actions{
  gap: 5px;
}
body.app-shell .topbar-icon, body.app-shell .topbar-theme-mobile, body.app-shell .topbar-mobile-menu-btn, body.app-shell .topbar-audio-toggle{
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
}
}
body.app-shell #stationClockModal .station-protocol-check-sheet, body.app-shell #clockInModal .station-protocol-check-sheet, body.app-shell .station-clock-form .station-protocol-check-sheet{
  margin-top: 12px;
  padding-top: 12px;
  overflow: visible;
}
body.app-shell #stationClockModal .station-protocol-head, body.app-shell #clockInModal .station-protocol-head, body.app-shell .station-clock-form .station-protocol-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
body.app-shell #stationClockModal .station-protocol-check-main, body.app-shell #clockInModal .station-protocol-check-main, body.app-shell .station-clock-form .station-protocol-check-main{
  min-width: 0;
  max-width: 100%;
  width: 100%;
  display: block;
}
body.app-shell #stationClockModal .station-protocol-check-input, body.app-shell #clockInModal .station-protocol-check-input, body.app-shell .station-clock-form .station-protocol-check-input{
  min-width: 0;
  width: 100%;
  align-self: center;
}
body.app-shell #stationClockModal .station-protocol-check-row .input, body.app-shell #clockInModal .station-protocol-check-row .input, body.app-shell .station-clock-form .station-protocol-check-row .input{
  width: 100%;
  min-height: 38px;
  height: 38px;
  padding: 8px 11px;
  border-radius: 12px;
  font-size: 13px;
}
body.app-shell #stationClockModal .station-protocol-check-index, body.app-shell #clockInModal .station-protocol-check-index, body.app-shell .station-clock-form .station-protocol-check-index{
  width: 26px;
  height: 26px;
  min-width: 26px;
  align-self: center;
  display: grid;
  place-items: center;
}
body.app-shell .modal-card .label, body.app-shell .card .label, body.app-shell .form label, body.app-shell .machine-check-row .label, body.app-shell .station-protocol-check-main, body.app-shell .station-protocol-check-main *{
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell .mono, body.app-shell code, body.app-shell pre, body.app-shell .api-path, body.app-shell .trace-code{
  overflow-wrap: break-word;
  word-break: normal;
}
@media(max-width:980px){
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  grid-template-columns: 30px minmax(0,1fr) minmax(150px,190px);
}
}
@media(max-width:720px){
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  grid-template-columns: 28px minmax(0,1fr);
  align-items: start;
  gap: 8px;
  padding: 10px;
}
body.app-shell #stationClockModal .station-protocol-check-input, body.app-shell #clockInModal .station-protocol-check-input, body.app-shell .station-clock-form .station-protocol-check-input{
  grid-column: 2 / -1;
  width: 100%;
}
body.app-shell #stationClockModal .station-protocol-check-row .label, body.app-shell #clockInModal .station-protocol-check-row .label, body.app-shell .station-clock-form .station-protocol-check-row .label{
  font-size: 11px;
  line-height: 1.25;
}
}
@media(max-width:420px){
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  grid-template-columns: 1fr;
}
body.app-shell #stationClockModal .station-protocol-check-index, body.app-shell #clockInModal .station-protocol-check-index, body.app-shell .station-clock-form .station-protocol-check-index{
  margin-bottom: 2px;
}
body.app-shell #stationClockModal .station-protocol-check-input, body.app-shell #clockInModal .station-protocol-check-input, body.app-shell .station-clock-form .station-protocol-check-input{
  grid-column: auto;
}
}
html, body, body.app-shell, body.app-shell .app-frame, body.app-shell .content{
  max-width: 100%;
  overflow-x: hidden;
}
body.app-shell *, body.app-shell *::before, body.app-shell *::after{
  box-sizing: border-box;
}
body.app-shell .content, body.app-shell main, body.app-shell .page, body.app-shell .page-body, body.app-shell .card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .table-card, body.app-shell .modal-card, body.app-shell .modal-body, body.app-shell .grid, body.app-shell .form, body.app-shell .table-wrap{
  min-width: 0;
}
body.app-shell .card, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .table-card, body.app-shell .modal-card{
  overflow-wrap: normal;
  word-break: normal;
}
body.app-shell .label, body.app-shell label, body.app-shell .card-title, body.app-shell .modal-title, body.app-shell .muted, body.app-shell p, body.app-shell td, body.app-shell th{
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
body.app-shell .mono, body.app-shell code, body.app-shell pre, body.app-shell .trace-code, body.app-shell .pack-id, body.app-shell .api-path, body.app-shell .url-text{
  overflow-wrap: break-word;
  word-break: normal;
}
body.app-shell .input, body.app-shell input.input, body.app-shell select.input, body.app-shell textarea.input, body.app-shell .form-control, body.app-shell .form-select{
  max-width: 100%;
  min-width: 0;
  width: 100%;
}
body.app-shell .table-wrap{
  border-radius: 18px;
  overflow: auto;
  max-width: 100%;
  border-color: var(--shell-border);
  background: var(--shell-panel);
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  scrollbar-gutter: stable both-edges;
}
body.app-shell table.table{
  max-width: none;
}
body.app-shell .row-actions{
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
body.app-shell .row-actions .btn{
  white-space: nowrap;
}
body.app-shell .toolbar, body.app-shell .table-tools, body.app-shell .table-toolbar, body.app-shell .table-summary, body.app-shell .queue-head, body.app-shell .section-head, body.app-shell .page-actions, body.app-shell form.toolbar-form, body.app-shell .table-enhancer-top, body.app-shell .table-enhancer-bottom{
  min-width: 0;
}
body.app-shell form.toolbar-form, body.app-shell .table-tools, body.app-shell .table-toolbar, body.app-shell .table-enhancer-top, body.app-shell .table-enhancer-bottom{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
body.app-shell form.toolbar-form > .input[type="search"], body.app-shell form.toolbar-form > input[type="search"], body.app-shell .table-tools > .input[type="search"], body.app-shell .table-toolbar > .input[type="search"]{
  flex: 1 1 260px;
  min-width: 220px;
  max-width: 520px;
}
body.app-shell form.toolbar-form > select.input, body.app-shell .table-tools > select.input, body.app-shell .table-toolbar > select.input, body.app-shell .table-enhancer-size select, body.app-shell .table-enhancer-size .input{
  flex: 0 0 auto;
  width: auto;
  min-width: 112px;
  max-width: 180px;
}
body.app-shell form.toolbar-form > .btn, body.app-shell .table-tools > .btn, body.app-shell .table-toolbar > .btn{
  flex: 0 0 auto;
  min-width: 94px;
}
body.app-shell .pagination, body.app-shell .pager, body.app-shell .table-pagination, body.app-shell .table-enhancer-pager{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-left: auto;
  min-width: 0;
}
body.app-shell .pagination .btn, body.app-shell .pager .btn, body.app-shell .table-pagination .btn, body.app-shell .table-enhancer-pager .btn{
  min-width: 40px;
  white-space: nowrap;
}
body.app-shell .grid.two, body.app-shell .grid.three, body.app-shell .grid.four, body.app-shell .metrics-grid, body.app-shell .metric-grid, body.app-shell .dashboard-grid, body.app-shell .form-grid{
  min-width: 0;
}
@media (min-width:901px){
body.app-shell .grid.two{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .grid.three{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
body.app-shell .grid.four{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
body.app-shell .modal-card .grid.three, body.app-shell .modal-card .grid.four{
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
}
}
body.app-shell .modal{
  padding: clamp(8px,2vw,22px);
  background: var(--fix-overlay);
  align-items: center;
  justify-content: center;
}
body.app-shell .modal-card{
  width: min(1120px,calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  display: flex;
  flex-direction: column;
}
body.app-shell .modal-head{
  position: sticky;
  top: 0;
  z-index: 3;
  background: inherit;
  border-bottom: 1px solid var(--fix-border);
  padding: 16px 18px 14px;
  margin: 0;
  flex: 0 0 auto;
}
body.app-shell .modal-body, body.app-shell .modal-card > form.form{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .modal-card .actions:last-child, body.app-shell .modal-card .form-actions:last-child{
  position: sticky;
  bottom: 0;
  z-index: 12;
  background: linear-gradient(180deg,rgba(248,251,255,.86),rgba(255,255,255,.98));
  border-top: 1px solid rgba(148,163,184,.20);
  padding-top: 10px;
}
body.app-shell #stationClockModal .machine-check-row, body.app-shell #clockInModal .machine-check-row{
  display: grid;
  grid-template-columns: minmax(160px,210px) minmax(280px,1fr) minmax(180px,240px);
  gap: 10px;
  align-items: center;
  padding: 10px;
  min-height: 0;
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.24);
  background: #fff;
  box-shadow: 0 8px 22px rgba(15,23,42,.035);
}
body.app-shell #stationClockModal .machine-param-stack, body.app-shell #clockInModal .machine-param-stack{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
  gap: 8px;
  margin: 0;
  min-width: 0;
}
body.app-shell #stationClockModal .station-protocol-check-grid, body.app-shell #clockInModal .station-protocol-check-grid, body.app-shell .station-clock-form .station-protocol-check-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
  max-width: 100%;
}
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) minmax(120px,180px);
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 14px;
  background: linear-gradient(180deg,#ffffff,#f8fbff);
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 7px 20px rgba(15,23,42,.035);
}
body.app-shell #stationClockModal .station-protocol-check-row .label, body.app-shell #clockInModal .station-protocol-check-row .label, body.app-shell .station-clock-form .station-protocol-check-row .label{
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 3px;
  font-size: 11.5px;
  line-height: 1.25;
  letter-spacing: .015em;
  font-weight: 900;
  color: #10233f;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  text-transform: none;
}
body.app-shell #stationClockModal .station-protocol-help, body.app-shell #clockInModal .station-protocol-help, body.app-shell .station-clock-form .station-protocol-help{
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-size: 10.75px;
  line-height: 1.28;
  text-align: left;
  color: #53667f;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
@media (max-width:900px){
body.app-shell .content{
  padding-left: 12px;
  padding-right: 12px;
}
body.app-shell .modal-card{
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
}
body.app-shell .table-summary, body.app-shell .queue-head, body.app-shell .section-head{
  align-items: flex-start;
}
body.app-shell #stationClockModal .machine-check-row, body.app-shell #clockInModal .machine-check-row{
  grid-template-columns: 1fr;
  align-items: stretch;
}
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  grid-template-columns: 28px minmax(0,1fr);
  align-items: start;
}
body.app-shell #stationClockModal .station-protocol-check-input, body.app-shell #clockInModal .station-protocol-check-input, body.app-shell .station-clock-form .station-protocol-check-input{
  grid-column: 2 / -1;
}
}
@media (max-width:640px){
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-card{
  border-radius: 16px;
  padding: 12px;
}
body.app-shell form.toolbar-form > .input[type="search"], body.app-shell form.toolbar-form > input[type="search"], body.app-shell .table-tools > .input[type="search"], body.app-shell .table-toolbar > .input[type="search"], body.app-shell form.toolbar-form > select.input, body.app-shell .table-tools > select.input, body.app-shell .table-toolbar > select.input, body.app-shell form.toolbar-form > .btn, body.app-shell .table-tools > .btn, body.app-shell .table-toolbar > .btn{
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  max-width: none;
}
body.app-shell .pagination, body.app-shell .pager, body.app-shell .table-pagination, body.app-shell .table-enhancer-pager{
  justify-content: flex-start;
  margin-left: 0;
  width: 100%;
}
body.app-shell #stationClockModal .station-protocol-check-row, body.app-shell #clockInModal .station-protocol-check-row, body.app-shell .station-clock-form .station-protocol-check-row{
  grid-template-columns: 1fr;
}
body.app-shell #stationClockModal .station-protocol-check-input, body.app-shell #clockInModal .station-protocol-check-input, body.app-shell .station-clock-form .station-protocol-check-input{
  grid-column: auto;
}
body.app-shell .row-actions{
  justify-content: flex-start;
}
body.app-shell .row-actions .btn{
  flex: 1 1 auto;
}
}
.sidebar .nav-group.nav-group-empty{
  display: none;
}
@supports selector(:has(*)){
.sidebar .nav-group:not(:has(.nav-link)){
  display: none;
}
}
a.rbac-denied-link, button.rbac-denied-link{
  cursor: not-allowed;
  opacity: .58;
  filter: saturate(.68);
  text-decoration: none;
}
a.rbac-denied-link.btn, a.rbac-denied-link.card, a.rbac-denied-link.quick-card{
  border-style: dashed;
}
.rbac-access-toast{
  position: fixed;
  right: 22px;
  bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  z-index: 2147482500;
  max-width: min(420px, calc(100vw - 28px));
  box-shadow: 0 22px 55px rgba(15,23,42,.28);
}
@media (max-width: 680px){
.rbac-access-toast{
  left: 14px;
  right: 14px;
  bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  max-width: none;
}
}
.admin-audio-announcements-page .audio-voice-diagnostic{
  border: 1px solid rgba(14,165,233,.22);
  background: linear-gradient(135deg,rgba(240,249,255,.82),rgba(255,255,255,.92));
}
.admin-audio-announcements-page [data-audio-voice-select]{
  min-height: 42px;
}
.admin-audio-announcements-page .audio-sample-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.admin-audio-announcements-page .wrap-cell{
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  line-height: 1.35;
}
@media (max-width: 760px){
.admin-audio-announcements-page .grid.two{
  grid-template-columns: 1fr;
}
.admin-audio-announcements-page .page-head,.admin-audio-announcements-page .queue-head{
  gap: 10px;
  align-items: flex-start;
}
.admin-audio-announcements-page .actions{
  width: 100%;
  justify-content: flex-start;
}
.admin-audio-announcements-page .audio-sample-actions .btn{
  flex: 1 1 auto;
}
}
body.app-shell .machine-strip, body.app-shell .machine-tile, body.app-shell .machine-tile *, body.app-shell .entity-card, body.app-shell .entity-card *, body.app-shell .metric-card, body.app-shell .metric-card *, body.app-shell .station-mini-card, body.app-shell .station-mini-card *, body.app-shell .card, body.app-shell .card *{
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}
body.app-shell .machine-tile, body.app-shell .entity-card, body.app-shell .metric-card, body.app-shell .station-mini-card{
  min-width: 0;
  max-width: 100%;
}
body.app-shell .machine-tile .code, body.app-shell .machine-tile .muted, body.app-shell .machine-tile .small, body.app-shell .entity-card .entity-code, body.app-shell .entity-card .muted, body.app-shell .entity-card .small{
  display: block;
  min-width: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  line-height: 1.35;
}
body.app-shell .machine-status-row{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
body.app-shell .machine-status-row .pill{
  flex: 0 0 auto;
  max-width: 100%;
}
body.app-shell .mbin-live-search-card{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  margin: 0 0 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--panel-alt) 86%, transparent), color-mix(in srgb,var(--panel) 96%, transparent));
  box-shadow: 0 12px 34px rgba(15,23,42,.08);
}
body.app-shell .mbin-live-search-card .input{
  flex: 1 1 320px;
  min-width: 180px;
}
body.app-shell .mbin-live-search-card .pill{
  flex: 0 0 auto;
}
body.app-shell .mbin-empty-filter-note{
  display: none;
  padding: 16px;
  border: 1px dashed var(--border);
  border-radius: 18px;
  color: var(--text-soft);
  background: var(--panel-alt);
  margin-bottom: 14px;
}
body.app-shell .mbin-empty-filter-note.is-visible{
  display: block;
}
@media (max-width: 820px){
body.app-shell .machine-strip{
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-auto-columns: auto;
  overflow-x: visible;
  overflow-y: visible;
  scroll-snap-type: none;
  padding: 0;
}
body.app-shell .machine-tile{
  width: 100%;
  min-height: auto;
  padding: 14px;
}
body.app-shell .machine-tile .code{
  font-size: 1rem;
}
body.app-shell .machine-status-row{
  gap: 7px;
}
body.app-shell .machine-status-row .pill{
  font-size: .76rem;
  padding: 7px 10px;
}
body.app-shell .mbin-live-search-card{
  position: sticky;
  top: calc(var(--topbar-h, 72px) + 4px);
  z-index: 8;
  flex-wrap: wrap;
  padding: 10px;
}
body.app-shell .mbin-live-search-card .input{
  flex: 1 1 100%;
  width: 100%;
}
}
@media (max-width: 520px){
body.app-shell .machine-strip{
  gap: 10px;
}
body.app-shell .machine-tile{
  border-radius: 16px;
}
body.app-shell .machine-tile .muted.small{
  font-size: .88rem;
}
body.app-shell .mbin-card-grid, body.app-shell .entity-card-grid.mbin-card-grid{
  grid-template-columns: 1fr;
}
body.app-shell .mbin-live-search-card{
  border-radius: 16px;
  margin-left: -2px;
  margin-right: -2px;
}
}
.stage-card-searchbar{
  align-items: center;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,255,255,.68);
}
body.dark .stage-card-searchbar{
  background: rgba(15,23,42,.42);
}
.stage-card-searchbar .table-tools{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  min-width: min(520px,100%);
}
.stage-card-searchbar .toolbar-search{
  min-width: min(420px,100%);
}
.card-filter-empty{
  display: none;
  padding: 10px 12px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: rgba(255,184,77,.08);
}
.card-filter-empty.is-visible{
  display: block;
}
@media (max-width:760px){
.stage-card-searchbar{
  align-items: stretch;
}
.stage-card-searchbar .table-tools{
  width: 100%;
  min-width: 0;
  justify-content: stretch;
}
.stage-card-searchbar .toolbar-search{
  width: 100%;
  min-width: 0;
}
.stage-card-searchbar .pill{
  width: 100%;
  justify-content: center;
  text-align: center;
}
}
body.app-shell .station-targets-page .page-head .actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
body.app-shell .station-target-grid.station-target-grid--phase12, body.app-shell .station-target-grid.station-target-grid--phase13{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  align-items: stretch;
}
body.app-shell .station-target-card{
  min-width: 0;
  padding: 14px;
  gap: 10px;
  border-radius: 18px;
  overflow: hidden;
}
body.app-shell .station-target-card .entity-card-head{
  gap: 8px;
  align-items: start;
}
body.app-shell .station-target-card .entity-code{
  font-size: .9rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .station-target-card .muted.small{
  line-height: 1.22;
  word-break: normal;
  overflow-wrap: break-word;
}
body.app-shell .station-target-fields{
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
body.app-shell .station-target-fields .field label{
  font-size: .74rem;
  line-height: 1.08;
  margin-bottom: 4px;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
body.app-shell .station-target-fields .input, body.app-shell .station-target-fields select.input{
  min-height: 36px;
  height: 36px;
  padding: 7px 9px;
  font-size: .86rem;
  border-radius: 10px;
}
body.app-shell .station-target-fields .field-span-2{
  grid-column: 1 / -1;
}
body.app-shell .station-target-actions{
  gap: 8px;
  flex-wrap: nowrap;
}
body.app-shell .station-target-actions .btn{
  min-height: 34px;
  padding: 7px 10px;
}
body.app-shell .station-target-actions .js-save-status{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width:1500px){
body.app-shell .station-target-grid.station-target-grid--phase12, body.app-shell .station-target-grid.station-target-grid--phase13{
  grid-template-columns: repeat(3,minmax(0,1fr));
}
}
@media (max-width:1120px){
body.app-shell .station-target-grid.station-target-grid--phase12, body.app-shell .station-target-grid.station-target-grid--phase13{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:720px){
body.app-shell .station-target-grid.station-target-grid--phase12, body.app-shell .station-target-grid.station-target-grid--phase13{
  grid-template-columns: 1fr;
}
body.app-shell .station-target-card{
  padding: 12px;
}
body.app-shell .station-target-fields{
  grid-template-columns: 1fr 1fr;
}
body.app-shell .station-target-switches--compact{
  grid-template-columns: repeat(5,42px);
  gap: 5px;
}
body.app-shell .station-target-switches--compact .toggle-switch{
  width: 42px;
  min-width: 42px;
  max-width: 42px;
}
body.app-shell .station-target-switches--compact .toggle-slider:before{
  width: 18px;
  height: 18px;
}
body.app-shell .station-target-switches--compact .toggle-switch input:checked + .toggle-slider:before{
  transform: translateX(17px);
}
}
body.app-shell .station-target-switches--compact{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  justify-content: stretch;
  gap: 6px;
  padding: 8px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  align-items: stretch;
}
body.app-shell .station-target-switches--compact .toggle-switch{
  width: auto;
  height: auto;
  min-width: 0;
  max-width: none;
  flex: 0 0 46px;
  padding: 3px 6px;
  margin: 0;
  border: 1px solid color-mix(in srgb,var(--border) 75%,transparent);
  background: color-mix(in srgb,var(--panel) 78%,transparent);
  border-radius: 999px;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  min-height: 28px;
}
body.app-shell .station-target-switches--compact .toggle-slider{
  position: relative;
  inset: auto;
  flex: 0 0 38px;
  width: 38px;
  height: 20px;
}
body.app-shell .station-target-switches--compact .toggle-slider:before{
  width: 16px;
  height: 16px;
  left: 2px;
  bottom: 2px;
}
body.app-shell .station-target-switches--compact .toggle-switch input:checked + .toggle-slider:before{
  transform: translateX(18px);
}
body.app-shell .station-target-switches--compact .toggle-label{
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: auto;
  white-space: nowrap;
  border: 0;
  min-width: 0;
  text-overflow: ellipsis;
  font-size: .70rem;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--text-muted);
}
body.app-shell .station-target-switches--compact .toggle-switch:last-child:nth-child(odd){
  grid-column: 1 / -1;
}
body.app-shell .station-target-card, body.app-shell .station-target-card *:not(.mono):not(code), body.app-shell .metric-card, body.app-shell .metric-card *:not(.mono):not(code), body.app-shell .entity-card, body.app-shell .entity-card *:not(.mono):not(code), body.app-shell .pill, body.app-shell .btn, body.app-shell label, body.app-shell .label, body.app-shell .muted, body.app-shell .small{
  writing-mode: horizontal-tb;
  word-break: normal;
  overflow-wrap: break-word;
}
body.app-shell .mono, body.app-shell code, body.app-shell .serial-code, body.app-shell .technical-code, body.app-shell [data-long-code]{
  overflow-wrap: break-word;
  word-break: normal;
}
@media (max-width:720px){
body.app-shell .station-target-switches--compact{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .station-target-switches--compact .toggle-switch{
  min-width: 0;
  max-width: none;
  width: auto;
}
}
body.app-shell label, body.app-shell .label, body.app-shell .toggle-label, body.app-shell .muted, body.app-shell .small, body.app-shell .pill, body.app-shell .btn, body.app-shell .card-title, body.app-shell .entity-code, body.app-shell .station-target-card, body.app-shell .station-target-card *, body.app-shell .metric-card, body.app-shell .metric-card *, body.app-shell .entity-card, body.app-shell .entity-card *{
  writing-mode: horizontal-tb;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell p, body.app-shell td, body.app-shell th, body.app-shell .card, body.app-shell .modal-card{
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
body.app-shell .mono, body.app-shell code, body.app-shell pre, body.app-shell .serial-code, body.app-shell .technical-code, body.app-shell .pack-id, body.app-shell .trace-code, body.app-shell .api-path, body.app-shell .url-text, body.app-shell [data-long-code]{
  word-break: normal;
  overflow-wrap: break-word;
}
body.app-shell .modal, .modal{
  overflow-y: auto;
  padding: clamp(12px, 2vw, 28px);
}
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl{
  background: var(--shell-panel);
  border: 1px solid var(--shell-border);
  box-shadow: var(--shell-shadow);
  width: min(1180px, calc(100vw - 32px));
  max-width: min(1180px,calc(100vw - 20px));
  max-height: calc(100vh - 36px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 22px;
  padding: 18px;
}
body.app-shell .modal-head, .modal-head{
  flex: 0 0 auto;
  align-items: flex-start;
  gap: 14px;
}
body.app-shell .modal-body, .modal-body{
  flex: 1 1 auto;
  overflow: auto;
  padding: 16px 18px 20px;
  display: grid;
  gap: 16px;
}
body.app-shell .modal form.form, body.app-shell .modal .form, .modal form.form, .modal .form{
  display: grid;
  gap: 16px;
  width: 100%;
}
body.app-shell .modal .grid.two, body.app-shell .modal .form-grid.two, body.app-shell .modal-grid, .modal .grid.two, .modal .form-grid.two, .modal-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: end;
}
body.app-shell .modal .grid.three, body.app-shell .modal .form-grid.three, .modal .grid.three, .modal .form-grid.three{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: end;
}
body.app-shell .modal .grid.four, body.app-shell .modal .form-grid.four, .modal .grid.four, .modal .form-grid.four{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: end;
}
body.app-shell .modal .grid.two > *, body.app-shell .modal .form-grid.two > *, body.app-shell .modal .grid.three > *, body.app-shell .modal .form-grid.three > *, body.app-shell .modal .grid.four > *, body.app-shell .modal .form-grid.four > *, .modal .grid.two > *, .modal .form-grid.two > *, .modal .grid.three > *, .modal .form-grid.three > *, .modal .grid.four > *, .modal .form-grid.four > *{
  min-width: 0;
}
body.app-shell .modal label.label, .modal label.label{
  display: block;
  margin: 0 0 6px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
body.app-shell .modal .input, body.app-shell .modal input.input, body.app-shell .modal select.input, body.app-shell .modal textarea.input, .modal .input, .modal input.input, .modal select.input, .modal textarea.input{
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  box-sizing: border-box;
}
body.app-shell .modal textarea.input, .modal textarea.input{
  min-height: 96px;
  resize: vertical;
}
body.app-shell .modal .actions, body.app-shell .modal .row-actions, .modal .actions, .modal .row-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}
body.app-shell .modal .table-wrap, .modal .table-wrap{
  max-width: 100%;
  overflow: auto;
}
@media (max-width: 900px){
body.app-shell .modal .grid.three, body.app-shell .modal .form-grid.three, body.app-shell .modal .grid.four, body.app-shell .modal .form-grid.four, .modal .grid.three, .modal .form-grid.three, .modal .grid.four, .modal .form-grid.four{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 680px){
body.app-shell .modal-card, body.app-shell .modal-card.lg, body.app-shell .modal-card.xl, .modal-card, .modal-card.lg, .modal-card.xl{
  width: calc(100vw - 18px);
  max-height: calc(100vh - 18px);
  border-radius: 18px;
  padding: 14px;
}
body.app-shell .modal .grid.two, body.app-shell .modal .form-grid.two, body.app-shell .modal .grid.three, body.app-shell .modal .form-grid.three, body.app-shell .modal .grid.four, body.app-shell .modal .form-grid.four, body.app-shell .modal-grid, .modal .grid.two, .modal .form-grid.two, .modal .grid.three, .modal .form-grid.three, .modal .grid.four, .modal .form-grid.four, .modal-grid{
  grid-template-columns: minmax(0, 1fr);
}
body.app-shell .modal .actions, body.app-shell .modal .row-actions, .modal .actions, .modal .row-actions{
  justify-content: stretch;
}
body.app-shell .modal .actions .btn, body.app-shell .modal .row-actions .btn, .modal .actions .btn, .modal .row-actions .btn{
  flex: 1 1 160px;
}
}
body.app-shell .nav-link.nav-link--denied, body.app-shell a.rbac-denied-link.nav-link{
  opacity: .92;
  cursor: not-allowed;
  color: #b42318;
  background: linear-gradient(90deg, rgba(255,77,79,.12), rgba(255,255,255,.02));
  border: 1px solid rgba(239,68,68,.25);
  box-shadow: 0 0 0 1px rgba(239,68,68,.08), 0 0 18px rgba(239,68,68,.12);
}
body.app-shell .nav-link--denied .nav-ico{
  color: #ef4444;
  background: rgba(254,226,226,.85);
}
body.app-shell .nav-denied-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239,68,68,.16),0 0 16px rgba(239,68,68,.55);
  margin-left: auto;
}
body.app-shell .rbac-access-toast.rbac-access-toast--glow{
  position: fixed;
  right: 22px;
  bottom: calc(86px + env(safe-area-inset-bottom,0px));
  z-index: 2147482500;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(460px,calc(100vw - 32px));
  padding: 12px 14px;
  border-radius: 18px;
  color: #7f1d1d;
  background: rgba(255,245,245,.98);
  border: 1px solid rgba(239,68,68,.32);
  box-shadow: 0 20px 55px rgba(127,29,29,.24),0 0 22px rgba(239,68,68,.2);
  backdrop-filter: blur(14px);
  font-size: 13px;
  font-weight: 700;
}
body.app-shell .rbac-access-toast__dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 5px rgba(239,68,68,.18),0 0 16px rgba(239,68,68,.7);
  flex: 0 0 auto;
}
body.app-shell .mbin-adjust-page .control-card{
  overflow: visible;
}
body.app-shell .mbin-adjust-form-grid{
  display: grid;
  grid-template-columns: 90px minmax(210px,1.4fr) 110px 110px minmax(180px,1fr) auto;
  gap: 10px;
  align-items: end;
}
body.app-shell .mbin-adjust-form-grid .label{
  margin-bottom: 5px;
  font-weight: 800;
  color: rgba(15,23,42,.78);
  letter-spacing: .02em;
}
body.app-shell .mbin-adjust-form-grid .input{
  width: 100%;
  min-height: 42px;
}
body.app-shell .mbin-cell-code{
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
@media (max-width: 1100px){
body.app-shell .mbin-adjust-form-grid{
  grid-template-columns: 1fr 1fr 1fr;
}
}
@media (max-width: 720px){
body.app-shell .mbin-adjust-form-grid{
  grid-template-columns: 1fr;
}
body.app-shell .rbac-access-toast.rbac-access-toast--glow{
  left: 14px;
  right: 14px;
  bottom: calc(78px + env(safe-area-inset-bottom,0px));
}
}
.stage-mbin-search-form{
  gap: 14px;
  align-items: center;
}
.stage-mbin-tools{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.stage-mbin-tools .toolbar-search{
  min-width: min(360px, 100%);
}
.stage-mbin-tools select.input{
  width: auto;
  min-width: 112px;
}
.stage-mbin-pager{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 16px;
  background: rgba(248,250,252,.74);
}
.stage-mbin-page-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}
.stage-mbin-page-actions .btn.disabled{
  opacity: .45;
  pointer-events: none;
  cursor: not-allowed;
}
.stage-mbin-page-actions .btn.primary{
  box-shadow: 0 0 0 1px rgba(16,185,129,.32),0 8px 22px rgba(15,23,42,.10);
}
@media (max-width: 760px){
.stage-mbin-search-form,.stage-mbin-pager{
  align-items: stretch;
}
.stage-mbin-tools,.stage-mbin-page-actions{
  justify-content: flex-start;
}
.stage-mbin-tools .toolbar-search{
  width: 100%;
}
.stage-mbin-tools select.input{
  width: 100%;
}
}
body.app-shell #stationClockModal .station-clock-modal-card, body.app-shell #stationClockModal .modal-card, body.app-shell #clockModal .modal-card, body.app-shell #clockInModal .modal-card:has(.machine-check-modal-form){
  width: min(1180px,calc(100vw - 32px));
  max-width: 1180px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
body.app-shell #stationClockModal .machine-check-modal-form, body.app-shell #clockModal .machine-check-modal-form, body.app-shell #clockInModal .machine-check-modal-form{
  overflow: auto;
  padding: 14px 18px 0;
  display: block;
  scrollbar-gutter: stable;
}
body.app-shell #stationClockModal .machine-check-row, body.app-shell #clockModal .machine-check-row, body.app-shell #clockInModal .machine-check-row{
  display: block;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.24);
  background: linear-gradient(180deg,#fff,#f8fbff);
  box-shadow: 0 8px 22px rgba(15,23,42,.035);
}
body.app-shell #stationClockModal .machine-check-meta, body.app-shell #clockModal .machine-check-meta, body.app-shell #clockInModal .machine-check-meta{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 0 0 8px;
  margin: 0 0 10px;
  border-bottom: 1px solid rgba(148,163,184,.16);
}
body.app-shell #stationClockModal .machine-check-meta strong, body.app-shell #clockModal .machine-check-meta strong, body.app-shell #clockInModal .machine-check-meta strong{
  font-size: 14px;
  line-height: 1.2;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
body.app-shell #stationClockModal .machine-check-meta .small, body.app-shell #clockModal .machine-check-meta .small, body.app-shell #clockInModal .machine-check-meta .small{
  text-align: right;
  max-width: 62%;
}
body.app-shell #stationClockModal .machine-check-row > div:nth-child(2), body.app-shell #clockModal .machine-check-row > div:nth-child(2), body.app-shell #clockInModal .machine-check-row > div:nth-child(2), body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(128px,160px);
  gap: 10px;
  align-items: end;
  width: 100%;
  min-width: 0;
  margin: 0;
}
body.app-shell #stationClockModal .machine-param-stack, body.app-shell #clockModal .machine-param-stack, body.app-shell #clockInModal .machine-param-stack{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
  gap: 10px;
  min-width: 0;
  margin: 0;
}
body.app-shell #stationClockModal .machine-check-row > div:nth-child(3), body.app-shell #clockModal .machine-check-row > div:nth-child(3), body.app-shell #clockInModal .machine-check-row > div:nth-child(3), body.app-shell #stationClockModal .machine-remarks-field, body.app-shell #clockModal .machine-remarks-field, body.app-shell #clockInModal .machine-remarks-field{
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  width: 100%;
  min-width: 0;
  margin: 10px 0 0;
}
body.app-shell #stationClockModal .station-protocol-check-grid, body.app-shell #clockModal .station-protocol-check-grid, body.app-shell #clockInModal .station-protocol-check-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
  gap: 10px;
}
body.app-shell #stationClockModal .machine-check-modal-form > .actions, body.app-shell #clockModal .machine-check-modal-form > .actions, body.app-shell #clockInModal .machine-check-modal-form > .actions, body.app-shell #clockInModal .machine-check-modal-form > .station-clock-submit-btn{
  position: sticky;
  bottom: 0;
  z-index: 30;
  margin: 12px -18px 0;
  padding: 10px 18px;
  border-top: 1px solid rgba(148,163,184,.20);
  background: linear-gradient(180deg,rgba(248,251,255,.86),rgba(255,255,255,.98));
  backdrop-filter: blur(8px);
}
@media(max-width:760px){
body.app-shell #stationClockModal .machine-check-meta, body.app-shell #clockModal .machine-check-meta, body.app-shell #clockInModal .machine-check-meta{
  display: block;
}
body.app-shell #stationClockModal .machine-check-meta .small, body.app-shell #clockModal .machine-check-meta .small, body.app-shell #clockInModal .machine-check-meta .small{
  text-align: left;
  max-width: none;
}
body.app-shell #stationClockModal .machine-check-row > div:nth-child(2), body.app-shell #clockModal .machine-check-row > div:nth-child(2), body.app-shell #clockInModal .machine-check-row > div:nth-child(2), body.app-shell #stationClockModal .machine-check-controls, body.app-shell #clockModal .machine-check-controls, body.app-shell #clockInModal .machine-check-controls{
  grid-template-columns: 1fr;
}
body.app-shell #stationClockModal .station-protocol-check-grid, body.app-shell #clockModal .station-protocol-check-grid, body.app-shell #clockInModal .station-protocol-check-grid{
  grid-template-columns: 1fr;
}
}
.mbin-redesign-page #mbinCreateModal .modal-card{
  max-width: 980px;
  width: min(96vw,980px);
}
.mbin-redesign-page #mbinCreateModal .compact-form{
  gap: 14px;
}
.mbin-redesign-page #mbinCreateModal small.muted{
  display: block;
  margin-top: 5px;
  line-height: 1.35;
}
.mbin-view-page .mbin-simple-assign-card textarea.input{
  min-height: 170px;
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
}
.mbin-view-page .mbin-simple-assign-card .inline-form{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
}
@media (max-width:720px){
.mbin-view-page .mbin-simple-assign-card .inline-form{
  grid-template-columns: 1fr;
}
.mbin-view-page .mbin-simple-assign-card .inline-form .btn{
  width: 100%;
}
}
.tc116-simple-inward .tc116-inward-header, .tc116-simple-inward .tc116-vendor-materials, .tc116-simple-inward .tc116-selected-materials{
  border: 1px solid rgba(15,118,110,.10);
  box-shadow: 0 18px 44px rgba(15,23,42,.07);
}
.tc116-simple-inward .queue-head{
  align-items: flex-start;
  gap: 12px;
}
.tc116-simple-inward .table .input{
  min-height: 36px;
  padding: 8px 10px;
  font-size: 13px;
}
.tc116-simple-inward #tblGrnDraft th, .tc116-simple-inward #tblGrnDraft td{
  vertical-align: top;
}
.tc116-simple-inward #invoiceTotalBadge{
  background: rgba(20,184,166,.10);
  border-color: rgba(20,184,166,.22);
  color: #0f766e;
}
.tc116-simple-inward .grid.four{
  grid-template-columns: repeat(4,minmax(0,1fr));
}
@media(max-width:980px){
.tc116-simple-inward .grid.four{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media(max-width:640px){
.tc116-simple-inward .grid.four,.tc116-simple-inward .grid.three,.tc116-simple-inward .grid.two{
  grid-template-columns: 1fr;
}
}
body.app-shell .sidebar .nav-link[hidden]{
  display: none;
}
body.app-shell .sidebar .nav-group.nav-group-empty{
  display: none;
}
body.app-shell .page-actions, body.app-shell .toolbar-actions, body.app-shell .form-actions, body.app-shell .modal-actions, body.app-shell .card-actions, body.app-shell .row-actions, body.app-shell .actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
body.app-shell .actions .btn, body.app-shell .page-actions .btn, body.app-shell .toolbar-actions .btn, body.app-shell .form-actions .btn, body.app-shell .modal-actions .btn, body.app-shell .card-actions .btn, body.app-shell .row-actions .btn{
  min-height: 38px;
  white-space: nowrap;
}
body.app-shell .section-head, body.app-shell .page-head, body.app-shell .panel-head, body.app-shell .card-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
body.app-shell .section-head > .actions, body.app-shell .page-head > .actions, body.app-shell .panel-head > .actions, body.app-shell .card-head > .actions{
  margin-left: auto;
}
body.app-shell .grid, body.app-shell .form-grid{
  min-width: 0;
}
body.app-shell .card, body.app-shell .panel, body.app-shell .glass-card{
  min-width: 0;
  overflow: visible;
}
body.app-shell table .actions, body.app-shell table .row-actions{
  justify-content: flex-start;
  gap: 6px;
}
body.app-shell .rbac-access-modal{
  position: fixed;
  inset: 0;
  z-index: 2147482600;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(15,23,42,.32);
  backdrop-filter: blur(8px);
}
body.app-shell .rbac-access-card{
  width: min(420px,calc(100vw - 36px));
  border-radius: 26px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(239,68,68,.24);
  box-shadow: 0 28px 90px rgba(15,23,42,.32);
  padding: 24px;
  text-align: center;
  color: #0f172a;
}
body.app-shell .rbac-access-card .rbac-access-toast__dot{
  display: inline-block;
  margin-bottom: 12px;
}
body.app-shell .rbac-access-card h3{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.15;
  color: #991b1b;
}
body.app-shell .rbac-access-card p{
  margin: 0 0 18px;
  color: #475569;
  font-weight: 700;
  line-height: 1.45;
}
body.app-shell .rbac-access-card .btn{
  min-width: 118px;
  justify-content: center;
}
@media (max-width: 760px){
body.app-shell .page-actions, body.app-shell .toolbar-actions, body.app-shell .form-actions, body.app-shell .modal-actions, body.app-shell .card-actions, body.app-shell .row-actions, body.app-shell .actions{
  justify-content: flex-start;
  width: 100%;
}
body.app-shell .actions .btn, body.app-shell .page-actions .btn, body.app-shell .toolbar-actions .btn, body.app-shell .form-actions .btn, body.app-shell .modal-actions .btn, body.app-shell .card-actions .btn, body.app-shell .row-actions .btn{
  flex: 1 1 150px;
}
}
.sidebar .nav-group.nav-group-empty, .sidebar .nav-group-body:empty{
  display: none;
}
.sidebar .nav-link[hidden]{
  display: none;
}
body.app-shell .actions, body.app-shell .form-actions, body.app-shell .modal-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
body.app-shell .card .actions:first-child{
  justify-content: flex-start;
}
body.app-shell .btn{
  border-radius: 14px;
  font-weight: 700;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
}
.inventory-adjustment-page .final-inventory-upload-card{
  border: 1px solid rgba(14,165,233,.22);
  background: linear-gradient(135deg,rgba(240,253,250,.92),rgba(255,255,255,.96));
}
.inventory-adjustment-page .final-inventory-upload-card .grid.four{
  align-items: end;
}
.rbac-access-modal{
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  background: rgba(15,23,42,.38);
  backdrop-filter: blur(10px);
  padding: 18px;
}
.rbac-access-card{
  width: min(420px,calc(100vw - 34px));
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(148,163,184,.25);
  box-shadow: 0 24px 70px rgba(15,23,42,.22);
  padding: 24px;
  text-align: center;
}
.rbac-access-card h3{
  margin: 8px 0 6px;
  font-size: 22px;
  color: #172033;
}
.rbac-access-card p{
  color: #64748b;
  line-height: 1.45;
}
.rbac-access-toast__dot{
  width: 52px;
  height: 52px;
  margin: 0 auto;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #fff1f2;
  color: #e11d48;
}
.rbac-access-toast__dot:before{
  content: "!";
  font-weight: 900;
  font-size: 24px;
}
@media(max-width:900px){
body.app-shell .actions,body.app-shell .form-actions,body.app-shell .modal-actions{
  justify-content: flex-start;
}
.inventory-adjustment-page .final-inventory-upload-card .grid.four{
  grid-template-columns: 1fr;
}
}
@media (max-width: 820px){
:root{
  --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
}
body.app-shell{
  background: #f5f8fb;
  overflow-x: hidden;
}
body.app-shell .app-layout, .app-layout{
  display: block;
  min-height: 100vh;
}
body.app-shell .sidebar, .sidebar{
  position: fixed;
  inset: 0 auto 0 0;
  width: min(88vw, 340px);
  max-width: 340px;
  transform: translateX(-104%);
  transition: transform .22s ease;
  z-index: 1100;
  border-radius: 0 28px 28px 0;
  box-shadow: 0 22px 70px rgba(15,23,42,.22);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
body.app-shell.sidebar-open .sidebar, .sidebar.is-open{
  transform: translateX(0);
}
.sidebar .nav-group, .sidebar .nav-subgroup{
  gap: 8px;
}
.sidebar .nav-link, .sidebar a{
  min-height: 46px;
  border-radius: 18px;
  font-size: 14px;
  letter-spacing: .01em;
}
body.app-shell .main, .main{
  margin-left: 0;
  width: 100%;
  padding: 0 12px 84px;
}
body.app-shell .topbar, .topbar{
  position: sticky;
  top: 0;
  z-index: 900;
  margin: 8px 0 12px;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 34px rgba(15,23,42,.08);
  padding: 10px 12px;
}
.page, .dashboard-page, .inventory-page, .station-page{
  padding: 0 0 18px;
}
.page-head{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin: 10px 0 14px;
}
.page-head h1,.page-head h2{
  font-size: 24px;
  line-height: 1.1;
}
.page-head .actions, .actions, .toolbar, .filter-bar{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  align-items: stretch;
}
.page-head .actions .input, .actions .input, .toolbar .input, .filter-bar .input{
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.btn, button.btn, a.btn{
  min-height: 44px;
  border-radius: 16px;
  justify-content: center;
  white-space: normal;
  line-height: 1.15;
  padding: 10px 12px;
}
.btn.sm{
  min-height: 38px;
  border-radius: 14px;
  padding: 8px 10px;
}
.metrics-grid, .dashboard-grid, .cards-grid, .grid, .station-card-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.card, .metric-card, .section-card, .station-card, .pack-card{
  border-radius: 24px;
  box-shadow: 0 10px 26px rgba(15,23,42,.07);
  border-color: rgba(15,23,42,.07);
}
.metric-value{
  font-size: 28px;
  line-height: 1;
}
.form-grid, .form-grid.two, .form-grid.three, .form-grid.four{
  grid-template-columns: 1fr;
  gap: 12px;
}
.modal{
  align-items: flex-end;
  padding: 0;
}
.modal-card{
  width: 100%;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 28px 28px 0 0;
  overflow: auto;
}
.modal-head{
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
}
.table-wrap{
  border-radius: 22px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
table.table{
  min-width: 760px;
}
.pill{
  border-radius: 999px;
  padding: 6px 10px;
}
input.input, select.input, textarea.input{
  min-height: 44px;
  border-radius: 16px;
  font-size: 15px;
}
}
@media (max-width: 520px){
.metrics-grid, .dashboard-grid, .cards-grid, .grid, .station-card-grid{
  grid-template-columns: 1fr;
}
.page-head .actions, .actions, .toolbar, .filter-bar{
  grid-template-columns: 1fr;
}
}
body.app-shell .reports-page.oee-page .metric-grid.oee-kpi-grid{
  grid-template-columns: repeat(4,minmax(180px,1fr));
  gap: 14px;
  align-items: stretch;
}
body.app-shell .reports-page.oee-page .tc130-report-grid{
  display: grid;
  grid-template-columns: minmax(380px,.92fr) minmax(420px,1.08fr);
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}
body.app-shell .reports-page.oee-page .tc130-report-card{
  min-height: 0;
  overflow: hidden;
}
body.app-shell .reports-page.oee-page .tc130-report-card .table{
  width: 100%;
  min-width: 0;
}
body.app-shell .reports-page.oee-page .tc130-report-card .table th, body.app-shell .reports-page.oee-page .tc130-report-card .table td{
  padding: 14px 16px;
  vertical-align: middle;
}
body.app-shell .reports-page.oee-page .tc130-chart-card svg{
  max-width: 100%;
  height: auto;
}
body.app-shell .report-toolbar, body.app-shell .table-summary, body.app-shell .table-tools{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
body.app-shell .table-tools .input{
  min-width: min(360px,100%);
}
body.app-shell .table-wrap:empty, body.app-shell .card:empty{
  display: none;
}
body.app-shell .mobile-native-card{
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 42px rgba(15,23,42,.08);
}
@media (max-width: 1100px){
body.app-shell .reports-page.oee-page .tc130-report-grid{
  grid-template-columns: 1fr;
}
}
@media (max-width: 820px){
body.app-shell .reports-page.oee-page .metric-grid.oee-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .reports-page.oee-page .metric-card{
  border-radius: 22px;
  padding: 16px;
}
body.app-shell .reports-page.oee-page .metric-value{
  font-size: 26px;
}
body.app-shell .reports-page.oee-page .tc130-report-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.app-shell .reports-page.oee-page .card{
  border-radius: 24px;
}
body.app-shell .table-summary,.table-tools,.report-toolbar{
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
}
body.app-shell .table-tools .input{
  min-width: 0;
  width: 100%;
}
}
body.app-shell .reports-page.oee-page .metric-grid.oee-kpi-grid, body.app-shell .oee-kpi-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(190px,1fr));
  gap: 14px;
  align-items: stretch;
}
body.app-shell .reports-page.oee-page .metric-card{
  min-height: 104px;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.app-shell .reports-page.oee-page .tc130-report-grid, body.app-shell .reports-page.oee-page .tc131-report-grid{
  display: grid;
  grid-template-columns: minmax(420px,.95fr) minmax(480px,1.05fr);
  gap: 18px;
  align-items: start;
  margin-top: 16px;
}
body.app-shell .reports-page.oee-page .card, body.app-shell .inventory-page .card, body.app-shell .admin-page .card{
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(15,23,42,.07);
  border: 1px solid rgba(15,23,42,.08);
}
body.app-shell .reports-page.oee-page .table-tools, body.app-shell .reports-page.oee-page .report-toolbar, body.app-shell .table-summary{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
body.app-shell .reports-page.oee-page .table-tools .input{
  min-width: 260px;
  max-width: 420px;
}
body.app-shell .reports-page.oee-page .responsive-table, body.app-shell .reports-page.oee-page .table-wrap{
  max-width: 100%;
  overflow: auto;
}
body.app-shell .reports-page.oee-page .oee-sleek-row{
  display: grid;
  grid-template-columns: 140px minmax(160px,1fr) 74px;
  gap: 12px;
  align-items: center;
  padding: 7px 0;
}
body.app-shell .reports-page.oee-page .oee-sleek-track{
  height: 10px;
  border-radius: 999px;
  background: #e7eef8;
  overflow: hidden;
  display: block;
}
body.app-shell .reports-page.oee-page .oee-sleek-track i{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#36c4a8,#4b7cff);
}
body.app-shell .reports-page.oee-page .empty-table-hint{
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  color: #64748b;
}
@media(max-width:980px){
body.app-shell .reports-page.oee-page .metric-grid.oee-kpi-grid, body.app-shell .oee-kpi-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .reports-page.oee-page .tc130-report-grid, body.app-shell .reports-page.oee-page .tc131-report-grid{
  grid-template-columns: 1fr;
}
}
@media(max-width:720px){
body.app-shell .app-topbar{
  position: sticky;
  top: 0;
  z-index: 40;
  border-radius: 0 0 24px 24px;
}
body.app-shell .page{
  padding: 12px;
}
body.app-shell .page-head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.app-shell .actions,.btn-row,.form-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
}
body.app-shell .btn{
  min-height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.app-shell .input,body.app-shell select,body.app-shell textarea{
  min-height: 46px;
  border-radius: 16px;
}
body.app-shell .reports-page.oee-page .metric-grid.oee-kpi-grid, body.app-shell .oee-kpi-grid{
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body.app-shell .reports-page.oee-page .metric-value{
  font-size: 25px;
}
body.app-shell .reports-page.oee-page .oee-sleek-row{
  grid-template-columns: 96px minmax(120px,1fr) 56px;
  font-size: 12px;
}
body.app-shell .table-tools .input, body.app-shell .reports-page.oee-page .table-tools .input{
  min-width: 0;
  max-width: none;
  width: 100%;
}
}
body.app-shell .nav-group[data-nav-group="preassembly"]{
  display: block;
}
body.app-shell .nav-empty-hint{
  font-size: 12px;
  color: #64748b;
  padding: 10px 12px;
  border: 1px dashed #d8e4f2;
  border-radius: 14px;
  background: #f8fbff;
  margin: 6px 8px;
}
body.app-shell .oee-kpi-command-page .filters.card{
  margin-bottom: 0;
}
body.app-shell .oee-command-head{
  align-items: flex-start;
}
body.app-shell .oee-command-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
body.app-shell .oee-command-filters{
  margin: 12px 0 16px;
}
body.app-shell .oee-hero-grid{
  display: grid;
  grid-template-columns: minmax(280px,.75fr) minmax(520px,1.25fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 16px;
}
body.app-shell .oee-score-card{
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(135deg,#ffffff,#f1fbff);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 210px;
}
body.app-shell .oee-score-value{
  font-size: 56px;
  font-weight: 900;
  letter-spacing: -.05em;
  color: #0f172a;
  line-height: 1;
  margin: 8px 0 12px;
}
body.app-shell .oee-kpi-tile-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
body.app-shell .oee-kpi-tile{
  min-height: 0;
  padding: 18px;
  border-radius: 24px;
  justify-content: flex-start;
}
body.app-shell .oee-command-grid{
  display: grid;
  grid-template-columns: minmax(340px,.9fr) minmax(480px,1.1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}
body.app-shell .oee-command-grid--wide{
  grid-template-columns: minmax(540px,1.25fr) minmax(380px,.75fr);
}
body.app-shell .oee-summary-list{
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
body.app-shell .oee-summary-row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: #f8fbff;
}
body.app-shell .oee-summary-row span{
  display: grid;
  gap: 3px;
}
body.app-shell .oee-summary-row small{
  color: #64748b;
  font-size: 12px;
}
body.app-shell .oee-summary-row b{
  font-size: 18px;
  color: #0f172a;
}
body.app-shell .oee-clean-table .table{
  min-width: 760px;
}
body.app-shell .app-guide-page .app-guide-hero, body.app-shell .app-guide-page .app-guide-grid, body.app-shell .app-guide-page .guide-section-grid{
  gap: 16px;
  align-items: stretch;
}
body.app-shell .app-guide-page .guide-module-card, body.app-shell .app-guide-page .guide-section-card{
  border-radius: 22px;
}
@media(max-width:1100px){
body.app-shell .oee-hero-grid, body.app-shell .oee-command-grid, body.app-shell .oee-command-grid--wide{
  grid-template-columns: 1fr;
}
}
@media(max-width:720px){
body.app-shell .oee-score-value{
  font-size: 42px;
}
body.app-shell .oee-kpi-tile-grid{
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body.app-shell .oee-kpi-tile{
  padding: 14px;
  border-radius: 20px;
}
body.app-shell .oee-command-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
}
@media(max-width:480px){
body.app-shell .oee-kpi-tile-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .sidebar .nav-group[hidden]{
  display: none;
}
@supports selector(.nav-group:has(.nav-group-body:empty)){
body.app-shell .sidebar .nav-group:has(.nav-group-body:empty){
  display: none;
}
}
body.app-shell .sidebar[data-nav-expand-all="1"] .nav-group.is-open > .nav-group-body{
  max-height: none;
  opacity: 1;
  visibility: visible;
}
body.app-shell .sidebar .nav-group-head{
  min-height: 48px;
}
body.app-shell .oee-dashboard-grid, body.app-shell .report-grid, body.app-shell .dashboard-grid{
  align-items: stretch;
}
body.app-shell .oee-kpi-card, body.app-shell .report-card, body.app-shell .table-card{
  min-width: 0;
  overflow: hidden;
}
body.app-shell .oee-kpi-card .table-wrap, body.app-shell .report-card .table-wrap{
  width: 100%;
  overflow-x: auto;
}
body.app-shell .oee-kpi-toolbar, body.app-shell .report-toolbar{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
body.app-shell .nav-group:not(.is-open) > .nav-group-body{
  max-height: 0;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 900px){
body.app-shell .oee-dashboard-grid, body.app-shell .report-grid{
  grid-template-columns: 1fr;
}
body.app-shell .report-toolbar{
  align-items: stretch;
}
body.app-shell .report-toolbar .btn, body.app-shell .report-toolbar input, body.app-shell .report-toolbar select{
  width: 100%;
}
}
body.app-shell .sidebar, body.app-shell .sidebar-inner{
  min-height: 0;
}
body.app-shell .sidebar-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 2px 4px 4px 0;
  margin: 0;
  padding-right: 0;
  overscroll-behavior: contain;
  padding-bottom: 18px;
  scrollbar-gutter: stable;
  max-height: calc(100vh - 154px);
  overflow-y: auto;
  overflow-x: hidden;
}
body.app-shell .nav-group-body{
  display: none;
  gap: 6px;
  margin: 0 0 0 18px;
  padding-left: 12px;
  border-left: 1px solid color-mix(in srgb,var(--shell-primary) 26%, var(--shell-border));
  max-height: 0;
  overflow: visible;
  transition: max-height .14s ease,padding .14s ease;
  padding: 4px 0 2px;
  padding-top: 2px;
  margin-top: 6px;
}
body.app-shell .nav-group.is-open > .nav-group-body{
  max-height: none;
  padding-top: 4px;
  padding-bottom: 4px;
  display: grid;
  opacity: 1;
  pointer-events: auto;
  overflow: visible;
}
body.app-shell .sidebar-footer{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--shell-border);
  flex: 0 0 auto;
}
@media (max-width: 900px){
body.app-shell .sidebar-body{
  max-height: calc(100dvh - 148px);
  -webkit-overflow-scrolling: touch;
}
body.app-shell.sidebar-open .sidebar{
  height: 100dvh;
}
}
:root{
  --font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sidebar-w: 318px;
  --sidebar-collapsed-w: 88px;
  --topbar-h: 78px;
  --radius-xs: 10px;
  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 24px;
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, .08);
  --shadow-md: 0 14px 34px rgba(15, 23, 42, .12);
  --shadow-lg: 0 24px 64px rgba(15, 23, 42, .18);
  --fast: 160ms ease;
  --normal: 240ms ease;
  --bg: #0a1020;
  --bg-elev: #101a2e;
  --bg-grid: rgba(64,189,255,.055);
  --panel: #111b2f;
  --panel-alt: #16243b;
  --panel-hover: #1d2d48;
  --sidebar: #0c1833;
  --border: #263754;
  --text: #f5faff;
  --text-2: #b8c7da;
  --text-3: #7d92ae;
  --primary: #22d3ee;
  --primary-hover: #14e3c8;
  --secondary: #4f7cff;
  --special: #7f6dff;
  --success: #39d98a;
  --warning: #f6b73c;
  --danger: #ff5c7a;
  --info: #56a8ff;
  --disabled: #64748B;
  --table-head: rgba(255,255,255,.035);
  --overlay: rgba(5,10,18,.62);
  --nav-font: .94rem;
  --nav-weight: 620;
  --panel-soft: color-mix(in srgb,var(--panel) 92%, transparent);
  --dark-shell-1: #08101f;
  --dark-shell-2: #0d1730;
  --dark-shell-3: #132349;
  --app-font-family: "Poppins",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ki-font: Poppins, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ki-radius: 18px;
  --ki-radius-sm: 14px;
  --ki-shadow: 0 12px 32px rgba(15,23,42,.10), 0 2px 8px rgba(15,23,42,.05);
  --ki-shadow-soft: 0 8px 24px rgba(15,23,42,.08);
  --ki-primary: #0f766e;
  --ki-primary-2: #0ea5a8;
  --ki-page: #f5f7fb;
  --ki-panel: #ffffff;
  --ki-panel-2: #f8fbfd;
  --ki-text: #122033;
  --ki-muted: #60748b;
  --ki-border: #dce6ef;
  --ki-hover: #eef5fa;
  --shell-sidebar-w: 318px;
  --shell-sidebar-w-collapsed: 84px;
  --shell-topbar-h: 74px;
  --shell-font: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --shell-sidebar-collapsed-w: 88px;
  --shell-radius: 20px;
  --shell-gap: 16px;
  --ev-bg: #040b14;
  --ev-bg-2: #07111d;
  --ev-bg-3: #0b1727;
  --ev-panel: rgba(12,22,38,.82);
  --ev-panel-solid: #0b1526;
  --ev-panel-2: rgba(14,28,46,.86);
  --ev-panel-soft: rgba(12,22,36,.62);
  --ev-stroke: rgba(123,226,255,.16);
  --ev-stroke-strong: rgba(123,226,255,.28);
  --ev-glow: rgba(95,231,255,.34);
  --ev-glow-soft: rgba(45,225,194,.18);
  --ev-cyan: #5fe7ff;
  --ev-teal: #2de1c2;
  --ev-aqua: #65f2ff;
  --ev-mint: #7dffb3;
  --ev-green: #49e88f;
  --ev-blue: #6d94ff;
  --ev-text: #eef7ff;
  --ev-sub: #9fb6c9;
  --ev-sub-2: #70879d;
  --ev-shadow: 0 22px 60px rgba(0,0,0,.34);
  --ev-shadow-soft: 0 14px 34px rgba(2,10,20,.24);
  --ev-radius-xl: 30px;
  --ev-radius-lg: 24px;
  --ev-radius-md: 18px;
  --ev-radius-sm: 14px;
  --ev-grid: rgba(117,212,255,.05);
  --ev-hero-gradient: linear-gradient(135deg,#132746 0%, #0f1b31 56%, #0a1020 100%);
  --fix-sidebar-w: 332px;
  --fix-sidebar-collapsed-w: 86px;
  --fix-topbar-h: 84px;
  --fix-radius-xl: 26px;
  --fix-radius-lg: 20px;
  --fix-radius-md: 16px;
  --fix-radius-sm: 12px;
  --fix-bg: #0a1020;
  --fix-bg-soft: #101a2e;
  --fix-panel: #111b2f;
  --fix-panel-2: #16243b;
  --fix-panel-3: #1a2b46;
  --fix-border: #263754;
  --fix-border-strong: #35507a;
  --fix-text: #f5faff;
  --fix-text-2: #b8c7da;
  --fix-text-3: #7d92ae;
  --fix-accent: #22d3ee;
  --fix-accent-2: #14e3c8;
  --fix-accent-soft: rgba(34,211,238,.16);
  --fix-success: #39d98a;
  --fix-warning: #f6b73c;
  --fix-danger: #ff5c7a;
  --fix-overlay: rgba(5,10,18,.72);
  --fix-shadow: 0 22px 52px rgba(0,0,0,.34);
  --fix-shadow-soft: 0 12px 28px rgba(0,0,0,.22);
  --refine-page-title: var(--shell-text, #e9f2ff);
  --refine-page-subtitle: var(--shell-text-2, #9bb3d2);
  --refine-surface: var(--shell-panel, #10223a);
  --refine-surface-soft: var(--shell-panel-2, #0f2137);
  --refine-border: var(--shell-border, #1e3551);
  --final-sidebar-w: 308px;
  --final-sidebar-collapsed-w: 86px;
  --sb-w: 278px;
  --sb-collapsed: 92px;
  --sb-radius: 22px;
  --sb-accent: #14b8a6;
  --sb-accent-2: #22d3ee;
  --sb-accent-3: #8b5cf6;
  --sb-ink: #e7f4fb;
  --sb-muted: #8ea8b6;
  --sb-border: rgba(148,163,184,.15);
  --sb-bg-dark-1: #0b1220;
  --sb-bg-dark-2: #101a2e;
  --sb-bg-light-1: #f8fbfd;
  --sb-bg-light-2: #ffffff;
  --phase7-border: rgba(18,24,38,.14);
  --phase7-soft: rgba(79,140,255,.08);
  --mobile-dock-height: 98px;
  --shell-inline-pad: clamp(16px, 2vw, 24px);
  --rev230-frame-gap: 12px;
  --rev230-frame-pad: 12px;
  --rev230-sidebar-w: 308px;
  --rev230-sidebar-collapsed-w: 88px;
  --rev230-topbar-min-h: 72px;
  --rev252-mobile-dock-height: 82px;
  --tc139-mobile-dock-height: 86px;
  --tc139-phone-pad: 12px;
}
body.app-shell *{
  hyphens: none;
}
body.app-shell .btn, body.app-shell button, body.app-shell .pill, body.app-shell .mini-tag, body.app-shell .metric-title, body.app-shell .card-title, body.app-shell .station-section-label, body.app-shell .nav-label, body.app-shell .dock-ico + span, body.app-shell th{
  word-break: normal;
  overflow-wrap: normal;
}
body.app-shell p, body.app-shell .muted, body.app-shell .metric-sub, body.app-shell td, body.app-shell .entity-card, body.app-shell .station-pack-card, body.app-shell .lane-step small{
  word-break: normal;
  overflow-wrap: break-word;
}
body.app-shell .page, body.app-shell .content, body.app-shell .card, body.app-shell .table-card, body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .queue-head, body.app-shell .section-head, body.app-shell .modal-card{
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width:1180px){
html,body,body.app-shell{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background: #edf6f8;
}
html[data-theme="dark"] body.app-shell{
  background: #07111d;
}
body.app-shell .app-frame{
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  overflow-x: hidden;
}
body.app-shell .content{
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: calc(var(--asm360-topbar-h,62px) + var(--hosting-banner-height,0px) + 10px) var(--tc139-phone-pad) calc(var(--tc139-mobile-dock-height) + env(safe-area-inset-bottom,0px) + 26px);
  overflow-x: hidden;
  overflow-y: visible;
}
body.app-shell .page{
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 100%;
}
body.app-shell .topbar{
  position: sticky;
  top: var(--hosting-banner-height,0px);
  left: 0;
  right: 0;
  width: 100%;
  min-height: 62px;
  border-radius: 0 0 24px 24px;
  margin: 0;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(199,220,232,.75);
  border-top: 0;
  box-shadow: 0 14px 34px rgba(15,23,42,.10);
  backdrop-filter: saturate(170%) blur(18px);
  z-index: 3200;
}
html[data-theme="dark"] body.app-shell .topbar{
  background: rgba(10,22,38,.88);
  border-color: rgba(123,226,255,.16);
}
body.app-shell .topbar-center,body.app-shell .topbar-desktop-only,body.app-shell .topbar-user{
  display: none;
}
body.app-shell .topbar-left{
  gap: 8px;
  min-width: 0;
}
body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn{
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.app-shell .topbar-context{
  min-width: 0;
  overflow: hidden;
}
body.app-shell .topbar-kicker{
  display: none;
}
body.app-shell .topbar-title{
  font-size: 1.02rem;
  line-height: 1.15;
  max-width: 48vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .topbar-actions{
  gap: 6px;
  justify-content: flex-end;
  min-width: 0;
}
body.app-shell .topbar-mobile-menu-wrap,body.app-shell .topbar-theme-mobile{
  display: inline-flex;
}
body.app-shell .topbar-dropdown.topbar-mobile-menu{
  position: fixed;
  top: calc(var(--asm360-topbar-h,62px) + var(--hosting-banner-height,0px) + 8px);
  left: 10px;
  right: 10px;
  width: auto;
  max-width: none;
  max-height: calc(100dvh - var(--asm360-topbar-h,62px) - 24px);
  overflow: auto;
  border-radius: 24px;
}
body.app-shell .mobile-dock-toggle{
  display: none;
}
body.app-shell .mobile-ev-dock{
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 4px;
  position: fixed;
  left: max(8px,env(safe-area-inset-left,0px));
  right: max(8px,env(safe-area-inset-right,0px));
  bottom: max(8px,env(safe-area-inset-bottom,0px));
  min-height: 74px;
  height: auto;
  padding: 8px;
  border-radius: 28px;
  z-index: 3150;
  transform: none;
  opacity: 1;
  pointer-events: auto;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(202,222,232,.82);
  box-shadow: 0 18px 44px rgba(15,23,42,.16);
  backdrop-filter: saturate(170%) blur(18px);
}
html[data-theme="dark"] body.app-shell .mobile-ev-dock{
  background: rgba(8,18,32,.92);
  border-color: rgba(123,226,255,.18);
}
body.app-shell .mobile-ev-dock a,body.app-shell .mobile-ev-dock button{
  min-width: 0;
  min-height: 58px;
  border-radius: 20px;
  display: grid;
  grid-template-rows: 24px auto;
  place-items: center;
  gap: 4px;
  padding: 7px 4px;
  font-size: .73rem;
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .mobile-ev-dock a.is-active{
  background: rgba(20,184,166,.12);
  border-color: rgba(20,184,166,.28);
  color: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(20,184,166,.10);
}
html[data-theme="dark"] body.app-shell .mobile-ev-dock a.is-active{
  color: #f7fbff;
}
body.app-shell .mobile-ev-dock svg{
  width: 22px;
  height: 22px;
}
body.app-shell.sidebar-open .mobile-ev-dock,body.app-shell.modal-open .mobile-ev-dock,body.app-shell.shell-overlay-open .mobile-ev-dock{
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}
body.app-shell .page-head, body.app-shell .hero-panel, body.app-shell .station-hero, body.app-shell .card, body.app-shell .table-card, body.app-shell .metric-card, body.app-shell .station-pack-card, body.app-shell .entity-card, body.app-shell .compact-card--mbin, body.app-shell .lane-step{
  border-radius: 24px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(201,220,232,.82);
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
  backdrop-filter: saturate(140%) blur(10px);
}
html[data-theme="dark"] body.app-shell .page-head, html[data-theme="dark"] body.app-shell .hero-panel, html[data-theme="dark"] body.app-shell .station-hero, html[data-theme="dark"] body.app-shell .card, html[data-theme="dark"] body.app-shell .table-card, html[data-theme="dark"] body.app-shell .metric-card, html[data-theme="dark"] body.app-shell .station-pack-card, html[data-theme="dark"] body.app-shell .entity-card, html[data-theme="dark"] body.app-shell .compact-card--mbin, html[data-theme="dark"] body.app-shell .lane-step{
  background: rgba(13,27,46,.84);
  border-color: rgba(123,226,255,.14);
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero,body.app-shell .card,body.app-shell .table-card{
  padding: 16px;
}
body.app-shell .metric-card{
  min-height: 86px;
  padding: 14px;
}
body.app-shell .metric-value,body.app-shell .kpi-val{
  font-size: clamp(1.55rem,7vw,2.25rem);
  line-height: 1;
}
body.app-shell .metric-title{
  font-size: .72rem;
  letter-spacing: .08em;
}
body.app-shell .grid, body.app-shell .form-grid, body.app-shell .split-grid, body.app-shell .compact-hero-grid, body.app-shell .inventory-home-actions-grid, body.app-shell .inventory-dashboard-grid, body.app-shell .connected-workflow-lane, body.app-shell .connected-workflow-lane[style], body.app-shell .workflow-grid, body.app-shell .cards-grid, body.app-shell .entity-card-grid, body.app-shell .station-pack-grid, body.app-shell .mbin-card-grid, body.app-shell .module-bin-grid, body.app-shell .station-grid, body.app-shell .station-readiness-grid, body.app-shell .machine-status-panel, body.app-shell .inventory-alert-tile-grid, body.app-shell .mobile-access-grid, body.app-shell .mobile-access-module-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
body.app-shell .metrics-grid, body.app-shell .inventory-kpi-grid, body.app-shell .inventory-kpi-grid--hero, body.app-shell .hero-kpis, body.app-shell .line-side-inventory-metrics, body.app-shell .oee-page .metric-grid, body.app-shell .oee-page .oee-kpi-grid, body.app-shell .report-summary-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  min-width: 0;
  width: 100%;
}
body.app-shell .connected-workflow-lane .lane-step{
  min-height: 0;
  padding: 14px 14px;
  text-align: left;
  align-items: flex-start;
}
body.app-shell .connected-workflow-lane .lane-step::after{
  display: none;
}
body.app-shell .lane-step strong{
  font-size: 1rem;
  line-height: 1.22;
  white-space: normal;
}
body.app-shell .lane-step small{
  font-size: .84rem;
  line-height: 1.35;
}
body.app-shell .input,body.app-shell input:not([type="checkbox"]):not([type="radio"]),body.app-shell select,body.app-shell textarea{
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  border-radius: 20px;
  font-size: 16px;
}
body.app-shell .actions,body.app-shell .row-actions,body.app-shell .form-actions,body.app-shell .modal-actions,body.app-shell .table-tools,body.app-shell .inline-form{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  width: 100%;
  align-items: stretch;
  justify-content: flex-start;
}
body.app-shell .actions .btn,body.app-shell .row-actions .btn,body.app-shell .form-actions .btn,body.app-shell .modal-actions .btn,body.app-shell .table-tools .btn{
  min-height: 44px;
  flex: 1 1 150px;
  justify-content: center;
}
body.app-shell .queue-head,body.app-shell .section-head,body.app-shell .station-panel-head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager, body.app-shell .station-pack-search-wrap, body.app-shell .stage-card-searchbar, body.app-shell .stage-mbin-search-form{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  align-items: stretch;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search, body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-search--wide, body.app-shell form.toolbar-form.toolbar-form--inline-pager input[type="search"], body.app-shell .station-pack-search-wrap .toolbar-search, body.app-shell .stage-card-searchbar .toolbar-search, body.app-shell .stage-mbin-search-form .toolbar-search{
  grid-column: 1 / -1;
  min-width: 0;
  width: 100%;
  max-width: none;
  height: 48px;
  flex: none;
}
body.app-shell form.toolbar-form.toolbar-form--inline-pager select.input, body.app-shell form.toolbar-form.toolbar-form--inline-pager select, body.app-shell form.toolbar-form.toolbar-form--inline-pager .btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager button.btn, body.app-shell form.toolbar-form.toolbar-form--inline-pager a.btn, body.app-shell .station-pack-search-wrap select, body.app-shell .station-pack-search-wrap .btn, body.app-shell .stage-mbin-search-form select, body.app-shell .stage-mbin-search-form .btn{
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 46px;
  flex: none;
}
body.app-shell .station-pack-search-wrap .pill, body.app-shell .station-pack-search-wrap .toolbar-inline-pager, body.app-shell form.toolbar-form.toolbar-form--inline-pager .toolbar-inline-pager{
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  margin: 0;
  justify-content: flex-start;
}
body.app-shell .toolbar-inline-pager .server-pager,body.app-shell .server-pager{
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  padding-bottom: 2px;
}
body.app-shell .server-pager .btn{
  min-width: 46px;
  height: 42px;
  flex: 0 0 auto;
}
body.app-shell .stage-mbin-pager{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px;
}
body.app-shell .stage-mbin-page-actions{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  justify-content: flex-start;
  width: 100%;
}
body.app-shell .stage-mbin-page-actions .btn{
  flex: 0 0 auto;
  min-width: 48px;
  width: auto;
}
body.app-shell .table-enhancer, body.app-shell .table-enhancer-top, body.app-shell .table-enhancer-bottom{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: stretch;
  padding: 10px 0;
}
body.app-shell .table-enhancer-left,body.app-shell .table-enhancer-right{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
  min-width: 0;
  justify-content: stretch;
}
body.app-shell .table-enhancer-size{
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  width: 100%;
}
body.app-shell .table-enhancer-search{
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 46px;
}
body.app-shell .table-enhancer-right .btn,body.app-shell .table-enhancer-actions .btn{
  width: 100%;
  min-height: 44px;
  justify-content: center;
}
body.app-shell .table-enhancer-actions{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  width: 100%;
}
body.app-shell .table-enhancer-date-range{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
body.app-shell .table-enhancer-date-label,body.app-shell .table-enhancer-date-extra-label{
  display: grid;
  gap: 6px;
  width: 100%;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.app-shell .table-wrap, body.app-shell .table-wrap.responsive-table{
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.app-shell .table-wrap > .table, body.app-shell .table-wrap table.table, body.app-shell table.table.responsive-table{
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border: 0;
  background: transparent;
}
body.app-shell .table thead{
  display: none;
}
body.app-shell .table tbody{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
}
body.app-shell .table tr{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  padding: 0;
  border: 1px solid rgba(201,220,232,.86);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
  overflow: hidden;
}
html[data-theme="dark"] body.app-shell .table tr{
  background: rgba(13,27,46,.86);
  border-color: rgba(123,226,255,.14);
}
body.app-shell .table tr[hidden],body.app-shell .table tr[style*="display: none"]{
  display: none;
}
body.app-shell .table td{
  display: grid;
  grid-template-columns: minmax(102px,36%) minmax(0,1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid rgba(201,220,232,.58);
  white-space: normal;
  text-align: left;
  font-size: .94rem;
  line-height: 1.35;
}
body.app-shell .table td:last-child{
  border-bottom: 0;
}
body.app-shell .table td::before{
  content: attr(data-label);
  display: block;
  color: #71849b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  line-height: 1.25;
}
html[data-theme="dark"] body.app-shell .table td::before{
  color: #9fb6c9;
}
body.app-shell .table td[colspan]{
  grid-template-columns: 1fr;
  text-align: center;
}
body.app-shell .table td[colspan]::before{
  display: none;
  content: "";
}
body.app-shell .table td.right,body.app-shell .table td.actions,body.app-shell .table td.actions-col,body.app-shell .table .actions-col{
  grid-template-columns: 1fr;
  justify-items: stretch;
}
body.app-shell .table td.right::before,body.app-shell .table td.actions::before,body.app-shell .table td.actions-col::before{
  margin-bottom: 4px;
}
body.app-shell .table td .btn,body.app-shell .table td a.btn,body.app-shell .table td button.btn{
  width: 100%;
  min-height: 42px;
  justify-content: center;
  margin: 2px 0;
}
body.app-shell .table td .pill{
  justify-content: flex-start;
  width: auto;
  max-width: 100%;
  white-space: normal;
}
body.app-shell .station-pack-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  min-height: 0;
  margin-top: 12px;
}
body.app-shell .station-pack-card{
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 0;
  padding: 14px;
  gap: 12px;
  overflow: visible;
}
body.app-shell .station-pack-head{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: flex-start;
}
body.app-shell .station-pack-head strong{
  font-size: clamp(1.35rem,8vw,2rem);
  line-height: 1.05;
  white-space: normal;
}
body.app-shell .station-pack-badges,body.app-shell .station-pack-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
body.app-shell .station-pack-action-board,body.app-shell .station-pack-action-board--phase13{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
body.app-shell .station-pack-action-board .pill-btn--full{
  grid-column: 1 / -1;
}
body.app-shell .compact-card--mbin,body.app-shell .mbin-convert-card,body.app-shell .entity-card{
  width: 100%;
  max-width: none;
  min-height: 0;
}
}
@media (max-width:480px){
:root{
  --tc139-phone-pad: 10px;
  --tc139-mobile-dock-height: 84px;
}
body.app-shell .metrics-grid, body.app-shell .inventory-kpi-grid, body.app-shell .inventory-kpi-grid--hero, body.app-shell .hero-kpis, body.app-shell .line-side-inventory-metrics, body.app-shell .oee-page .metric-grid, body.app-shell .oee-page .oee-kpi-grid, body.app-shell .report-summary-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
body.app-shell .page-head,body.app-shell .hero-panel,body.app-shell .station-hero,body.app-shell .card,body.app-shell .table-card{
  padding: 14px;
  border-radius: 22px;
}
body.app-shell .metric-card{
  padding: 12px;
  border-radius: 20px;
}
body.app-shell .metric-title{
  font-size: .68rem;
  letter-spacing: .06em;
}
body.app-shell .metric-sub{
  font-size: .78rem;
}
body.app-shell .mobile-ev-dock{
  left: 8px;
  right: 8px;
  padding: 7px;
  border-radius: 26px;
}
body.app-shell .mobile-ev-dock a,body.app-shell .mobile-ev-dock button{
  font-size: .70rem;
  min-height: 56px;
  border-radius: 18px;
}
body.app-shell .table td{
  grid-template-columns: minmax(92px,34%) minmax(0,1fr);
  padding: 11px 12px;
  font-size: .91rem;
}
body.app-shell .station-pack-action-board,body.app-shell .station-pack-action-board--phase13{
  grid-template-columns: 1fr;
}
body.app-shell .table-enhancer-actions{
  grid-template-columns: 1fr 1fr;
}
body.app-shell .table-enhancer-actions .btn:nth-last-child(1):nth-child(odd){
  grid-column: 1/-1;
}
}
.station-pack-corner-badges{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  min-width: max-content;
}
.pack-type-pill{
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 760px){
.station-pack-head{
  align-items: flex-start;
  gap: 10px;
}
.station-pack-corner-badges{
  gap: 5px;
}
.station-pack-corner-badges .pill{
  font-size: 11px;
  padding: 6px 9px;
  border-radius: 999px;
}
}
@media (max-width: 820px){
html,body{
  max-width: 100%;
  overflow-x: hidden;
}
body.app-shell{
  background: linear-gradient(180deg,#eafcff 0%,#f7fbff 46%,#eef7fb 100%);
}
body.app-shell .content{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  padding-left: clamp(14px,4vw,20px);
  padding-right: clamp(14px,4vw,20px);
  padding-bottom: calc(116px + env(safe-area-inset-bottom,0px));
}
body.app-shell .topbar{
  width: auto;
  left: 10px;
  right: 10px;
  top: calc(8px + var(--hosting-banner-height,0px));
  min-height: 60px;
  padding: 8px 10px;
  border-radius: 26px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  overflow: visible;
  z-index: 3300;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(197,219,230,.86);
  box-shadow: 0 18px 42px rgba(15,23,42,.12);
  backdrop-filter: saturate(170%) blur(18px);
}
html[data-theme="dark"] body.app-shell .topbar{
  background: rgba(8,18,32,.94);
  border-color: rgba(123,226,255,.18);
}
body.app-shell .topbar-left{
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 8px;
  align-items: center;
}
body.app-shell .topbar-context{
  min-width: 0;
  overflow: hidden;
}
body.app-shell .topbar-title{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .98rem;
  line-height: 1.1;
}
body.app-shell .topbar-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  max-width: 154px;
  overflow: visible;
}
body.app-shell .topbar-center,body.app-shell .topbar-user{
  display: none;
}
body.app-shell .topbar-desktop-only, body.app-shell [data-fullscreen-toggle], body.app-shell .browser-alert-toggle--compact, body.app-shell .topbar-actions > [data-open-modal="pushTestModal"], body.app-shell .topbar-actions > .topbar-drop-wrap:not(.topbar-mobile-menu-wrap){
  display: none;
  visibility: hidden;
  width: 0;
  min-width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
body.app-shell .topbar-mobile-menu-wrap,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-audio-toggle{
  display: inline-flex;
  flex: 0 0 auto;
}
body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn,body.app-shell .topbar-audio-toggle{
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 18px;
  padding: 0;
}
body.app-shell .topbar-dropdown.topbar-mobile-menu{
  top: calc(74px + var(--hosting-banner-height,0px));
  left: 10px;
  right: 10px;
  width: auto;
  max-width: none;
}
body.app-shell .page-head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0 0 14px;
  padding: 20px;
  border-radius: 28px;
}
body.app-shell .page-head h1,body.app-shell .page-head h2{
  font-size: clamp(1.35rem,6vw,1.75rem);
  line-height: 1.1;
  margin: 0 0 8px;
  letter-spacing: -.03em;
}
body.app-shell .page-head .muted{
  font-size: clamp(.92rem,3.8vw,1.02rem);
  line-height: 1.45;
}
body.app-shell .page-head .actions{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
body.app-shell .page-head .actions .btn{
  width: 100%;
  min-height: 48px;
}
body.app-shell .card{
  overflow: hidden;
}
body.app-shell .card > [style*="grid-template-columns"], body.app-shell .table-card > [style*="grid-template-columns"], body.app-shell .hero-panel > [style*="grid-template-columns"], body.app-shell .page-head > [style*="grid-template-columns"]{
  grid-template-columns: 1fr;
  min-width: 0;
  width: 100%;
}
body.app-shell .tc174-runtime-health-grid{
  grid-template-columns: 1fr;
  gap: 14px;
}
body.app-shell .tc174-runtime-score{
  text-align: left;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
body.app-shell .tc174-runtime-score .tc174-score-value{
  font-size: clamp(2rem,11vw,3rem);
}
body.app-shell .table-enhancer{
  border-radius: 22px;
  background: rgba(241,248,251,.7);
  border: 1px solid rgba(202,222,232,.62);
  margin: 0 0 12px;
  padding: 10px;
}
body.app-shell .table-enhancer-actions{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.app-shell .table-enhancer-actions .btn{
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}
body.app-shell .table-wrap{
  max-width: 100%;
}
body.app-shell .table tr{
  max-width: 100%;
}
body.app-shell .table td{
  word-break: break-word;
  overflow-wrap: anywhere;
}
body.app-shell .queue-head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.app-shell .admin-audio-announcements-page .audio-voice-diagnostic{
  margin-top: 0;
}
body.app-shell .admin-audio-announcements-page .audio-sample-actions{
  display: grid;
  grid-template-columns: 1fr;
}
body.app-shell .mobile-ev-dock{
  bottom: max(10px,env(safe-area-inset-bottom,0px));
  left: 14px;
  right: 14px;
  border-radius: 30px;
  min-height: 78px;
  box-shadow: 0 18px 46px rgba(15,23,42,.18);
}
body.app-shell .mobile-ev-dock a,body.app-shell .mobile-ev-dock button{
  min-height: 60px;
  font-size: .72rem;
}
}
@media (max-width: 390px){
body.app-shell .topbar{
  left: 8px;
  right: 8px;
  grid-template-columns: 42px minmax(0,1fr) auto;
}
body.app-shell .topbar-actions{
  max-width: 136px;
  gap: 5px;
}
body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn,body.app-shell .topbar-audio-toggle{
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
}
body.app-shell .topbar-title{
  font-size: .9rem;
}
}
.calendar-board-page .calendar-board-grid{
  display: block;
  grid-template-columns: none;
  overflow: visible;
}
.calendar-board-page .calendar-main-card{
  width: 100%;
}
.calendar-board-page .calendar-side-stack{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}
.calendar-board-page .calendar-grid-wrap{
  overflow-x: auto;
}
@media (max-width: 900px){
.calendar-board-page .calendar-side-stack{
  grid-template-columns: 1fr;
}
}
html,body{
  max-width: 100%;
  overflow-x: hidden;
}
body.app-shell .modal:not(.open):not(.is-open):not(.show):not(.tc-server-open-modal){
  display: none;
}
body.app-shell .modal.open,body.app-shell .modal.is-open,body.app-shell .modal.show,body.app-shell .modal.tc-server-open-modal{
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2,8,23,.62);
  backdrop-filter: blur(8px);
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.app-shell .modal.open>.modal-card,body.app-shell .modal.is-open>.modal-card,body.app-shell .modal.show>.modal-card,body.app-shell .modal.tc-server-open-modal>.modal-card{
  width: min(1120px,calc(100vw - 36px));
  max-width: calc(100vw - 36px);
  max-height: calc(100dvh - 44px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  z-index: 2147483100;
  margin: auto;
  pointer-events: auto;
  border-radius: 24px;
}
body.app-shell .modal-card.lg,body.app-shell .modal-card.xl,body.app-shell .stage-modal-card--xl,body.app-shell .ttit-modal-card{
  width: min(1280px,calc(100vw - 36px));
}
body.app-shell .modal-head,body.app-shell .modal-header{
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--card,#fff);
  border-bottom: 1px solid var(--border,#d5e3f3);
}
body.app-shell .modal-body{
  flex: 1 1 auto;
  overflow: auto;
  padding: 16px 18px 18px;
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
  min-height: 0;
  overscroll-behavior: contain;
}
body.app-shell .modal-card>form,body.app-shell .stage-modal-card>form,body.app-shell .station-clock-modal-card>form,body.app-shell .machine-check-modal-form{
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px 18px;
}
body.app-shell .modal-card>form>.modal-grid,body.app-shell .stage-modal-card>form>.modal-grid,body.app-shell .modal-card>form>.machine-check-list,body.app-shell .modal-card>form>.machine-check-sheet{
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
body.app-shell .modal-card>form>.actions:last-child,body.app-shell .modal-card>form>.sticky-actions,body.app-shell .modal-footer,body.app-shell .modal-actions{
  position: sticky;
  bottom: 0;
  z-index: 8;
  flex: 0 0 auto;
  background: linear-gradient(180deg,rgba(255,255,255,.84),var(--card,#fff));
  border-top: 1px solid var(--border,#d5e3f3);
  padding: 12px;
  margin: 12px -18px -14px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .stage-modal-grid,body.app-shell .modal-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 14px;
  align-items: start;
}
body.app-shell .stage-modal-grid>.full,body.app-shell .modal-grid>.full{
  grid-column: 1/-1;
}
body.app-shell .modal textarea.input{
  min-height: 88px;
  resize: vertical;
}
body.app-shell .modal select.input,body.app-shell .modal input.input,body.app-shell .modal textarea.input{
  max-width: 100%;
}
body.app-shell .modal .machine-check-list,body.app-shell .modal .machine-param-stack{
  max-width: 100%;
}
body.app-shell .calendar-modal[hidden]{
  display: none;
}
body.app-shell .calendar-modal:not([hidden]){
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2,8,23,.62);
  backdrop-filter: blur(8px);
  overflow: hidden;
}
body.app-shell .calendar-modal-backdrop{
  position: absolute;
  inset: 0;
}
body.app-shell .calendar-modal-card{
  position: relative;
  width: min(1180px,calc(100vw - 36px));
  max-width: calc(100vw - 36px);
  max-height: calc(100dvh - 44px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px;
}
body.app-shell .calendar-modal-head{
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--card,#fff);
  border-bottom: 1px solid var(--border,#d5e3f3);
}
body.app-shell .calendar-modal-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 16px;
}
body.app-shell .table-scroll{
  width: 100%;
  overflow: auto;
  border-radius: 16px;
}
@media(max-width:760px){
body.app-shell .modal.open,body.app-shell .modal.is-open,body.app-shell .modal.show,body.app-shell .modal.tc-server-open-modal,body.app-shell .calendar-modal:not([hidden]){
  padding: 0;
  align-items: stretch;
}
body.app-shell .modal.open>.modal-card,body.app-shell .modal.is-open>.modal-card,body.app-shell .modal.show>.modal-card,body.app-shell .modal.tc-server-open-modal>.modal-card,body.app-shell .calendar-modal-card{
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
}
body.app-shell .modal-card>form,body.app-shell .stage-modal-card>form{
  padding: 12px;
}
body.app-shell .modal-card>form>.actions:last-child{
  margin: 12px -12px -12px;
}
}
.admin-access-matrix-page .page-head{
  align-items: flex-start;
  gap: 14px;
}
.admin-access-matrix-page .access-health-card,.admin-access-matrix-page #user-matrix,.admin-access-matrix-page #role-matrix{
  overflow: visible;
}
.admin-access-matrix-page .access-tabs,.admin-access-matrix-page .access-role-tabs{
  display: grid;
  gap: 14px;
}
.admin-access-matrix-page .access-details{
  border: 1px solid var(--border,#d5e3f3);
  border-radius: 22px;
  background: var(--card,#fff);
  box-shadow: var(--shadow-sm,0 12px 28px rgba(15,23,42,.06));
  margin: 14px 0;
  overflow: hidden;
}
.admin-access-matrix-page .access-details>summary{
  cursor: pointer;
  list-style: none;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  border-bottom: 1px solid var(--border,#d5e3f3);
  background: linear-gradient(180deg,rgba(248,252,255,.92),rgba(255,255,255,.86));
}
.admin-access-matrix-page .access-details>summary::-webkit-details-marker{
  display: none;
}
.admin-access-matrix-page .section-kicker{
  margin: 16px 0 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted,#64748b);
  font-size: .76rem;
}
.admin-access-matrix-page .matrix-check-grid,.admin-access-matrix-page .permissions-grid,.admin-access-matrix-page .preset-grid,.admin-access-matrix-page .access-matrix-mobile-grid,.admin-access-matrix-page .mobile-access-module-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
  gap: 12px;
  margin: 12px 0;
  align-items: stretch;
}
.admin-access-matrix-page .matrix-check,.admin-access-matrix-page .mobile-module-card,.admin-access-matrix-page .preset-card{
  border: 1px solid var(--border,#d5e3f3);
  border-radius: 18px;
  background: linear-gradient(180deg,#fff,#f8fbff);
  padding: 12px;
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.25;
}
.admin-access-matrix-page .matrix-check input[type="checkbox"]{
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 1px 0 0;
  accent-color: #2f8cff;
}
.admin-access-matrix-page .matrix-check span{
  min-width: 0;
  display: grid;
  gap: 4px;
}
.admin-access-matrix-page .matrix-check strong{
  font-weight: 900;
  word-break: normal;
  overflow-wrap: break-word;
}
.admin-access-matrix-page .matrix-check small{
  color: var(--muted,#64748b);
  line-height: 1.25;
}
.admin-access-matrix-page .mobile-module-card{
  display: grid;
  gap: 10px;
}
.admin-access-matrix-page .mobile-module-card h4{
  margin: 0;
  font-size: .98rem;
}
.admin-access-matrix-page .mobile-module-card-head{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.admin-access-matrix-page .mobile-module-flags{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(112px,1fr));
  gap: 8px;
}
.admin-access-matrix-page .toggle-switch{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  cursor: pointer;
}
.admin-access-matrix-page .toggle-switch input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.admin-access-matrix-page .toggle-switch .toggle-slider{
  position: relative;
  width: 42px;
  height: 24px;
  min-width: 42px;
  border-radius: 999px;
  background: #d8e4f2;
  border: 1px solid #b9cee5;
  box-shadow: inset 0 1px 3px rgba(15,23,42,.12);
  transition: .18s ease;
}
.admin-access-matrix-page .toggle-switch .toggle-slider:before{
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 2px;
  top: 2px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15,23,42,.24);
  transition: .18s ease;
}
.admin-access-matrix-page .toggle-switch input:checked+.toggle-slider{
  background: linear-gradient(135deg,#38c7dc,#2f8cff);
  border-color: #38bdf8;
}
.admin-access-matrix-page .toggle-switch input:checked+.toggle-slider:before{
  transform: translateX(18px);
}
.admin-access-matrix-page .toggle-label{
  font-size: .78rem;
  font-weight: 800;
  color: var(--text,#0f172a);
}
.admin-access-matrix-page .table-wrap{
  overflow: auto;
  border-radius: 18px;
}
.admin-access-matrix-page table{
  min-width: max-content;
}
.admin-access-matrix-page .check{
  width: auto;
  min-width: 0;
}
.admin-access-matrix-page .sticky-form-actions{
  position: sticky;
  bottom: 0;
  z-index: 20;
  background: linear-gradient(180deg,rgba(255,255,255,.75),#fff);
  border: 1px solid var(--border,#d5e3f3);
  border-radius: 18px;
  padding: 12px;
  margin-top: 14px;
  box-shadow: 0 14px 36px rgba(15,23,42,.08);
}
body.app-shell .ai-floating-panel,body.app-shell .assistant-floating-panel,body.app-shell .ai-assistant-floating,body.app-shell .assistant-launcher{
  position: fixed;
  right: 18px;
  bottom: 18px;
  left: auto;
  top: auto;
  max-width: min(360px,calc(100vw - 36px));
  max-height: 70vh;
  z-index: 900;
}
body.app-shell .assistant-launcher img,body.app-shell .ai-assistant-floating img{
  max-width: 44px;
  max-height: 44px;
}
.tc234-search-strip, .toolbar-form.tc234-search-strip, .table-tools.tc234-search-strip, .station-card-toolbar.tc234-search-strip{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.tc234-search-strip .input, .toolbar-form.tc234-search-strip .input, .table-tools.tc234-search-strip .input{
  min-height: 38px;
  border-radius: 13px;
}
.tc234-connected-card, .card.tc234-connected-card, .pack-queue-panel, .station-detail-table-panel, .station-history-panel{
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 42px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.72);
}
.tc234-connected-card .queue-head, .pack-queue-panel .queue-head, .station-detail-table-panel .queue-head{
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15,23,42,.07);
  margin-bottom: 12px;
}
.metric-card.tc234-metric-card, .metrics-grid .metric-card{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,249,255,.88));
  box-shadow: 0 14px 32px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.8);
}
.metric-card.tc234-metric-card .metric-value, .metrics-grid .metric-card .metric-value{
  letter-spacing: -.04em;
}
.table-scroll--auto, .table-scroll, .table-wrap.responsive-table{
  width: 100%;
  overflow: auto;
  border-radius: 16px;
}
.table-scroll--auto table, .table-wrap.responsive-table table{
  margin: 0;
}
.table thead th, .station-table thead th{
  white-space: nowrap;
  vertical-align: middle;
}
.table td, .station-table td{
  vertical-align: middle;
}
.row-actions.compact-actions, .compact-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}
.station-pack-action-board.compact-actions{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(112px,1fr));
  gap: 7px;
}
.pill-btn, .btn.sm.pill-btn{
  min-height: 32px;
  border-radius: 999px;
  justify-content: center;
}
[data-live-refresh-pool="station-pack-modals"]{
  display: contents;
}
.tc234-live-toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483200;
  max-width: min(360px, calc(100vw - 36px));
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(15,23,42,.92);
  color: #fff;
  box-shadow: 0 18px 40px rgba(15,23,42,.28);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
  font-weight: 700;
  font-size: 13px;
}
.tc234-live-toast.is-show{
  opacity: 1;
  transform: translateY(0);
}
.note-box, .announcement-card, .audio-announcement-card{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
[title]{
  cursor: inherit;
}
:where(a, button, .btn, [role="button"], summary, label, select, input[type="button"], input[type="submit"], input[type="checkbox"], input[type="radio"], .clickable, .nav-link, .menu-link, .sidebar-link, .entity-card, .pack-card, .mbin-card, .tc-final-pack-card, .tc-trace-card, .tc-pack-trace-card, .tc271-trace-card, .tc-mb2p-card)[title],
:where([onclick], [data-action], [data-url], [data-open], [data-modal-open], [data-bs-toggle], [data-toggle], [data-pack-id], [data-mbin-id]){
  cursor: pointer;
}
:where(button:disabled, .btn.disabled, [aria-disabled="true"])[title]{
  cursor: not-allowed;
}
@media (max-width: 980px){
.tc234-search-strip, .toolbar-form.tc234-search-strip, .table-tools.tc234-search-strip{
  align-items: stretch;
}
.tc234-search-strip .input, .tc234-search-strip .btn{
  width: 100%;
}
.row-actions.compact-actions{
  justify-content: flex-start;
}
}
.tc235-live-toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483600;
  background: rgba(15,23,42,.96);
  color: #fff;
  padding: 12px 16px;
  border-radius: 14px;
  box-shadow: 0 24px 70px rgba(15,23,42,.28);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .18s ease,transform .18s ease;
  max-width: min(520px,calc(100vw - 32px));
  font-weight: 700;
  font-size: .92rem;
  line-height: 1.35;
}
.tc235-live-toast.is-show{
  opacity: 1;
  transform: translateY(0);
}
.tc235-glow-ring{
  position: relative;
  animation: tc235GlowPulse 1.15s ease-in-out infinite;
  box-shadow: 0 0 0 3px rgba(14,165,233,.26),0 0 0 8px rgba(34,211,238,.13),0 18px 50px rgba(14,165,233,.20);
  border-color: rgba(14,165,233,.78);
}
.tc235-glow-ring:before{
  content: "NEW";
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  border-radius: 999px;
  background: #0f766e;
  color: #fff;
  padding: 4px 8px;
  box-shadow: 0 8px 18px rgba(15,118,110,.24);
}
@keyframes tc235GlowPulse{
0%,100%{box-shadow:0 0 0 3px rgba(14,165,233,.22),0 0 0 8px rgba(34,211,238,.12),0 18px 50px rgba(14,165,233,.16)}50%{box-shadow:0 0 0 4px rgba(14,165,233,.38),0 0 0 14px rgba(34,211,238,.18),0 24px 70px rgba(14,165,233,.24)}
}
.station-pack-card,.entity-card,.pick-card,.dispatch-summary-item,.machine-status-card,.machine-check-row{
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.station-pack-card .entity-code,.entity-card .entity-code,.pick-card .entity-code,.dispatch-summary-item .entity-code{
  white-space: normal;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.entity-card-head,.pick-card-top,.station-card-head,.dispatch-summary-item{
  align-items: flex-start;
  gap: 10px;
}
.entity-meta,.station-card-meta,.pick-card-meta,.dispatch-summary-badges,.pills{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.mini-tag,.pill{
  white-space: normal;
  line-height: 1.2;
}
.pack-pick-grid,.entity-card-grid,#stationPackCards{
  align-items: stretch;
}
.pick-card,.entity-card,.station-pack-card{
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}
.pick-card input[type=checkbox]{
  align-self: flex-start;
  transform: scale(1.05);
}
.dispatch-home-page .dispatch-layout-grid{
  grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr);
  align-items: start;
}
.dispatch-home-page .dispatch-create-card,.dispatch-home-page .dispatch-side-card{
  overflow: hidden;
}
.dispatch-home-page .pack-pick-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 12px;
  max-height: min(58vh,620px);
  overflow: auto;
  padding: 4px 4px 12px;
  scrollbar-gutter: stable;
}
.dispatch-home-page .pick-card{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));
  padding: 14px;
  cursor: pointer;
  transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.dispatch-home-page .pick-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 40px rgba(15,23,42,.10);
  border-color: rgba(14,165,233,.36);
}
.dispatch-home-page .pick-card.selected{
  border-color: rgba(14,165,233,.62);
  box-shadow: 0 0 0 3px rgba(14,165,233,.12),0 18px 44px rgba(14,165,233,.14);
}
.dispatch-home-page .pick-card.blocked{
  opacity: .72;
  background: linear-gradient(180deg,rgba(255,247,237,.92),rgba(255,255,255,.86));
  cursor: not-allowed;
}
.dispatch-pack-tools{
  display: grid;
  gap: 10px;
  margin: 12px 0;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  padding: 12px;
  background: rgba(248,250,252,.74);
}
.dispatch-selection-note{
  min-width: 180px;
  text-align: center;
  white-space: nowrap;
}
.dispatch-blocked-card{
  margin-top: 14px;
  background: rgba(255,247,237,.78);
}
@media(max-width:1100px){
.dispatch-home-page .dispatch-layout-grid{
  grid-template-columns: 1fr;
}
.dispatch-home-page .pack-pick-grid{
  max-height: none;
}
}
.modal.open,.modal.is-open,.modal.show,.tc-server-open-modal{
  overflow: auto;
}
.modal-card.tc235-modal-scroll-card,.tc-station-action-modal.open>.modal-card,.tc-station-action-modal.is-open>.modal-card,.tc-station-action-modal.show>.modal-card{
  display: flex;
  flex-direction: column;
  max-height: min(92vh,920px);
  overflow: hidden;
}
.modal-card.tc235-modal-scroll-card>.modal-head,.modal-card.tc235-modal-scroll-card>.modal-footer,.modal-card.tc235-modal-scroll-card>.actions,.modal-card>.modal-head{
  flex: 0 0 auto;
  position: sticky;
  z-index: 3;
  background: inherit;
}
.modal-card.tc235-modal-scroll-card>.modal-head,.modal-card>.modal-head{
  top: 0;
}
.modal-card.tc235-modal-scroll-card>.modal-footer,.modal-card.tc235-modal-scroll-card>.actions{
  bottom: 0;
}
.modal-card.tc235-modal-scroll-card>.modal-body,.modal-card.tc235-modal-scroll-card>.tc235-modal-body-fallback,.modal-card.tc235-modal-scroll-card>.tc235-modal-body-form{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
  padding-bottom: 8px;
}
.modal-card.tc235-modal-scroll-card form>.actions:last-child,.modal-card.tc235-modal-scroll-card .sticky-actions{
  position: sticky;
  bottom: 0;
  z-index: 4;
  background: linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.98));
  backdrop-filter: blur(10px);
  padding: 12px 0;
  margin-bottom: 0;
}
.modal-card.tc235-modal-scroll-card table{
  max-width: none;
}
.table-wrap,.table-scroll,.table-responsive{
  overflow: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
.modal .table-wrap,.modal .table-scroll,.modal .table-responsive{
  max-height: 56vh;
}
.machine-check-sheet{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.machine-check-list{
  display: grid;
  gap: 12px;
}
.machine-check-row{
  display: grid;
  grid-template-columns: minmax(160px,.42fr) minmax(260px,1fr) minmax(220px,.65fr);
  gap: 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(248,250,252,.82);
  align-items: start;
}
.machine-param-stack{
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
}
.machine-param-row{
  display: grid;
  grid-template-columns: minmax(120px,.55fr) minmax(160px,1fr);
  gap: 10px;
  align-items: center;
}
.machine-param-row .input[type=number]{
  font-variant-numeric: tabular-nums;
}
.machine-check-row .label{
  margin-bottom: 4px;
}
@media(max-width:900px){
.machine-check-row{
  grid-template-columns: 1fr;
}
.machine-param-row{
  grid-template-columns: 1fr;
}
}
.ipi-actual-input option[value="OK"]{
  font-weight: 700;
}
.inprocess-entry-page .ipi-check-card{
  align-items: stretch;
}
.inprocess-entry-page .ipi-entry-grid{
  grid-template-columns: minmax(220px,.8fr) minmax(260px,1.2fr);
}
@media(max-width:760px){
.inprocess-entry-page .ipi-entry-grid{
  grid-template-columns: 1fr;
}
}
body.app-shell .tc236-ai-widget{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: min(420px,calc(100vw - 28px));
  height: min(620px,calc(100vh - 36px));
  z-index: 1080;
  display: none;
  grid-template-rows: auto 1fr auto;
  border: 1px solid rgba(37,99,235,.24);
  border-radius: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 28px 80px rgba(15,23,42,.22);
  overflow: hidden;
  backdrop-filter: blur(18px);
}
body.app-shell .tc236-ai-widget.is-open{
  display: grid;
}
body.app-shell .tc236-ai-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(148,163,184,.18);
  background: linear-gradient(135deg,rgba(239,246,255,.96),rgba(255,255,255,.96));
}
body.app-shell .tc236-ai-head strong{
  display: block;
  font-size: 14px;
}
body.app-shell .tc236-ai-head span{
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 2px;
  line-height: 1.3;
}
body.app-shell .tc236-ai-head button{
  border: 0;
  background: rgba(15,23,42,.06);
  border-radius: 999px;
  width: 32px;
  height: 32px;
  font-size: 20px;
  cursor: pointer;
}
body.app-shell .tc236-ai-log,.ai-chat-log{
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.app-shell .ai-bubble{
  max-width: 92%;
  border-radius: 16px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
  white-space: normal;
  word-break: break-word;
}
body.app-shell .ai-bubble.assistant{
  align-self: flex-start;
  background: #f1f5f9;
  color: #0f172a;
  border: 1px solid rgba(148,163,184,.22);
}
body.app-shell .ai-bubble.user{
  align-self: flex-end;
  background: #0f766e;
  color: #fff;
}
body.app-shell .tc236-ai-form{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(148,163,184,.18);
  background: #fff;
}
body.app-shell .tc236-ai-form input{
  border: 1px solid rgba(148,163,184,.35);
  border-radius: 14px;
  min-height: 42px;
  padding: 0 12px;
}
body.app-shell .tc236-ai-form button{
  border: 0;
  border-radius: 14px;
  padding: 0 14px;
  background: #0f766e;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width:1100px){
body.app-shell .tc236-mini-material-grid{
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media (max-width:640px){
body.app-shell .tc236-mini-material-grid{
  grid-template-columns: 1fr;
}
body.app-shell .tc236-mini-bom-summary{
  align-items: flex-start;
  flex-direction: column;
}
body.app-shell .tc236-ai-widget{
  right: 8px;
  bottom: 8px;
  width: calc(100vw - 16px);
  height: calc(100vh - 16px);
  border-radius: 20px;
}
}
body.app-shell .preassembly-tc240-page{
  --pa-border: rgba(15,23,42,.10);
  --pa-soft: rgba(248,250,252,.92);
  --pa-card: rgba(255,255,255,.96);
  --pa-accent: #0891b2;
  --pa-accent-2: #0f766e;
  --pa-text: #0f172a;
  --pa-muted: #64748b;
}
body.app-shell .preassembly-tc240-page .page-head,
body.app-shell .preassembly-tc240-page .queue-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
body.app-shell .preassembly-stage-stack{
  display:grid;
  gap:14px;
}
body.app-shell .preassembly-full-console,
body.app-shell .preassembly-production-form-card,
body.app-shell .preassembly-bom-inline-card,
body.app-shell .preassembly-history-card{
  border:1px solid var(--pa-border);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  overflow:hidden;
}
body.app-shell .preassembly-full-console{
  padding:18px;
}
body.app-shell .preassembly-production-form-card,
body.app-shell .preassembly-bom-inline-card,
body.app-shell .preassembly-history-card{
  padding:16px;
  margin-top:14px;
}
body.app-shell .preassembly-live-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:12px 0 16px;
}
body.app-shell .preassembly-live-kpis .metric-card,
body.app-shell .tc236-mini-material-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:rgba(255,255,255,.90);
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  min-width:0;
  overflow:hidden;
}
body.app-shell .preassembly-live-kpis .metric-title,
body.app-shell .preassembly-live-kpis .metric-sub{
  overflow-wrap:anywhere;
}
body.app-shell .preassembly-live-kpis .metric-value{
  color:var(--pa-text);
  overflow-wrap:anywhere;
}
body.app-shell .preassembly-form-grid,
body.app-shell .preassembly-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.app-shell .preassembly-modal-grid.grid.three,
body.app-shell .grid.three.preassembly-modal-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .preassembly-form-grid .full,
body.app-shell .preassembly-modal-grid .full,
body.app-shell .preassembly-modal-form .full{
  grid-column:1 / -1;
}
body.app-shell .preassembly-output-field .readonly-field,
body.app-shell .fixed-preassembly-output{
  min-height:46px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  background:linear-gradient(135deg, rgba(236,253,245,.78), rgba(240,249,255,.86));
  border:1px solid rgba(8,145,178,.20);
  color:var(--pa-text);
  overflow-wrap:anywhere;
}
body.app-shell .preassembly-production-form-card .row-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
body.app-shell .tc236-mini-bom-panel{
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  overflow:hidden;
}
body.app-shell .tc236-mini-bom-summary{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:0;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:linear-gradient(135deg,rgba(248,250,252,.94),rgba(255,255,255,.98));
  color:var(--pa-text);
  text-align:left;
  cursor:pointer;
}
body.app-shell .tc236-mini-bom-summary small{
  display:block;
  color:var(--pa-muted);
  margin-top:3px;
  line-height:1.35;
}
body.app-shell .tc236-mini-material-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  padding:14px;
}
body.app-shell .tc236-mini-material-card{
  padding:14px;
}
body.app-shell .tc236-mini-material-card.is-ok{
  box-shadow:0 0 0 1px rgba(34,197,94,.14),0 12px 30px rgba(15,23,42,.06);
}
body.app-shell .tc236-mini-material-card.is-short{
  box-shadow:0 0 0 1px rgba(239,68,68,.16),0 12px 30px rgba(127,29,29,.08);
}
body.app-shell .tc236-mini-card-top,
body.app-shell .tc236-mini-card-stats{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .tc236-mini-card-name{
  margin:8px 0 10px;
  font-weight:700;
  color:var(--pa-text);
  overflow-wrap:anywhere;
}
body.app-shell .tc236-mini-card-stats span{
  display:inline-flex;
  gap:4px;
  align-items:center;
  min-width:0;
  color:var(--pa-muted);
  font-size:.82rem;
}
body.app-shell .tc236-mini-bom-table th,
body.app-shell .tc236-mini-bom-table td,
body.app-shell .preassembly-history-card th,
body.app-shell .preassembly-history-card td{
  vertical-align:top;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.app-shell .preassembly-history-card .table-wrap,
body.app-shell .tc236-mini-bom-panel .table-wrap{
  overflow:auto;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.app-shell .preassembly-action-modal.open,
body.app-shell .preassembly-action-modal.is-open,
body.app-shell .preassembly-action-modal.show,
body.app-shell .preassembly-action-modal.tc-server-open-modal{
  display:flex;
  position:fixed;
  inset:0;
  z-index:2147483000;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(2,8,23,.66);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  overflow:auto;
  backdrop-filter:blur(8px);
}
body.app-shell .preassembly-action-modal.open > .tc240-preassembly-modal-card,
body.app-shell .preassembly-action-modal.is-open > .tc240-preassembly-modal-card,
body.app-shell .preassembly-action-modal.show > .tc240-preassembly-modal-card,
body.app-shell .preassembly-action-modal.tc-server-open-modal > .tc240-preassembly-modal-card{
  width:min(1240px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  margin:auto;
  border-radius:28px;
  background:#ffffff;
  border:1px solid rgba(148,163,184,.24);
  box-shadow:0 34px 90px rgba(2,8,23,.32);
  transform:none;
}
body.app-shell .tc240-preassembly-modal-card > .modal-head{
  position:relative;
  top:auto;
  z-index:5;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(148,163,184,.22);
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(255,255,255,1));
  color:var(--pa-text);
  flex:0 0 auto;
}
body.app-shell .tc240-preassembly-modal-card .modal-title,
body.app-shell .tc240-preassembly-modal-card .card-title{
  color:var(--pa-text);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
}
body.app-shell .tc240-preassembly-modal-card .modal-close{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(148,163,184,.24);
  background:#ffffff;
  color:#0f172a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
body.app-shell .tc240-preassembly-modal-card > .tc240-preassembly-modal-form{
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}
body.app-shell .tc240-preassembly-modal-form > .modal-body{
  min-height:0;
  overflow:auto;
  padding:18px 20px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  background:linear-gradient(180deg,rgba(248,250,252,.56),rgba(255,255,255,.96));
}
body.app-shell .tc240-preassembly-modal-form > .modal-footer,
body.app-shell .tc240-preassembly-modal-form > .preassembly-modal-footer{
  position:relative;
  bottom:auto;
  z-index:6;
  width:100%;
  margin:0;
  padding:16px 20px;
  border-top:1px solid rgba(148,163,184,.24);
  background:linear-gradient(180deg,rgba(255,255,255,.92),#ffffff 48%,#ffffff 100%);
  box-shadow:0 -16px 36px rgba(15,23,42,.08);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
body.app-shell .tc240-preassembly-modal-form > .modal-footer .btn,
body.app-shell .tc240-preassembly-modal-form > .preassembly-modal-footer .btn{
  min-height:48px;
  border-radius:16px;
  padding:0 22px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:normal;
  text-align:center;
  line-height:1.15;
}
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-submit,
body.app-shell .tc240-preassembly-modal-form button[type="submit"].btn:not(.danger):not(.warn){
  flex:1 1 360px;
  background:linear-gradient(135deg,#0f766e 0%,#0891b2 100%);
  border-color:rgba(8,145,178,.72);
  color:#ffffff;
  box-shadow:0 16px 34px rgba(8,145,178,.24);
  text-shadow:none;
}
body.app-shell .tc240-preassembly-modal-form button[type="submit"].btn.danger,
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-submit.danger{
  background:linear-gradient(135deg,#dc2626 0%,#e11d48 100%);
  border-color:rgba(225,29,72,.64);
  color:#ffffff;
  box-shadow:0 16px 34px rgba(225,29,72,.20);
}
body.app-shell .tc240-preassembly-modal-form button[type="submit"].btn.warn,
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-submit.warn{
  background:linear-gradient(135deg,#f59e0b 0%,#f97316 100%);
  border-color:rgba(249,115,22,.64);
  color:#ffffff;
  box-shadow:0 16px 34px rgba(249,115,22,.18);
}
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-cancel,
body.app-shell .tc240-preassembly-modal-form .modal-footer .btn:not(.primary):not(.danger):not(.warn){
  flex:0 1 170px;
  background:#ffffff;
  border-color:rgba(148,163,184,.38);
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-submit:focus-visible,
body.app-shell .tc240-preassembly-modal-form .preassembly-footer-cancel:focus-visible,
body.app-shell .tc240-preassembly-modal-card .modal-close:focus-visible{
  outline:3px solid rgba(8,145,178,.30);
  outline-offset:2px;
}
body.app-shell .tc240-preassembly-modal-card .machine-check-sheet,
body.app-shell .tc240-preassembly-modal-card .station-protocol-check-sheet{
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:14px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  margin:0 0 14px;
}
body.app-shell .tc240-preassembly-modal-card .machine-check-list,
body.app-shell .tc240-preassembly-modal-card .station-protocol-check-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
body.app-shell .tc240-preassembly-modal-card .machine-check-row,
body.app-shell .tc240-preassembly-modal-card .station-protocol-check-row,
body.app-shell .tc240-preassembly-modal-card .preassembly-machine-card{
  display:grid;
  grid-template-columns:minmax(190px,.35fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-width:0;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:12px;
  background:rgba(248,250,252,.82);
  overflow:hidden;
}
body.app-shell .tc240-preassembly-modal-card .machine-check-controls,
body.app-shell .tc240-preassembly-modal-card .machine-param-stack{
  display:grid;
  gap:10px;
  min-width:0;
}
body.app-shell .tc240-preassembly-modal-card .machine-param-row,
body.app-shell .tc240-preassembly-modal-card .machine-status-field,
body.app-shell .tc240-preassembly-modal-card .machine-remarks-field,
body.app-shell .tc240-preassembly-modal-card .station-protocol-check-input{
  min-width:0;
}
body.app-shell .tc240-preassembly-modal-card .input,
body.app-shell .tc240-preassembly-modal-card select,
body.app-shell .tc240-preassembly-modal-card textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  color:#0f172a;
  background:#ffffff;
  border-color:rgba(148,163,184,.34);
}
body.app-shell .tc240-preassembly-modal-card .label{
  color:#0f172a;
  font-weight:800;
  overflow-wrap:anywhere;
}
body.app-shell .tc240-preassembly-modal-card .table-wrap,
body.app-shell .tc240-preassembly-modal-card .table-scroll,
body.app-shell .tc240-preassembly-modal-card .table-responsive{
  overflow:auto;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  max-height:58vh;
}
html[data-theme="dark"] body.app-shell .preassembly-tc240-page{
  --pa-border: rgba(148,163,184,.18);
  --pa-soft: rgba(15,23,42,.92);
  --pa-card: rgba(15,23,42,.96);
  --pa-text: #f8fafc;
  --pa-muted: #94a3b8;
}
html[data-theme="dark"] body.app-shell .preassembly-full-console,
html[data-theme="dark"] body.app-shell .preassembly-production-form-card,
html[data-theme="dark"] body.app-shell .preassembly-bom-inline-card,
html[data-theme="dark"] body.app-shell .preassembly-history-card,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card{
  background:linear-gradient(135deg,rgba(15,23,42,.98),rgba(30,41,59,.94));
  border-color:rgba(148,163,184,.18);
}
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card > .modal-head,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-form > .modal-footer,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-form > .preassembly-modal-footer{
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(15,23,42,1));
  border-color:rgba(148,163,184,.22);
}
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-form > .modal-body{
  background:linear-gradient(180deg,rgba(15,23,42,.76),rgba(15,23,42,.98));
}
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card .input,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card select,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card textarea,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-form .preassembly-footer-cancel,
html[data-theme="dark"] body.app-shell .tc240-preassembly-modal-card .modal-close{
  background:#1e293b;
  border-color:rgba(148,163,184,.28);
  color:#f8fafc;
}
@media (max-width: 980px){
  body.app-shell .preassembly-live-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.app-shell .preassembly-form-grid,
  body.app-shell .preassembly-modal-grid,
  body.app-shell .preassembly-modal-grid.grid.three,
  body.app-shell .grid.three.preassembly-modal-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .tc240-preassembly-modal-card .machine-check-row,
  body.app-shell .tc240-preassembly-modal-card .station-protocol-check-row,
  body.app-shell .tc240-preassembly-modal-card .preassembly-machine-card{
    grid-template-columns:1fr;
  }
}
@media (max-width: 700px){
  body.app-shell .preassembly-action-modal.open,
  body.app-shell .preassembly-action-modal.is-open,
  body.app-shell .preassembly-action-modal.show,
  body.app-shell .preassembly-action-modal.tc-server-open-modal{
    padding:0;
    align-items:stretch;
  }
  body.app-shell .preassembly-action-modal.open > .tc240-preassembly-modal-card,
  body.app-shell .preassembly-action-modal.is-open > .tc240-preassembly-modal-card,
  body.app-shell .preassembly-action-modal.show > .tc240-preassembly-modal-card,
  body.app-shell .preassembly-action-modal.tc-server-open-modal > .tc240-preassembly-modal-card{
    width:100vw;
    max-width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }
  body.app-shell .tc240-preassembly-modal-card > .modal-head{
    padding:14px;
  }
  body.app-shell .tc240-preassembly-modal-form > .modal-body{
    padding:14px;
  }
  body.app-shell .tc240-preassembly-modal-form > .modal-footer,
  body.app-shell .tc240-preassembly-modal-form > .preassembly-modal-footer{
    padding:12px 14px max(12px,env(safe-area-inset-bottom,12px));
    justify-content:stretch;
  }
  body.app-shell .tc240-preassembly-modal-form .preassembly-footer-submit,
  body.app-shell .tc240-preassembly-modal-form .preassembly-footer-cancel,
  body.app-shell .tc240-preassembly-modal-form > .modal-footer .btn,
  body.app-shell .tc240-preassembly-modal-form > .preassembly-modal-footer .btn{
    flex:1 1 100%;
    width:100%;
  }
  body.app-shell .preassembly-live-kpis{
    grid-template-columns:1fr;
  }
  body.app-shell .preassembly-production-form-card .row-actions .btn{
    flex:1 1 100%;
  }
}
body.app-shell .pq-toolbar-row,
body.app-shell form.pq-toolbar-row,
body.app-shell .actions.pq-toolbar-row{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  width:auto;
}
body.app-shell form.pq-toolbar-row .input,
body.app-shell form.pq-toolbar-row input[type="date"]{
  min-width:165px;
  width:auto;
  flex:0 0 auto;
}
body.app-shell .pq-toolbar-row .btn{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:40px;
}
body.app-shell .pq5s-redesign-page .pq5s-ai-connected-card,
body.app-shell .pq5s-redesign-page .pq5s-capture-card,
body.app-shell .pq5s-redesign-page .pq5s-table-card{
  width:100%;
  overflow:hidden;
}
body.app-shell .pq5s-connected-head{
  align-items:flex-start;
}
body.app-shell .pq5s-connected-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:12px;
  margin-top:14px;
  position:relative;
}
body.app-shell .pq5s-ai-step{
  position:relative;
  min-height:126px;
  border:1px solid rgba(59,130,246,.16);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,255,.82));
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 28px rgba(15,23,42,.07);
}
body.app-shell .pq5s-ai-step::after{
  content:"";
  position:absolute;
  top:50%;
  right:-13px;
  width:13px;
  height:2px;
  background:linear-gradient(90deg,rgba(59,130,246,.32),rgba(20,184,166,.42));
}
body.app-shell .pq5s-ai-step:last-child::after{display:none;}
body.app-shell .pq5s-ai-step .step-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-weight:800;
  margin-bottom:10px;
}
body.app-shell .pq5s-ai-step strong{
  display:block;
  font-size:1rem;
  margin-bottom:6px;
  color:var(--text);
}
body.app-shell .pq5s-five-blocks{
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:10px;
  margin-top:12px;
}
body.app-shell .pq5s-mini-connected{
  min-height:96px;
  margin:0;
}
body.app-shell .pq5s-form .label,
body.app-shell .pq5s-mini label{
  display:block;
  margin-bottom:6px;
  font-weight:700;
  color:var(--text);
}
body.app-shell .pq5s-table{
  width:100%;
  min-width:1120px;
}
body.app-shell .admin-access-matrix-page .access-details{
  padding:0;
  border-radius:18px;
  overflow:hidden;
}
body.app-shell .admin-access-matrix-page .access-details > summary{
  padding:14px 16px;
  min-height:52px;
  align-items:center;
  gap:10px;
}
body.app-shell .admin-access-matrix-page .access-details > :not(summary){
  margin-left:14px;
  margin-right:14px;
}
body.app-shell .admin-access-matrix-page .access-presets-panel .access-control-row,
body.app-shell .admin-access-matrix-page .preset-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:center;
  margin:14px;
}
body.app-shell .admin-access-matrix-page .preset-toolbar .check{
  min-width:220px;
  line-height:1.35;
  white-space:normal;
}
body.app-shell .admin-access-matrix-page .access-preset-grid,
body.app-shell .admin-access-matrix-page .preset-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  margin:0 14px 14px;
}
body.app-shell .admin-access-matrix-page .access-preset-card,
body.app-shell .admin-access-matrix-page .preset-card{
  min-width:0;
  border-radius:18px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
body.app-shell .admin-access-matrix-page .preset-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
body.app-shell .admin-access-matrix-page .preset-card-head strong,
body.app-shell .admin-access-matrix-page .preset-title{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.25;
}
body.app-shell .admin-access-matrix-page .preset-description{
  margin-top:0;
  overflow-wrap:anywhere;
  line-height:1.4;
}
body.app-shell .admin-access-matrix-page .preset-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:auto;
}
body.app-shell .admin-access-matrix-page .preset-meta span{
  display:inline-flex;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  padding:5px 9px;
  font-size:.78rem;
  font-weight:700;
  max-width:100%;
  overflow-wrap:anywhere;
}
body.app-shell .admin-access-matrix-page .access-section-note{
  margin:0 14px 12px;
  padding:10px 12px;
  border:1px solid rgba(59,130,246,.14);
  border-radius:14px;
  background:rgba(239,246,255,.55);
}
body.app-shell .admin-access-matrix-page .mobile-access-module-grid,
body.app-shell .admin-access-matrix-page .access-matrix-mobile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
  margin:0 14px 14px;
}
body.app-shell .admin-access-matrix-page .mobile-module-card{
  min-width:0;
  overflow:hidden;
  padding:14px;
  border-radius:18px;
}
body.app-shell .admin-access-matrix-page .mobile-module-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
}
body.app-shell .admin-access-matrix-page .mobile-module-title-block,
body.app-shell .admin-access-matrix-page .mobile-module-card-head > div{
  min-width:0;
}
body.app-shell .admin-access-matrix-page .mobile-module-card h4{
  margin:0 0 4px;
  overflow-wrap:anywhere;
  line-height:1.25;
}
body.app-shell .admin-access-matrix-page .toggle-switch.compact{
  display:inline-grid;
  grid-template-columns:38px auto;
  align-items:center;
  gap:8px;
  width:auto;
  min-width:0;
  white-space:nowrap;
}
body.app-shell .admin-access-matrix-page .toggle-switch.compact .toggle-label{
  display:inline-block;
  white-space:nowrap;
  word-break:normal;
  writing-mode:horizontal-tb;
  letter-spacing:0;
  line-height:1.2;
}
body.app-shell .admin-access-matrix-page .mobile-module-flags{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(148,163,184,.35);
}
body.app-shell .admin-access-matrix-page .access-pages-panel .access-search-row{
  margin:14px 14px 10px;
}
body.app-shell .admin-access-matrix-page .user-page-matrix-wrap{
  margin:0 14px 14px;
  width:auto;
}
body.app-shell .admin-access-matrix-page .access-stacked-tables{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}
body.app-shell .admin-access-matrix-page .access-full-table-card{
  width:100%;
}
body.app-shell .admin-access-matrix-page .table-card .table-summary{
  padding:12px 14px;
}
body.app-shell .station-pack-card,
body.app-shell .entity-card[data-module-card],
body.app-shell .compact-card--mbin,
body.app-shell .mbin-convert-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  overflow:hidden;
}
body.app-shell .station-pack-head,
body.app-shell .entity-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
}
body.app-shell .station-pack-head strong,
body.app-shell .entity-code,
body.app-shell .compact-card--mbin .entity-code{
  overflow-wrap:anywhere;
  line-height:1.2;
}
body.app-shell .station-pack-badges,
body.app-shell .station-pack-meta,
body.app-shell .entity-meta{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:7px;
}
body.app-shell .station-pack-action-board,
body.app-shell .station-pack-action-board--phase13,
body.app-shell .row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
body.app-shell .station-pack-action-board .btn,
body.app-shell .station-pack-action-board--phase13 .btn,
body.app-shell .row-actions .btn{
  flex:1 1 112px;
  justify-content:center;
  min-width:96px;
  min-height:36px;
}
body.app-shell .station-pack-card .station-pack-corner-badges{
  position:absolute;
  top:12px;
  right:12px;
  z-index:4;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-end;
}
body.app-shell .station-pack-card .pack-type-pill{
  transform:rotate(8deg);
  transform-origin:center;
  box-shadow:0 10px 22px rgba(15,23,42,.15);
  border:1px solid rgba(255,255,255,.55);
  letter-spacing:.04em;
}
body.app-shell .station-pack-card .station-pack-head{
  padding-right:92px;
}
body.app-shell .tc235-glow-ring{
  animation:tc241GlowThenFade 20s ease-out forwards;
}
@keyframes tc241GlowThenFade{
  0%{box-shadow:0 0 0 4px rgba(14,165,233,.42),0 0 0 14px rgba(34,211,238,.20),0 24px 70px rgba(14,165,233,.28);border-color:rgba(14,165,233,.88)}
  70%{box-shadow:0 0 0 3px rgba(14,165,233,.28),0 0 0 9px rgba(34,211,238,.12),0 18px 50px rgba(14,165,233,.18);border-color:rgba(14,165,233,.60)}
  100%{box-shadow:var(--shadow-sm);border-color:var(--border)}
}
html[data-theme="dark"] body.app-shell .pq5s-ai-step,
body.dark-mode.app-shell .pq5s-ai-step{
  background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(17,24,39,.88));
  border-color:rgba(96,165,250,.22);
}
html[data-theme="dark"] body.app-shell .admin-access-matrix-page .access-section-note,
body.dark-mode.app-shell .admin-access-matrix-page .access-section-note{
  background:rgba(30,41,59,.64);
  border-color:rgba(96,165,250,.22);
}
@media(max-width:1180px){
  body.app-shell .pq5s-connected-flow,
  body.app-shell .pq5s-five-blocks{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .pq5s-ai-step::after{display:none;}
}
@media(max-width:820px){
  body.app-shell .pq-toolbar-row,
  body.app-shell form.pq-toolbar-row,
  body.app-shell .actions.pq-toolbar-row{justify-content:stretch;}
  body.app-shell .pq-toolbar-row .btn,
  body.app-shell form.pq-toolbar-row .input,
  body.app-shell form.pq-toolbar-row input[type="date"]{flex:1 1 145px;width:100%;}
  body.app-shell .pq5s-connected-flow,
  body.app-shell .pq5s-five-blocks,
  body.app-shell .admin-access-matrix-page .access-presets-panel .access-control-row,
  body.app-shell .admin-access-matrix-page .preset-toolbar{grid-template-columns:1fr;}
  body.app-shell .admin-access-matrix-page .mobile-module-card-head{grid-template-columns:1fr;}
  body.app-shell .admin-access-matrix-page .mobile-module-flags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .station-pack-card .station-pack-head{padding-right:0;padding-top:34px;}
}
@media(max-width:560px){
  body.app-shell .admin-access-matrix-page .mobile-module-flags{grid-template-columns:1fr;}
  body.app-shell .station-pack-action-board .btn,
  body.app-shell .station-pack-action-board--phase13 .btn,
  body.app-shell .row-actions .btn{flex-basis:100%;}
}
body.app-shell .modal.open > .modal-card.tc242-station-modal-card,
body.app-shell .modal.is-open > .modal-card.tc242-station-modal-card,
body.app-shell .modal.show > .modal-card.tc242-station-modal-card,
body.app-shell .modal.open > .modal-card.tc242-modal-normalized,
body.app-shell .modal.is-open > .modal-card.tc242-modal-normalized,
body.app-shell .modal.show > .modal-card.tc242-modal-normalized{
  width:min(1280px,calc(100vw - 32px));
  max-width:min(1280px,calc(100vw - 32px));
  height:min(92dvh,920px);
  max-height:min(92dvh,920px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
}
body.app-shell .modal-card.tc242-station-modal-card > .modal-header,
body.app-shell .modal-card.tc242-modal-normalized > .modal-header{
  flex:0 0 auto;
  position:relative;
  z-index:20;
  border-bottom:1px solid rgba(148,163,184,.20);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
body.app-shell .tc242-modal-form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
}
body.app-shell .tc242-stage-modal-body,
body.app-shell .modal-card.tc242-modal-normalized .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:18px 22px 20px;
}
body.app-shell .tc242-stage-modal-footer,
body.app-shell .modal-card.tc242-modal-normalized .modal-footer{
  flex:0 0 auto;
  position:relative;
  z-index:24;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
  padding:14px 22px;
  border-top:1px solid rgba(148,163,184,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.98));
  box-shadow:0 -12px 30px rgba(15,23,42,.08);
}
body.app-shell .tc242-stage-modal-footer .btn,
body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn{
  min-height:42px;
  border-radius:14px;
  padding:10px 18px;
  font-weight:800;
  white-space:nowrap;
}
body.app-shell .tc242-stage-modal-footer .btn.primary,
body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn.primary,
body.app-shell .modal-card.tc242-modal-normalized .modal-footer button[type="submit"]{
  color:#fff;
  background:linear-gradient(135deg,#06b6d4,#0891b2);
  border-color:rgba(8,145,178,.50);
  box-shadow:0 14px 30px rgba(8,145,178,.24);
}
body.app-shell .tc242-stage-modal-footer .btn:not(.primary),
body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn:not(.primary){
  color:#0f172a;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(148,163,184,.34);
}
body.app-shell .ttit-modal-card .ttit-sheet-head,
body.app-shell .tc242-station-modal-card .ttit-sheet-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px);
  gap:14px;
  align-items:start;
}
body.app-shell .ttit-modal-card .modal-grid,
body.app-shell .tc242-station-modal-card .modal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  align-items:start;
}
body.app-shell .ttit-modal-card .ttit-module-card,
body.app-shell .tc242-station-modal-card .ttit-module-card,
body.app-shell .ttit-modal-card .ttit-section-card,
body.app-shell .tc242-station-modal-card .ttit-section-card{
  min-width:0;
  overflow:visible;
  border-radius:18px;
}
body.app-shell .ttit-modal-card .ttit-busbar-grid,
body.app-shell .tc242-station-modal-card .ttit-busbar-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
body.app-shell .ttit-modal-card label,
body.app-shell .tc242-station-modal-card label,
body.app-shell .station-detail-page label,
body.app-shell .process-station-page label{
  min-width:0;
  overflow-wrap:anywhere;
}
body.app-shell .ttit-modal-card input,
body.app-shell .ttit-modal-card select,
body.app-shell .ttit-modal-card textarea,
body.app-shell .tc242-station-modal-card input,
body.app-shell .tc242-station-modal-card select,
body.app-shell .tc242-station-modal-card textarea{
  max-width:100%;
}
body.app-shell .station-detail-page .card,
body.app-shell .process-station-page .card,
body.app-shell .dispatch-home-page .card,
body.app-shell .dispatch-view-page .card,
body.app-shell .pack-card,
body.app-shell .mbin-card,
body.app-shell [data-pack-card],
body.app-shell [data-module-card]{
  min-width:0;
  overflow-wrap:anywhere;
}
body.app-shell .station-detail-page .card .actions,
body.app-shell .process-station-page .card .actions,
body.app-shell .dispatch-home-page .card .actions,
body.app-shell .dispatch-view-page .card .actions,
body.app-shell [data-pack-card] .actions,
body.app-shell [data-module-card] .actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
body.app-shell .station-detail-page .chip,
body.app-shell .process-station-page .chip,
body.app-shell .dispatch-home-page .chip,
body.app-shell .dispatch-view-page .chip,
body.app-shell [data-pack-card] .chip,
body.app-shell [data-module-card] .chip{
  max-width:100%;
  white-space:normal;
  text-align:left;
}
body.app-shell .content > .toast,
body.app-shell .content > .alert,
body.app-shell .flash-message,
body.app-shell .notice{
  margin-block:8px;
}
body.app-shell .tc234-live-toast,
body.app-shell .tc235-live-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:5000;
  max-width:min(420px,calc(100vw - 36px));
  border-radius:16px;
  padding:12px 16px;
  box-shadow:0 18px 40px rgba(15,23,42,.20);
  pointer-events:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, bottom .18s ease;
}
body.app-shell .tc234-live-toast.is-show,
body.app-shell .tc235-live-toast.is-show{
  opacity:1;
  transform:translateY(0);
}
html[data-theme="dark"] body.app-shell .modal-card.tc242-station-modal-card > .modal-header,
body.dark-mode.app-shell .modal-card.tc242-station-modal-card > .modal-header,
html[data-theme="dark"] body.app-shell .modal-card.tc242-modal-normalized > .modal-header,
body.dark-mode.app-shell .modal-card.tc242-modal-normalized > .modal-header,
html[data-theme="dark"] body.app-shell .tc242-stage-modal-footer,
body.dark-mode.app-shell .tc242-stage-modal-footer,
html[data-theme="dark"] body.app-shell .modal-card.tc242-modal-normalized .modal-footer,
body.dark-mode.app-shell .modal-card.tc242-modal-normalized .modal-footer{
  background:linear-gradient(180deg,rgba(15,23,42,.97),rgba(15,23,42,.94));
  border-color:rgba(96,165,250,.18);
}
html[data-theme="dark"] body.app-shell .tc242-stage-modal-footer .btn:not(.primary),
body.dark-mode.app-shell .tc242-stage-modal-footer .btn:not(.primary),
html[data-theme="dark"] body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn:not(.primary),
body.dark-mode.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn:not(.primary){
  color:#e5e7eb;
  background:rgba(15,23,42,.86);
  border-color:rgba(96,165,250,.22);
}
@media(max-width:900px){
  body.app-shell .modal.open > .modal-card.tc242-station-modal-card,
  body.app-shell .modal.is-open > .modal-card.tc242-station-modal-card,
  body.app-shell .modal.show > .modal-card.tc242-station-modal-card,
  body.app-shell .modal.open > .modal-card.tc242-modal-normalized,
  body.app-shell .modal.is-open > .modal-card.tc242-modal-normalized,
  body.app-shell .modal.show > .modal-card.tc242-modal-normalized{
    width:calc(100vw - 18px);
    max-width:calc(100vw - 18px);
    height:calc(100dvh - 18px);
    max-height:calc(100dvh - 18px);
    border-radius:20px;
  }
  body.app-shell .ttit-modal-card .ttit-sheet-head,
  body.app-shell .tc242-station-modal-card .ttit-sheet-head{
    grid-template-columns:1fr;
  }
  body.app-shell .tc242-stage-modal-footer .btn,
  body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn{
    flex:1 1 160px;
  }
}
@media(max-width:560px){
  body.app-shell .tc242-stage-modal-body,
  body.app-shell .modal-card.tc242-modal-normalized .modal-body{
    padding:14px;
  }
  body.app-shell .tc242-stage-modal-footer,
  body.app-shell .modal-card.tc242-modal-normalized .modal-footer{
    padding:12px 14px;
  }
  body.app-shell .tc242-stage-modal-footer .btn,
  body.app-shell .modal-card.tc242-modal-normalized .modal-footer .btn{
    flex-basis:100%;
    width:100%;
  }
}
body.app-shell .tc234-live-toast,body.app-shell .tc235-live-toast{display:none;}
body.app-shell .station-pack-grid,body.app-shell .entity-card-grid,body.app-shell .mbin-card-grid{gap:16px;}
body.app-shell .station-pack-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;}
body.app-shell .entity-card-grid.fixed-card-grid,body.app-shell .entity-card-grid.compact-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
body.app-shell .tc247-card,body.app-shell .tc247-pack-card,body.app-shell .tc247-mbin-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid rgba(186,204,219,.82);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,250,253,.96));box-shadow:0 12px 30px rgba(15,23,42,.08);padding:18px;overflow:hidden;}
body.app-shell .tc247-card::before,body.app-shell .tc247-pack-card::before,body.app-shell .tc247-mbin-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#22c7d4,#4ade80);border-radius:24px 0 0 24px;}
body.app-shell .tc247-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;}
body.app-shell .tc247-card-title{min-width:0;max-width:100%;font-size:1.35rem;line-height:1.05;font-weight:850;letter-spacing:.01em;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc247-card-sub{font-size:.82rem;line-height:1.35;color:#64748b;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc247-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 13px;border-radius:999px;border:1px solid rgba(45,212,191,.35);background:rgba(207,250,254,.72);color:#0f766e;font-size:.76rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;}
body.app-shell .tc247-pill.is-ok{background:rgba(220,252,231,.85);border-color:rgba(74,222,128,.38);color:#15803d;}
body.app-shell .tc247-pill.is-warn{background:rgba(255,247,237,.9);border-color:rgba(251,146,60,.35);color:#c2410c;}
body.app-shell .tc247-pill.is-danger{background:rgba(255,228,230,.92);border-color:rgba(251,113,133,.35);color:#be123c;}
body.app-shell .tc247-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.2);}
body.app-shell .tc247-stage{font-size:1rem;font-weight:850;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc247-visual-line{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;}
body.app-shell .tc247-pack-visual,body.app-shell .tc247-mbin-visual{height:68px;border:1px solid rgba(191,219,254,.85);border-radius:18px;background:linear-gradient(145deg,#f8fbff,#eef9ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 24px rgba(59,130,246,.12);position:relative;overflow:hidden;}
body.app-shell .tc247-pack-visual::before{content:"";position:absolute;left:14px;right:14px;top:21px;height:26px;border-radius:10px;background:repeating-linear-gradient(90deg,#d8e2ed 0 10px,#748096 11px 16px,#edf6ff 17px 23px);transform:skewY(-5deg);box-shadow:0 7px 0 #3dbbd0;}
body.app-shell .tc247-mbin-visual::before{content:"";position:absolute;left:14px;right:14px;top:20px;height:30px;border-radius:8px;background:repeating-linear-gradient(90deg,#dbeafe 0 10px,#64748b 11px 15px,#f8fafc 16px 24px);box-shadow:0 7px 0 #4ade80;}
body.app-shell .tc247-progress-strip{display:flex;align-items:center;gap:4px;overflow:hidden;padding:10px 0 4px;}
body.app-shell .tc247-step{flex:1 1 0;min-width:22px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#64748b;font-weight:800;font-size:.65rem;position:relative;}
body.app-shell .tc247-step:not(:last-child)::after{content:"";position:absolute;left:50%;right:-50%;top:25px;height:2px;background:#cbd5e1;z-index:0;}
body.app-shell .tc247-step i{width:26px;height:26px;border-radius:999px;border:2px solid #cbd5e1;background:#fff;display:grid;place-items:center;font-style:normal;color:#fff;position:relative;z-index:1;}
body.app-shell .tc247-step.is-done i{background:#35b83f;border-color:#35b83f;}
body.app-shell .tc247-step.is-done:not(:last-child)::after{background:#35b83f;}
body.app-shell .tc247-step.is-active{color:#2563eb;}
body.app-shell .tc247-step.is-active i{border-color:#2f80ed;background:#2f80ed;box-shadow:0 0 0 7px rgba(47,128,237,.14);}
body.app-shell .tc247-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(203,213,225,.72);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.82);}
body.app-shell .tc247-metrics>div{padding:12px 10px;text-align:center;border-left:1px solid rgba(203,213,225,.72);min-width:0;}
body.app-shell .tc247-metrics>div:first-child{border-left:0;}
body.app-shell .tc247-metrics span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:850;color:#64748b;}
body.app-shell .tc247-metrics strong{display:block;margin-top:6px;font-size:.9rem;font-weight:850;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc247-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
body.app-shell .tc247-chip{display:inline-flex;align-items:center;min-height:29px;padding:5px 11px;border-radius:999px;background:rgba(207,250,254,.75);border:1px solid rgba(45,212,191,.25);font-size:.72rem;font-weight:800;color:#123b4a;white-space:nowrap;}
body.app-shell .tc247-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(148,163,184,.18);}
body.app-shell .tc247-actions .btn{min-height:40px;justify-content:center;border-radius:14px;font-size:.78rem;padding:8px 10px;}
body.app-shell .tc247-actions .tc247-full{grid-column:1 / -1;}
body.app-shell .tc247-pack-card .station-pack-head,body.app-shell .tc247-pack-card .tc246-pack-visual-row,body.app-shell .tc247-pack-card .tc246-pack-flow,body.app-shell .tc247-pack-card .tc246-pack-dashboard,body.app-shell .tc247-pack-card .station-pack-badges,body.app-shell .tc247-pack-card .station-pack-meta,body.app-shell .tc247-pack-card .station-pack-action-board{display:none;}
body.app-shell .modal.open>.modal-card.tc247-modal-card,body.app-shell .modal.is-open>.modal-card.tc247-modal-card,body.app-shell .modal.show>.modal-card.tc247-modal-card,body.app-shell .modal.tc-server-open-modal>.modal-card.tc247-modal-card{width:min(1060px,calc(100vw - 36px));max-height:calc(100vh - 56px);min-height:min(520px,calc(100vh - 56px));display:flex;flex-direction:column;overflow:hidden;border-radius:26px;padding:0;}
body.app-shell .tc247-modal-head{flex:0 0 auto;padding:22px 26px 16px;border-bottom:1px solid rgba(203,213,225,.72);background:#fff;}
body.app-shell .tc247-modal-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
body.app-shell .tc247-modal-chips span{display:inline-flex;align-items:center;min-height:32px;padding:5px 14px;border-radius:999px;background:rgba(207,250,254,.72);border:1px solid rgba(45,212,191,.3);font-size:.78rem;font-weight:850;color:#0f766e;}
body.app-shell .tc247-modal-chips .is-ok{background:rgba(220,252,231,.88);border-color:rgba(74,222,128,.35);color:#15803d;}
body.app-shell .tc247-modal-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}
body.app-shell .tc247-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 26px 24px;}
body.app-shell .tc247-modal-footer{flex:0 0 auto;display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:14px 26px 18px;border-top:1px solid rgba(203,213,225,.72);background:#fff;margin:0;}
body.app-shell .tc247-modal-footer .btn{min-height:46px;border-radius:14px;padding:0 22px;justify-content:center;}
body.app-shell .tc247-modal-footer .btn.primary,body.app-shell .tc247-modal-footer button[type="submit"]{flex:1 1 320px;background:linear-gradient(135deg,#24988e,#38bdf8);color:#fff;border-color:rgba(14,165,233,.28);}
body.app-shell .tc247-machine-modal .tc247-modal-body{padding:20px 24px 24px;}
body.app-shell .tc247-check-section{position:relative;border:1px solid rgba(203,213,225,.72);border-radius:18px;background:rgba(255,255,255,.88);padding:18px;margin-bottom:14px;}
body.app-shell .tc247-section-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:1rem;}
body.app-shell .tc247-section-title span{width:30px;height:30px;border-radius:999px;background:linear-gradient(135deg,#0f9f9a,#37c7d4);color:#fff;display:grid;place-items:center;font-weight:850;}
body.app-shell .tc247-machine-card{border:1px solid rgba(203,213,225,.72);border-radius:16px;background:#fff;padding:14px;margin-bottom:12px;}
body.app-shell .tc247-protocol-card{border:1px solid rgba(203,213,225,.72);border-radius:16px;background:#fff;padding:14px;}
body.app-shell .table-wrap,body.app-shell .table-scroll,body.app-shell .responsive-table{overflow:auto;overscroll-behavior:contain;}
@media(max-width:760px){body.app-shell .station-pack-grid,body.app-shell .entity-card-grid.fixed-card-grid,body.app-shell .entity-card-grid.compact-card-grid{grid-template-columns:1fr;}body.app-shell .tc247-visual-line{grid-template-columns:1fr;}body.app-shell .tc247-metrics{grid-template-columns:1fr;}body.app-shell .tc247-metrics>div{border-left:0;border-top:1px solid rgba(203,213,225,.72);}body.app-shell .tc247-metrics>div:first-child{border-top:0;}body.app-shell .tc247-actions{grid-template-columns:1fr 1fr;}body.app-shell .modal.open>.modal-card.tc247-modal-card,body.app-shell .modal.is-open>.modal-card.tc247-modal-card,body.app-shell .modal.show>.modal-card.tc247-modal-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);min-height:calc(100vh - 16px);border-radius:20px;}body.app-shell .tc247-modal-footer{flex-wrap:wrap;}body.app-shell .tc247-modal-footer .btn{flex:1 1 100%;}}
body.app-shell .station-pack-grid#stationPackCards,
body.app-shell #stationPackCards.station-pack-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
body.app-shell #stationPackSection .queue-head,
body.app-shell #stationPackSection .queue-head--compact{
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
body.app-shell #stationPackSection .station-pack-search-wrap{
  flex:1 1 720px;
  justify-content:flex-end;
}
body.app-shell .station-pack-card.tc247-pack-card{
  min-width:0;
  width:100%;
  max-width:none;
  padding:14px 14px 16px;
  gap:10px;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(15,23,42,.065);
  background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,252,255,.95));
}
body.app-shell .station-pack-card.tc247-pack-card::before{
  width:3px;
  border-radius:22px 0 0 22px;
}
body.app-shell .tc247-pack-card .tc247-card-top{
  gap:8px;
  align-items:flex-start;
  padding-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
body.app-shell .tc247-pack-card .tc247-card-main{
  flex:1 1 auto;
  min-width:0;
}
body.app-shell .tc247-pack-card .tc247-card-title{
  display:block;
  max-width:100%;
  font-size:1.18rem;
  line-height:1.1;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc247-pack-card .tc247-card-sub{
  font-size:.73rem;
  line-height:1.25;
  max-width:100%;
  margin-top:5px;
}
body.app-shell .tc247-pack-card .tc247-pill{
  flex:0 0 auto;
  min-height:28px;
  padding:5px 10px;
  font-size:.68rem;
  border-radius:12px;
}
body.app-shell .tc247-pack-card .tc247-status-row{
  padding-top:0;
  border-top:0;
  gap:8px;
}
body.app-shell .tc247-pack-card .tc247-stage{
  font-size:.95rem;
  line-height:1.15;
  min-width:0;
}
body.app-shell .tc247-pack-card .tc247-status-row .tc247-pill{
  min-height:30px;
  max-width:116px;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc247-pack-card .tc247-visual-line,
body.app-shell .tc247-pack-card .tc247-pack-visual{
  display:none;
}
body.app-shell .tc248-progress-card{
  width:100%;
  min-width:0;
  border:1px solid rgba(203,213,225,.68);
  border-radius:16px;
  background:rgba(255,255,255,.76);
  padding:9px 8px 10px;
  overflow:hidden;
}
body.app-shell .tc247-pack-card .tc247-progress-strip,
body.app-shell .tc248-progress-strip{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(10, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  padding:0;
}
body.app-shell .tc247-pack-card .tc247-step{
  min-width:0;
  gap:4px;
  font-size:.58rem;
  line-height:1;
  overflow:visible;
}
body.app-shell .tc247-pack-card .tc247-step b{
  display:block;
  white-space:nowrap;
  font-size:.58rem;
}
body.app-shell .tc247-pack-card .tc247-step i{
  width:22px;
  height:22px;
  border-width:2px;
  font-size:.68rem;
}
body.app-shell .tc247-pack-card .tc247-step:not(:last-child)::after{
  top:22px;
  height:2px;
  left:50%;
  right:-50%;
}
body.app-shell .tc247-pack-card .tc247-step.is-active i{
  box-shadow:0 0 0 5px rgba(47,128,237,.14);
}
body.app-shell .tc247-pack-card .tc247-metrics{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  border-radius:16px;
}
body.app-shell .tc247-pack-card .tc247-metrics > div{
  padding:9px 6px;
}
body.app-shell .tc247-pack-card .tc247-metrics span{
  font-size:.58rem;
  letter-spacing:.08em;
}
body.app-shell .tc247-pack-card .tc247-metrics strong{
  margin-top:5px;
  font-size:.78rem;
}
body.app-shell .tc247-pack-card .tc247-chip-row{
  gap:6px;
}
body.app-shell .tc247-pack-card .tc247-chip{
  min-height:25px;
  padding:4px 9px;
  font-size:.64rem;
  border-radius:999px;
}
body.app-shell .tc247-pack-card .tc247-actions{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  padding-top:10px;
}
body.app-shell .tc247-pack-card .tc247-actions .btn{
  min-height:36px;
  padding:7px 8px;
  border-radius:13px;
  font-size:.69rem;
  line-height:1.05;
}
body.app-shell .tc247-pack-card .tc247-actions .tc247-full{
  grid-column:1 / -1;
}
body.app-shell .tc247-pack-card .tc247-actions .btn[data-open-modal^="lineRejectModal"]{
  background:rgba(255,241,242,.9);
  border-color:rgba(251,113,133,.42);
  color:#9f1239;
}
@media (max-width: 1500px){
  body.app-shell .station-pack-grid#stationPackCards,
  body.app-shell #stationPackCards.station-pack-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width: 1120px){
  body.app-shell .station-pack-grid#stationPackCards,
  body.app-shell #stationPackCards.station-pack-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 720px){
  body.app-shell .station-pack-grid#stationPackCards,
  body.app-shell #stationPackCards.station-pack-grid{grid-template-columns:1fr;}
  body.app-shell .tc247-pack-card .tc247-actions{grid-template-columns:repeat(2, minmax(0,1fr));}
  body.app-shell .tc247-pack-card .tc247-actions .btn.primary{grid-column:auto;}
}
body.app-shell .pack-queue-panel,
body.app-shell .queue-card,
body.app-shell .section-card,
body.app-shell .card {
  min-width: 0;
}
body.app-shell .station-pack-grid,
body.app-shell #stationPackCards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  margin-top: 12px;
}
body.app-shell .station-pack-card,
body.app-shell .tc247-pack-card {
  display: flex;
  flex-direction: column;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in srgb, var(--card, #fff) 94%, transparent);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 86%, transparent);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
}
body.app-shell .station-pack-card img,
body.app-shell .station-pack-card .pack-visual,
body.app-shell .station-pack-card .pack-art,
body.app-shell .station-pack-card .tc247-pack-visual,
body.app-shell .station-pack-card .tc247-visual-line > .tc247-pack-visual {
  display: none;
}
body.app-shell .tc247-card-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  min-width: 0;
}
body.app-shell .tc247-card-main,
body.app-shell .tc247-card-top > div:first-child {
  min-width: 0;
}
body.app-shell .tc247-card-title,
body.app-shell .station-pack-card .entity-code {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(.98rem, 1.1vw, 1.12rem);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -.015em;
}
body.app-shell .tc247-card-sub {
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .76rem;
  line-height: 1.25;
  color: var(--muted, #697888);
}
body.app-shell .tc247-pill,
body.app-shell .tc247-chip,
body.app-shell .station-pack-card .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .68rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
  background: color-mix(in srgb, var(--chip-bg, #edf6fb) 92%, transparent);
  color: var(--text, #17202a);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 80%, transparent);
}
body.app-shell .tc247-status-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
body.app-shell .tc247-stage {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted, #697888);
  font-size: .75rem;
  font-weight: 800;
}
body.app-shell .tc248-progress-card,
body.app-shell .tc247-visual-line {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface, #f8fbfd) 94%, transparent);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 70%, transparent);
  padding: 6px;
}
body.app-shell .tc247-progress-strip,
body.app-shell .tc248-progress-strip {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 3px;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
body.app-shell .tc247-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 28px;
  padding: 3px 2px;
  border-radius: 9px;
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 70%, transparent);
  background: color-mix(in srgb, var(--card, #fff) 88%, transparent);
  overflow: hidden;
}
body.app-shell .tc247-step b {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
  font-size: .54rem;
  line-height: 1;
  letter-spacing: 0;
}
body.app-shell .tc247-step i {
  display: block;
  height: 8px;
  font-style: normal;
  font-size: .55rem;
  line-height: .8;
}
body.app-shell .tc247-step.is-done,
body.app-shell .tc247-step.is-active {
  border-color: color-mix(in srgb, var(--accent, #1f7aec) 45%, var(--border, #d9e4ec));
  background: color-mix(in srgb, var(--accent, #1f7aec) 13%, var(--card, #fff));
}
body.app-shell .tc247-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
body.app-shell .tc247-metrics > div {
  min-width: 0;
  padding: 7px 8px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface, #f8fbfd) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 65%, transparent);
}
body.app-shell .tc247-metrics span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted, #697888);
}
body.app-shell .tc247-metrics strong {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .74rem;
  line-height: 1.15;
  font-weight: 900;
}
body.app-shell .tc247-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}
body.app-shell .tc247-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: auto;
  min-width: 0;
}
body.app-shell .tc247-actions .btn,
body.app-shell .station-pack-card .btn {
  min-width: 0;
  width: 100%;
  min-height: 30px;
  padding: 6px 7px;
  border-radius: 10px;
  font-size: .68rem;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .tc247-actions .tc247-full,
body.app-shell .tc247-actions .line-reject-action {
  grid-column: 1 / -1;
}
body.app-shell .entity-card-grid,
body.app-shell .mbin-card-grid,
body.app-shell .module-bin-grid,
body.app-shell .compact-card-grid,
body.app-shell #mbinQuickCards,
body.app-shell #mb2pCardGrid,
body.app-shell #stageModuleCardGrid,
body.app-shell .stage-module-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}
body.app-shell .entity-card.tc247-mbin-card,
body.app-shell .compact-card--mbin,
body.app-shell .mbin-convert-card,
body.app-shell [data-mbin-card],
body.app-shell [data-module-card] {
  display: flex;
  flex-direction: column;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in srgb, var(--card, #fff) 94%, transparent);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 86%, transparent);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
  text-decoration: none;
}
body.app-shell .tc247-mbin-visual,
body.app-shell .tc246-mbin-visual,
body.app-shell [data-mbin-card] .tc247-visual-line > div:first-child,
body.app-shell [data-module-card] .tc247-visual-line > div:first-child {
  display: none;
}
body.app-shell [data-mbin-card] .entity-code,
body.app-shell [data-module-card] .entity-code,
body.app-shell .mbin-convert-card .entity-code {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .98rem;
  line-height: 1.15;
  font-weight: 900;
}
body.app-shell .mbin-convert-card .card-lite,
body.app-shell [data-mbin-card] .card-lite,
body.app-shell [data-module-card] .card-lite {
  padding: 8px;
  border-radius: 12px;
  min-height: 0;
}
body.app-shell .mbin-convert-card .row-actions,
body.app-shell [data-mbin-card] .row-actions,
body.app-shell [data-module-card] .row-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: auto;
}
body.app-shell .modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, .58);
  z-index: 5000;
  overflow: hidden;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal.tc-server-open-modal {
  display: flex;
}
body.app-shell .modal[hidden] {
  display: none;
}
body.app-shell.modal-open {
  overflow: hidden;
}
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .calendar-modal-card,
body.app-shell .tc240-preassembly-modal-card {
  display: flex;
  flex-direction: column;
  width: min(1040px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: min(88dvh, 920px);
  min-height: 0;
  overflow: hidden;
  border-radius: 22px;
  background: var(--card, #fff);
  color: var(--text, #17202a);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 90%, transparent);
  box-shadow: 0 28px 86px rgba(15, 23, 42, .32);
}
body.app-shell .modal-card.lg,
body.app-shell .stage-modal-card--xl,
body.app-shell .ttit-modal-card {
  width: min(1120px, calc(100vw - 32px));
}
body.app-shell .modal-card.xl,
body.app-shell .station-trace-modal-card {
  width: min(1240px, calc(100vw - 32px));
}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .tc249-modal-head {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 82%, transparent);
  background: color-mix(in srgb, var(--card, #fff) 94%, var(--surface, #f8fbfd));
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-title {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 900;
}
body.app-shell .modal-close,
body.app-shell .modal-close-anchor,
body.app-shell .icon-btn[data-close-modal] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 85%, transparent);
  background: color-mix(in srgb, var(--surface, #f8fbfd) 90%, transparent);
  color: var(--text, #17202a);
  text-decoration: none;
  cursor: pointer;
}
body.app-shell .modal-card > form,
body.app-shell .tc249-modal-form,
body.app-shell .stage-modal-card > form,
body.app-shell .station-clock-modal-card > form,
body.app-shell .machine-check-modal-form {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .station-trace-body,
body.app-shell .tc240-preassembly-modal-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px 16px;
}
body.app-shell .modal-card > form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.app-shell .modal-card > form > .grid:first-of-type,
body.app-shell .modal-card > form > .form-grid:first-of-type,
body.app-shell .modal-card > form > .tc250-modal-body:first-child{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:18px 22px 22px;
  align-content:start;
}
body.app-shell .modal-card > form > .card-lite{
  margin:0 22px 14px;
}
body.app-shell .modal-footer,
body.app-shell .modal-actions,
body.app-shell .tc249-modal-footer,
body.app-shell .modal-card > .actions:last-child,
body.app-shell .modal-card > form > .actions:last-child,
body.app-shell .modal-card > form > .sticky-actions:last-child {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  border-top: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 82%, transparent);
  background: color-mix(in srgb, var(--card, #fff) 96%, var(--surface, #f8fbfd));
}
body.app-shell .modal-footer .btn,
body.app-shell .modal-actions .btn,
body.app-shell .modal-card > form > .actions:last-child .btn,
body.app-shell .modal-card > .actions:last-child .btn {
  min-height: 38px;
  color: inherit;
}
body.app-shell .modal-footer .btn.primary,
body.app-shell .modal-actions .btn.primary,
body.app-shell .modal-card > form > .actions:last-child .btn.primary {
  color: #fff;
}
body.app-shell .modal-footer .btn.danger,
body.app-shell .modal-actions .btn.danger,
body.app-shell .modal-card > form > .actions:last-child .btn.danger {
  color: #fff;
}
body.app-shell #lineRejectModal .modal-card,
body.app-shell [id^="lineRejectModal"] .modal-card {
  background: var(--card, #fff);
}
body.app-shell #lineRejectModal .btn.danger,
body.app-shell [id^="lineRejectModal"] .btn.danger {
  color: #fff;
}
body.app-shell .tc246-modal-chipbar,
body.app-shell .tc247-modal-chips,
body.app-shell .tc245-modal-chips {
  display: none;
}
body.app-shell .machine-check-sheet,
body.app-shell .station-protocol-checks,
body.app-shell .station-protocol-check-sheet {
  margin: 0 0 12px;
}
body.app-shell .machine-check-list,
body.app-shell .station-protocol-check-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.app-shell .machine-check-row,
body.app-shell .station-protocol-check-row {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(0, 1.4fr) minmax(160px, .8fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface, #f8fbfd) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--border, #d9e4ec) 70%, transparent);
}
body.app-shell .machine-param-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body.app-shell .table-wrap,
body.app-shell .table-scroll,
body.app-shell .responsive-table {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .modal-body .table-wrap,
body.app-shell .tc249-modal-body .table-wrap {
  max-height: none;
}
body.app-shell .table-wrap > table,
body.app-shell .table-wrap > .table,
body.app-shell table.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
body.app-shell .table tr.is-filtered-out,
body.app-shell .entity-card.is-filtered-out,
body.app-shell .station-pack-card.is-filtered-out {
  display: none;
}
html[data-theme="dark"] body.app-shell .station-pack-card,
html[data-theme="dark"] body.app-shell .entity-card.tc247-mbin-card,
html[data-theme="dark"] body.app-shell .compact-card--mbin,
html[data-theme="dark"] body.app-shell .mbin-convert-card,
html[data-theme="dark"] body.app-shell [data-mbin-card],
html[data-theme="dark"] body.app-shell [data-module-card],
html[data-theme="dark"] body.app-shell .modal-card {
  background: color-mix(in srgb, var(--card, #101f33) 94%, #020617);
  border-color: rgba(148, 163, 184, .22);
}
@media (max-width: 1320px) {
  body.app-shell .station-pack-grid,
  body.app-shell #stationPackCards,
  body.app-shell .entity-card-grid,
  body.app-shell .mbin-card-grid,
  body.app-shell .module-bin-grid,
  body.app-shell .compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .stage-module-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  body.app-shell .station-pack-grid,
  body.app-shell #stationPackCards,
  body.app-shell .entity-card-grid,
  body.app-shell .mbin-card-grid,
  body.app-shell .module-bin-grid,
  body.app-shell .compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .stage-module-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.app-shell .machine-check-row,
  body.app-shell .station-protocol-check-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  body.app-shell .station-pack-grid,
  body.app-shell #stationPackCards,
  body.app-shell .entity-card-grid,
  body.app-shell .mbin-card-grid,
  body.app-shell .module-bin-grid,
  body.app-shell .compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .stage-module-card-grid {
    grid-template-columns: 1fr;
  }
  body.app-shell .modal {
    align-items: flex-end;
    padding: 10px;
  }
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .calendar-modal-card,
  body.app-shell .tc240-preassembly-modal-card {
    width: 100%;
    max-width: 100%;
    max-height: 92dvh;
    border-radius: 20px 20px 12px 12px;
  }
  body.app-shell .tc247-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.app-shell .tc247-metrics {
    grid-template-columns: 1fr;
  }
}
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell .entity-card-grid.compact-card-grid,
body.app-shell #mbinQuickCards,
body.app-shell #mb2pCardGrid,
body.app-shell #stageModuleCardGrid,
body.app-shell .tc250-rework-grid{
  grid-template-columns:repeat(4,minmax(230px,1fr));
  gap:14px;
  align-items:stretch;
}
body.app-shell .entity-card.tc247-mbin-card,
body.app-shell .compact-card--mbin,
body.app-shell .mbin-convert-card,
body.app-shell [data-mbin-card],
body.app-shell [data-module-card]{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  padding:16px;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,253,.96));
  border:1px solid rgba(181,197,211,.86);
  box-shadow:0 14px 32px rgba(15,23,42,.08);
  color:#162232;
  text-align:left;
}
body.app-shell .entity-card.tc247-mbin-card::before,
body.app-shell .compact-card--mbin::before,
body.app-shell .mbin-convert-card::before,
body.app-shell [data-mbin-card]::before,
body.app-shell [data-module-card]::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#15b8c9,#36c275);
}
body.app-shell .entity-card.tc247-mbin-card .tc247-card-top,
body.app-shell .compact-card--mbin .tc247-card-top,
body.app-shell .mbin-convert-card .tc247-card-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-card-title,
body.app-shell .compact-card--mbin .tc247-card-title,
body.app-shell .mbin-convert-card .entity-code,
body.app-shell .mbin-convert-card .tc247-card-title,
body.app-shell [data-module-card] .tc247-card-title,
body.app-shell [data-mbin-card] .tc247-card-title{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:1.08rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.01em;
  color:#101b2b;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-card-sub,
body.app-shell .compact-card--mbin .tc247-card-sub,
body.app-shell .mbin-convert-card .muted.small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-mbin-visual,
body.app-shell .compact-card--mbin .tc247-mbin-visual,
body.app-shell [data-mbin-card] .tc247-mbin-visual,
body.app-shell [data-module-card] .tc247-mbin-visual{
  display:block;
  width:100%;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.46);
  background:linear-gradient(180deg,#f8fbff,#eef7fb);
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
body.app-shell .entity-card.tc247-mbin-card .tc247-mbin-visual::before,
body.app-shell .compact-card--mbin .tc247-mbin-visual::before,
body.app-shell [data-mbin-card] .tc247-mbin-visual::before,
body.app-shell [data-module-card] .tc247-mbin-visual::before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:11px;
  height:18px;
  border-radius:8px;
  background:repeating-linear-gradient(90deg,#dceaf4 0 9px,#7a8798 10px 13px,#f9fbfd 14px 21px);
  box-shadow:0 5px 0 rgba(20,184,166,.55);
}
body.app-shell .tc247-visual-line.tc250-mini-flow,
body.app-shell .entity-card.tc247-mbin-card .tc247-visual-line,
body.app-shell .compact-card--mbin .tc247-visual-line,
body.app-shell .mbin-convert-card .tc247-visual-line,
body.app-shell [data-mbin-card] .tc247-visual-line,
body.app-shell [data-module-card] .tc247-visual-line{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:9px;
  border-radius:16px;
  background:rgba(241,247,250,.92);
  border:1px solid rgba(181,197,211,.65);
  overflow:hidden;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-visual-line:has(.tc247-mbin-visual),
body.app-shell .compact-card--mbin .tc247-visual-line:has(.tc247-mbin-visual),
body.app-shell [data-mbin-card] .tc247-visual-line:has(.tc247-mbin-visual),
body.app-shell [data-module-card] .tc247-visual-line:has(.tc247-mbin-visual){
  grid-template-columns:1fr;
}
body.app-shell .tc247-progress-strip,
body.app-shell .tc248-progress-strip{
  align-items:stretch;
}
body.app-shell .tc247-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:0;
  min-height:32px;
  padding:4px 2px;
  border-radius:12px;
  border:1px solid rgba(183,198,211,.78);
  background:#fff;
  color:#657386;
  overflow:visible;
}
body.app-shell .tc247-step b{
  font-size:.58rem;
  line-height:1;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
body.app-shell .tc247-step i{
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:999px;
  font-size:.62rem;
  line-height:1;
  background:#edf2f7;
  color:#75849a;
}
body.app-shell .tc247-step.is-done{
  border-color:rgba(34,197,94,.46);
  background:linear-gradient(180deg,rgba(220,252,231,.96),rgba(240,253,244,.94));
  color:#166534;
}
body.app-shell .tc247-step.is-done i{
  background:#22a447;
  color:#fff;
}
body.app-shell .tc247-step.is-active{
  border-color:rgba(8,145,178,.54);
  background:linear-gradient(180deg,rgba(207,250,254,.98),rgba(236,254,255,.94));
  color:#155e75;
  box-shadow:0 0 0 3px rgba(6,182,212,.10);
}
body.app-shell .tc247-step.is-active i{
  background:#0891b2;
  color:#fff;
}
body.app-shell .tc247-step.has-repeat{
  border-style:solid;
  box-shadow:0 0 0 3px rgba(245,158,11,.13);
}
body.app-shell .tc250-step-repeat{
  position:absolute;
  top:-7px;
  right:-5px;
  min-width:20px;
  height:20px;
  display:grid;
  place-items:center;
  padding:0 4px;
  border-radius:999px;
  background:#f59e0b;
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  font-style:normal;
  line-height:1;
  box-shadow:0 8px 16px rgba(245,158,11,.24);
}
body.app-shell .entity-card.tc247-mbin-card .tc247-metrics,
body.app-shell .compact-card--mbin .tc247-metrics,
body.app-shell .mbin-convert-card .tc247-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-metrics>div,
body.app-shell .compact-card--mbin .tc247-metrics>div,
body.app-shell .mbin-convert-card .tc247-metrics>div{
  padding:9px 8px;
  border-radius:14px;
  background:#f8fbfd;
  border:1px solid rgba(181,197,211,.62);
  min-width:0;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-chip-row,
body.app-shell .compact-card--mbin .tc247-chip-row,
body.app-shell .mbin-convert-card .tc247-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-chip,
body.app-shell .compact-card--mbin .tc247-chip,
body.app-shell .mbin-convert-card .tc247-chip{
  min-height:27px;
  padding:5px 10px;
  border-radius:999px;
  background:#e9f7fb;
  border:1px solid rgba(34,184,207,.22);
  color:#164e63;
  font-size:.68rem;
  font-weight:850;
}
body.app-shell .tc250-rework-mb2p-card{
  border-color:rgba(245,158,11,.45);
  background:linear-gradient(145deg,rgba(255,251,235,.98),rgba(255,255,255,.96));
}
body.app-shell .tc250-rework-mb2p-card::before{
  background:linear-gradient(180deg,#f59e0b,#06b6d4);
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal.tc-server-open-modal > .modal-card,
body.app-shell .modal.open > .calendar-modal-card,
body.app-shell .modal.is-open > .calendar-modal-card,
body.app-shell .modal.show > .calendar-modal-card,
body.app-shell .modal.open > .tc240-preassembly-modal-card,
body.app-shell .modal.is-open > .tc240-preassembly-modal-card,
body.app-shell .modal.show > .tc240-preassembly-modal-card{
  width:min(1120px,calc(100vw - 34px));
  max-width:calc(100vw - 34px);
  height:min(90dvh,860px);
  max-height:min(90dvh,860px);
  min-height:min(460px,90dvh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  padding:0;
  background:#ffffff;
  color:#142033;
  border:1px solid rgba(181,197,211,.82);
  box-shadow:0 30px 90px rgba(15,23,42,.34);
}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .tc249-modal-head,
body.app-shell .tc247-modal-head,
body.app-shell .tc240-preassembly-modal-card > .modal-head{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
  padding:18px 22px 15px;
  border-bottom:1px solid rgba(181,197,211,.72);
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .tc247-modal-body,
body.app-shell .tc242-stage-modal-body,
body.app-shell .tc240-preassembly-modal-form{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:18px 22px 22px;
  background:#ffffff;
}
body.app-shell .modal-footer,
body.app-shell .modal-actions,
body.app-shell .tc249-modal-footer,
body.app-shell .tc247-modal-footer,
body.app-shell .tc242-stage-modal-footer,
body.app-shell .modal-card > form > .actions:last-child,
body.app-shell .modal-card > form > .sticky-actions:last-child,
body.app-shell .modal-card > .actions:last-child{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
  padding:14px 22px 16px;
  border-top:1px solid rgba(181,197,211,.72);
  background:linear-gradient(180deg,#f8fbfd,#ffffff);
  box-shadow:0 -10px 24px rgba(15,23,42,.06);
}
body.app-shell .modal-footer .btn,
body.app-shell .modal-actions .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .tc247-modal-footer .btn,
body.app-shell .modal-card > form > .actions:last-child .btn,
body.app-shell .modal-card > .actions:last-child .btn{
  min-height:42px;
  border-radius:14px;
  padding:9px 18px;
  font-weight:850;
  justify-content:center;
}
body.app-shell .modal-footer .btn.primary,
body.app-shell .modal-actions .btn.primary,
body.app-shell .tc249-modal-footer .btn.primary,
body.app-shell .tc247-modal-footer .btn.primary,
body.app-shell .modal-card > form > .actions:last-child .btn.primary,
body.app-shell .modal-card > form > .actions:last-child button[type="submit"]{
  color:#fff;
  background:linear-gradient(135deg,#0891b2,#0f766e);
  border-color:rgba(8,145,178,.55);
  box-shadow:0 14px 28px rgba(8,145,178,.20);
}
body.app-shell .modal-footer .btn.danger,
body.app-shell .modal-actions .btn.danger,
body.app-shell .modal-card > form > .actions:last-child .btn.danger{
  color:#fff;
  background:linear-gradient(135deg,#dc2626,#b91c1c);
  border-color:rgba(220,38,38,.50);
}
body.app-shell .modal-close,
body.app-shell .icon-btn[data-close-modal],
body.app-shell button[data-close-modal]{
  color:#142033;
}
html[data-theme="dark"] body.app-shell .entity-card.tc247-mbin-card,
html[data-theme="dark"] body.app-shell .compact-card--mbin,
html[data-theme="dark"] body.app-shell .mbin-convert-card,
html[data-theme="dark"] body.app-shell [data-mbin-card],
html[data-theme="dark"] body.app-shell [data-module-card],
body.dark-mode.app-shell .entity-card.tc247-mbin-card,
body.dark-mode.app-shell .compact-card--mbin,
body.dark-mode.app-shell .mbin-convert-card,
body.dark-mode.app-shell [data-mbin-card],
body.dark-mode.app-shell [data-module-card]{
  background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(20,33,51,.96));
  border-color:rgba(148,163,184,.26);
  color:#e5edf5;
}
html[data-theme="dark"] body.app-shell .entity-card.tc247-mbin-card .tc247-card-title,
html[data-theme="dark"] body.app-shell .compact-card--mbin .tc247-card-title,
html[data-theme="dark"] body.app-shell .mbin-convert-card .entity-code,
html[data-theme="dark"] body.app-shell .mbin-convert-card .tc247-card-title,
body.dark-mode.app-shell .entity-card.tc247-mbin-card .tc247-card-title,
body.dark-mode.app-shell .compact-card--mbin .tc247-card-title,
body.dark-mode.app-shell .mbin-convert-card .entity-code,
body.dark-mode.app-shell .mbin-convert-card .tc247-card-title{
  color:#f8fafc;
}
html[data-theme="dark"] body.app-shell .modal.open > .modal-card,
html[data-theme="dark"] body.app-shell .modal.is-open > .modal-card,
html[data-theme="dark"] body.app-shell .modal.show > .modal-card,
body.dark-mode.app-shell .modal.open > .modal-card,
body.dark-mode.app-shell .modal.is-open > .modal-card,
body.dark-mode.app-shell .modal.show > .modal-card{
  background:#0f172a;
  color:#e5edf5;
  border-color:rgba(148,163,184,.28);
}
html[data-theme="dark"] body.app-shell .modal-head,
html[data-theme="dark"] body.app-shell .modal-header,
html[data-theme="dark"] body.app-shell .tc249-modal-head,
body.dark-mode.app-shell .modal-head,
body.dark-mode.app-shell .modal-header,
body.dark-mode.app-shell .tc249-modal-head{
  background:linear-gradient(180deg,#111d31,#0f172a);
  border-color:rgba(148,163,184,.22);
}
html[data-theme="dark"] body.app-shell .modal-body,
html[data-theme="dark"] body.app-shell .tc249-modal-body,
body.dark-mode.app-shell .modal-body,
body.dark-mode.app-shell .tc249-modal-body{
  background:#0f172a;
}
html[data-theme="dark"] body.app-shell .modal-footer,
html[data-theme="dark"] body.app-shell .tc249-modal-footer,
body.dark-mode.app-shell .modal-footer,
body.dark-mode.app-shell .tc249-modal-footer{
  background:linear-gradient(180deg,#111d31,#0f172a);
  border-color:rgba(148,163,184,.22);
}
@media(max-width:1320px){
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell .entity-card-grid.compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .tc250-rework-grid{grid-template-columns:repeat(3,minmax(220px,1fr));}
}
@media(max-width:980px){
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell .entity-card-grid.compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .tc250-rework-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell .entity-card-grid.compact-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mb2pCardGrid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell .tc250-rework-grid{grid-template-columns:1fr;}
  body.app-shell .modal.open > .modal-card,
  body.app-shell .modal.is-open > .modal-card,
  body.app-shell .modal.show > .modal-card{width:100%;max-width:100%;height:92dvh;max-height:92dvh;border-radius:20px 20px 12px 12px;}
  body.app-shell .modal-footer .btn,
  body.app-shell .modal-actions .btn,
  body.app-shell .modal-card > form > .actions:last-child .btn{flex:1 1 100%;}
}
:root{
  --tc251-card-bg:rgba(255,255,255,.96);
  --tc251-card-border:rgba(148,163,184,.28);
  --tc251-card-shadow:0 22px 60px rgba(15,23,42,.10);
  --tc251-card-soft:0 12px 30px rgba(15,23,42,.07);
  --tc251-blue:#2378f4;
  --tc251-cyan:#12b8c8;
  --tc251-green:#22b83f;
  --tc251-text:#111827;
  --tc251-muted:#64748b;
  --tc251-line:#dbe5ef;
}
.station-pack-grid,
.entity-card-grid.mbin-card-grid,
#stageModuleCardGrid.tc251-mbin-operational-grid,
.tc251-mbin-operational-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(255px,1fr));
  gap:16px;
  align-items:stretch;
}
@media (max-width:1500px){
  .station-pack-grid,
  .entity-card-grid.mbin-card-grid,
  #stageModuleCardGrid.tc251-mbin-operational-grid,
  .tc251-mbin-operational-grid{grid-template-columns:repeat(3,minmax(250px,1fr));}
}
@media (max-width:1120px){
  .station-pack-grid,
  .entity-card-grid.mbin-card-grid,
  #stageModuleCardGrid.tc251-mbin-operational-grid,
  .tc251-mbin-operational-grid{grid-template-columns:repeat(2,minmax(240px,1fr));}
}
@media (max-width:680px){
  .station-pack-grid,
  .entity-card-grid.mbin-card-grid,
  #stageModuleCardGrid.tc251-mbin-operational-grid,
  .tc251-mbin-operational-grid{grid-template-columns:1fr;}
}
.station-pack-card.tc247-pack-card,
.entity-card.tc247-mbin-card,
.entity-card.mbin-convert-card.tc247-mbin-card,
button.entity-card.tc246-mbin-op-card{
  position:relative;
  min-height:0;
  border:1px solid var(--tc251-card-border);
  border-radius:26px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(249,253,255,.94)),
    var(--tc251-card-bg);
  box-shadow:var(--tc251-card-soft);
  padding:18px;
  overflow:hidden;
  color:var(--tc251-text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.station-pack-card.tc247-pack-card:hover,
.entity-card.tc247-mbin-card:hover,
button.entity-card.tc246-mbin-op-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--tc251-card-shadow);
  border-color:rgba(18,184,200,.34);
}
.station-pack-card.tc247-pack-card::before,
.entity-card.tc247-mbin-card::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,var(--tc251-cyan),rgba(18,184,200,.28));
}
.entity-card.tc247-mbin-card::before{background:linear-gradient(180deg,var(--tc251-green),rgba(34,184,63,.28));}
.station-pack-card.is-rework::before,
.entity-card.tc247-mbin-card .tc247-pill.is-warn::before{background:#f59e0b;}
.station-pack-card.tc247-pack-card::after{
  content:"";
  position:absolute;
  right:15px;
  top:16px;
  width:84px;
  height:54px;
  background:url("../img/tasm360_battery_pack_placeholder.png") center/contain no-repeat;
  opacity:.82;
  filter:drop-shadow(0 10px 16px rgba(15,23,42,.14));
  pointer-events:none;
}
.station-pack-card .tc247-card-top,
.entity-card.tc247-mbin-card .tc247-card-top,
.entity-card.tc247-mbin-card .entity-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding-right:82px;
}
.entity-card.tc247-mbin-card .tc247-card-top,
.entity-card.tc247-mbin-card .entity-card-head{padding-right:8px;}
.tc247-card-title,
.entity-card.tc247-mbin-card .entity-code,
.tc244-entity-code{
  font-size:clamp(18px,1.15vw,24px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:850;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.tc247-card-sub,
.entity-card.tc247-mbin-card .muted.small{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:#667085;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tc247-pill,
.entity-card.tc247-mbin-card .pill{
  border:1px solid rgba(18,184,200,.26);
  background:linear-gradient(180deg,rgba(231,250,252,.98),rgba(200,244,248,.8));
  color:#057c89;
  border-radius:12px;
  min-height:30px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:800;
  font-size:12px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.tc247-pill.is-ok,
.entity-card.tc247-mbin-card .pill.ok{
  border-color:rgba(34,184,63,.22);
  background:linear-gradient(180deg,rgba(235,253,238,.98),rgba(211,247,218,.86));
  color:#13952c;
}
.tc247-pill.is-warn,
.entity-card.tc247-mbin-card .pill.warn{
  border-color:rgba(245,158,11,.24);
  background:linear-gradient(180deg,rgba(255,248,232,.98),rgba(254,237,179,.86));
  color:#a56300;
}
.tc247-pill.is-danger,
.entity-card.tc247-mbin-card .pill.danger{
  border-color:rgba(239,68,68,.24);
  background:linear-gradient(180deg,rgba(255,241,242,.98),rgba(254,226,226,.88));
  color:#ba1f1f;
}
.tc247-status-row{
  margin-top:16px;
  border-top:1px solid var(--tc251-line);
  border-bottom:1px solid var(--tc251-line);
  padding:13px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.tc247-stage{
  color:var(--tc251-blue);
  font-weight:850;
  line-height:1.2;
  font-size:15px;
  max-width:72%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tc248-progress-card,
.tc247-visual-line,
.tc250-mini-flow{
  margin-top:14px;
  border:1px solid rgba(203,213,225,.74);
  border-radius:18px;
  padding:14px 10px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,251,255,.72));
  overflow:hidden;
}
.tc247-progress-strip,
.tc248-progress-strip{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:4px;
  overflow:visible;
  white-space:normal;
}
.tc247-step{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#64748b;
  text-align:center;
  font-size:10px;
  font-weight:780;
  letter-spacing:.01em;
}
.tc247-step::before{
  content:"";
  position:absolute;
  left:-50%;
  right:50%;
  top:22px;
  height:3px;
  background:#d5dce5;
  z-index:0;
}
.tc247-step:first-child::before{display:none;}
.tc247-step.is-done::before,
.tc247-step.is-active::before{background:linear-gradient(90deg,var(--tc251-green),rgba(34,184,63,.65));}
.tc247-step b{
  display:block;
  color:inherit;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.tc247-step i{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  border:2px solid #cbd5e1;
  background:#fff;
  color:transparent;
  font-style:normal;
  font-weight:900;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.tc247-step.is-done{color:#22a53b;}
.tc247-step.is-done i{background:linear-gradient(180deg,#37c552,#20a83a);border-color:#20a83a;color:#fff;}
.tc247-step.is-active{color:var(--tc251-blue);}
.tc247-step.is-active i{border-color:var(--tc251-blue);background:radial-gradient(circle at center,var(--tc251-blue) 0 43%,#fff 46% 100%);color:transparent;box-shadow:0 0 0 4px rgba(35,120,244,.14);}
.tc247-step.has-repeat i{box-shadow:0 0 0 4px rgba(245,158,11,.16),0 2px 8px rgba(15,23,42,.08);}
.tc250-step-repeat{
  position:absolute;
  top:-5px;
  right:calc(50% - 24px);
  min-width:20px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:10px;
  line-height:18px;
  font-style:normal;
  font-weight:900;
  z-index:2;
}
.tc247-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--tc251-line);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  margin-top:14px;
  overflow:hidden;
}
.tc247-metrics>div{
  min-width:0;
  padding:12px 10px;
  text-align:center;
  border-left:1px solid var(--tc251-line);
}
.tc247-metrics>div:first-child{border-left:0;}
.tc247-metrics span{display:block;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;}
.tc247-metrics strong{display:block;margin-top:6px;color:#111827;font-size:14px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tc247-chip-row,
.entity-meta.tc244-chip-row{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.tc247-chip,
.entity-meta.tc244-chip-row .pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:#f2f6fb;
  border:1px solid #dce6f0;
  color:#51606f;
  font-size:11px;
  font-weight:760;
  max-width:100%;
}
.tc247-actions,
.row-actions{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.tc247-actions .btn,
.row-actions .btn{
  min-height:34px;
  padding:7px 10px;
  font-size:12px;
  border-radius:12px;
  white-space:nowrap;
  justify-content:center;
}
.tc247-actions .tc247-full{grid-column:1 / -1;}
.entity-card.tc247-mbin-card .tc247-mbin-visual{
  width:72px;
  height:42px;
  border-radius:12px;
  background:
    linear-gradient(90deg,rgba(15,23,42,.12) 1px,transparent 1px) 0 0/14px 100%,
    linear-gradient(180deg,rgba(15,23,42,.10) 1px,transparent 1px) 0 0/100% 14px,
    linear-gradient(135deg,#e7f9ee,#d6f3e0);
  border:1px solid rgba(34,184,63,.26);
  box-shadow:0 10px 20px rgba(15,23,42,.10);
  flex:0 0 auto;
}
.entity-card.tc247-mbin-card .tc247-visual-line{
  display:flex;
  align-items:center;
  gap:12px;
}
.entity-card.tc247-mbin-card .tc247-visual-line .tc247-progress-strip{flex:1;}
.entity-card.tc247-mbin-card .card-lite{
  margin-top:12px;
  border-radius:16px;
  background:rgba(248,251,255,.78);
  border:1px solid var(--tc251-line);
  padding:11px 12px;
}
@media (max-width:520px){
  .station-pack-card.tc247-pack-card::after{width:64px;height:42px;opacity:.54;}
  .station-pack-card .tc247-card-top{padding-right:54px;}
  .tc247-metrics{grid-template-columns:1fr;}
  .tc247-metrics>div{border-left:0;border-top:1px solid var(--tc251-line);}
  .tc247-metrics>div:first-child{border-top:0;}
  .tc247-actions,.row-actions{grid-template-columns:1fr 1fr;}
}
body.modal-open{overflow:hidden;}
.modal.open,.modal.is-open,.modal.show{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.46);
  backdrop-filter:blur(10px);
}
.modal-card,
.tc249-modal-card,
.stage-modal-card,
.calendar-modal-card{
  width:min(1080px,calc(100vw - 32px));
  max-height:min(88vh,920px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(203,213,225,.82);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(249,252,255,.98));
  box-shadow:0 32px 88px rgba(15,23,42,.22);
  color:#111827;
}
.modal-card.xl,.modal-card.lg,.station-trace-modal-card{width:min(1180px,calc(100vw - 32px));}
.modal-head,
.modal-header,
.tc249-modal-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 26px 16px;
  border-bottom:1px solid rgba(203,213,225,.72);
  background:rgba(255,255,255,.96);
}
.modal-head .card-title,
.modal-header .card-title{
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:850;
  color:#0f172a;
}
.modal-close,
.icon-btn[data-close-modal],
.modal-close-anchor{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(203,213,225,.9);
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  font-size:23px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 7px 16px rgba(15,23,42,.06);
}
.modal-body,
.tc249-modal-body,
.station-trace-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:20px 24px;
  scrollbar-gutter:stable;
}
.tc249-modal-form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;}
.modal-footer,
.tc249-modal-footer,
.modal-actions,
.sticky-actions,
.preassembly-modal-footer,
.modal-card>.actions,
.tc249-modal-form>.actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  padding:18px 24px 20px;
  margin-top:0;
  border-top:1px solid rgba(203,213,225,.72);
  background:rgba(255,255,255,.98);
}
.modal-footer .btn,
.tc249-modal-footer .btn,
.modal-card>.actions .btn,
.tc249-modal-form>.actions .btn{
  min-height:44px;
  min-width:150px;
  border-radius:14px;
  font-weight:780;
}
.modal-footer .btn.primary,
.tc249-modal-footer .btn.primary,
.modal-card>.actions .btn.primary,
.tc249-modal-form>.actions .btn.primary,
.btn.primary{
  background:linear-gradient(180deg,#20bac4,#1099a9);
  color:#fff;
  border-color:#1099a9;
  box-shadow:0 12px 24px rgba(16,153,169,.22);
}
.modal-footer .btn.danger,
.tc249-modal-footer .btn.danger,
.modal-card>.actions .btn.danger,
.tc249-modal-form>.actions .btn.danger,
.btn.danger{
  background:linear-gradient(180deg,#ff6473,#e03448);
  color:#fff;
  border-color:#e03448;
  box-shadow:0 12px 24px rgba(224,52,72,.18);
}
.machine-check-modal-form .machine-check-list,
.machine-check-sheet,
.machine-param-stack{
  display:grid;
  gap:14px;
}
.machine-check-list{grid-template-columns:repeat(2,minmax(260px,1fr));}
.machine-check-row,
.machine-param-row{
  border:1px solid rgba(203,213,225,.78);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  padding:14px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
@media (max-width:760px){
  .modal.open,.modal.is-open,.modal.show{padding:10px;align-items:stretch;}
  .modal-card,.tc249-modal-card,.stage-modal-card,.calendar-modal-card{width:100%;max-height:calc(100vh - 20px);border-radius:20px;}
  .modal-head,.modal-header,.tc249-modal-head{padding:16px 16px 12px;}
  .modal-body,.tc249-modal-body,.station-trace-body{padding:16px;}
  .modal-footer,.tc249-modal-footer,.modal-actions,.sticky-actions,.preassembly-modal-footer,.modal-card>.actions,.tc249-modal-form>.actions{padding:14px 16px;flex-wrap:wrap;}
  .modal-footer .btn,.tc249-modal-footer .btn,.modal-card>.actions .btn,.tc249-modal-form>.actions .btn{flex:1 1 140px;min-width:0;}
  .machine-check-list{grid-template-columns:1fr;}
}
.tc251-live-toast-stack{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2147482200;
  display:grid;
  gap:10px;
  width:min(380px,calc(100vw - 32px));
  pointer-events:none;
}
.tc251-live-toast{
  transform:translateY(12px);
  opacity:0;
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(203,213,225,.8);
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 50px rgba(15,23,42,.16);
  color:#0f172a;
  transition:opacity .2s ease, transform .2s ease;
}
.tc251-live-toast.is-visible{transform:translateY(0);opacity:1;}
.tc251-live-toast strong{font-size:14px;font-weight:850;}
.tc251-live-toast span{font-size:13px;color:#475569;}
.tc251-live-toast.is-ok{border-color:rgba(34,184,63,.32);}
.tc251-live-toast.is-ok strong{color:#15932d;}
.final-pack-passport{display:grid;gap:18px;color:#0f172a;}
.fpp-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.fpp-title h2{margin:0;font-size:30px;letter-spacing:-.04em;display:flex;align-items:center;gap:10px;}
.fpp-breadcrumb{margin-top:6px;color:#64748b;font-size:13px;}
.fpp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.fpp-search{min-width:260px;max-width:360px;}
.fpp-hero{display:grid;grid-template-columns:280px minmax(260px,1fr) minmax(280px,.9fr);gap:22px;align-items:center;border:1px solid rgba(203,213,225,.72);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,250,255,.94));box-shadow:0 24px 70px rgba(15,23,42,.09);padding:24px;overflow:hidden;position:relative;}
.fpp-product{min-height:190px;border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(18,184,200,.14),transparent 48%),linear-gradient(180deg,#fff,#eff7ff);display:flex;align-items:center;justify-content:center;border:1px solid rgba(203,213,225,.62);}
.fpp-product img{max-width:92%;max-height:170px;filter:drop-shadow(0 18px 24px rgba(15,23,42,.16));}
.fpp-identity h1{margin:0;font-size:34px;line-height:1;letter-spacing:-.045em;}
.fpp-copy{font-size:13px;border:1px solid rgba(203,213,225,.8);border-radius:10px;padding:3px 7px;color:#64748b;margin-left:8px;}
.fpp-submeta{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;}
.fpp-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fpp-field{padding:10px 12px;border:1px solid rgba(203,213,225,.7);border-radius:16px;background:rgba(255,255,255,.78);}
.fpp-field span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800;}
.fpp-field strong{display:block;margin-top:5px;font-size:14px;color:#111827;line-height:1.2;}
.fpp-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;}
.fpp-kpi{border:1px solid rgba(203,213,225,.7);border-radius:22px;background:#fff;padding:17px;box-shadow:0 12px 30px rgba(15,23,42,.05);}
.fpp-kpi .icon{width:38px;height:38px;border-radius:14px;background:rgba(18,184,200,.12);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.fpp-kpi span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;}
.fpp-kpi strong{display:block;margin-top:5px;font-size:20px;letter-spacing:-.02em;}
.fpp-grid-3{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px;align-items:stretch;}
.fpp-card{border:1px solid rgba(203,213,225,.72);border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.06);padding:20px;overflow:hidden;}
.fpp-card h3{margin:0 0 14px;font-size:19px;letter-spacing:-.025em;}
.fpp-detail-list{display:grid;gap:9px;}
.fpp-detail-row{display:grid;grid-template-columns:minmax(120px,.72fr) 1fr;gap:12px;border-bottom:1px solid rgba(226,232,240,.75);padding-bottom:8px;}
.fpp-detail-row span{color:#64748b;font-size:13px;}
.fpp-detail-row strong{color:#111827;font-size:13px;text-align:right;overflow-wrap:anywhere;}
.fpp-quality-ring{width:128px;height:128px;border-radius:50%;margin:6px auto 14px;display:grid;place-items:center;background:conic-gradient(#22b83f 0 100%,#e2e8f0 0);box-shadow:inset 0 0 0 12px #fff,0 12px 24px rgba(34,184,63,.14);border:1px solid rgba(34,184,63,.22);}
.fpp-quality-ring strong{font-size:28px;}
.fpp-quality-list{display:grid;gap:8px;margin-top:12px;}
.fpp-quality-list div{display:flex;justify-content:space-between;border:1px solid rgba(226,232,240,.78);border-radius:14px;padding:9px 10px;}
.fpp-price{border-radius:18px;background:linear-gradient(135deg,rgba(18,184,200,.10),rgba(35,120,244,.08));padding:15px;border:1px solid rgba(18,184,200,.22);margin-top:12px;}
.fpp-price span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;font-weight:800;}
.fpp-price strong{display:block;margin-top:4px;font-size:26px;letter-spacing:-.03em;color:#0f766e;}
.fpp-timeline{display:grid;grid-template-columns:repeat(10,minmax(88px,1fr));gap:8px;overflow:auto;padding-bottom:4px;}
.fpp-node{position:relative;min-width:88px;border:1px solid rgba(203,213,225,.75);border-radius:16px;padding:12px;background:#f8fafc;}
.fpp-node.done{background:linear-gradient(180deg,#f2fff5,#fff);border-color:rgba(34,184,63,.28);}
.fpp-node .dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #cbd5e1;color:#fff;margin-bottom:8px;}
.fpp-node.done .dot{background:#22b83f;border-color:#22b83f;}
.fpp-node strong{display:block;font-size:12px;line-height:1.2;}
.fpp-node span{display:block;margin-top:5px;font-size:11px;color:#64748b;line-height:1.2;}
.fpp-table{width:100%;border-collapse:separate;border-spacing:0 8px;}
.fpp-table th{text-align:left;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:0 10px 6px;}
.fpp-table td{background:#f8fafc;border-top:1px solid rgba(226,232,240,.9);border-bottom:1px solid rgba(226,232,240,.9);padding:12px 10px;font-size:13px;}
.fpp-table td:first-child{border-left:1px solid rgba(226,232,240,.9);border-radius:14px 0 0 14px;font-weight:800;}
.fpp-table td:last-child{border-right:1px solid rgba(226,232,240,.9);border-radius:0 14px 14px 0;}
.fpp-docs{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;}
.fpp-doc{border:1px dashed rgba(148,163,184,.7);border-radius:18px;background:#f8fafc;padding:16px;display:grid;gap:8px;}
.fpp-doc .file-icon{width:42px;height:42px;border-radius:14px;background:#e9f7ff;display:grid;place-items:center;font-weight:900;color:#2378f4;}
@media (max-width:1280px){.fpp-hero{grid-template-columns:220px 1fr}.fpp-meta{grid-column:1 / -1}.fpp-kpis{grid-template-columns:repeat(3,1fr)}.fpp-grid-3{grid-template-columns:1fr}.fpp-docs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.fpp-hero{grid-template-columns:1fr;padding:18px}.fpp-kpis{grid-template-columns:1fr}.fpp-field-grid{grid-template-columns:1fr}.fpp-detail-row{grid-template-columns:1fr}.fpp-detail-row strong{text-align:left}.fpp-docs{grid-template-columns:1fr}.fpp-title h2{font-size:24px}}
:root{
  --tc252-text:#111827;
  --tc252-muted:#5f6b7a;
  --tc252-border:#d6e2ee;
  --tc252-soft:#f6fbff;
  --tc252-green:#27b43e;
  --tc252-cyan:#16b9c7;
  --tc252-blue:#2685f3;
  --tc252-shadow:0 18px 46px rgba(15,23,42,.10);
  --tc252-shadow-hover:0 28px 70px rgba(15,23,42,.14);
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
body.app-shell .tc251-mbin-operational-grid{
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:20px;
  align-items:stretch;
}
body.app-shell .station-pack-card.tc247-pack-card,
body.app-shell .entity-card.tc247-mbin-card,
body.app-shell .entity-card.mbin-convert-card.tc247-mbin-card,
body.app-shell button.entity-card.tc246-mbin-op-card{
  border-radius:26px;
  border:1px solid rgba(155,178,200,.62);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(248,252,255,.96));
  box-shadow:var(--tc252-shadow);
  padding:24px;
  color:var(--tc252-text);
}
body.app-shell .station-pack-card.tc247-pack-card:hover,
body.app-shell .entity-card.tc247-mbin-card:hover,
body.app-shell button.entity-card.tc246-mbin-op-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--tc252-shadow-hover);
  border-color:rgba(22,185,199,.48);
}
body.app-shell .station-pack-card.tc247-pack-card::before,
body.app-shell .entity-card.tc247-mbin-card::before{
  top:18px;
  bottom:18px;
  width:6px;
  border-radius:0 999px 999px 0;
}
body.app-shell .station-pack-card.tc247-pack-card::after{
  right:24px;
  top:24px;
  width:128px;
  height:82px;
  opacity:.92;
}
body.app-shell .entity-card.tc247-mbin-card::after{
  content:"";
  position:absolute;
  right:24px;
  top:24px;
  width:126px;
  height:72px;
  border-radius:16px;
  background:
    linear-gradient(90deg,rgba(15,23,42,.20) 1px,transparent 1px) 0 0/18px 100%,
    linear-gradient(180deg,rgba(15,23,42,.18) 1px,transparent 1px) 0 0/100% 18px,
    radial-gradient(circle at 28% 32%,rgba(255,255,255,.85),transparent 18%),
    linear-gradient(135deg,#dff5e6,#bde8ca 50%,#eaf8ee);
  border:1px solid rgba(39,180,62,.30);
  box-shadow:0 18px 28px rgba(15,23,42,.12);
  transform:perspective(260px) rotateX(9deg) rotateZ(-1deg);
  pointer-events:none;
}
body.app-shell .entity-card.tc250-rework-mb2p-card::after,
body.app-shell .entity-card.mbin-convert-card.tc247-mbin-card::after{
  width:108px;
  height:62px;
  opacity:.72;
}
body.app-shell .station-pack-card .tc247-card-top,
body.app-shell .entity-card.tc247-mbin-card .tc247-card-top,
body.app-shell .entity-card.tc247-mbin-card .entity-card-head{
  min-height:106px;
  padding-right:148px;
  align-items:flex-start;
}
body.app-shell .entity-card.mbin-convert-card.tc247-mbin-card .entity-card-head,
body.app-shell .entity-card.tc250-rework-mb2p-card .tc247-card-top{
  padding-right:126px;
}
body.app-shell .station-pack-card .tc247-card-title,
body.app-shell .entity-card.tc247-mbin-card .tc247-card-title,
body.app-shell .entity-card.tc247-mbin-card .entity-code,
body.app-shell .entity-card.tc247-mbin-card .tc244-entity-code{
  font-size:clamp(24px,1.45vw,32px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:900;
  color:#101723;
}
body.app-shell .station-pack-card .tc247-card-sub,
body.app-shell .entity-card.tc247-mbin-card .tc247-card-sub,
body.app-shell .entity-card.tc247-mbin-card .muted.small{
  margin-top:8px;
  font-size:15px;
  line-height:1.35;
  color:var(--tc252-muted);
  font-weight:650;
}
body.app-shell .station-pack-card .tc247-pill,
body.app-shell .entity-card.tc247-mbin-card .tc247-pill,
body.app-shell .entity-card.tc247-mbin-card .pill{
  min-height:36px;
  padding:8px 13px;
  border-radius:13px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
}
body.app-shell .station-pack-card .tc247-status-row,
body.app-shell .entity-card.tc247-mbin-card .tc247-status-row{
  margin-top:14px;
  padding:16px 0;
  border-top:1px solid var(--tc252-border);
  border-bottom:1px solid var(--tc252-border);
}
body.app-shell .station-pack-card .tc247-stage,
body.app-shell .entity-card.tc247-mbin-card .tc247-stage{
  font-size:20px;
  line-height:1.18;
  font-weight:900;
  color:var(--tc252-blue);
  max-width:66%;
}
body.app-shell .tc248-progress-card,
body.app-shell .tc247-visual-line,
body.app-shell .tc250-mini-flow{
  margin-top:16px;
  padding:18px 16px 16px;
  border-radius:20px;
  border:1px solid var(--tc252-border);
  background:linear-gradient(180deg,rgba(250,253,255,.98),rgba(239,247,252,.86));
}
body.app-shell .entity-card.tc247-mbin-card .tc247-mbin-visual{
  display:none;
}
body.app-shell .entity-card.tc247-mbin-card .tc247-visual-line .tc247-progress-strip{
  flex:1 1 100%;
}
body.app-shell .tc247-step{
  gap:7px;
  font-size:12px;
  font-weight:850;
}
body.app-shell .tc247-step::before{
  top:27px;
  height:4px;
}
body.app-shell .tc247-step b{
  font-size:12px;
  font-weight:900;
}
body.app-shell .tc247-step i{
  width:38px;
  height:38px;
  border-width:3px;
  font-size:18px;
  box-shadow:0 3px 10px rgba(15,23,42,.10);
}
body.app-shell .tc247-step.is-active i{
  box-shadow:0 0 0 5px rgba(38,133,243,.16),0 3px 10px rgba(15,23,42,.10);
}
body.app-shell .tc250-step-repeat{
  top:-9px;
  right:calc(50% - 28px);
  min-width:25px;
  height:20px;
  line-height:20px;
  font-size:11px;
  background:#f59e0b;
  color:#111827;
}
body.app-shell .tc247-metrics{
  margin-top:16px;
  border-radius:18px;
  border:1px solid var(--tc252-border);
  background:linear-gradient(180deg,#fff,rgba(248,252,255,.84));
}
body.app-shell .tc247-metrics > div{
  padding:15px 12px;
}
body.app-shell .tc247-metrics span{
  font-size:12px;
  letter-spacing:.07em;
  color:#667085;
  font-weight:900;
}
body.app-shell .tc247-metrics strong{
  margin-top:8px;
  font-size:17px;
  color:#101723;
  font-weight:900;
}
body.app-shell .tc247-chip-row,
body.app-shell .entity-meta.tc244-chip-row{
  margin-top:15px;
  gap:9px;
}
body.app-shell .tc247-chip,
body.app-shell .entity-meta.tc244-chip-row .pill{
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
  color:#263648;
  background:#eef7fd;
  border:1px solid #d1e5f3;
}
body.app-shell .tc247-actions,
body.app-shell .row-actions{
  margin-top:18px;
  gap:10px;
  padding-top:14px;
  border-top:1px solid rgba(214,226,238,.82);
}
body.app-shell .tc247-actions .btn,
body.app-shell .row-actions .btn{
  min-height:42px;
  padding:9px 12px;
  border-radius:14px;
  font-size:13px;
  font-weight:850;
}
body.app-shell .entity-card.tc247-mbin-card .card-lite{
  margin-top:14px;
  padding:14px 15px;
  border-radius:18px;
  font-size:14px;
}
body.app-shell .entity-card.tc247-mbin-card .tc244-card-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
body.app-shell .entity-card.tc247-mbin-card .tc244-card-stats > div{
  padding:13px 12px;
  border:1px solid var(--tc252-border);
  border-radius:16px;
  background:rgba(248,252,255,.9);
}
body.app-shell .entity-card.tc247-mbin-card .tc244-card-stats strong{
  display:block;
  margin-top:5px;
  font-size:15px;
  line-height:1.22;
  color:#101723;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show{
  padding:clamp(10px,2vw,24px);
  align-items:center;
}
body.app-shell .modal-card,
body.app-shell .tc249-modal-card,
body.app-shell .stage-modal-card,
body.app-shell .calendar-modal-card{
  width:min(880px,calc(100vw - 40px));
  max-height:min(86dvh,860px);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(15,23,42,.24);
}
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .station-trace-modal-card,
body.app-shell .machine-check-modal-form .modal-card{
  width:min(1080px,calc(100vw - 40px));
}
body.app-shell .modal-card:has(.table-wrap),
body.app-shell .modal-card:has(.machine-check-list),
body.app-shell .modal-card:has(.form-grid.two),
body.app-shell .modal-card:has(.grid.two){
  width:min(1040px,calc(100vw - 40px));
}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .tc249-modal-head{
  padding:22px 28px 16px;
  gap:18px;
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-header .card-title{
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:900;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .station-trace-body{
  padding:18px 22px;
  display:block;
}
body.app-shell .modal-body > .card,
body.app-shell .modal-body > .card-lite,
body.app-shell .tc249-modal-body > .card,
body.app-shell .tc249-modal-body > .card-lite{
  margin-bottom:12px;
  padding:16px;
  border-radius:18px;
}
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer,
body.app-shell .modal-actions,
body.app-shell .sticky-actions,
body.app-shell .preassembly-modal-footer,
body.app-shell .modal-card > .actions,
body.app-shell .tc249-modal-form > .actions{
  padding:16px 22px 18px;
  gap:14px;
  justify-content:space-between;
}
body.app-shell .modal-footer .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .modal-card > .actions .btn,
body.app-shell .tc249-modal-form > .actions .btn{
  min-height:46px;
  min-width:150px;
  border-radius:14px;
  font-size:15px;
}
body.app-shell .machine-check-list{
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:14px;
}
body.app-shell .machine-check-row,
body.app-shell .machine-param-row{
  padding:15px;
  border-radius:18px;
}
@media (min-width:1760px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid{grid-template-columns:repeat(4,minmax(330px,1fr));}
}
@media (max-width:880px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid{grid-template-columns:1fr;}
  body.app-shell .station-pack-card .tc247-card-top,
  body.app-shell .entity-card.tc247-mbin-card .tc247-card-top,
  body.app-shell .entity-card.tc247-mbin-card .entity-card-head{padding-right:0;min-height:0;}
  body.app-shell .station-pack-card.tc247-pack-card::after,
  body.app-shell .entity-card.tc247-mbin-card::after{display:none;}
  body.app-shell .station-pack-card .tc247-stage,
  body.app-shell .entity-card.tc247-mbin-card .tc247-stage{max-width:100%;white-space:normal;}
}
@media (max-width:640px){
  body.app-shell .station-pack-card.tc247-pack-card,
  body.app-shell .entity-card.tc247-mbin-card,
  body.app-shell .entity-card.mbin-convert-card.tc247-mbin-card,
  body.app-shell button.entity-card.tc246-mbin-op-card{padding:18px;border-radius:22px;}
  body.app-shell .tc247-progress-strip{gap:2px;}
  body.app-shell .tc247-step b{font-size:10px;}
  body.app-shell .tc247-step i{width:32px;height:32px;}
  body.app-shell .tc247-step::before{top:24px;}
  body.app-shell .tc247-actions,
  body.app-shell .row-actions{grid-template-columns:1fr 1fr;}
  body.app-shell .modal-card,
  body.app-shell .tc249-modal-card,
  body.app-shell .stage-modal-card,
  body.app-shell .calendar-modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .station-trace-modal-card{width:100%;max-height:calc(100dvh - 20px);border-radius:20px;}
  body.app-shell .modal-footer,
  body.app-shell .tc249-modal-footer,
  body.app-shell .modal-card > .actions,
  body.app-shell .tc249-modal-form > .actions{justify-content:stretch;}
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .modal-card > .actions .btn,
  body.app-shell .tc249-modal-form > .actions .btn{flex:1 1 100%;min-width:0;}
}
body.app-shell .tc253-pack-card,
body.app-shell .tc253-mbin-card{
  padding:0;
  border-radius:32px;
  border:1px solid #d9e3ee;
  background:#fff;
  box-shadow:0 24px 64px rgba(15,23,42,.08);
  overflow:hidden;
}
body.app-shell .tc253-pack-card::before,
body.app-shell .tc253-mbin-card::before,
body.app-shell .tc253-pack-card::after,
body.app-shell .tc253-mbin-card::after{display:none;}
body.app-shell .tc253-card-shell{display:flex;flex-direction:column;gap:18px;min-height:100%;padding:28px;border-left:4px solid #2f7cff;}
body.app-shell .tc253-mbin-shell{border-left-color:#16b7c9;}
body.app-shell .tc253-card-top,body.app-shell .tc253-current-row,body.app-shell .tc253-footer-row,body.app-shell .tc253-action-row,body.app-shell .tc253-chip-row{display:flex;align-items:center;gap:16px;}
body.app-shell .tc253-card-top{justify-content:space-between;align-items:flex-start;}
body.app-shell .tc253-card-id{font-size:24px;line-height:1.1;font-weight:800;letter-spacing:.01em;color:#0f172a;word-break:break-word;}
body.app-shell .tc253-card-sub{margin-top:10px;font-size:13px;line-height:1.45;color:#526171;font-weight:600;}
body.app-shell .tc253-tag{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:10px 16px;border-radius:14px;border:1px solid rgba(47,124,255,.35);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8;background:#f8fbff;}
body.app-shell .tc253-tag--mbin{border-color:rgba(22,183,201,.35);color:#0f8994;background:#f4feff;}
body.app-shell .tc253-current-row{padding:18px 0 20px;border-top:1px solid #e7edf4;border-bottom:1px solid #e7edf4;justify-content:space-between;}
body.app-shell .tc253-iconbox{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid #d7e5ff;background:#f7fbff;color:#2563eb;font-size:28px;flex:0 0 auto;}
body.app-shell .tc253-iconbox--teal{border-color:#cceff3;background:#f3feff;color:#1095a4;}
body.app-shell .tc253-current-copy{min-width:0;display:flex;flex-direction:column;gap:6px;flex:1;}
body.app-shell .tc253-current-copy strong{font-size:18px;line-height:1.25;color:#1d4ed8;font-weight:800;word-break:break-word;}
body.app-shell .tc253-current-copy--teal strong{color:#0e7490;}
body.app-shell .tc253-overline{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6b7a8b;}
body.app-shell .tc253-state-badge{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:700;border:1px solid #d1fae5;background:#ecfdf3;color:#17a34a;white-space:nowrap;flex:0 0 auto;}
body.app-shell .tc253-state-badge.is-progress{background:#eff8f1;border-color:#d5ead7;color:#2b8b4f;}
body.app-shell .tc253-state-badge.is-complete{background:#eefaf0;border-color:#d0edd5;color:#1f9d45;}
body.app-shell .tc253-state-badge.is-rework{background:#fff7ed;border-color:#fed7aa;color:#c2410c;}
body.app-shell .tc253-progress-panel{padding:4px 0;}
body.app-shell .tc253-progress-grid{display:grid;gap:12px;position:relative;}
body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(7,minmax(0,1fr));}
body.app-shell .tc253-progress-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;min-width:0;}
body.app-shell .tc253-progress-step:not(:last-child)::after{content:"";position:absolute;top:34px;left:calc(50% + 18px);width:calc(100% - 8px);height:3px;background:#d9e0e7;z-index:0;}
body.app-shell .tc253-progress-step.is-done:not(:last-child)::after{background:#33b24b;}
body.app-shell .tc253-step-label{font-size:12px;font-weight:800;letter-spacing:.04em;color:#526171;}
body.app-shell .tc253-step-node{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:3px solid #cfd8e3;background:#fff;color:transparent;box-shadow:0 4px 12px rgba(15,23,42,.04);}
body.app-shell .tc253-step-node i{font-style:normal;font-size:16px;font-weight:900;line-height:1;}
body.app-shell .tc253-progress-step.is-done .tc253-step-node{background:#31b34b;border-color:#31b34b;color:#fff;}
body.app-shell .tc253-progress-step.is-done .tc253-step-node i{color:#fff;}
body.app-shell .tc253-progress-step.is-active .tc253-step-node{width:42px;height:42px;border-color:#2f7cff;box-shadow:0 0 0 5px rgba(47,124,255,.12);}
body.app-shell .tc253-mbin-shell .tc253-progress-step.is-active .tc253-step-node{border-color:#16b7c9;box-shadow:0 0 0 5px rgba(22,183,201,.12);}
body.app-shell .tc253-progress-step.has-repeat .tc253-step-node i{color:#2563eb;}
body.app-shell .tc253-progress-step.has-repeat .tc253-step-repeat{position:absolute;top:20px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:11px;font-weight:800;z-index:2;box-shadow:0 8px 16px rgba(245,158,11,.28);}
body.app-shell .tc253-metric-grid{display:grid;gap:0;border:1px solid #e6edf4;border-radius:24px;background:#fff;overflow:hidden;}
body.app-shell .tc253-metric-card{padding:22px 18px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:110px;background:#fff;}
body.app-shell .tc253-metric-card + .tc253-metric-card{border-left:1px solid #e6edf4;}
body.app-shell .tc253-metric-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6d7c;}
body.app-shell .tc253-metric-value{display:flex;align-items:center;gap:12px;justify-content:flex-start;color:#0f172a;}
body.app-shell .tc253-metric-value strong{font-size:18px;font-weight:800;color:#0f172a;line-height:1.2;}
body.app-shell .tc253-metric-value small{display:block;font-size:12px;color:#6b7a8b;font-weight:700;margin-top:4px;}
body.app-shell .tc253-metric-value--stack{flex-direction:column;align-items:flex-start;gap:4px;}
body.app-shell .tc253-metric-value--ok strong, body.app-shell .tc253-metric-value--ok .tc253-metric-icon{color:#23a245;}
body.app-shell .tc253-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eefaf2;color:#23a245;font-weight:900;font-size:16px;flex:0 0 auto;}
body.app-shell .tc253-ring{--pct:100;display:inline-grid;place-items:center;width:72px;height:72px;border-radius:999px;background:conic-gradient(#2f7cff calc(var(--pct) * 1%), #e6edf4 0);position:relative;}
body.app-shell .tc253-ring b{position:relative;z-index:1;font-size:18px;color:#0f172a;font-weight:800;}
body.app-shell .tc253-ring--teal{background:conic-gradient(#16b7c9 calc(var(--pct) * 1%), #e6edf4 0);}
body.app-shell .tc253-footer-row{padding-top:2px;border-top:1px solid #eef2f6;flex-wrap:wrap;}
body.app-shell .tc253-footer-row--mbin{padding-top:16px;}
body.app-shell .tc253-operator-chip{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:#edf4ff;color:#2458d4;font-size:16px;font-weight:800;flex:0 0 auto;}
body.app-shell .tc253-operator-chip--teal{background:#ecfdff;color:#0f8994;}
body.app-shell .tc253-footer-item{display:flex;flex-direction:column;gap:4px;min-width:120px;flex:1;}
body.app-shell .tc253-footer-item strong{font-size:16px;font-weight:800;color:#0f172a;line-height:1.2;}
body.app-shell .tc253-footer-item small{font-size:12px;color:#6b7a8b;font-weight:700;}
body.app-shell .tc253-footer-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7a8b;}
body.app-shell .tc253-footer-item--badge{align-items:flex-end;justify-content:center;min-width:140px;flex:0 0 auto;}
body.app-shell .tc253-rework-badge{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid rgba(47,124,255,.3);background:#f8fbff;color:#2563eb;font-weight:800;font-size:14px;white-space:nowrap;}
body.app-shell .tc253-chip-row{flex-wrap:wrap;gap:10px;}
body.app-shell .tc253-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;background:#f4f8fb;border:1px solid #d9e4ef;color:#334155;font-size:12px;font-weight:800;line-height:1;}
body.app-shell .tc253-action-row{flex-wrap:wrap;justify-content:flex-start;padding-top:4px;}
body.app-shell .tc253-action-row .btn{min-width:110px;}
body.app-shell .tc253-action-row__full{flex-basis:100%;}
body.app-shell .tc253-pack-card .btn.primary, body.app-shell .tc253-mbin-card .btn.primary{box-shadow:0 12px 30px rgba(31,191,184,.18);}
body.app-shell .station-pack-grid .tc253-pack-card{min-height:640px;}
body.app-shell .tc251-mbin-operational-grid .tc253-mbin-card{min-height:560px;}
body.app-shell .tc251-mbin-operational-grid .tc253-mbin-card[disabled]{opacity:1;}
body.app-shell .tc251-mbin-operational-grid .tc253-mbin-card[disabled] .tc253-card-shell{filter:grayscale(.03);}
body.app-shell .tc253-pack-card .btn.sm, body.app-shell .tc253-mbin-card .btn.sm{font-size:13px;}
body.app-shell .modal-card,body.app-shell .modal-card.lg,body.app-shell .modal-card.xl,body.app-shell .stage-modal-card,body.app-shell .station-clock-modal-card,body.app-shell .tc240-preassembly-modal-card{width:min(980px, calc(100vw - 40px));max-width:min(980px, calc(100vw - 40px));border-radius:30px;}
body.app-shell .station-clock-modal-card{max-width:min(1080px, calc(100vw - 40px));}
body.app-shell .modal-card>.modal-head,body.app-shell .modal-card>form>.modal-head,body.app-shell .stage-modal-card>.modal-head,body.app-shell .station-clock-modal-card>.modal-head{padding:24px 28px 18px;}
body.app-shell .modal-card>.modal-body,body.app-shell .modal-card>form,body.app-shell .modal-card>.form,body.app-shell .stage-modal-card>form,body.app-shell .station-clock-modal-card>form{padding:0 28px 24px;}
body.app-shell .modal-card>.modal-body{padding-top:0;}
body.app-shell .modal-card .grid.two,body.app-shell .modal-card .modal-grid,body.app-shell .stage-modal-card .grid.two,body.app-shell .stage-modal-card .modal-grid{gap:16px;}
body.app-shell .modal-card .grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
body.app-shell .modal-card .actions:last-child,body.app-shell .modal-card .form-actions:last-child,body.app-shell .modal-card>.actions,body.app-shell .modal-card>.row-actions{position:sticky;bottom:0;background:linear-gradient(180deg, rgba(255,255,255,.9) 0%, #fff 34%);padding:18px 28px 24px;margin:0 -28px -24px;border-top:1px solid #e7edf4;}
body.app-shell .modal-card .actions:last-child .btn,body.app-shell .modal-card .form-actions:last-child .btn{min-width:140px;}
body.app-shell .station-clock-modal-card .machine-check-row,body.app-shell .station-clock-modal-card .station-protocol-check-row,body.app-shell .tc240-preassembly-modal-card .machine-check-row,body.app-shell .tc240-preassembly-modal-card .station-protocol-check-row{padding:18px;border-radius:18px;}
@media (max-width: 1080px){body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}body.app-shell .tc253-metric-card:nth-child(3), body.app-shell .tc253-metric-card:nth-child(4){border-top:1px solid #e6edf4;}body.app-shell .tc253-metric-grid--four .tc253-metric-card:nth-child(3){border-left:0;}}
@media (max-width: 860px){body.app-shell .tc253-card-shell{padding:22px;gap:16px;}body.app-shell .tc253-card-top,body.app-shell .tc253-current-row,body.app-shell .tc253-footer-row{flex-wrap:wrap;}body.app-shell .tc253-current-row{align-items:flex-start;}body.app-shell .tc253-progress-grid--pack{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:20px;}body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px;}body.app-shell .tc253-progress-step:not(:last-child)::after{width:calc(100% - 2px);}body.app-shell .tc253-metric-grid--three,body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}body.app-shell .tc253-metric-grid--three .tc253-metric-card:nth-child(3),body.app-shell .tc253-metric-grid--four .tc253-metric-card:nth-child(3),body.app-shell .tc253-metric-grid--four .tc253-metric-card:nth-child(4){border-top:1px solid #e6edf4;}body.app-shell .tc253-metric-grid--three .tc253-metric-card:nth-child(3),body.app-shell .tc253-metric-grid--four .tc253-metric-card:nth-child(3){border-left:0;}body.app-shell .tc253-footer-item{min-width:calc(50% - 12px);}body.app-shell .tc253-footer-item--badge{align-items:flex-start;min-width:100%;}body.app-shell .modal-card,body.app-shell .stage-modal-card{width:min(100vw - 24px, 980px);max-width:min(100vw - 24px, 980px);}body.app-shell .modal-card .grid.two{grid-template-columns:minmax(0,1fr);}}
@media (max-width: 640px){body.app-shell .tc253-card-id{font-size:21px;}body.app-shell .tc253-current-copy strong{font-size:16px;}body.app-shell .tc253-progress-grid--pack,body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(3,minmax(0,1fr));}body.app-shell .tc253-step-label{font-size:11px;}body.app-shell .tc253-step-node{width:32px;height:32px;}body.app-shell .tc253-progress-step.is-active .tc253-step-node{width:38px;height:38px;}body.app-shell .tc253-metric-grid--three,body.app-shell .tc253-metric-grid--four{grid-template-columns:minmax(0,1fr);}body.app-shell .tc253-metric-card + .tc253-metric-card{border-left:0;border-top:1px solid #e6edf4;}body.app-shell .tc253-footer-item{min-width:100%;}body.app-shell .tc253-action-row .btn{flex:1 1 calc(50% - 8px);min-width:0;}body.app-shell .modal-card,body.app-shell .modal-card.lg,body.app-shell .modal-card.xl,body.app-shell .stage-modal-card,body.app-shell .station-clock-modal-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);border-radius:22px;}body.app-shell .modal-card>.modal-head,body.app-shell .modal-card>form,body.app-shell .modal-card>.modal-body{padding-left:18px;padding-right:18px;}body.app-shell .modal-card .actions:last-child,body.app-shell .modal-card .form-actions:last-child,body.app-shell .modal-card>.actions{margin:0 -18px -18px;padding:16px 18px 18px;}}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
body.app-shell .tc251-mbin-operational-grid,
body.app-shell #mbinAssemblyCards,
body.app-shell #mbinQuickCards{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:20px;
  align-items:stretch;
}
body.app-shell .station-pack-card.tc253-pack-card,
body.app-shell .entity-card.tc253-mbin-card,
body.app-shell .mbin-convert-card.tc253-mbin-card,
body.app-shell button.tc253-mbin-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
  min-height:560px;
  aspect-ratio:1/1.08;
  padding:28px 28px 24px;
  border-radius:32px;
  border:1px solid rgba(188,205,221,.92);
  background:linear-gradient(145deg,#fff 0%,#fbfdff 58%,#f8fbfe 100%);
  box-shadow:0 20px 54px rgba(15,23,42,.08),0 1px 0 rgba(255,255,255,.9) inset;
  overflow:hidden;
  text-decoration:none;
  color:#0f172a;
}
body.app-shell .station-pack-card.tc253-pack-card::before,
body.app-shell .entity-card.tc253-mbin-card::before,
body.app-shell .mbin-convert-card.tc253-mbin-card::before,
body.app-shell button.tc253-mbin-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:32px 0 0 32px;
  background:linear-gradient(180deg,#2f7cff,#55d6de);
}
body.app-shell .entity-card.tc253-mbin-card::before,
body.app-shell .mbin-convert-card.tc253-mbin-card::before,
body.app-shell button.tc253-mbin-card::before{background:linear-gradient(180deg,#13b8cb,#35bd4b);}
body.app-shell .station-pack-card.tc253-pack-card::after,
body.app-shell .entity-card.tc253-mbin-card::after,
body.app-shell .mbin-convert-card.tc253-mbin-card::after,
body.app-shell button.tc253-mbin-card::after{display:none;}
body.app-shell .tc253-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  min-height:88px;
  padding:0;
}
body.app-shell .tc253-title-stack,
body.app-shell .tc253-current-copy{min-width:0;}
body.app-shell .tc253-card-title{
  font-size:clamp(25px,2.05vw,36px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.045em;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-card-sub{
  margin-top:9px;
  font-size:clamp(15px,1.1vw,19px);
  line-height:1.35;
  font-weight:650;
  color:#5f6b7a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-type-badge,
body.app-shell .tc253-tag,
body.app-shell .tc253-rework-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  min-height:42px;
  padding:9px 16px;
  border-radius:14px;
  border:1px solid rgba(47,124,255,.45);
  background:rgba(248,251,255,.96);
  color:#1d4ed8;
  font-size:clamp(13px,1vw,16px);
  font-weight:850;
  letter-spacing:.02em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(47,124,255,.08);
  white-space:nowrap;
}
body.app-shell .tc253-mbin-type,
body.app-shell .tc253-tag--mbin{
  min-width:92px;
  border-color:rgba(19,184,203,.34);
  background:rgba(240,253,255,.95);
  color:#0f8a97;
  text-transform:none;
}
body.app-shell .tc253-current-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:18px 0 20px;
  border-top:1px solid rgba(212,222,232,.9);
  border-bottom:1px solid rgba(212,222,232,.9);
}
body.app-shell .tc253-icon-badge,
body.app-shell .tc253-iconbox{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  border:1px solid rgba(47,124,255,.28);
  background:linear-gradient(180deg,#f7fbff,#eef6ff);
  color:#2563eb;
  font-size:28px;
  font-weight:900;
  flex:0 0 auto;
}
body.app-shell .tc253-mbin-current .tc253-icon-badge{border-color:rgba(19,184,203,.28);background:linear-gradient(180deg,#f4feff,#ecfbfd);color:#1095a4;}
body.app-shell .tc253-current-copy span,
body.app-shell .tc253-overline{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#596879;
}
body.app-shell .tc253-current-copy strong{
  display:block;
  font-size:clamp(19px,1.55vw,27px);
  line-height:1.16;
  font-weight:850;
  letter-spacing:-.035em;
  color:#1f6fe5;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .tc253-mbin-current .tc253-current-copy strong{color:#0b7f92;}
body.app-shell .tc253-status-badge,
body.app-shell .tc253-state-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:11px 18px;
  border-radius:14px;
  border:1px solid rgba(34,197,94,.25);
  background:linear-gradient(180deg,#f1fbf3,#ecf9ef);
  color:#1b9f42;
  font-size:clamp(14px,1.05vw,18px);
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}
body.app-shell .tc253-status-badge i,
body.app-shell .tc253-state-badge::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:999px;
  background:#22b241;
  box-shadow:0 0 0 4px rgba(34,178,65,.10);
  flex:0 0 auto;
}
body.app-shell .tc253-status-badge.is-warn,
body.app-shell .tc253-state-badge.is-rework,
body.app-shell .tc253-state-badge.is-warn{border-color:rgba(245,158,11,.35);background:#fff7ed;color:#b45309;}
body.app-shell .tc253-status-badge.is-warn i,
body.app-shell .tc253-state-badge.is-rework::before,
body.app-shell .tc253-state-badge.is-warn::before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12);}
body.app-shell .tc253-status-badge.is-danger,
body.app-shell .tc253-state-badge.is-danger{border-color:rgba(225,29,72,.32);background:#fff1f2;color:#be123c;}
body.app-shell .tc253-status-badge.is-danger i,
body.app-shell .tc253-state-badge.is-danger::before{background:#e11d48;box-shadow:0 0 0 4px rgba(225,29,72,.12);}
body.app-shell .tc253-progress-wrap,
body.app-shell .tc253-progress-panel{
  padding:18px 18px 16px;
  border:1px solid rgba(211,222,233,.92);
  border-radius:24px;
  background:rgba(248,251,253,.78);
}
body.app-shell .tc253-progress-strip,
body.app-shell .tc253-progress-grid{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:0;
  align-items:start;
  min-width:0;
}
body.app-shell .tc253-mbin-progress .tc253-progress-strip,
body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(7,minmax(0,1fr));}
body.app-shell .tc253-step,
body.app-shell .tc253-progress-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  min-width:0;
  text-align:center;
}
body.app-shell .tc253-step:not(:last-child)::after,
body.app-shell .tc253-progress-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:41px;
  left:calc(50% + 19px);
  width:calc(100% - 14px);
  height:3px;
  border-radius:999px;
  background:#cfd7e1;
}
body.app-shell .tc253-step.is-done:not(:last-child)::after,
body.app-shell .tc253-progress-step.is-done:not(:last-child)::after{background:#28aa41;}
body.app-shell .tc253-step b,
body.app-shell .tc253-step-label{
  display:block;
  font-size:clamp(11px,.88vw,14px);
  line-height:1;
  font-weight:850;
  color:#4b5969;
  white-space:nowrap;
}
body.app-shell .tc253-step i,
body.app-shell .tc253-step-node{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  border:3px solid #cfd8e3;
  background:#fff;
  color:transparent;
  font-style:normal;
  font-size:17px;
  font-weight:950;
  box-shadow:0 4px 10px rgba(15,23,42,.06);
}
body.app-shell .tc253-step.is-done i,
body.app-shell .tc253-progress-step.is-done .tc253-step-node{background:#2fb24c;border-color:#2fb24c;color:#fff;}
body.app-shell .tc253-step.is-active i,
body.app-shell .tc253-progress-step.is-active .tc253-step-node{
  width:46px;
  height:46px;
  border-color:#2f7cff;
  color:#2f7cff;
  box-shadow:0 0 0 6px rgba(47,124,255,.12),0 8px 18px rgba(47,124,255,.16);
}
body.app-shell .tc253-mbin-card .tc253-step.is-active i,
body.app-shell .tc253-mbin-card .tc253-progress-step.is-active .tc253-step-node{border-color:#27b5c4;color:#16a2b1;box-shadow:0 0 0 6px rgba(39,181,196,.12),0 8px 18px rgba(39,181,196,.14);}
body.app-shell .tc253-step.has-repeat em,
body.app-shell .tc253-progress-step.has-repeat .tc253-step-repeat{
  position:absolute;
  top:24px;
  right:2px;
  z-index:2;
  min-width:28px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#f59e0b;
  color:#fff;
  font-size:11px;
  line-height:22px;
  font-style:normal;
  font-weight:900;
  box-shadow:0 10px 18px rgba(245,158,11,.28);
}
body.app-shell .tc253-metrics-panel,
body.app-shell .tc253-metric-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(224,232,240,.95);
  border-radius:24px;
  background:#fff;
  overflow:hidden;
}
body.app-shell .tc253-mbin-metrics,
body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc253-metric-block,
body.app-shell .tc253-metric-card{
  min-height:112px;
  padding:20px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  background:#fff;
}
body.app-shell .tc253-metric-block + .tc253-metric-block,
body.app-shell .tc253-metric-card + .tc253-metric-card{border-left:1px solid rgba(224,232,240,.95);}
body.app-shell .tc253-metric-block span,
body.app-shell .tc253-metric-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#576678;
}
body.app-shell .tc253-metric-block strong,
body.app-shell .tc253-metric-value strong{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:clamp(17px,1.25vw,23px);
  line-height:1.1;
  font-weight:900;
  color:#0f172a;
}
body.app-shell .tc253-metric-block small,
body.app-shell .tc253-metric-value small{font-size:13px;color:#5f6d7e;font-weight:700;}
body.app-shell .tc253-qc strong{color:#1b9f42;}
body.app-shell .tc253-qc strong i{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#2faf47;
  color:#fff;
  font-style:normal;
  font-size:20px;
  font-weight:950;
}
body.app-shell .tc253-ring{
  display:inline-grid;
  place-items:center;
  width:70px;
  height:70px;
  border-radius:999px;
  background:conic-gradient(#27b5c4 100%, #e7edf4 0);
  position:relative;
  font-size:18px;
  font-weight:900;
  color:#101827;
}
body.app-shell .tc253-ring.is-ok{background:conic-gradient(#2fb24c 100%, #e7edf4 0);}
body.app-shell .tc253-ring.is-warn{background:conic-gradient(#f59e0b 62%, #e7edf4 0);}
body.app-shell .tc253-ring::after{content:"";position:absolute;inset:7px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #e7edf4;}
body.app-shell .tc253-ring b,
body.app-shell .tc253-ring{font-weight:900;}
body.app-shell .tc253-ring{isolation:isolate;}
body.app-shell .tc253-ring::before{content:attr(class);display:none;}
body.app-shell .tc253-ring{font-size:0;}
body.app-shell .tc253-metric-block .tc253-ring{font-size:18px;}
body.app-shell .tc253-metric-block .tc253-ring::after{z-index:-1;}
body.app-shell .tc253-footer-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  padding-top:4px;
  border-top:1px solid rgba(229,235,242,.95);
}
body.app-shell .tc253-avatar,
body.app-shell .tc253-operator-chip{
  width:50px;
  height:50px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eaf2ff;
  color:#2458d4;
  font-size:16px;
  font-weight:900;
  flex:0 0 auto;
}
body.app-shell .tc253-mbin-card .tc253-avatar,
body.app-shell .tc253-mbin-card .tc253-operator-chip{background:#e9fbfd;color:#0f8a97;}
body.app-shell .tc253-footer-row div span,
body.app-shell .tc253-footer-label{display:block;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#667587;}
body.app-shell .tc253-footer-row div strong,
body.app-shell .tc253-footer-item strong{display:block;margin-top:4px;font-size:16px;line-height:1.2;font-weight:850;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc253-rework-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:15px;
  border:1px solid rgba(47,124,255,.28);
  background:#f8fbff;
  color:#2563eb;
  font-size:14px;
  font-weight:850;
  white-space:nowrap;
}
body.app-shell .tc253-action-grid,
body.app-shell .tc253-action-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(229,235,242,.95);
}
body.app-shell .tc253-action-grid .btn,
body.app-shell .tc253-action-row .btn{
  min-height:44px;
  border-radius:14px;
  font-size:14px;
  font-weight:850;
  padding:9px 12px;
}
body.app-shell .tc253-action-grid .tc253-full,
body.app-shell .tc253-action-row__full{grid-column:1 / -1;}
body.app-shell .tc253-card-shell{padding:0;border-left:0;gap:18px;}
body.app-shell .tc253-card-id{font-size:clamp(25px,2.05vw,36px);line-height:1.08;font-weight:900;letter-spacing:-.045em;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc253-card-head-copy{min-width:0;}
body.app-shell .tc253-tag--pack{border-color:rgba(47,124,255,.45);background:#f8fbff;color:#1d4ed8;}
body.app-shell .tc253-tag--mbin{border-color:rgba(19,184,203,.34);background:#f0fdff;color:#0f8a97;}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show{padding:clamp(10px,2vw,22px);}
body.app-shell .modal-card,
body.app-shell .stage-modal-card,
body.app-shell .tc249-modal-card,
body.app-shell .station-clock-modal-card,
body.app-shell .tc240-preassembly-modal-card{
  width:min(920px,calc(100vw - 36px));
  max-width:min(920px,calc(100vw - 36px));
  max-height:min(88dvh,820px);
  border-radius:26px;
}
body.app-shell .modal-card:has(.machine-check-row),
body.app-shell .station-clock-modal-card{width:min(1040px,calc(100vw - 36px));max-width:min(1040px,calc(100vw - 36px));}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .tc249-modal-head{
  position:sticky;
  top:0;
  z-index:5;
  padding:20px 26px 16px;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 100%);
  border-bottom:1px solid rgba(229,235,242,.95);
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-header .card-title{font-size:clamp(21px,1.9vw,28px);line-height:1.12;letter-spacing:-.035em;}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .station-trace-body{
  padding:16px 22px;
  overflow:auto;
}
body.app-shell .modal-card > form,
body.app-shell .stage-modal-card > form,
body.app-shell .station-clock-modal-card > form{display:flex;flex-direction:column;min-height:0;overflow:auto;}
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer,
body.app-shell .modal-actions,
body.app-shell .sticky-actions,
body.app-shell .preassembly-modal-footer,
body.app-shell .modal-card > .actions,
body.app-shell .tc249-modal-form > .actions,
body.app-shell .modal-card .actions:last-child,
body.app-shell .modal-card .form-actions:last-child{
  position:sticky;
  bottom:0;
  z-index:6;
  margin:0;
  padding:15px 22px 18px;
  border-top:1px solid rgba(229,235,242,.95);
  background:linear-gradient(180deg,rgba(255,255,255,.94),#fff 45%);
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:flex-end;
}
body.app-shell .modal-footer .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .modal-actions .btn,
body.app-shell .sticky-actions .btn,
body.app-shell .modal-card .actions:last-child .btn,
body.app-shell .modal-card .form-actions:last-child .btn{min-height:46px;border-radius:14px;font-size:15px;font-weight:850;}
body.app-shell .machine-check-list{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;}
body.app-shell .machine-check-row,
body.app-shell .machine-param-row,
body.app-shell .station-protocol-check-row{padding:16px;border-radius:18px;}
@media (max-width:1380px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #mbinAssemblyCards,
  body.app-shell #mbinQuickCards{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));}
  body.app-shell .station-pack-card.tc253-pack-card,
  body.app-shell .entity-card.tc253-mbin-card,
  body.app-shell button.tc253-mbin-card{min-height:540px;padding:24px;}
}
@media (max-width:920px){
  body.app-shell .station-pack-card.tc253-pack-card,
  body.app-shell .entity-card.tc253-mbin-card,
  body.app-shell button.tc253-mbin-card{aspect-ratio:auto;min-height:0;}
  body.app-shell .tc253-current-row{grid-template-columns:auto minmax(0,1fr);}
  body.app-shell .tc253-status-badge{grid-column:2;justify-self:start;}
  body.app-shell .tc253-progress-strip,
  body.app-shell .tc253-progress-grid{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:16px;}
  body.app-shell .tc253-mbin-progress .tc253-progress-strip,
  body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px;}
  body.app-shell .tc253-metrics-panel,
  body.app-shell .tc253-mbin-metrics,
  body.app-shell .tc253-metric-grid,
  body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc253-metric-block:nth-child(odd),
  body.app-shell .tc253-metric-card:nth-child(odd){border-left:0;}
  body.app-shell .tc253-metric-block:nth-child(n/**/+3),
  body.app-shell .tc253-metric-card:nth-child(n/**/+3){border-top:1px solid rgba(224,232,240,.95);}
  body.app-shell .tc253-footer-row{grid-template-columns:auto minmax(0,1fr);}
  body.app-shell .tc253-rework-badge{justify-self:start;}
  body.app-shell .modal-card,
  body.app-shell .stage-modal-card,
  body.app-shell .tc249-modal-card,
  body.app-shell .station-clock-modal-card{width:calc(100vw - 20px);max-width:calc(100vw - 20px);}
}
@media (max-width:620px){
  body.app-shell .station-pack-card.tc253-pack-card,
  body.app-shell .entity-card.tc253-mbin-card,
  body.app-shell button.tc253-mbin-card{padding:20px;border-radius:26px;gap:15px;}
  body.app-shell .tc253-card-title,
  body.app-shell .tc253-card-id{font-size:24px;white-space:normal;}
  body.app-shell .tc253-card-sub{font-size:15px;white-space:normal;}
  body.app-shell .tc253-progress-strip,
  body.app-shell .tc253-progress-grid,
  body.app-shell .tc253-mbin-progress .tc253-progress-strip,
  body.app-shell .tc253-progress-grid--mbin{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .tc253-metrics-panel,
  body.app-shell .tc253-mbin-metrics,
  body.app-shell .tc253-metric-grid,
  body.app-shell .tc253-metric-grid--four{grid-template-columns:minmax(0,1fr);}
  body.app-shell .tc253-metric-block + .tc253-metric-block,
  body.app-shell .tc253-metric-card + .tc253-metric-card{border-left:0;border-top:1px solid rgba(224,232,240,.95);}
  body.app-shell .tc253-action-grid,
  body.app-shell .tc253-action-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc253-action-grid .tc253-full{grid-column:1 / -1;}
  body.app-shell .modal-head,
  body.app-shell .modal-header,
  body.app-shell .tc249-modal-head{padding:18px 18px 14px;}
  body.app-shell .modal-body,
  body.app-shell .tc249-modal-body{padding:14px 18px;}
  body.app-shell .modal-footer,
  body.app-shell .tc249-modal-footer,
  body.app-shell .modal-actions,
  body.app-shell .sticky-actions,
  body.app-shell .preassembly-modal-footer,
  body.app-shell .modal-card > .actions,
  body.app-shell .tc249-modal-form > .actions,
  body.app-shell .modal-card .actions:last-child,
  body.app-shell .modal-card .form-actions:last-child{padding:14px 18px 16px;flex-wrap:wrap;justify-content:stretch;}
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .modal-actions .btn,
  body.app-shell .sticky-actions .btn{flex:1 1 calc(50% - 8px);min-width:0;}
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
body.app-shell .tc251-mbin-operational-grid,
body.app-shell #mbinAssemblyCards,
body.app-shell #mbinQuickCards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(318px,1fr));
  align-items:stretch;
  gap:16px;
}
body.app-shell .station-pack-card.tc254-pack-card,
body.app-shell .entity-card.tc254-mbin-card,
body.app-shell button.entity-card.tc254-mbin-card,
body.app-shell .entity-card.tc254-mb2p-rework-card{
  min-height:0;
  aspect-ratio:auto;
  padding:0;
  border-radius:24px;
  border:1px solid #cfe0f2;
  background:linear-gradient(155deg,#fff 0%,#fbfdff 68%,#f7fbff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
  overflow:hidden;
}
body.app-shell .entity-card.tc254-mbin-card,
body.app-shell button.entity-card.tc254-mbin-card{
  border-color:#c8e7ed;
}
body.app-shell .station-pack-card.tc254-pack-card:hover,
body.app-shell .entity-card.tc254-mbin-card:hover,
body.app-shell button.entity-card.tc254-mbin-card:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 40px rgba(15,23,42,.075);
}
body.app-shell .tc254-card-shell,
body.app-shell .tc253-card-shell.tc254-card-shell{
  display:flex;
  flex-direction:column;
  gap:13px;
  min-height:0;
  height:auto;
  padding:22px 24px 18px;
  border-left:3px solid #35b9c8;
}
body.app-shell .tc254-pack-card .tc254-card-shell{
  border-left-color:#2f7cff;
}
body.app-shell .tc254-mbin-card .tc254-card-shell,
body.app-shell .tc254-upstream-card .tc254-card-shell,
body.app-shell .tc254-mb2p-card .tc254-card-shell{
  border-left-color:#28b6c6;
}
body.app-shell .tc253-card-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:0 0 8px;
  border-bottom:1px solid #e3ebf3;
}
body.app-shell .tc253-card-id,
body.app-shell .tc253-card-title{
  display:block;
  max-width:100%;
  font-size:clamp(25px,1.7vw,34px);
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.045em;
  color:#08111f;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-card-sub{
  margin-top:7px;
  color:#56677c;
  font-size:15px;
  line-height:1.25;
  font-weight:780;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-tag,
body.app-shell .tc253-type-badge,
body.app-shell .tc253-mbin-type{
  min-width:74px;
  min-height:38px;
  padding:8px 13px;
  border-radius:13px;
  border:1px solid #a8ddef;
  background:#f4fdff;
  color:#0f8a97;
  font-size:14px;
  font-weight:900;
  letter-spacing:.015em;
  text-transform:none;
}
body.app-shell .tc253-tag--pack{
  border-color:#adc9ff;
  background:#f8fbff;
  color:#2458d4;
}
body.app-shell .tc253-current-row,
body.app-shell .tc253-mbin-current{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:11px 0 12px;
  border-bottom:1px solid #e3ebf3;
}
body.app-shell .tc253-iconbox,
body.app-shell .tc253-icon-badge{
  width:48px;
  height:48px;
  border-radius:14px;
  border:1px solid #bfd4ff;
  background:#f7fbff;
  color:#2b6cff;
  display:inline-grid;
  place-items:center;
  font-size:20px;
  line-height:1;
  flex:0 0 auto;
}
body.app-shell .tc253-iconbox--teal,
body.app-shell .tc253-mbin-current .tc253-icon-badge{
  border-color:#b6e6ef;
  color:#12a5b5;
  background:#f5fdff;
}
body.app-shell .tc253-current-copy,
body.app-shell .tc254-pack-current-copy{
  min-width:0;
  display:block;
}
body.app-shell .tc253-overline,
body.app-shell .tc253-current-copy span:first-child{
  display:block;
  margin-bottom:3px;
  color:#5e6e83;
  font-size:11px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.app-shell .tc253-current-copy strong{
  display:block;
  color:#2563eb;
  font-size:clamp(19px,1.35vw,25px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.035em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-current-copy--teal strong{
  color:#0c85a0;
}
body.app-shell .tc253-state-badge,
body.app-shell .tc253-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:8px 14px;
  border-radius:13px;
  border:1px solid #bfe7c7;
  background:#eefaf0;
  color:#1f9634;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
body.app-shell .tc253-state-badge::before,
body.app-shell .tc253-status-badge i{
  content:"";
  width:11px;
  height:11px;
  border-radius:999px;
  background:#2fb24c;
  box-shadow:0 0 0 4px rgba(47,178,76,.12);
}
body.app-shell .tc253-state-badge.is-progress::before{background:#2fb24c;}
body.app-shell .tc253-state-badge.is-rework,
body.app-shell .tc253-status-badge.is-warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#b45309;
}
body.app-shell .tc253-state-badge.is-rework::before,
body.app-shell .tc253-status-badge.is-warn i{background:#f59e0b;}
body.app-shell .tc253-progress-panel,
body.app-shell .tc253-progress-wrap,
body.app-shell .tc254-mbin-progress{
  padding:14px 12px 12px;
  border:1px solid #dbe7f3;
  border-radius:18px;
  background:#f8fbfe;
  overflow:visible;
}
body.app-shell .tc253-progress-grid,
body.app-shell .tc253-progress-strip{
  display:grid;
  gap:0;
  align-items:start;
  width:100%;
  overflow:visible;
}
body.app-shell .tc253-progress-grid--pack{
  grid-template-columns:repeat(10,minmax(0,1fr));
}
body.app-shell .tc253-progress-grid--mbin,
body.app-shell .tc253-mbin-progress .tc253-progress-strip{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body.app-shell .tc253-progress-step,
body.app-shell .tc253-step{
  position:relative;
  display:grid;
  justify-items:center;
  gap:7px;
  min-width:0;
}
body.app-shell .tc253-progress-step:not(:last-child)::after,
body.app-shell .tc253-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:30px;
  left:calc(50% + 17px);
  width:calc(100% - 34px);
  height:3px;
  background:#cfd9e5;
  border-radius:999px;
  z-index:0;
}
body.app-shell .tc253-progress-step.is-done:not(:last-child)::after,
body.app-shell .tc253-step.is-done:not(:last-child)::after{
  background:#2fb24c;
}
body.app-shell .tc253-step-label,
body.app-shell .tc253-step b{
  order:0;
  display:block;
  width:100%;
  color:#435268;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.025em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
body.app-shell .tc253-step-node,
body.app-shell .tc253-step i{
  order:1;
  position:relative;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  border:3px solid #cad6e4;
  background:#fff;
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  font-weight:950;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
body.app-shell .tc253-progress-step.is-done .tc253-step-node,
body.app-shell .tc253-step.is-done i{
  border-color:#2fb24c;
  background:#2fb24c;
  color:#fff;
}
body.app-shell .tc253-progress-step.is-active .tc253-step-node,
body.app-shell .tc253-step.is-active i{
  border-color:#2f7cff;
  background:#eaf2ff;
  box-shadow:0 0 0 6px rgba(47,124,255,.12),0 5px 14px rgba(47,124,255,.15);
}
body.app-shell .tc253-progress-step.is-active .tc253-step-node::after,
body.app-shell .tc253-step.is-active i::after{
  content:"";
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2f7cff;
}
body.app-shell .tc253-mbin-card .tc253-progress-step.is-active .tc253-step-node,
body.app-shell .tc253-mbin-card .tc253-step.is-active i{
  border-color:#30b8c8;
  background:#effdff;
  box-shadow:0 0 0 6px rgba(48,184,200,.13),0 5px 14px rgba(48,184,200,.15);
}
body.app-shell .tc253-mbin-card .tc253-progress-step.is-active .tc253-step-node::after,
body.app-shell .tc253-mbin-card .tc253-step.is-active i::after{
  background:#30b8c8;
}
body.app-shell .tc253-step-repeat{
  position:absolute;
  top:17px;
  right:calc(50% - 26px);
  z-index:3;
  min-width:22px;
  height:18px;
  padding:1px 5px;
  border-radius:999px;
  background:#facc15;
  color:#7c2d12;
  font-size:10px;
  line-height:16px;
  font-weight:950;
  text-align:center;
  border:1px solid rgba(234,179,8,.85);
  box-shadow:0 4px 8px rgba(113,63,18,.16);
}
body.app-shell .tc253-metric-grid,
body.app-shell .tc253-metrics-panel{
  display:grid;
  gap:0;
  border:1px solid #dbe7f3;
  border-radius:16px;
  overflow:hidden;
  background:#fbfdff;
}
body.app-shell .tc253-metric-grid--four,
body.app-shell .tc253-mbin-metrics,
body.app-shell .tc254-mini-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.app-shell .tc253-metric-card,
body.app-shell .tc253-metric-block{
  min-width:0;
  min-height:72px;
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:transparent;
  border:0;
  text-align:center;
}
body.app-shell .tc253-metric-card + .tc253-metric-card,
body.app-shell .tc253-metric-block + .tc253-metric-block{
  border-left:1px solid #e0e9f2;
}
body.app-shell .tc253-metric-label,
body.app-shell .tc253-metric-card span:first-child,
body.app-shell .tc253-metric-block span{
  color:#526176;
  font-size:10.5px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
body.app-shell .tc253-metric-value,
body.app-shell .tc253-metric-block strong{
  color:#08111f;
  font-size:16px;
  line-height:1.1;
  font-weight:950;
  white-space:nowrap;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-metric-value--ok{
  color:#199b37;
}
body.app-shell .tc253-metric-icon{
  display:none;
}
body.app-shell .tc253-ring,
body.app-shell .tc253-ring.tc253-ring--teal{
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#08111f;
  font-size:16px;
}
body.app-shell .tc253-ring::after,
body.app-shell .tc253-ring::before{
  display:none;
}
body.app-shell .tc253-ring b{
  position:static;
  font-size:16px;
  line-height:1.1;
}
body.app-shell .tc253-footer-row,
body.app-shell .tc254-compact-footer{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 0 0;
  border-top:1px solid #e3ebf3;
}
body.app-shell .tc254-compact-footer{
  grid-template-columns:auto minmax(0,1fr) auto;
}
body.app-shell .tc253-operator-chip,
body.app-shell .tc253-avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#eaf2ff;
  color:#2458d4;
  font-size:15px;
  font-weight:950;
}
body.app-shell .tc253-mbin-card .tc253-operator-chip,
body.app-shell .tc253-mbin-card .tc253-avatar{
  background:#e8fbfd;
  color:#0f8a97;
}
body.app-shell .tc253-footer-label,
body.app-shell .tc253-footer-row div span{
  font-size:10.5px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:950;
  color:#5f6e82;
  text-transform:uppercase;
}
body.app-shell .tc253-footer-item strong,
body.app-shell .tc253-footer-row div strong{
  margin-top:4px;
  color:#08111f;
  font-size:14px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-footer-item small{
  display:block;
  margin-top:1px;
  font-size:12px;
  color:#5f6e82;
  font-weight:800;
}
body.app-shell .tc253-rework-badge,
body.app-shell .tc253-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:12px;
  border:1px solid #bed4ff;
  background:#f7fbff;
  color:#3159a7;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
body.app-shell .tc253-chip-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .tc253-action-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:2px;
  padding-top:11px;
  border-top:1px solid #e3ebf3;
}
body.app-shell .tc254-mb2p-card .tc253-action-row,
body.app-shell .tc254-mb2p-rework-card .tc253-action-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .tc253-action-row .btn{
  min-height:40px;
  padding:8px 10px;
  border-radius:12px;
  font-size:13px;
  font-weight:900;
}
body.app-shell .tc253-action-row__full{
  grid-column:1 / -1;
}
body.app-shell .tc254-mb2p-card .tc253-current-row,
body.app-shell .tc254-upstream-card .tc253-current-row,
body.app-shell .tc254-list-mbin-card .tc253-current-row,
body.app-shell .tc254-cell-mbin-card .tc253-current-row{
  grid-template-columns:46px minmax(0,1fr) auto;
}
body.app-shell .tc254-mb2p-card .tc253-current-copy strong,
body.app-shell .tc254-upstream-card .tc253-current-copy strong,
body.app-shell .tc254-list-mbin-card .tc253-current-copy strong,
body.app-shell .tc254-cell-mbin-card .tc253-current-copy strong{
  color:#0f8a97;
  font-size:22px;
}
body.app-shell .tc254-pack-card .tc253-current-copy strong{
  font-size:21px;
}
body.app-shell .tc254-pack-card .tc253-card-id{
  font-size:clamp(27px,1.85vw,36px);
}
body.app-shell .tc254-pack-card .tc253-card-sub{
  font-size:15px;
}
body.app-shell .tc254-pack-card .tc253-progress-panel{
  padding-left:10px;
  padding-right:10px;
}
body.app-shell .tc254-pack-card .tc253-step-node{
  width:30px;
  height:30px;
  border-width:3px;
}
body.app-shell .tc254-pack-card .tc253-progress-step:not(:last-child)::after{
  top:29px;
  left:calc(50% + 15px);
  width:calc(100% - 30px);
}
body.app-shell .tc254-pack-card .tc253-step-label{
  font-size:11px;
}
body.app-shell .tc254-mbin-card .tc253-card-id,
body.app-shell .tc254-mbin-card .tc253-card-title{
  font-size:clamp(25px,1.75vw,34px);
}
body.app-shell .tc254-mbin-card .tc253-step-label{
  font-size:10.5px;
}
body.app-shell .tc254-mbin-card .tc253-step-node{
  width:36px;
  height:36px;
}
body.app-shell .tc254-mbin-card .tc253-progress-step:not(:last-child)::after,
body.app-shell .tc254-mbin-card .tc253-step:not(:last-child)::after{
  top:30px;
  left:calc(50% + 18px);
  width:calc(100% - 36px);
}
body.app-shell .modal-card,
body.app-shell .stage-modal-card,
body.app-shell .tc249-modal-card,
body.app-shell .station-clock-modal-card{
  width:min(860px,calc(100vw - 42px));
  max-width:min(860px,calc(100vw - 42px));
  max-height:min(84dvh,780px);
  border-radius:24px;
}
body.app-shell .modal-card:has(.machine-check-row),
body.app-shell .station-clock-modal-card{
  width:min(1020px,calc(100vw - 42px));
  max-width:min(1020px,calc(100vw - 42px));
}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .tc249-modal-head{
  padding:18px 24px 14px;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .station-trace-body{
  padding:14px 20px;
}
body.app-shell .modal-card > form,
body.app-shell .stage-modal-card > form{
  overflow:auto;
}
body.app-shell .modal-card .grid.two,
body.app-shell .stage-modal-card .grid.two{
  gap:12px 14px;
}
body.app-shell .modal-card > form > .grid.two,
body.app-shell .stage-modal-card > form > .grid.two{
  padding:16px 20px;
}
body.app-shell .modal-card > form > .actions,
body.app-shell .stage-modal-card > form > .actions,
body.app-shell .modal-card .actions:last-child,
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer{
  padding:14px 20px 16px;
  justify-content:flex-end;
}
@media (min-width:1480px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #mbinAssemblyCards,
  body.app-shell #mbinQuickCards{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:1280px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #mbinAssemblyCards,
  body.app-shell #mbinQuickCards{
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  }
  body.app-shell .tc253-card-id,
  body.app-shell .tc253-card-title{
    font-size:28px;
  }
}
@media (max-width:760px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid.tc251-mbin-operational-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #mbinAssemblyCards,
  body.app-shell #mbinQuickCards{
    grid-template-columns:1fr;
  }
  body.app-shell .tc254-card-shell,
  body.app-shell .tc253-card-shell.tc254-card-shell{
    padding:18px;
    gap:12px;
  }
  body.app-shell .tc253-current-row,
  body.app-shell .tc253-mbin-current{
    grid-template-columns:44px minmax(0,1fr);
  }
  body.app-shell .tc253-state-badge,
  body.app-shell .tc253-status-badge{
    grid-column:2;
    justify-self:start;
  }
  body.app-shell .tc253-metric-grid--three,
  body.app-shell .tc253-metric-grid--four,
  body.app-shell .tc253-mbin-metrics,
  body.app-shell .tc254-mini-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.app-shell .tc253-metric-card:nth-child(odd),
  body.app-shell .tc253-metric-block:nth-child(odd){border-left:0;}
  body.app-shell .tc253-metric-card:nth-child(n/**/+3),
  body.app-shell .tc253-metric-block:nth-child(n/**/+3){border-top:1px solid #e0e9f2;}
  body.app-shell .tc253-footer-row,
  body.app-shell .tc254-compact-footer{
    grid-template-columns:auto minmax(0,1fr);
  }
  body.app-shell .tc253-rework-badge{
    justify-self:start;
  }
  body.app-shell .modal-card,
  body.app-shell .stage-modal-card,
  body.app-shell .tc249-modal-card,
  body.app-shell .station-clock-modal-card,
  body.app-shell .modal-card:has(.machine-check-row){
    width:calc(100vw - 18px);
    max-width:calc(100vw - 18px);
    max-height:calc(100dvh - 18px);
  }
}
@media (max-width:460px){
  body.app-shell .tc253-progress-grid--pack{
    grid-template-columns:repeat(5,minmax(0,1fr));
    row-gap:12px;
  }
  body.app-shell .tc253-progress-grid--mbin,
  body.app-shell .tc253-mbin-progress .tc253-progress-strip{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  body.app-shell .tc253-step-label{
    font-size:9.5px;
  }
  body.app-shell .tc253-action-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.tc251-mbin-operational-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell #mbinQuickCards,
body.app-shell #mbinAssemblyCards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:18px;
  align-items:stretch;
}
body.app-shell .station-pack-card.tc247-pack-card,
body.app-shell .entity-card.tc247-mbin-card,
body.app-shell .entity-card.mbin-convert-card.tc247-mbin-card,
body.app-shell button.entity-card.tc246-mbin-op-card,
body.app-shell a.entity-card.tc246-cell-mbin-card{
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  border-radius:30px;
  min-width:0;
  overflow:visible;
  text-align:left;
  color:inherit;
}
body.app-shell button.entity-card.tc246-mbin-op-card{cursor:pointer;width:100%;font:inherit;}
body.app-shell .tc253-card-shell.tc254-card-shell,
body.app-shell .tc253-card-shell{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:402px;
  height:100%;
  padding:22px 24px 20px;
  border:1px solid rgba(173,197,224,.86);
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 6%,rgba(37,99,235,.06),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,251,255,.97));
  box-shadow:0 18px 42px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.88);
  overflow:hidden;
  transform:translateZ(0);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
body.app-shell .tc253-card-shell:hover{
  transform:translateY(-2px);
  border-color:rgba(89,153,241,.78);
  box-shadow:0 22px 56px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.92);
}
body.app-shell .tc253-card-shell::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:30px 0 0 30px;
  background:linear-gradient(180deg,#2f7bff,#39d0cf);
}
body.app-shell .tc253-mbin-shell::before{
  background:linear-gradient(180deg,#1fbecf,#33bf4f);
}
body.app-shell .station-pack-card.is-rework .tc253-card-shell::before,
body.app-shell .entity-card.is-rework .tc253-card-shell::before{
  background:linear-gradient(180deg,#f59e0b,#33bf4f);
}
body.app-shell .tc253-card-top,
body.app-shell .tc253-mbin-top,
body.app-shell .entity-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
  padding:0 0 16px;
  border-bottom:1px solid rgba(203,213,225,.76);
}
body.app-shell .tc253-card-head-copy,
body.app-shell .tc253-title-stack{min-width:0;}
body.app-shell .tc253-card-id,
body.app-shell .entity-code{
  font-size:clamp(25px,2vw,36px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:950;
  color:#08111f;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
body.app-shell .tc253-card-sub,
body.app-shell .muted.small.tc253-card-sub{
  display:block;
  margin-top:8px;
  font-size:14px;
  line-height:1.22;
  color:#526174;
  font-weight:760;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-tag,
body.app-shell .pack-type-pill,
body.app-shell .tc253-tag--pack,
body.app-shell .tc253-tag--mbin{
  display:inline-grid;
  place-items:center;
  min-width:72px;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(61,130,246,.40);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(239,246,255,.94));
  color:#1d5eea;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
body.app-shell .tc253-tag--mbin{
  border-color:rgba(31,190,207,.38);
  background:linear-gradient(180deg,rgba(244,253,255,.98),rgba(232,251,252,.94));
  color:#118391;
}
body.app-shell .tc253-current-row,
body.app-shell .tc253-mbin-current{
  display:grid;
  grid-template-columns:60px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:4px 0 2px;
  min-width:0;
}
body.app-shell .tc253-iconbox{
  width:56px;
  height:56px;
  border-radius:15px;
  display:grid;
  place-items:center;
  border:1px solid rgba(77,140,252,.36);
  background:linear-gradient(180deg,rgba(244,249,255,.96),rgba(235,244,255,.98));
  color:#2563eb;
  font-size:24px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}
body.app-shell .tc253-iconbox--teal{
  border-color:rgba(31,190,207,.38);
  color:#1199a7;
  background:linear-gradient(180deg,rgba(245,253,255,.98),rgba(232,250,252,.98));
}
body.app-shell .tc253-current-copy,
body.app-shell .tc253-current-copy--teal{min-width:0;display:block;}
body.app-shell .tc253-overline{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.095em;
  text-transform:uppercase;
  color:#64748b;
  font-weight:900;
  white-space:nowrap;
}
body.app-shell .tc253-current-copy strong{
  display:block;
  min-width:0;
  font-size:clamp(19px,1.42vw,27px);
  line-height:1.14;
  letter-spacing:-.035em;
  color:#1e62f0;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-current-copy--teal strong{color:#0f7d8a;}
body.app-shell .tc253-state-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 15px;
  border-radius:14px;
  border:1px solid rgba(34,184,63,.28);
  background:rgba(233,250,235,.92);
  color:#15831f;
  font-size:14px;
  line-height:1;
  font-weight:930;
  white-space:nowrap;
}
body.app-shell .tc253-state-badge::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#2fb83e;
  box-shadow:0 0 0 4px rgba(47,184,62,.12);
}
body.app-shell .tc253-state-badge.is-progress{background:#e9faec;color:#228331;}
body.app-shell .tc253-state-badge.is-rework{background:#fff8e8;color:#a16207;border-color:rgba(245,158,11,.32);}
body.app-shell .tc253-state-badge.is-rework::before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12);}
body.app-shell .tc253-progress-panel,
body.app-shell .tc254-mbin-progress{
  position:relative;
  border:1px solid rgba(203,218,234,.86);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(248,252,255,.98),rgba(241,248,252,.96));
  padding:15px 14px 14px;
  overflow:hidden;
}
body.app-shell .tc253-progress-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:2px;
  align-items:start;
}
body.app-shell .tc253-progress-grid::before{
  content:"";
  position:absolute;
  left:calc(100% / var(--tc255-steps, 10) / 2);
  right:calc(100% / var(--tc255-steps, 10) / 2);
  top:36px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#28a83a 0 calc(var(--tc255-done, 0) * 1%),#cbd5e1 calc(var(--tc255-done, 0) * 1%) 100%);
  z-index:-1;
}
body.app-shell .tc253-progress-grid--pack{--tc255-steps:10;grid-template-columns:repeat(10,minmax(0,1fr));}
body.app-shell .tc253-progress-grid--mbin{--tc255-steps:5;grid-template-columns:repeat(5,minmax(0,1fr));}
body.app-shell .tc253-progress-step{
  position:relative;
  display:grid;
  justify-items:center;
  align-items:start;
  min-width:0;
  gap:8px;
  color:#465568;
}
body.app-shell .tc253-step-label{
  order:0;
  display:block;
  width:100%;
  min-height:18px;
  text-align:center;
  font-size:11px;
  line-height:1.05;
  letter-spacing:.02em;
  color:#425168;
  font-weight:900;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
}
body.app-shell .tc253-progress-grid--pack .tc253-step-label{font-size:11px;white-space:nowrap;}
body.app-shell .tc253-step-node{
  order:1;
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:3px solid #cbd5e1;
  color:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.9);
  z-index:1;
}
body.app-shell .tc253-progress-grid--pack .tc253-step-node{width:27px;height:27px;border-width:3px;}
body.app-shell .tc253-step-node i{
  display:block;
  font-style:normal;
  font-weight:950;
  font-size:16px;
  line-height:1;
}
body.app-shell .tc253-progress-step.is-done .tc253-step-node{
  background:#28aa3a;
  border-color:#28aa3a;
  color:#fff;
}
body.app-shell .tc253-progress-step.is-active .tc253-step-node{
  background:#fff;
  border-color:#2db8c5;
  box-shadow:0 0 0 6px rgba(45,184,197,.14),0 3px 10px rgba(15,23,42,.08);
}
body.app-shell .tc253-progress-grid--pack .tc253-progress-step.is-active .tc253-step-node{border-color:#2f7bff;box-shadow:0 0 0 6px rgba(47,123,255,.12),0 3px 10px rgba(15,23,42,.08);}
body.app-shell .tc253-progress-step.is-active .tc253-step-node i{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#2f7bff;
  color:transparent;
}
body.app-shell .tc253-progress-grid--mbin .tc253-progress-step.is-active .tc253-step-node i{background:#22aebd;}
body.app-shell .tc253-step-repeat{
  position:absolute;
  top:17px;
  right:calc(50% - 24px);
  min-width:22px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#f59e0b;
  color:#111827;
  font-style:normal;
  font-size:10px;
  font-weight:950;
  line-height:18px;
  text-align:center;
  box-shadow:0 2px 8px rgba(245,158,11,.25);
  z-index:3;
}
body.app-shell .tc253-metric-grid{
  display:grid;
  gap:0;
  border:1px solid rgba(203,218,234,.88);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
}
body.app-shell .tc253-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc253-metric-card{
  min-width:0;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:12px 8px;
  border-left:1px solid rgba(203,218,234,.78);
  text-align:center;
  overflow:hidden;
}
body.app-shell .tc253-metric-card:first-child{border-left:0;}
body.app-shell .tc253-metric-label{
  display:block;
  font-size:11px;
  line-height:1.08;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#56667b;
  font-weight:950;
}
body.app-shell .tc253-metric-value strong{
  display:block;
  color:#071121;
  font-size:16px;
  line-height:1.1;
  font-weight:950;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-metric-value--ok{
  color:#119323;
  font-size:21px;
  font-weight:950;
}
body.app-shell .tc253-metric-icon{
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:12px;
  background:#22aa37;
  color:#fff;
  margin-right:6px;
}
body.app-shell .tc253-ring{
  --pct:100;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#2bb8c5 calc(var(--pct)*1%),#e2e8f0 0);
  box-shadow:inset 0 0 0 7px #fff;
  border:1px solid rgba(45,184,197,.25);
}
body.app-shell .station-pack-card .tc253-ring{background:conic-gradient(#22b83f calc(var(--pct)*1%),#e2e8f0 0);}
body.app-shell .tc253-ring b{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff;
  color:#071121;
  font-size:14px;
  font-weight:950;
}
body.app-shell .tc253-metric-value--stack strong{font-size:15px;}
body.app-shell .tc253-metric-value--stack small{display:block;margin-top:2px;color:#64748b;font-weight:800;font-size:12px;}
body.app-shell .tc253-footer-row,
body.app-shell .tc253-footer-row--mbin{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(0,1.15fr) auto;
  gap:13px;
  align-items:center;
  padding-top:14px;
  border-top:1px solid rgba(203,213,225,.76);
  min-width:0;
}
body.app-shell .tc253-operator-chip{
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#eaf2ff,#f5f9ff);
  color:#1d5eea;
  font-weight:950;
  font-size:16px;
}
body.app-shell .tc253-operator-chip--teal{background:linear-gradient(180deg,#e6fbfd,#f4fdff);color:#0f8c9b;}
body.app-shell .tc253-footer-item{min-width:0;display:block;}
body.app-shell .tc253-footer-label{
  display:block;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#64748b;
  font-weight:900;
  line-height:1.1;
}
body.app-shell .tc253-footer-item strong{
  display:block;
  margin-top:4px;
  color:#071121;
  font-size:14px;
  font-weight:920;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc253-footer-item small{display:block;color:#64748b;font-size:12px;font-weight:800;}
body.app-shell .tc253-rework-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(61,130,246,.30);
  background:#eef6ff;
  color:#1d5eea;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}
body.app-shell .tc253-action-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:auto;
}
body.app-shell .station-pack-card .tc253-action-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .tc253-action-row .btn,
body.app-shell .station-pack-card .btn{
  min-height:42px;
  border-radius:14px;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
body.app-shell .tc253-action-row .danger,
body.app-shell .station-pack-card .btn.danger{
  background:#fff1f4;
  border-color:rgba(244,63,94,.28);
  color:#be123c;
}
body.app-shell .station-pack-card .btn.primary,
body.app-shell .tc253-action-row .btn.primary{
  background:linear-gradient(135deg,#2ab2c7,#3cc6b3);
  border-color:rgba(42,178,199,.55);
  color:#fff;
  box-shadow:0 10px 24px rgba(42,178,199,.20);
}
body.app-shell .tc254-mb2p-card .tc253-card-shell{min-height:438px;}
body.app-shell .tc254-upstream-card .tc253-card-shell,
body.app-shell .tc254-list-mbin-card .tc253-card-shell,
body.app-shell .tc254-cell-mbin-card .tc253-card-shell{min-height:392px;}
body.app-shell .tc254-list-mbin-card .tc253-metric-grid,
body.app-shell .tc254-cell-mbin-card .tc253-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
body.app-shell .tc254-list-mbin-card .tc253-metric-card:nth-child(odd),
body.app-shell .tc254-cell-mbin-card .tc253-metric-card:nth-child(odd){border-left:0;}
body.app-shell .tc254-list-mbin-card .tc253-metric-card,
body.app-shell .tc254-cell-mbin-card .tc253-metric-card{min-height:68px;}
body.app-shell .modal.open>.modal-card,
body.app-shell .modal.is-open>.modal-card,
body.app-shell .modal.show>.modal-card,
body.app-shell .modal .modal-card{
  width:min(1080px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  display:flex;
  flex-direction:column;
  border-radius:26px;
  border:1px solid rgba(203,213,225,.88);
  background:rgba(255,255,255,.98);
  box-shadow:0 28px 80px rgba(15,23,42,.24);
  overflow:hidden;
}
body.app-shell .modal-card.lg,
body.app-shell .modal-card.stage-modal-card,
body.app-shell .modal-card.stage-modal-card--xl{width:min(1120px,calc(100vw - 32px));}
body.app-shell .modal-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:22px 24px 16px;
  border-bottom:1px solid rgba(226,232,240,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,252,255,.96));
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-head .modal-title{font-size:22px;line-height:1.14;letter-spacing:-.025em;color:#071121;font-weight:900;}
body.app-shell .modal-head .muted{font-size:14px;margin-top:5px;max-width:760px;}
body.app-shell .modal-close,
body.app-shell [data-close-modal],
body.app-shell [data-modal-close].modal-close{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:13px;
  border:1px solid rgba(203,213,225,.9);
  background:#fff;
  color:#0f172a;
  display:grid;
  place-items:center;
  font-size:22px;
  line-height:1;
}
body.app-shell .modal-body,
body.app-shell .tc242-stage-modal-body{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow:auto;
  padding:18px 24px;
}
body.app-shell .modal-card>.actions,
body.app-shell .modal-card form>.actions,
body.app-shell .modal-card .tc247-modal-footer{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin:0;
  padding:16px 24px;
  border-top:1px solid rgba(226,232,240,.9);
  background:rgba(255,255,255,.98);
  box-shadow:0 -12px 32px rgba(15,23,42,.04);
}
body.app-shell .modal-grid,
body.app-shell .stage-modal-grid,
body.app-shell .form.grid.two,
body.app-shell .form-grid.two{
  display:grid;
  grid-template-columns:repeat(2,minmax(240px,1fr));
  gap:14px 16px;
}
body.app-shell .modal-grid .full,
body.app-shell .stage-modal-grid .full,
body.app-shell .form-grid .full{grid-column:1 / -1;}
body.app-shell .modal-card .input,
body.app-shell .modal-card select,
body.app-shell .modal-card textarea{min-height:44px;border-radius:12px;}
body.app-shell .modal-card textarea{min-height:96px;}
body.app-shell .modal-card .btn.primary,
body.app-shell .modal-card button[type="submit"].btn.primary{
  background:linear-gradient(135deg,#12a8bd,#35c4ae);
  border-color:rgba(18,168,189,.55);
  color:#fff;
  box-shadow:0 10px 26px rgba(18,168,189,.22);
}
body.app-shell .modal-card .btn.danger{
  background:#fff1f2;
  border-color:rgba(244,63,94,.35);
  color:#be123c;
}
.fpp255-page{
  --fpp-blue:#2266f0;
  --fpp-teal:#18a8b8;
  --fpp-green:#1fa83a;
  --fpp-ink:#08111f;
  --fpp-muted:#64748b;
  display:grid;
  gap:18px;
  color:var(--fpp-ink);
}
.fpp255-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:4px 0 2px;
}
.fpp255-header-main{display:flex;align-items:center;gap:14px;min-width:0;}
.fpp255-back{width:42px;height:42px;border-radius:14px;border:1px solid rgba(203,213,225,.86);background:#fff;display:grid;place-items:center;text-decoration:none;color:#0f172a;font-size:22px;box-shadow:0 10px 24px rgba(15,23,42,.06);}
.fpp255-crumb{font-size:13px;color:var(--fpp-muted);font-weight:760;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.fpp255-crumb span{color:#94a3b8;}
.fpp255-header h1{margin:5px 0 0;font-size:clamp(26px,2.2vw,38px);letter-spacing:-.05em;line-height:1.05;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.fpp255-status{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;font-size:13px;font-weight:900;letter-spacing:.01em;border:1px solid rgba(203,213,225,.8);background:#f8fafc;color:#334155;}
.fpp255-status.is-ok{background:#ecfdf0;color:#168327;border-color:rgba(34,184,63,.28);}
.fpp255-status.is-warn{background:#fff8e8;color:#a16207;border-color:rgba(245,158,11,.34);}
.fpp255-status.is-info{background:#eff6ff;color:#1d5eea;border-color:rgba(61,130,246,.28);}
.fpp255-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.fpp255-search{min-width:260px;}
.fpp255-hero{
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(360px,1fr) minmax(250px,330px);
  gap:22px;
  align-items:stretch;
  padding:24px;
  border:1px solid rgba(181,204,229,.82);
  border-radius:34px;
  background:radial-gradient(circle at 80% 10%,rgba(34,102,240,.07),transparent 28%),linear-gradient(140deg,#fff,#f8fbff 58%,#f2fbff);
  box-shadow:0 24px 80px rgba(15,23,42,.09),inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}
.fpp255-product-frame{position:relative;min-height:270px;border:1px solid rgba(203,213,225,.86);border-radius:28px;background:linear-gradient(180deg,#fff,#f2f8ff);display:grid;place-items:center;overflow:hidden;}
.fpp255-product-glow{position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(24,168,184,.16),transparent 68%);filter:blur(2px);}
.fpp255-product-frame img{position:relative;max-width:88%;max-height:210px;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(15,23,42,.18));}
.fpp255-gallery{position:absolute;left:18px;bottom:16px;display:flex;gap:8px;}
.fpp255-gallery span{width:38px;height:6px;border-radius:999px;background:#cbd5e1;}
.fpp255-gallery span:first-child{background:var(--fpp-teal);}
.fpp255-identity{min-width:0;padding:6px 0;}
.fpp255-tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.fpp255-soft-tag{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 11px;background:#f8fafc;border:1px solid rgba(203,213,225,.85);color:#475569;font-size:12px;font-weight:900;}
.fpp255-soft-tag.is-blue{background:#eef6ff;color:var(--fpp-blue);border-color:rgba(34,102,240,.24);}
.fpp255-soft-tag.is-green{background:#ecfdf0;color:#15831f;border-color:rgba(34,184,63,.24);}
.fpp255-soft-tag.is-amber{background:#fff8e8;color:#a16207;border-color:rgba(245,158,11,.32);}
.fpp255-identity h2{margin:0;font-size:clamp(34px,3.4vw,56px);line-height:.98;letter-spacing:-.065em;font-weight:950;color:var(--fpp-ink);display:flex;gap:10px;align-items:center;min-width:0;}
.fpp255-copy{width:34px;height:34px;border-radius:10px;border:1px solid rgba(203,213,225,.86);background:#fff;color:#64748b;display:grid;place-items:center;font-size:15px;}
.fpp255-identity p{margin:9px 0 18px;color:#526174;font-size:18px;font-weight:760;}
.fpp255-identity p span{color:#94a3b8;margin:0 8px;}
.fpp255-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fpp255-hero-grid div,.fpp255-cost-split div,.fpp255-dispatch-grid div{padding:12px 13px;border:1px solid rgba(218,226,236,.86);border-radius:16px;background:rgba(255,255,255,.78);min-width:0;}
.fpp255-hero-grid span,.fpp255-cost-split span,.fpp255-dispatch-grid span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fpp-muted);font-weight:900;}
.fpp255-hero-grid strong,.fpp255-cost-split strong,.fpp255-dispatch-grid strong{display:block;margin-top:5px;font-size:14px;line-height:1.2;color:var(--fpp-ink);font-weight:900;overflow-wrap:anywhere;}
.fpp255-commercial{display:grid;gap:12px;align-content:start;}
.fpp255-price-card{padding:22px;border-radius:24px;border:1px solid rgba(24,168,184,.24);background:linear-gradient(140deg,#effdff,#fff);box-shadow:0 16px 38px rgba(24,168,184,.10);}
.fpp255-price-card span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fpp-muted);font-weight:900;}
.fpp255-price-card strong{display:block;margin-top:8px;font-size:clamp(28px,2.4vw,40px);letter-spacing:-.05em;color:#047b87;line-height:1;}
.fpp255-price-card small{display:block;margin-top:8px;color:#15831f;font-weight:900;}
.fpp255-cost-split{display:grid;grid-template-columns:1fr;gap:10px;}
.fpp255-kpis{display:grid;grid-template-columns:repeat(8,minmax(132px,1fr));gap:12px;}
.fpp255-kpi{padding:15px;border-radius:22px;border:1px solid rgba(203,213,225,.78);background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.045);display:grid;gap:8px;min-width:0;}
.fpp255-kpi i{width:38px;height:38px;border-radius:14px;background:#edf7ff;color:var(--fpp-blue);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:950;}
.fpp255-kpi span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fpp-muted);font-weight:900;}
.fpp255-kpi strong{font-size:17px;line-height:1.1;color:var(--fpp-ink);font-weight:930;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fpp255-main-grid{display:grid;grid-template-columns:1.15fr .92fr .92fr;gap:16px;align-items:stretch;}
.fpp255-card{border:1px solid rgba(203,213,225,.8);border-radius:26px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.055);padding:20px;overflow:hidden;}
.fpp255-card-head{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;}
.fpp255-card-head.is-row{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;}
.fpp255-card h3{margin:0;font-size:20px;line-height:1.12;letter-spacing:-.03em;color:var(--fpp-ink);}
.fpp255-card-head span{color:var(--fpp-muted);font-size:13px;font-weight:760;}
.fpp255-spec-list,.fpp255-fin-list{display:grid;gap:8px;}
.fpp255-spec-list div,.fpp255-fin-list div{display:grid;grid-template-columns:minmax(120px,.8fr) 1fr;gap:12px;align-items:start;border-bottom:1px solid rgba(226,232,240,.8);padding-bottom:8px;}
.fpp255-spec-list span,.fpp255-fin-list span{font-size:12px;color:var(--fpp-muted);font-weight:820;}
.fpp255-spec-list strong,.fpp255-fin-list strong{font-size:13px;color:var(--fpp-ink);font-weight:900;text-align:right;overflow-wrap:anywhere;}
.fpp255-fin-list .is-strong{border:1px solid rgba(24,168,184,.22);border-radius:16px;background:#effdff;padding:12px;}
.fpp255-fin-list .is-strong strong{font-size:20px;color:#047b87;}
.fpp255-quality-top{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;margin-bottom:14px;}
.fpp255-ring{--pct:100;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--fpp-green) calc(var(--pct)*1%),#e2e8f0 0);box-shadow:inset 0 0 0 13px #fff,0 12px 24px rgba(31,168,58,.12);border:1px solid rgba(31,168,58,.22);}
.fpp255-ring strong{font-size:28px;letter-spacing:-.04em;}
.fpp255-ring span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fpp-muted);font-weight:900;}
.fpp255-quality-counts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.fpp255-quality-counts div{border:1px solid rgba(226,232,240,.9);border-radius:15px;padding:10px;background:#f8fafc;}
.fpp255-quality-counts span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fpp-muted);font-weight:900;}
.fpp255-quality-counts strong{display:block;font-size:18px;margin-top:4px;}
.fpp255-mini-checks{display:grid;gap:8px;margin-bottom:14px;}
.fpp255-mini-checks div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(226,232,240,.82);border-radius:14px;padding:9px 10px;background:#fbfdff;}
.fpp255-mini-checks span{font-size:13px;font-weight:820;color:#334155;}
.fpp255-result{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.03em;border:1px solid rgba(203,213,225,.8);background:#f8fafc;color:#475569;}
.fpp255-result.is-pass{background:#ecfdf0;color:#168327;border-color:rgba(34,184,63,.26);}
.fpp255-result.is-fail{background:#fff1f2;color:#be123c;border-color:rgba(244,63,94,.30);}
.fpp255-result.is-pending{background:#fff8e8;color:#a16207;border-color:rgba(245,158,11,.28);}
.fpp255-flow{display:grid;grid-template-columns:repeat(12,minmax(110px,1fr));gap:10px;overflow:auto;padding-bottom:4px;}
.fpp255-flow-node{position:relative;min-width:110px;border:1px solid rgba(203,213,225,.86);border-radius:18px;background:#f8fafc;padding:13px;display:grid;gap:6px;}
.fpp255-flow-node.is-done{background:linear-gradient(180deg,#f0fff4,#fff);border-color:rgba(34,184,63,.28);}
.fpp255-flow-node i{width:28px;height:28px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;display:grid;place-items:center;font-style:normal;font-weight:950;color:#fff;}
.fpp255-flow-node.is-done i{background:var(--fpp-green);border-color:var(--fpp-green);}
.fpp255-flow-node strong{font-size:14px;color:var(--fpp-ink);}
.fpp255-flow-node span{font-size:12px;font-weight:850;color:#334155;line-height:1.15;}
.fpp255-flow-node small,.fpp255-flow-node em{font-size:11px;color:var(--fpp-muted);font-style:normal;line-height:1.15;}
.fpp255-table{width:100%;border-collapse:separate;border-spacing:0 8px;}
.fpp255-table th{text-align:left;padding:0 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fpp-muted);font-weight:950;}
.fpp255-table td{padding:12px 10px;border-top:1px solid rgba(226,232,240,.9);border-bottom:1px solid rgba(226,232,240,.9);background:#f8fafc;font-size:13px;color:#243041;}
.fpp255-table td:first-child{border-left:1px solid rgba(226,232,240,.9);border-radius:14px 0 0 14px;font-weight:900;color:var(--fpp-ink);}
.fpp255-table td:last-child{border-right:1px solid rgba(226,232,240,.9);border-radius:0 14px 14px 0;}
.fpp255-split{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start;}
.fpp255-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.fpp255-doc{border:1px dashed rgba(148,163,184,.75);border-radius:18px;background:#f8fafc;padding:15px;display:grid;gap:7px;}
.fpp255-doc i{width:42px;height:42px;border-radius:14px;background:#edf7ff;color:var(--fpp-blue);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:950;}
.fpp255-doc strong{font-size:14px;color:var(--fpp-ink);}
.fpp255-doc span{font-size:12px;color:var(--fpp-muted);font-weight:750;}
.fpp255-dispatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
@media (min-width:1500px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.tc251-mbin-operational-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mbinAssemblyCards{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));}
}
@media (max-width:1320px){
  .fpp255-hero{grid-template-columns:280px 1fr;}
  .fpp255-commercial{grid-column:1 / -1;grid-template-columns:1fr 1fr;}
  .fpp255-kpis{grid-template-columns:repeat(4,1fr);}
  .fpp255-main-grid{grid-template-columns:1fr;}
  .fpp255-split{grid-template-columns:1fr;}
}
@media (max-width:820px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.tc251-mbin-operational-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mbinAssemblyCards{grid-template-columns:1fr;}
  body.app-shell .tc253-card-shell{padding:18px 18px 16px;min-height:auto;border-radius:24px;}
  body.app-shell .tc253-card-id{font-size:28px;}
  body.app-shell .tc253-current-row{grid-template-columns:48px minmax(0,1fr);}
  body.app-shell .tc253-iconbox{width:46px;height:46px;border-radius:13px;}
  body.app-shell .tc253-state-badge{grid-column:2;justify-self:start;min-height:36px;}
  body.app-shell .tc253-metric-grid--three,
  body.app-shell .tc253-metric-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc253-metric-card:nth-child(odd){border-left:0;}
  body.app-shell .tc253-footer-row{grid-template-columns:auto 1fr;}
  body.app-shell .tc253-rework-badge{grid-column:1 / -1;justify-self:start;}
  body.app-shell .station-pack-card .tc253-action-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .modal-grid,
  body.app-shell .stage-modal-grid,
  body.app-shell .form.grid.two,
  body.app-shell .form-grid.two{grid-template-columns:1fr;}
  .fpp255-hero{grid-template-columns:1fr;padding:18px;border-radius:26px;}
  .fpp255-product-frame{min-height:210px;}
  .fpp255-hero-grid,.fpp255-commercial,.fpp255-cost-split,.fpp255-dispatch-grid{grid-template-columns:1fr;}
  .fpp255-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fpp255-spec-list div,.fpp255-fin-list div{grid-template-columns:1fr;}
  .fpp255-spec-list strong,.fpp255-fin-list strong{text-align:left;}
  .fpp255-quality-top{grid-template-columns:1fr;justify-items:center;}
  .fpp255-doc-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
  body.app-shell .tc253-progress-grid--pack .tc253-step-node{width:22px;height:22px;border-width:2px;}
  body.app-shell .tc253-progress-grid--pack .tc253-step-label{font-size:9px;}
  body.app-shell .tc253-progress-grid::before{top:31px;}
  body.app-shell .station-pack-card .tc253-action-row,
  body.app-shell .tc253-action-row{grid-template-columns:1fr;}
  .fpp255-kpis{grid-template-columns:1fr;}
  .fpp255-header-actions{width:100%;}
  .fpp255-search{min-width:0;width:100%;}
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell .entity-card-grid.compact-card-grid,
body.app-shell .tc251-mbin-operational-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
  gap:18px;
  align-items:start;
}
body.app-shell #stageModuleCardGrid,
body.app-shell #mb2pCardGrid,
body.app-shell #mbinQuickCards{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
}
body.app-shell .tc256-ref-card,
body.app-shell .station-pack-card.tc256-ref-card,
body.app-shell .entity-card.tc256-ref-card,
body.app-shell .entity-card.mbin-convert-card.tc256-ref-card{
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  padding:0;
  border:1px solid rgba(148,174,209,.52);
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 8%, rgba(56,189,248,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.96));
  box-shadow:0 24px 52px rgba(15,35,80,.11), inset 0 1px 0 rgba(255,255,255,.9);
  color:#081323;
  overflow:hidden;
  text-align:left;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.app-shell .tc256-ref-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#2482ff,#3cc9bd);
}
body.app-shell .tc256-ref-card--mbin::before,
body.app-shell .tc256-ref-card--mb2p::before{
  background:linear-gradient(180deg,#00a6b4,#2bbf74);
}
body.app-shell .tc256-ref-card:hover{
  transform:translateY(-2px);
  box-shadow:0 30px 60px rgba(15,35,80,.15), inset 0 1px 0 rgba(255,255,255,.95);
  border-color:rgba(58,130,247,.45);
}
body.app-shell .tc256-card-shell{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:22px 22px 20px 24px;
  min-width:0;
}
body.app-shell .tc256-card-top,
body.app-shell .tc253-card-top.tc256-card-top{
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  min-height:78px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(203,213,225,.82);
}
body.app-shell .tc256-top-icon{
  width:62px;
  height:62px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:34px;
  font-weight:900;
  border:1px solid rgba(56,132,255,.32);
  background:linear-gradient(180deg,rgba(232,242,255,.95),rgba(246,250,255,.96));
  color:#0d55e8;
  box-shadow:0 12px 26px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.82);
}
body.app-shell .tc256-top-icon--mbin,
body.app-shell .tc256-top-icon--mb2p{
  color:#08828c;
  border-color:rgba(20,184,166,.34);
  background:linear-gradient(180deg,rgba(232,252,253,.95),rgba(247,253,250,.96));
}
body.app-shell .tc256-ref-card--mbin.is-time-warn::before,
body.app-shell .tc256-ref-card--mb2p.is-time-warn::before{background:#f59e0b;}
body.app-shell .tc256-title-block,
body.app-shell .tc253-card-head-copy.tc256-title-block,
body.app-shell .tc253-title-stack.tc256-title-block{
  min-width:0;
  display:block;
  overflow:visible;
}
body.app-shell .tc256-card-id,
body.app-shell .tc253-card-id.tc256-card-id,
body.app-shell .tc256-ref-card .tc253-card-id,
body.app-shell .tc256-ref-card .entity-code,
body.app-shell .tc256-ref-card .tc244-entity-code{
  font-size:clamp(25px,2.1vw,36px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.05em;
  color:#07111f;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc256-card-sub,
body.app-shell .tc253-card-sub.tc256-card-sub,
body.app-shell .tc256-ref-card .muted.small{
  margin-top:7px;
  font-size:15px;
  line-height:1.25;
  font-weight:750;
  color:#53637a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc256-tag,
body.app-shell .tc256-ref-card .tc253-tag,
body.app-shell .tc256-ref-card .pill{
  border-radius:13px;
  padding:11px 16px;
  min-width:70px;
  justify-content:center;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  color:#0d55e8;
  border:1px solid rgba(69,125,255,.34);
  background:linear-gradient(180deg,rgba(244,249,255,.96),rgba(232,242,255,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
body.app-shell .tc256-ref-card--mbin .tc256-tag,
body.app-shell .tc256-ref-card--mb2p .tc256-tag,
body.app-shell .tc256-ref-card--mbin .tc253-tag,
body.app-shell .tc256-ref-card--mb2p .tc253-tag{
  color:#087c89;
  border-color:rgba(20,184,166,.36);
  background:linear-gradient(180deg,rgba(239,253,255,.98),rgba(231,250,246,.96));
}
body.app-shell .tc256-current-row,
body.app-shell .tc253-current-row.tc256-current-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:0 0 16px;
  border-bottom:1px solid rgba(203,213,225,.76);
}
body.app-shell .tc256-current-row .tc253-iconbox,
body.app-shell .tc256-ref-card .tc253-iconbox{
  width:52px;
  height:52px;
  border-radius:14px;
  border:1px solid rgba(69,125,255,.28);
  background:linear-gradient(180deg,rgba(241,247,255,.96),rgba(248,252,255,.96));
  color:#1458e8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:900;
}
body.app-shell .tc256-ref-card--mbin .tc253-iconbox,
body.app-shell .tc256-ref-card--mb2p .tc253-iconbox,
body.app-shell .tc256-current-row .tc253-iconbox--teal{
  color:#047783;
  border-color:rgba(20,184,166,.32);
  background:linear-gradient(180deg,rgba(237,253,254,.96),rgba(248,253,250,.96));
}
body.app-shell .tc256-current-row .tc253-overline,
body.app-shell .tc256-ref-card .tc253-overline,
body.app-shell .tc256-ref-card .tc253-metric-label,
body.app-shell .tc256-ref-card .tc253-footer-label{
  font-size:12px;
  line-height:1.05;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  color:#526176;
}
body.app-shell .tc256-current-row .tc253-current-copy strong,
body.app-shell .tc256-ref-card .tc253-current-copy strong{
  display:block;
  margin-top:5px;
  font-size:clamp(21px,1.6vw,27px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
  color:#0c62e8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc256-ref-card--mbin .tc253-current-copy strong,
body.app-shell .tc256-ref-card--mb2p .tc253-current-copy strong{
  color:#08828c;
}
body.app-shell .tc256-ref-card .tc253-state-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:13px;
  padding:11px 14px;
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
  color:#168821;
  background:linear-gradient(180deg,rgba(240,253,244,.98),rgba(229,248,233,.96));
  border:1px solid rgba(34,197,94,.26);
}
body.app-shell .tc256-ref-card .tc253-state-badge::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#1fb83b;
  box-shadow:0 0 0 5px rgba(34,197,94,.12);
}
body.app-shell .tc256-ref-card .tc253-state-badge.is-rework{
  color:#b45309;
  background:linear-gradient(180deg,#fff7ed,#fffbeb);
  border-color:rgba(245,158,11,.35);
}
body.app-shell .tc256-ref-card .tc253-state-badge.is-rework::before{background:#f59e0b; box-shadow:0 0 0 5px rgba(245,158,11,.12);}
body.app-shell .tc256-progress-panel,
body.app-shell .tc253-progress-panel.tc256-progress-panel{
  padding:18px 14px 16px;
  border:1px solid rgba(199,213,231,.82);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(252,254,255,.98),rgba(246,250,253,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
  overflow:hidden;
}
body.app-shell .tc256-ref-card .tc253-progress-grid{
  display:grid;
  gap:0;
  align-items:start;
  width:100%;
  min-width:0;
}
body.app-shell .tc256-ref-card .tc253-progress-grid--pack{grid-template-columns:repeat(10,minmax(0,1fr));}
body.app-shell .tc256-ref-card .tc253-progress-grid--mbin{grid-template-columns:repeat(5,minmax(0,1fr));}
body.app-shell .tc256-ref-card .tc253-progress-step{
  min-width:0;
  display:grid;
  grid-template-rows:minmax(28px,auto) 38px;
  place-items:center;
  position:relative;
  gap:7px;
  overflow:visible;
}
body.app-shell .tc256-ref-card .tc253-progress-step::after{
  content:"";
  position:absolute;
  left:50%;
  right:-50%;
  top:calc(28px + 19px);
  height:3px;
  background:#cfd9e8;
  z-index:0;
}
body.app-shell .tc256-ref-card .tc253-progress-step:last-child::after{display:none;}
body.app-shell .tc256-ref-card .tc253-progress-step.is-done::after{background:#20a83a;}
body.app-shell .tc256-ref-card .tc253-step-label{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  text-align:center;
  font-size:12px;
  line-height:1.02;
  min-height:24px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#37465a;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:normal;
}
body.app-shell .tc256-ref-card .tc253-step-node{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #cbd5e1;
  background:#fff;
  color:#fff;
  display:grid;
  place-items:center;
  position:relative;
  z-index:1;
  box-shadow:0 3px 8px rgba(15,23,42,.08);
}
body.app-shell .tc256-ref-card .tc253-progress-step.is-done .tc253-step-node{
  background:#24ad39;
  border-color:#24ad39;
  color:#fff;
}
body.app-shell .tc256-ref-card .tc253-progress-step.is-active .tc253-step-node{
  width:42px;
  height:42px;
  border:4px solid #3182ff;
  background:#eaf3ff;
  box-shadow:0 0 0 8px rgba(49,130,255,.10), 0 6px 14px rgba(49,130,255,.15);
}
body.app-shell .tc256-ref-card .tc253-progress-step.is-active .tc253-step-node::after{
  content:"";
  width:22px;
  height:22px;
  border-radius:50%;
  background:#1b73ef;
}
body.app-shell .tc256-ref-card--mbin .tc253-progress-step.is-active .tc253-step-node,
body.app-shell .tc256-ref-card--mb2p .tc253-progress-step.is-active .tc253-step-node{
  border-color:#32b6c6;
  background:#e8fbfb;
  box-shadow:0 0 0 8px rgba(50,182,198,.13), 0 6px 14px rgba(50,182,198,.13);
}
body.app-shell .tc256-ref-card--mbin .tc253-progress-step.is-active .tc253-step-node::after,
body.app-shell .tc256-ref-card--mb2p .tc253-progress-step.is-active .tc253-step-node::after{background:#0f9ca8;}
body.app-shell .tc256-ref-card .tc253-step-node i{
  font-style:normal;
  font-size:19px;
  line-height:1;
  font-weight:900;
  position:relative;
  z-index:2;
}
body.app-shell .tc256-ref-card .tc253-progress-step.is-active .tc253-step-node i{display:none;}
body.app-shell .tc256-ref-card .tc253-step-repeat{
  position:absolute;
  top:26px;
  right:calc(50% - 30px);
  min-width:24px;
  height:18px;
  padding:0 6px;
  border-radius:99px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f59e0b;
  color:#fff;
  font-size:11px;
  font-weight:900;
  font-style:normal;
  z-index:3;
  box-shadow:0 4px 10px rgba(245,158,11,.26);
}
body.app-shell .tc256-metric-grid,
body.app-shell .tc253-metric-grid.tc256-metric-grid{
  display:grid;
  gap:0;
  border:1px solid rgba(199,213,231,.82);
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.78);
}
body.app-shell .tc256-ref-card .tc253-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
body.app-shell .tc256-ref-card .tc253-metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc256-ref-card .tc253-metric-card{
  min-width:0;
  min-height:88px;
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  background:rgba(255,255,255,.64);
  border-right:1px solid rgba(203,213,225,.72);
  overflow:hidden;
}
body.app-shell .tc256-ref-card .tc253-metric-card:last-child{border-right:0;}
body.app-shell .tc256-ref-card .tc253-metric-value,
body.app-shell .tc256-ref-card .tc253-metric-value strong{
  font-size:18px;
  line-height:1.08;
  font-weight:900;
  color:#07111f;
}
body.app-shell .tc256-ref-card .tc253-metric-value small{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.1;
  color:#526176;
  font-weight:750;
}
body.app-shell .tc256-ref-card .tc253-metric-value--ok{color:#14a32e; gap:10px; display:flex; align-items:center;}
body.app-shell .tc256-ref-card .tc253-metric-value--ok strong{color:#14a32e;}
body.app-shell .tc256-ref-card .tc253-metric-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#20a83a;
  color:#fff;
  font-size:22px;
  font-weight:900;
}
body.app-shell .tc256-ref-card .tc253-ring{
  --pct:100;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#20a83a calc(var(--pct) * 1%), #d8e2ef 0);
  position:relative;
}
body.app-shell .tc256-ref-card--mbin .tc253-ring,
body.app-shell .tc256-ref-card--mb2p .tc253-ring{background:conic-gradient(#25b6c5 calc(var(--pct) * 1%), #d8e2ef 0);}
body.app-shell .tc256-ref-card .tc253-ring::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.6);
}
body.app-shell .tc256-ref-card .tc253-ring b{
  position:relative;
  z-index:1;
  font-size:15px;
  color:#07111f;
  font-weight:900;
}
body.app-shell .tc256-footer-row,
body.app-shell .tc253-footer-row.tc256-footer-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) minmax(0,1.2fr) auto;
  gap:14px;
  align-items:center;
  padding:0 0 14px;
  border-bottom:1px solid rgba(203,213,225,.76);
}
body.app-shell .tc256-ref-card .tc253-operator-chip{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#0d55e8;
  background:linear-gradient(180deg,#eaf3ff,#f4f8ff);
  font-size:18px;
  font-weight:900;
}
body.app-shell .tc256-ref-card--mbin .tc253-operator-chip,
body.app-shell .tc256-ref-card--mb2p .tc253-operator-chip{
  color:#08828c;
  background:linear-gradient(180deg,#e6fbfc,#f0fcf8);
}
body.app-shell .tc256-ref-card .tc253-footer-item{
  min-width:0;
  display:block;
  overflow:hidden;
}
body.app-shell .tc256-ref-card .tc253-footer-item strong{
  display:block;
  margin-top:4px;
  font-size:15px;
  line-height:1.12;
  font-weight:900;
  color:#07111f;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
body.app-shell .tc256-ref-card .tc253-footer-item small{
  display:block;
  margin-top:3px;
  font-size:12px;
  line-height:1.05;
  color:#526176;
  font-weight:750;
}
body.app-shell .tc256-ref-card .tc253-rework-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:11px 14px;
  border-radius:13px;
  border:1px solid rgba(69,125,255,.28);
  background:linear-gradient(180deg,#eff6ff,#f8fbff);
  color:#1458e8;
  font-weight:900;
  font-size:14px;
}
body.app-shell .tc256-chip-row,
body.app-shell .tc253-chip-row.tc256-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  padding:0;
}
body.app-shell .tc256-ref-card .tc253-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 11px;
  border-radius:12px;
  background:#f4f8ff;
  color:#1e2d43;
  border:1px solid rgba(203,213,225,.9);
  font-size:12px;
  line-height:1;
  font-weight:900;
}
body.app-shell .tc256-action-row,
body.app-shell .tc253-action-row.tc256-action-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0;
}
body.app-shell .tc256-action-row .btn,
body.app-shell .tc256-ref-card .tc253-action-row .btn{
  min-height:42px;
  border-radius:12px;
  font-size:14px;
  font-weight:900;
  padding:10px 12px;
  box-shadow:none;
}
body.app-shell .tc256-action-row .btn.primary,
body.app-shell .tc256-ref-card .tc253-action-row .btn.primary{
  background:linear-gradient(135deg,#21b5c6,#126cff);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 20px rgba(18,108,255,.20);
}
body.app-shell .tc256-action-row .btn.danger,
body.app-shell .tc256-ref-card .tc253-action-row .btn.danger{
  background:#fff5f5;
  border-color:rgba(248,113,113,.45);
  color:#dc2626;
}
body.app-shell .tc256-action-row__full,
body.app-shell .tc253-action-row__full{grid-column:1 / -1;}
body.app-shell .tc256-ref-card--mb2p .tc253-action-row,
body.app-shell .tc256-ref-card--mb2p .tc256-action-row{grid-template-columns:1fr 1fr;}
body.app-shell .tc256-ref-card--mb2p .tc253-action-row .btn.primary,
body.app-shell .tc256-ref-card--mb2p .tc256-action-row .btn.primary{
  background:linear-gradient(135deg,#009a9d,#31c7b6);
  box-shadow:0 12px 22px rgba(0,154,157,.22);
}
body.app-shell .ttit-sheet-card{
  border:1px solid rgba(203,213,225,.92);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,255,.96));
}
body.app-shell .ttit-sheet-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  gap:14px;
  align-items:end;
}
body.app-shell .ttit-section-card{
  border-radius:18px;
  border:1px solid rgba(199,213,231,.88);
  background:#fff;
  padding:14px;
}
body.app-shell .ttit-section-card[aria-hidden="true"]{display:none;}
body.app-shell .ttit-module-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
body.app-shell .ttit-busbar-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px;}
body.app-shell .ttit-busbar-grid .label{font-size:12px;}
body.app-shell .ttit-choice-intro{border-radius:16px;}
body.app-shell .modal.open>.modal-card,
body.app-shell .modal.is-open>.modal-card,
body.app-shell .modal.show>.modal-card{
  width:min(1040px,calc(100vw - 44px));
  max-height:calc(100vh - 44px);
  border-radius:24px;
  display:flex;
  flex-direction:column;
}
body.app-shell .modal-card .modal-head{
  flex:0 0 auto;
  padding:18px 22px;
  border-bottom:1px solid rgba(203,213,225,.78);
}
body.app-shell .modal-card .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:18px 22px;
}
body.app-shell .modal-card .modal-foot,
body.app-shell .modal-card .tc247-modal-footer,
body.app-shell .modal-card .actions:last-child{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(203,213,225,.78);
  padding:14px 22px;
  margin:14px -22px -18px;
  z-index:2;
  backdrop-filter:blur(14px);
}
@media(max-width:1180px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell .entity-card-grid.compact-card-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell #mb2pCardGrid,
  body.app-shell #mbinQuickCards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
  body.app-shell .tc256-card-shell{padding:20px;}
  body.app-shell .tc256-card-top{grid-template-columns:60px minmax(0,1fr) auto; gap:12px;}
  body.app-shell .tc256-top-icon{width:52px;height:52px;font-size:28px;}
  body.app-shell .tc256-card-id{font-size:27px;}
}
@media(max-width:720px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell .entity-card-grid.compact-card-grid,
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell #mb2pCardGrid,
  body.app-shell #mbinQuickCards{grid-template-columns:1fr;}
  body.app-shell .tc256-card-top{grid-template-columns:minmax(0,1fr) auto;}
  body.app-shell .tc256-top-icon{display:none;}
  body.app-shell .tc256-current-row{grid-template-columns:44px minmax(0,1fr);}
  body.app-shell .tc256-current-row .tc253-state-badge{grid-column:2; justify-self:start;}
  body.app-shell .tc256-ref-card .tc253-progress-grid--pack{grid-template-columns:repeat(5,minmax(0,1fr)); row-gap:12px;}
  body.app-shell .tc256-ref-card .tc253-progress-grid--pack .tc253-progress-step:nth-child(5)::after,
  body.app-shell .tc256-ref-card .tc253-progress-grid--pack .tc253-progress-step:nth-child(10)::after{display:none;}
  body.app-shell .tc256-ref-card .tc253-progress-grid--mbin{grid-template-columns:repeat(5,minmax(0,1fr));}
  body.app-shell .tc256-ref-card .tc253-step-label{font-size:10px;}
  body.app-shell .tc256-ref-card .tc253-metric-grid--three,
  body.app-shell .tc256-ref-card .tc253-metric-grid--four{grid-template-columns:1fr 1fr;}
  body.app-shell .tc256-ref-card .tc253-metric-card:nth-child(2n){border-right:0;}
  body.app-shell .tc256-footer-row{grid-template-columns:48px minmax(0,1fr);}
  body.app-shell .tc253-footer-item--badge{grid-column:1 / -1; justify-self:start;}
  body.app-shell .tc256-action-row{grid-template-columns:1fr 1fr;}
  body.app-shell .ttit-sheet-head{grid-template-columns:1fr;}
  body.app-shell .ttit-module-grid{grid-template-columns:1fr;}
  body.app-shell .modal.open>.modal-card,
  body.app-shell .modal.is-open>.modal-card,
  body.app-shell .modal.show>.modal-card{width:calc(100vw - 16px); max-height:calc(100vh - 16px); border-radius:18px;}
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid.mbin-card-grid,
body.app-shell #stageModuleCardGrid,
body.app-shell #mb2pCardGrid,
body.app-shell #mbinQuickCards,
body.app-shell #mbinAssemblyCards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
  align-items:start;
}
body.app-shell .mb2p-page #mb2pCardGrid,
body.app-shell .packs-page #mb2pCardGrid,
body.app-shell .packs-page #packCardGrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.app-shell .station-pack-card,
body.app-shell .mbin-convert-card,
body.app-shell .entity-card[data-module-card],
body.app-shell .compact-card--mbin{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  min-width:0;
}
body.app-shell .station-pack-card > .tc257-card-shell,
body.app-shell .entity-card > .tc257-card-shell,
body.app-shell .compact-card--mbin > .tc257-card-shell{height:100%;}
body.app-shell .tc257-card-shell{
  display:grid;
  gap:12px;
  background:#fff;
  border:1px solid #cfdcec;
  border-radius:22px;
  padding:16px 18px;
  box-shadow:0 10px 26px rgba(30,64,175,.07);
  color:#10223d;
}
body.app-shell .tc257-card-shell--pack{border-left:4px solid #2f6df6;}
body.app-shell .tc257-card-shell--mbin{border-left:4px solid #1bb7c8;}
body.app-shell .tc257-head,
body.app-shell .tc257-station-row,
body.app-shell .tc257-meta-row,
body.app-shell .tc257-actions,
body.app-shell .tc257-chip-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
body.app-shell .tc257-head-copy,
body.app-shell .tc257-station-copy{min-width:0;flex:1 1 190px;}
body.app-shell .tc257-id{
  font-size:21px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.025em;
  color:#091b3b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc257-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  color:#5f7088;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc257-tag,
body.app-shell .tc257-status,
body.app-shell .tc257-chip,
body.app-shell .tc257-rework{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  padding:8px 12px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
body.app-shell .tc257-tag{border:1px solid #9ed3ed;color:#16708c;background:#effbff;min-width:84px;}
body.app-shell .tc257-tag--module{min-width:96px;}
body.app-shell .tc257-overline{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#6c7c93;
}
body.app-shell .tc257-station-copy strong{
  display:block;
  font-size:16px;
  line-height:1.15;
  font-weight:800;
  color:#2563eb;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc257-card-shell--mbin .tc257-station-copy strong{color:#0f766e;}
body.app-shell .tc257-status{background:#eef9ef;border:1px solid #c5e7ca;color:#198b2f;}
body.app-shell .tc257-status.is-progress{background:#eef9ef;color:#207c2d;border-color:#cae8ce;}
body.app-shell .tc257-status.is-complete{background:#edf9ef;color:#1f8a2d;border-color:#c7e9cc;}
body.app-shell .tc257-status.is-rework{background:#fff3ea;color:#c26700;border-color:#ffd6b0;}
body.app-shell .tc257-progress{
  display:grid;
  gap:4px;
  padding:10px 9px;
  border:1px solid #d8e3ef;
  border-radius:17px;
  background:linear-gradient(180deg,#fbfdff,#f6faff);
}
body.app-shell .tc257-progress--pack{grid-template-columns:repeat(10,minmax(0,1fr));}
body.app-shell .tc257-progress--mbin{grid-template-columns:repeat(5,minmax(0,1fr));}
body.app-shell .tc257-step{position:relative;text-align:center;min-width:0;}
body.app-shell .tc257-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:28px;
  left:calc(50% + 10px);
  width:calc(100% - 20px);
  height:2px;
  border-radius:99px;
  background:#d5dfeb;
}
body.app-shell .tc257-step.is-done:not(:last-child)::after{background:#22a038;}
body.app-shell .tc257-step-label{
  display:block;
  min-height:18px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  color:#44566e;
  text-transform:uppercase;
  letter-spacing:.01em;
  word-break:break-word;
}
body.app-shell .tc257-step-node{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin:5px auto 0;
  border-radius:999px;
  border:2px solid #c7d2df;
  background:#fff;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
body.app-shell .tc257-step.is-done .tc257-step-node{background:#2fb340;border-color:#2fb340;}
body.app-shell .tc257-step.is-active .tc257-step-node{border-color:#3ab7c9;box-shadow:0 0 0 4px rgba(58,183,201,.14);}
body.app-shell .tc257-card-shell--pack .tc257-step.is-active .tc257-step-node{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.14);}
body.app-shell .tc257-step-repeat{
  position:absolute;
  top:15px;
  right:-2px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:99px;
  background:#ffb347;
  color:#fff;
  font-style:normal;
  font-size:9px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.app-shell .tc257-metrics{display:grid;gap:0;border:1px solid #d8e3ef;border-radius:17px;overflow:hidden;background:#fff;}
body.app-shell .tc257-metrics--3{grid-template-columns:repeat(3,minmax(0,1fr));}
body.app-shell .tc257-metrics--4{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc257-metric{padding:10px 12px;min-width:0;}
body.app-shell .tc257-metric:not(:last-child){border-right:1px solid #dbe4ef;}
body.app-shell .tc257-metric-label{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7b92;margin-bottom:6px;}
body.app-shell .tc257-metric-value{font-size:13px;line-height:1.25;color:#0e1d39;font-weight:700;}
body.app-shell .tc257-metric-value strong{font-size:15px;line-height:1.2;font-weight:800;color:#081a39;}
body.app-shell .tc257-metric-value small{display:block;margin-top:4px;font-size:11px;color:#61748d;font-weight:700;}
body.app-shell .tc257-metric-value--ok strong{color:#16812c;}
body.app-shell .tc257-metric-value--ring{display:flex;align-items:center;justify-content:center;}
body.app-shell .tc257-ring{--pct:100;width:52px;height:52px;border-radius:999px;background:conic-gradient(#22a83a calc(var(--pct)*1%), #dbe7dd 0);position:relative;display:inline-flex;align-items:center;justify-content:center;}
body.app-shell .tc257-ring::before{content:"";position:absolute;inset:6px;background:#fff;border-radius:999px;}
body.app-shell .tc257-ring b{position:relative;z-index:1;font-size:13px;color:#0f1f3d;}
body.app-shell .tc257-meta-row{padding-top:2px;gap:9px;align-items:center;}
body.app-shell .tc257-operator-badge{width:34px;height:34px;border-radius:999px;background:#e7efff;color:#2b5ff3;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
body.app-shell .tc257-operator-badge--teal{background:#e7f7f9;color:#0e8997;}
body.app-shell .tc257-meta{min-width:0;flex:1 1 78px;}
body.app-shell .tc257-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#6c7d93;font-weight:800;margin-bottom:3px;}
body.app-shell .tc257-meta strong{display:block;font-size:12px;line-height:1.2;font-weight:800;color:#0a1938;}
body.app-shell .tc257-meta small{display:block;font-size:10px;color:#65788f;font-weight:700;margin-top:3px;}
body.app-shell .tc257-meta--badge{display:flex;justify-content:flex-end;align-items:center;}
body.app-shell .tc257-rework{border:1px solid #b8ccff;color:#315eea;background:#f5f8ff;}
body.app-shell .tc257-chip-row{gap:8px;justify-content:flex-start;}
body.app-shell .tc257-chip{padding:7px 11px;border-radius:999px;border:1px solid #d4e0ed;background:#f7fafe;color:#243757;}
body.app-shell .tc257-actions{gap:8px;justify-content:flex-start;}
body.app-shell .tc257-actions .btn{min-width:0;flex:1 1 calc(50% - 8px);min-height:38px;padding:9px 10px;border-radius:13px;font-size:12px;font-weight:800;}
body.app-shell .tc257-actions__full{flex-basis:100%;}
body.app-shell .tc263-fourcol-card{padding:14px;gap:10px;border-radius:20px;min-width:0;overflow:hidden;}
body.app-shell .tc263-fourcol-card .tc257-head,
body.app-shell .tc263-fourcol-card .tc257-station-row{flex-wrap:nowrap;}
body.app-shell .tc263-fourcol-card .tc257-head-copy,
body.app-shell .tc263-fourcol-card .tc257-station-copy{flex-basis:0;}
body.app-shell .tc263-fourcol-card .tc257-id{font-size:19px;letter-spacing:-.02em;}
body.app-shell .tc263-fourcol-card .tc257-sub{font-size:11px;}
body.app-shell .tc263-fourcol-card .tc257-tag,
body.app-shell .tc263-fourcol-card .tc257-status{padding:7px 9px;min-width:0;font-size:10px;}
body.app-shell .tc263-fourcol-card .tc257-station-copy strong{font-size:14px;}
body.app-shell .tc263-fourcol-card .tc257-progress{padding:8px 7px;border-radius:15px;}
body.app-shell .tc263-fourcol-card .tc257-step-label{font-size:8px;min-height:14px;letter-spacing:0;}
body.app-shell .tc263-fourcol-card .tc257-step-node{width:18px;height:18px;margin-top:4px;font-size:9px;}
body.app-shell .tc263-fourcol-card .tc257-step:not(:last-child)::after{top:23px;left:calc(50% + 8px);width:calc(100% - 16px);}
body.app-shell .tc263-fourcol-card .tc257-progress--pack .tc257-step-label{font-size:7.5px;}
body.app-shell .tc263-metrics-2x2{grid-template-columns:repeat(2,minmax(0,1fr));}
body.app-shell .tc263-metrics-2x2 .tc257-metric{padding:8px 9px;}
body.app-shell .tc263-metrics-2x2 .tc257-metric:nth-child(2n){border-right:0;}
body.app-shell .tc263-metrics-2x2 .tc257-metric:nth-child(-n/**/+2){border-bottom:1px solid #dbe4ef;}
body.app-shell .tc263-metrics-2x2 .tc257-metric-label{font-size:9px;margin-bottom:4px;}
body.app-shell .tc263-metrics-2x2 .tc257-metric-value strong{font-size:13px;}
body.app-shell .tc263-singleline-meta{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;}
body.app-shell .tc263-singleline-meta .tc257-operator-badge{width:36px;height:36px;font-size:12px;}
body.app-shell .tc263-date-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.25;}
body.app-shell .tc263-pack-list-card .tc257-progress--pack{grid-template-columns:repeat(10,minmax(0,1fr));}
body.app-shell .tc256-top-icon,
body.app-shell .tc253-iconbox,
body.app-shell .tc253-overline,
body.app-shell .tc253-card-shell .tc253-iconbox{display:none;}
body.app-shell .station-alerts-panel #tblStationAlerts td[data-label="Created"],
body.app-shell .station-alerts-panel #tblStationAlerts td[data-label="Closed"]{white-space:nowrap;font-weight:700;color:#42536b;}
body.app-shell .station-alerts-panel #tblStationAlerts .btn.warn{background:#fff8e8;border-color:#f0ca79;color:#9a5a00;box-shadow:0 10px 22px rgba(176,103,0,.08);}
body.app-shell .station-alerts-panel #tblStationAlerts .btn.warn:hover{background:#fff1d1;border-color:#e5b758;}
body.app-shell .alert-action-modal .note-box.warn{border-color:#f0ca79;background:#fff9eb;color:#6d4700;}
body.app-shell .alert-action-modal .alert-assign-form{border:1px solid #d8e5f2;background:#fbfdff;border-radius:18px;padding:14px;}
body.app-shell .topbar-dropdown.open,
body.app-shell .topbar-dropdown.is-open,
body.app-shell .topbar-dropdown.show{display:block;}
body.app-shell .topbar-audio-toggle.is-on{background:#e9fbf4;border-color:#9be4cf;color:#087c68;box-shadow:0 10px 22px rgba(8,124,104,.12);}
body.app-shell .field-error{border-color:#d82121;box-shadow:0 0 0 3px rgba(216,33,33,.12);}
body.app-shell .tc-alert-create-card,
body.app-shell .tc-alert-action-card{max-width:min(1040px,calc(100vw - 36px));max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;border-radius:24px;}
body.app-shell .tc-alert-create-card .modal-head,
body.app-shell .tc-alert-action-card .modal-head{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #d8e4f1;background:linear-gradient(180deg,#ffffff,#fbfdff);}
body.app-shell .tc-alert-create-card .modal-head .card-title,
body.app-shell .tc-alert-action-card .modal-head .card-title{font-size:22px;letter-spacing:-.02em;color:#0d1b31;}
body.app-shell .tc-alert-create-form,
body.app-shell .tc-alert-action-card .tc249-modal-body{min-height:0;display:flex;flex-direction:column;}
body.app-shell .tc-alert-create-body,
body.app-shell .tc-alert-action-body{min-height:0;overflow:auto;padding:18px 22px;background:linear-gradient(180deg,#fff,#fbfdff);}
body.app-shell .tc-alert-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px;}
body.app-shell .tc-alert-create-body .form-field.full{margin-top:14px;}
body.app-shell .tc-alert-create-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #d8e4f1;background:#f8fbff;}
body.app-shell .tc-alert-create-footer .btn{min-width:140px;min-height:42px;border-radius:14px;font-weight:850;}
body.app-shell .tc-alert-create-footer .btn.danger{background:#c91f1f;border-color:#c91f1f;color:#fff;}
body.app-shell .tc-alert-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
body.app-shell .tc-alert-summary-card,
body.app-shell .tc-alert-message-card,
body.app-shell .tc-alert-action-form{border:1px solid #d8e5f2;background:#fff;border-radius:18px;padding:13px 14px;box-shadow:0 10px 22px rgba(32,58,96,.04);}
body.app-shell .tc-alert-summary-card{min-height:72px;}
body.app-shell .tc-alert-summary-card span:first-child,
body.app-shell .tc-alert-message-card > span{display:block;margin-bottom:6px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#60708a;}
body.app-shell .tc-alert-summary-card strong{display:block;font-size:14px;line-height:1.25;color:#0b1930;}
body.app-shell .tc-alert-summary-card small{display:block;margin-top:3px;font-size:11px;font-weight:700;color:#66758b;}
body.app-shell .tc-alert-message-card{margin-bottom:12px;}
body.app-shell .tc-alert-message-card strong{display:block;margin-bottom:4px;color:#0b1930;}
body.app-shell .tc-alert-message-card p{margin:4px 0 0;color:#283950;font-weight:650;line-height:1.45;}
body.app-shell .tc-alert-action-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:14px;align-items:start;}
body.app-shell .tc-alert-action-grid.single{grid-template-columns:1fr;}
body.app-shell .tc-alert-action-form{display:grid;gap:10px;}
body.app-shell .tc-alert-action-form .card-title{font-size:16px;color:#0d1b31;}
body.app-shell .tc-alert-action-form textarea.input{min-height:92px;resize:vertical;}
body.app-shell .tc-alert-action-form .compact-form-grid{gap:10px;}
body.app-shell .tc-alert-action-form .actions{justify-content:flex-end;gap:10px;margin-top:2px;}
body.app-shell .tc-alert-action-form .actions .btn{min-width:136px;border-radius:14px;font-weight:850;}
body.app-shell .alert-workbench-page .row-focus{box-shadow:inset 4px 0 0 #2f6df6;background:#f3f8ff;}
body.app-shell .station-alerts-panel #tblStationAlerts{min-width:1180px;}
body.app-shell .station-alerts-panel #tblStationAlerts td{vertical-align:middle;}
body.app-shell .station-alerts-panel #tblStationAlerts td[data-label="Title / Message"]{min-width:280px;max-width:420px;}
body.app-shell .station-alerts-panel #tblStationAlerts td[data-label="Title / Message"] .muted{white-space:normal;}
body.app-shell .station-alerts-panel #tblStationAlerts .user-row-id{min-width:150px;}
body.app-shell .station-alerts-panel #tblStationAlerts .btn{min-width:104px;}
@media (max-width:960px){
  body.app-shell .tc-alert-create-grid,
  body.app-shell .tc-alert-summary-grid,
  body.app-shell .tc-alert-action-grid{grid-template-columns:1fr;}
  body.app-shell .tc-alert-create-card,
  body.app-shell .tc-alert-action-card{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:18px;}
  body.app-shell .tc-alert-create-card .modal-head,
  body.app-shell .tc-alert-action-card .modal-head{padding:16px 18px;}
  body.app-shell .tc-alert-create-body,
  body.app-shell .tc-alert-action-body{padding:14px 16px;}
  body.app-shell .tc-alert-create-footer{padding:12px 16px;}
  body.app-shell .tc-alert-create-footer .btn,
  body.app-shell .tc-alert-action-form .actions .btn{min-width:0;flex:1 1 auto;}
}
@media (max-width:1400px){
  body.app-shell .mb2p-page #mb2pCardGrid,
  body.app-shell .packs-page #mb2pCardGrid,
  body.app-shell .packs-page #packCardGrid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1040px){
  body.app-shell .mb2p-page #mb2pCardGrid,
  body.app-shell .packs-page #mb2pCardGrid,
  body.app-shell .packs-page #packCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1100px){
  body.app-shell .tc257-metrics--3,
  body.app-shell .tc257-metrics--4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  body.app-shell .station-pack-grid,
  body.app-shell .entity-card-grid.mbin-card-grid,
  body.app-shell #stageModuleCardGrid,
  body.app-shell #mb2pCardGrid,
  body.app-shell #mbinQuickCards,
  body.app-shell #mbinAssemblyCards,
  body.app-shell .packs-page #packCardGrid{grid-template-columns:1fr;}
  body.app-shell .tc257-card-shell{padding:15px 16px;gap:10px;}
  body.app-shell .tc257-id{font-size:20px;}
  body.app-shell .tc257-station-copy strong{font-size:15px;}
  body.app-shell .tc257-progress--pack{grid-template-columns:repeat(10,minmax(0,1fr));}
  body.app-shell .tc257-step-node{width:21px;height:21px;}
  body.app-shell .tc257-step-label{font-size:8.5px;}
  body.app-shell .tc257-step:not(:last-child)::after{top:27px;left:calc(50% + 9px);width:calc(100% - 18px);}
}
@media (max-width:390px){
  body.app-shell .tc257-card-shell{padding:14px;}
  body.app-shell .tc257-progress{padding:9px 7px;}
  body.app-shell .tc257-step-node{width:19px;height:19px;}
  body.app-shell .tc257-step-label{font-size:8px;}
  body.app-shell .tc257-step:not(:last-child)::after{top:26px;left:calc(50% + 8px);width:calc(100% - 16px);}
  body.app-shell .tc257-metric{padding:9px 8px;}
  body.app-shell .tc257-actions .btn{min-height:36px;font-size:11px;}
}
body.app-shell .modal.tc262-compact-action-modal.open,
body.app-shell .modal.tc262-compact-action-modal.is-open,
body.app-shell .modal.tc262-compact-action-modal.show,
body.app-shell .preassembly-action-modal.open,
body.app-shell .preassembly-action-modal.is-open,
body.app-shell .preassembly-action-modal.show{align-items:center;justify-content:center;}
body.app-shell .tc262-compact-modal-card,
body.app-shell .modal.open > .tc262-compact-modal-card,
body.app-shell .modal.is-open > .tc262-compact-modal-card,
body.app-shell .modal.show > .tc262-compact-modal-card,
body.app-shell .preassembly-action-modal.open > .tc262-compact-modal-card,
body.app-shell .preassembly-action-modal.is-open > .tc262-compact-modal-card,
body.app-shell .preassembly-action-modal.show > .tc262-compact-modal-card{
  width:min(980px,calc(100vw - 40px));
  max-width:min(980px,calc(100vw - 40px));
  max-height:min(82dvh,720px);
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
}
body.app-shell .tc262-compact-modal-card > .modal-head,
body.app-shell .tc262-compact-modal-card .modal-head,
body.app-shell .tc262-compact-modal-card .tc249-modal-head{
  flex:0 0 auto;
  padding:16px 20px 14px;
  min-height:auto;
}
body.app-shell .tc262-compact-modal-card .modal-title,
body.app-shell .tc262-compact-modal-card .card-title{font-size:22px;line-height:1.12;letter-spacing:-.02em;}
body.app-shell .tc262-compact-modal-form{
  flex:0 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.app-shell .tc262-compact-modal-form > .modal-body,
body.app-shell .tc262-compact-modal-body,
body.app-shell .tc262-compact-modal-form > .tc249-modal-body{
  flex:0 1 auto;
  min-height:0;
  max-height:calc(82dvh - 150px);
  overflow:auto;
  padding:16px 20px;
  align-content:start;
}
body.app-shell .tc262-compact-modal-card .grid,
body.app-shell .tc262-compact-grid{gap:12px;align-items:start;}
body.app-shell .tc262-compact-modal-card textarea.input,
body.app-shell .tc262-compact-modal-card textarea{min-height:92px;resize:vertical;}
body.app-shell .tc262-compact-modal-card select.input,
body.app-shell .tc262-compact-modal-card input.input{min-height:44px;}
body.app-shell .tc262-compact-footer,
body.app-shell .tc262-compact-modal-form > .modal-footer,
body.app-shell .tc262-compact-modal-form > .preassembly-modal-footer,
body.app-shell .tc262-compact-modal-form > .actions:last-child{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  margin:0;
  padding:14px 20px 16px;
  display:flex;
  justify-content:flex-end;
  gap:12px;
  border-top:1px solid rgba(203,213,225,.84);
  background:linear-gradient(180deg,rgba(255,255,255,.96),#fff);
  box-shadow:none;
}
body.app-shell .tc262-compact-footer .btn,
body.app-shell .tc262-compact-modal-form > .modal-footer .btn,
body.app-shell .tc262-compact-modal-form > .preassembly-modal-footer .btn,
body.app-shell .tc262-compact-modal-form > .actions:last-child .btn{min-width:140px;min-height:42px;border-radius:14px;font-weight:850;}
body.app-shell .tc262-compact-modal-card .note-box{margin:8px 0;}
body.app-shell .alert-workbench-page .table-card .station-panel-head p{max-width:920px;}
body.app-shell .station-alerts-panel #tblStationAlerts td[data-label="Station"] strong{white-space:nowrap;}
@media (max-width:720px){
  body.app-shell .tc262-compact-modal-card,
  body.app-shell .modal.open > .tc262-compact-modal-card,
  body.app-shell .modal.is-open > .tc262-compact-modal-card,
  body.app-shell .modal.show > .tc262-compact-modal-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:18px;}
  body.app-shell .tc262-compact-modal-card .card-title,
  body.app-shell .tc262-compact-modal-card .modal-title{font-size:19px;}
  body.app-shell .tc262-compact-modal-form > .modal-body,
  body.app-shell .tc262-compact-modal-body,
  body.app-shell .tc262-compact-modal-form > .tc249-modal-body{max-height:calc(100dvh - 144px);padding:14px 16px;}
  body.app-shell .tc262-compact-footer,
  body.app-shell .tc262-compact-modal-form > .modal-footer,
  body.app-shell .tc262-compact-modal-form > .preassembly-modal-footer{padding:12px 16px;}
  body.app-shell .tc262-compact-footer .btn,
  body.app-shell .tc262-compact-modal-form > .modal-footer .btn,
  body.app-shell .tc262-compact-modal-form > .preassembly-modal-footer .btn{min-width:0;flex:1 1 auto;}
}
body.app-shell .modal-card:not(:has(.machine-check-row)):not(:has(.station-protocol-check-row)) > form.tc249-modal-form,
body.app-shell .modal-card:not(:has(.machine-check-row)):not(:has(.station-protocol-check-row)) > form.form{
  flex:0 1 auto;
}
body.app-shell .modal-card:not(:has(.machine-check-row)):not(:has(.station-protocol-check-row)) .tc249-modal-body{
  flex:0 1 auto;
  align-content:start;
}
body.app-shell .modal-card:not(:has(.machine-check-row)):not(:has(.station-protocol-check-row)) .tc249-modal-footer{
  margin-top:0;
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card{
  min-height:0;
  max-height:calc(100dvh - 40px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.app-shell .modal-card > form,
body.app-shell .modal-card .form{
  min-height:0;
}
body.app-shell .modal-card .modal-body,
body.app-shell .modal-card .tc249-modal-body,
body.app-shell .modal-card .preassembly-modal-body{
  flex:0 1 auto;
  min-height:0;
  max-height:calc(100dvh - 178px);
  overflow:auto;
  align-content:start;
  padding-block:16px;
}
body.app-shell .modal-card .modal-footer,
body.app-shell .modal-card .tc249-modal-footer,
body.app-shell .modal-card .preassembly-modal-footer,
body.app-shell .modal-card .actions:last-child{
  flex:0 0 auto;
  margin-top:0;
}
body.app-shell .modal-card textarea.input,
body.app-shell .modal-card textarea{
  min-height:86px;
}
body.app-shell .modal-card .grid,
body.app-shell .modal-card .form.grid{
  align-items:start;
}
body.app-shell .modal-card .note-box,
body.app-shell .modal-card .card-note{
  margin-block:8px;
}
body.app-shell .tc264-admin-action-grid{
  align-items:stretch;
}
body.app-shell .tc264-admin-action-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.app-shell .tc264-admin-action-card form{
  margin-top:auto;
}
body.app-shell .danger-zone-soft{
  border-color:rgba(239,68,68,.24);
  background:linear-gradient(180deg,#fff,#fff7f7);
}
body.app-shell .tc347-bulk-flow-page{
  display:grid;
  gap:16px;
}
body.app-shell .tc347-flow-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px;
  border:1px solid rgba(169,194,229,.86);
  border-radius:26px;
  background:
    radial-gradient(circle at 10% 0%, rgba(45,146,255,.16), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f6fbff 55%,#eef6ff 100%);
  box-shadow:0 18px 42px rgba(16,38,72,.08);
}
body.app-shell .tc347-flow-hero h2{
  margin:4px 0 6px;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1;
  letter-spacing:-.04em;
  color:#071a36;
}
body.app-shell .tc347-flow-hero p{
  margin:0;
  max-width:900px;
  color:#475569;
  font-weight:700;
  line-height:1.45;
}
body.app-shell .tc347-flow-actions,
body.app-shell .tc347-form-actions,
body.app-shell .tc347-clear-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
body.app-shell .tc347-flow-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:16px;
  align-items:stretch;
}
body.app-shell .tc347-load-card,
body.app-shell .tc347-stage-summary,
body.app-shell .tc347-pass-dock{
  overflow:clip;
}
body.app-shell .tc347-load-form{
  display:grid;
  grid-template-columns:180px minmax(220px,280px) minmax(280px,1fr) auto;
  gap:14px;
  align-items:end;
}
body.app-shell .tc347-load-form .field,
body.app-shell .tc347-pass-controls .field{
  min-width:0;
}
body.app-shell .tc347-load-form textarea.input{
  resize:vertical;
  min-height:76px;
}
body.app-shell .tc347-stage-summary .card-title,
body.app-shell .tc347-load-card .card-title{
  margin-bottom:12px;
}
body.app-shell .tc347-summary-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
  gap:10px;
}
body.app-shell .tc347-summary-strip > div{
  min-width:0;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(203,213,225,.78);
  background:linear-gradient(180deg,#fff,#f8fbff);
}
body.app-shell .tc347-summary-strip span{
  display:block;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc347-summary-strip strong{
  display:block;
  margin-top:5px;
  font-size:22px;
  line-height:1;
  color:#071a36;
}
body.app-shell .tc347-pass-form{
  display:grid;
  gap:14px;
}
body.app-shell .tc347-pass-dock{
  position:sticky;
  top:82px;
  z-index:8;
  border-color:rgba(82,129,255,.26);
  box-shadow:0 16px 40px rgba(16,38,72,.08);
}
body.app-shell .tc347-pass-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
body.app-shell .tc347-pass-title h3{
  margin:3px 0 4px;
  font-size:20px;
  color:#071a36;
  letter-spacing:-.02em;
}
body.app-shell .tc347-pass-title p{
  margin:0;
  color:#52627a;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
body.app-shell .tc347-pass-controls{
  display:grid;
  grid-template-columns:150px 130px 190px 190px minmax(260px,1fr);
  gap:12px;
  align-items:end;
}
body.app-shell .tc347-pass-controls .field-bom{
  min-width:0;
}
body.app-shell .tc347-select-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(203,213,225,.72);
}
body.app-shell .tc347-select-toolbar .checkline{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:900;
  color:#13213a;
  min-width:240px;
}
body.app-shell .tc347-select-toolbar .input{
  max-width:430px;
}
body.app-shell .tc347-flow-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:14px;
  align-items:stretch;
}
body.app-shell .tc347-flow-card{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-areas:
    "check main"
    "state1 state1"
    "state2 state2"
    "next next";
  gap:10px 12px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(193,207,226,.92);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 12px 28px rgba(16,38,72,.055);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.app-shell .tc347-flow-card:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(16,38,72,.085);
  border-color:#94b7ff;
}
body.app-shell .tc347-flow-card:has(input:checked){
  border-color:#2b7fff;
  box-shadow:0 16px 36px rgba(43,127,255,.16);
}
body.app-shell .tc347-flow-card.is-disabled{
  opacity:.62;
  cursor:not-allowed;
}
body.app-shell .tc347-check{
  grid-area:check;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:2px;
}
body.app-shell .tc347-check input{
  width:18px;
  height:18px;
}
body.app-shell .tc347-main{
  grid-area:main;
  min-width:0;
  display:grid;
  gap:5px;
}
body.app-shell .tc347-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
body.app-shell .tc347-card-head strong{
  display:block;
  min-width:0;
  font-size:17px;
  line-height:1.15;
  color:#071a36;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc347-card-head em{
  flex:0 0 auto;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  padding:6px 9px;
  border-radius:999px;
  background:#eef6ff;
  color:#2563eb;
  border:1px solid #cfe2ff;
}
body.app-shell .tc347-card-sub{
  display:block;
  min-width:0;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc347-state-row,
body.app-shell .tc347-next-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:10px 11px;
  border-radius:15px;
  background:#fff;
  border:1px solid rgba(213,224,238,.96);
}
body.app-shell .tc347-state-row:nth-of-type(1){grid-area:state1;}
body.app-shell .tc347-state-row:nth-of-type(2){grid-area:state2;}
body.app-shell .tc347-next-row{
  grid-area:next;
  background:linear-gradient(180deg,#f6fbff,#eef7ff);
}
body.app-shell .tc347-state-row span,
body.app-shell .tc347-next-row span{
  flex:0 0 auto;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#6b7b92;
}
body.app-shell .tc347-state-row strong,
body.app-shell .tc347-next-row strong{
  min-width:0;
  color:#102040;
  font-size:12px;
  line-height:1.2;
  text-align:right;
  overflow-wrap:anywhere;
}
body.app-shell .tc347-clear-row{
  justify-content:flex-end;
}
body.app-shell .tc347-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.app-shell .tc264-result-list{
  margin:0;
  padding-left:22px;
  display:grid;
  gap:7px;
  font-size:13px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
body.app-shell .tc264-result-list.ok li::marker{color:#16a34a;}
body.app-shell .tc264-result-list.danger li::marker{color:#dc2626;}
body.app-shell .tc264-closed-alert-log td[data-label="When"]{
  white-space:nowrap;
  font-weight:750;
}
@media (max-width:1280px){
  body.app-shell .tc347-flow-grid{grid-template-columns:1fr;}
  body.app-shell .tc347-load-form{grid-template-columns:180px minmax(220px,280px) minmax(280px,1fr);}
  body.app-shell .tc347-form-actions{grid-column:1/-1;}
  body.app-shell .tc347-pass-controls{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc347-pass-controls .field-bom{grid-column:1/-1;}
}
@media (max-width:760px){
  body.app-shell .tc347-flow-hero,
  body.app-shell .tc347-pass-title,
  body.app-shell .tc347-select-toolbar{flex-direction:column;align-items:stretch;}
  body.app-shell .tc347-load-form,
  body.app-shell .tc347-pass-controls,
  body.app-shell .tc347-result-grid{grid-template-columns:1fr;}
  body.app-shell .tc347-pass-dock{position:static;}
  body.app-shell .tc347-select-toolbar .input{max-width:none;}
}
body.app-shell .sidebar .nav-group:not(.is-open):not(.open) > .nav-group-body,
body.app-shell .sidebar--neo .nav-group:not(.is-open):not(.open) > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group:not(.is-open):not(.open) > .nav-group-body{
  display:none;
  max-height:0;
  opacity:0;
  pointer-events:none;
}
body.app-shell .sidebar .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar .nav-group.open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.open > .nav-group-body{
  display:grid;
  max-height:70vh;
  opacity:1;
  pointer-events:auto;
}
body.app-shell .sidebar .nav-group-head[aria-expanded="true"] .nav-caret,
body.app-shell .sidebar .nav-group.is-open > .nav-group-head .nav-caret,
body.app-shell .sidebar .nav-group.open > .nav-group-head .nav-caret{
  transform:rotate(180deg);
}
.ai-launcher{
  position:fixed;
  right:22px;
  bottom:86px;
  z-index:125;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px 14px 8px 9px;
  border-radius:999px;
  border:1px solid rgba(56, 189, 248, .32);
  background:linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(14, 165, 233, .78));
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 38px rgba(15, 23, 42, .22), 0 0 0 1px rgba(255,255,255,.18) inset;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ai-launcher:hover,
.ai-launcher:focus-visible{
  transform:translateY(-2px);
  color:#fff;
  border-color:rgba(125, 211, 252, .66);
  box-shadow:0 24px 48px rgba(15, 23, 42, .30), 0 0 0 1px rgba(255,255,255,.25) inset;
}
.ai-launcher-orb{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  box-shadow:0 0 0 1px rgba(255,255,255,.24) inset;
}
.ai-launcher-orb svg{
  width:20px;
  height:20px;
}
.ai-launcher-text{
  font-weight:850;
  letter-spacing:.08em;
  font-size:12px;
}
html[data-theme="light"] .ai-launcher{
  background:linear-gradient(135deg, rgba(14, 116, 144, .95), rgba(37, 99, 235, .86));
  box-shadow:0 18px 38px rgba(15, 23, 42, .18), 0 0 0 1px rgba(255,255,255,.25) inset;
}
@media (max-width: 720px){
  .ai-launcher{
    right:16px;
    bottom:78px;
    min-height:42px;
    padding:7px 12px 7px 8px;
  }
  .ai-launcher-orb{
    width:28px;
    height:28px;
  }
}
body.app-shell .tc267-station-pack-shell,
body.app-shell .tc257-card-shell--pack.tc267-station-pack-shell{
  display:grid;
  grid-template-rows:auto auto auto auto auto auto auto;
  min-height:0;
  height:auto;
  align-content:start;
  gap:10px;
}
body.app-shell .tc267-station-pack-shell .tc257-card-head{
  align-items:start;
  gap:10px;
}
body.app-shell .tc267-station-pack-shell .tc257-sub,
body.app-shell .tc253-pack-card .tc267-station-pack-shell .tc257-sub,
body.app-shell .pack-register-card.tc267-card-rework .tc257-sub,
body.app-shell .pack-register-card.tc267-card-normal .tc257-sub,
body.app-shell .mbin-convert-card .tc257-sub{
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  min-height:30px;
  line-height:1.25;
}
body.app-shell .tc267-station-pack-shell .tc257-station-copy,
body.app-shell .tc257-card-shell--mbin .tc257-station-copy{
  min-width:0;
}
body.app-shell .tc267-station-pack-shell .tc257-station-copy strong,
body.app-shell .tc257-card-shell--mbin .tc257-station-copy strong{
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  line-height:1.15;
}
body.app-shell .tc257-card-shell--mbin .tc257-stage-row,
body.app-shell .tc267-station-pack-shell .tc257-stage-row{
  align-items:start;
}
body.app-shell .tc267-meta-balanced{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) minmax(112px,.7fr);
  align-items:center;
  gap:10px;
}
body.app-shell .tc267-meta-balanced .tc257-meta-copy{
  min-width:0;
}
body.app-shell .tc267-meta-balanced .tc263-date-line{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
body.app-shell .tc267-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
body.app-shell .tc267-chip-row .tc257-chip{
  min-height:26px;
  padding:5px 8px;
  font-size:10.5px;
  line-height:1;
}
body.app-shell .tc267-chip-rework{
  background:#fff7ed;
  color:#9a3412;
  border-color:#fed7aa;
}
body.app-shell .tc267-chip-warn{
  background:#fff1f2;
  color:#be123c;
  border-color:#fecdd3;
}
body.app-shell .tc267-actions-bottom{
  margin-top:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-self:end;
  width:100%;
}
body.app-shell .tc267-actions-bottom .btn,
body.app-shell .tc267-actions-bottom a.btn,
body.app-shell .tc267-actions-bottom button.btn{
  width:100%;
  min-width:0;
  min-height:38px;
  justify-content:center;
  white-space:nowrap;
}
body.app-shell .tc267-actions-bottom .btn.full,
body.app-shell .tc267-actions-bottom .full{
  grid-column:1 / -1;
}
body.app-shell .tc257-actions.tc267-actions-bottom form{
  display:contents;
}
body.app-shell .tc267-card-rework .tc257-card-shell,
body.app-shell .station-pack-card.tc267-card-rework .tc257-card-shell,
body.app-shell .pack-register-card.tc267-card-rework .tc257-card-shell,
body.app-shell .tc267-rework-card .tc257-card-shell{
  border-color:rgba(251,146,60,.72);
  box-shadow:0 15px 34px rgba(251,146,60,.10), 0 0 0 1px rgba(251,146,60,.08) inset;
  background:linear-gradient(180deg,#fffdf8,#fff7ed 58%,#ffffff);
}
body.app-shell .tc267-card-rework .tc257-card-shell::before,
body.app-shell .tc267-rework-card .tc257-card-shell::before{
  background:linear-gradient(180deg,#fb923c,#f97316);
}
body.app-shell .tc267-rework-level-2 .tc257-card-shell{
  border-color:rgba(249,115,22,.78);
  box-shadow:0 16px 36px rgba(249,115,22,.14), 0 0 0 1px rgba(249,115,22,.10) inset;
}
body.app-shell .tc267-rework-level-3 .tc257-card-shell,
body.app-shell .tc267-rework-level-4 .tc257-card-shell,
body.app-shell .tc267-rework-level-5 .tc257-card-shell{
  border-color:rgba(225,29,72,.65);
  box-shadow:0 16px 38px rgba(225,29,72,.12), 0 0 0 1px rgba(225,29,72,.08) inset;
  background:linear-gradient(180deg,#fffafb,#fff1f2 58%,#ffffff);
}
body.app-shell .tc267-rework-level-3 .tc257-card-shell::before,
body.app-shell .tc267-rework-level-4 .tc257-card-shell::before,
body.app-shell .tc267-rework-level-5 .tc257-card-shell::before{
  background:linear-gradient(180deg,#fb7185,#e11d48);
}
body.app-shell .tc267-card-normal .tc257-card-shell{
  border-color:rgba(191,219,254,.9);
}
body.app-shell .tc267-rework-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,300px));
  justify-content:start;
  align-items:stretch;
  gap:14px;
}
body.app-shell .tc267-rework-grid .mbin-convert-card,
body.app-shell .tc267-rework-grid .tc257-card-shell{
  width:auto;
  max-width:100%;
}
body.app-shell .tc267-rework-grid .tc257-card-shell{
  min-height:470px;
}
body.app-shell .tc257-card-shell--mbin{
  min-height:346px;
}
body.app-shell .tc257-card-shell--mbin .tc257-progress-label{
  font-size:8.5px;
  letter-spacing:.04em;
}
body.app-shell .tc257-card-shell--mbin .tc257-dotline{
  gap:5px;
}
body.app-shell .tc257-card-shell--mbin .tc257-dot{
  width:20px;
  height:20px;
  font-size:10px;
}
body.app-shell .tc257-card-shell--mbin .tc257-metrics strong,
body.app-shell .tc267-station-pack-shell .tc257-metrics strong{
  white-space:nowrap;
}
body.app-shell .tc267-compact-operation-modal .tc267-tight-modal-card,
body.app-shell .modal.open > .modal-card.tc267-tight-modal-card,
body.app-shell .modal.is-open > .modal-card.tc267-tight-modal-card,
body.app-shell .modal.show > .modal-card.tc267-tight-modal-card{
  width:min(980px,calc(100vw - 28px));
  max-height:calc(100dvh - 32px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
body.app-shell .tc267-tight-modal-card .tc249-modal-head,
body.app-shell .tc267-tight-modal-card .modal-head,
body.app-shell .tc267-tight-modal-card .modal-header{
  padding:18px 22px 14px;
}
body.app-shell .tc267-tight-modal-card .tc249-modal-body,
body.app-shell .tc267-tight-modal-card .modal-body,
body.app-shell .tc267-tight-modal-card form{
  min-height:0;
}
body.app-shell .tc267-tight-modal-card .tc249-modal-body,
body.app-shell .tc267-tight-modal-card .modal-body{
  padding:16px 22px;
  overflow:auto;
}
body.app-shell .tc267-tight-modal-card .tc249-modal-footer,
body.app-shell .tc267-tight-modal-card .modal-footer,
body.app-shell .tc267-tight-modal-card .row-actions,
body.app-shell .tc267-tight-modal-card .actions{
  min-height:72px;
  padding:14px 22px;
  align-items:center;
}
body.app-shell .tc267-tight-modal-card textarea.input,
body.app-shell .tc267-tight-modal-card textarea,
body.app-shell .tc267-compact-operation-modal textarea.input,
body.app-shell .tc267-compact-operation-modal textarea{
  min-height:92px;
  max-height:180px;
}
body.app-shell .tc267-tight-modal-card .form-grid,
body.app-shell .tc267-tight-modal-card .form-row,
body.app-shell .tc267-tight-modal-card .tc264-flow-form{
  gap:12px;
}
body.app-shell .sidebar,
body.app-shell .app-sidebar,
body.app-shell [data-sidebar]{
  overflow:hidden;
}
body.app-shell .sidebar .sidebar-body,
body.app-shell .app-sidebar .sidebar-body,
body.app-shell [data-sidebar] .sidebar-body,
body.app-shell .sidebar .nav-scroll,
body.app-shell .app-sidebar .nav-scroll{
  max-height:calc(100dvh - 126px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-bottom:30px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.app-shell .sidebar .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar .nav-group.open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.open > .nav-group-body{
  display:grid;
  max-height:min(64vh, calc(100dvh - 260px));
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  opacity:1;
  pointer-events:auto;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.app-shell .sidebar .nav-group-body .nav-link,
body.app-shell .sidebar--neo .nav-group-body .nav-link,
body.app-shell .sidebar--futuristic .nav-group-body .nav-link{
  min-height:34px;
}
@media (max-width:1280px){
  body.app-shell .tc267-station-pack-shell{min-height:0;height:auto;}
  body.app-shell .tc267-rework-grid{grid-template-columns:repeat(auto-fill,minmax(280px,280px));}
  body.app-shell .tc267-rework-grid .mbin-convert-card,
  body.app-shell .tc267-rework-grid .tc257-card-shell{width:auto;}
  body.app-shell .tc273-station-rework-shell{min-height:auto;}
}
@media (max-width:980px){
  body.app-shell .sidebar .sidebar-body,
  body.app-shell .app-sidebar .sidebar-body,
  body.app-shell [data-sidebar] .sidebar-body,
  body.app-shell .sidebar .nav-scroll,
  body.app-shell .app-sidebar .nav-scroll{
    max-height:calc(100dvh - 108px);
  }
  body.app-shell .sidebar .nav-group.is-open > .nav-group-body,
  body.app-shell .sidebar .nav-group.open > .nav-group-body,
  body.app-shell .sidebar--neo .nav-group.is-open > .nav-group-body,
  body.app-shell .sidebar--neo .nav-group.open > .nav-group-body,
  body.app-shell .sidebar--futuristic .nav-group.is-open > .nav-group-body,
  body.app-shell .sidebar--futuristic .nav-group.open > .nav-group-body{
    max-height:calc(100dvh - 240px);
  }
}
@media (max-width:720px){
  body.app-shell .topbar{
    min-height:64px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:8px 10px;
  }
  body.app-shell .topbar-left{
    min-width:0;
    gap:8px;
  }
  body.app-shell .topbar-context{
    min-width:0;
    max-width:calc(100vw - 160px);
  }
  body.app-shell .topbar-title{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:14px;
    line-height:1.15;
  }
  body.app-shell .topbar-kicker{
    display:none;
  }
  body.app-shell .topbar-center{
    display:none;
  }
  body.app-shell .topbar-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    min-width:0;
    max-width:150px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  body.app-shell .topbar-actions::-webkit-scrollbar{
    display:none;
  }
  body.app-shell .topbar-actions .topbar-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
  }
  body.app-shell .topbar-profile{
    max-width:46px;
    padding:4px;
  }
  body.app-shell .topbar-profile .profile-copy,
  body.app-shell .topbar-profile .profile-meta{
    display:none;
  }
  body.app-shell .tc267-meta-balanced{
    grid-template-columns:34px minmax(0,1fr);
  }
  body.app-shell .tc267-meta-balanced .tc257-meta-copy:nth-of-type(2){
    grid-column:1 / -1;
    padding-left:44px;
  }
  body.app-shell .tc267-actions-bottom{
    grid-template-columns:1fr;
  }
  body.app-shell .tc267-station-pack-shell,
  body.app-shell .tc257-card-shell--mbin{
    min-height:auto;
  }
  body.app-shell .tc267-tight-modal-card .tc249-modal-head,
  body.app-shell .tc267-tight-modal-card .modal-head,
  body.app-shell .tc267-tight-modal-card .modal-header{
    padding:16px 16px 12px;
  }
  body.app-shell .tc267-tight-modal-card .tc249-modal-body,
  body.app-shell .tc267-tight-modal-card .modal-body{
    padding:14px 16px;
  }
  body.app-shell .tc267-tight-modal-card .tc249-modal-footer,
  body.app-shell .tc267-tight-modal-card .modal-footer,
  body.app-shell .tc267-tight-modal-card .row-actions,
  body.app-shell .tc267-tight-modal-card .actions{
    padding:12px 16px;
  }
}
body.app-shell .topbar-user{
  min-width:0;
}
@media (max-width:720px){
  body.app-shell .topbar-user{
    max-width:46px;
    padding:4px;
    flex:0 0 40px;
  }
  body.app-shell .topbar-user-text{
    display:none;
  }
  body.app-shell .topbar-assistant-shortcut,
  body.app-shell .topbar-audio-toggle{
    display:none;
  }
}
body.app-shell .tc257-card-shell,
body.app-shell .tc267-station-pack-shell{
  position:relative;
}
body.app-shell .tc257-card-shell--pack .tc257-sub,
body.app-shell .tc263-pack-list-card .tc257-sub,
body.app-shell .tc267-station-pack-shell .tc257-sub{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.25;
}
body.app-shell .tc257-card-shell--pack .tc257-head-copy,
body.app-shell .tc257-card-shell--mbin .tc257-head-copy{
  min-width:0;
}
body.app-shell .tc257-card-shell--pack .tc257-id,
body.app-shell .tc257-card-shell--mbin .tc257-id{
  line-height:1.05;
  letter-spacing:-.03em;
}
body.app-shell .tc257-card-shell--mbin .tc257-station-copy strong,
body.app-shell .tc267-station-pack-shell .tc257-station-copy strong{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.18;
}
body.app-shell .tc257-card-shell--mbin .tc257-progress .tc257-step-label{
  font-size:8px;
  letter-spacing:.02em;
}
body.app-shell .tc263-date-line,
body.app-shell .tc257-meta strong.tc263-date-line,
body.app-shell .tc257-metric-value strong.tc263-date-line{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  font-size:clamp(11px,.78vw,12px);
}
body.app-shell .tc267-actions-bottom{
  margin-top:auto;
  align-self:stretch;
}
body.app-shell .tc267-actions-bottom .btn,
body.app-shell .tc267-actions-bottom a.btn,
body.app-shell .tc267-actions-bottom button.btn{
  min-height:38px;
  justify-content:center;
}
body.app-shell .tc267-actions-minimal{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .tc267-rework-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(286px,286px));
  justify-content:start;
  align-items:stretch;
}
body.app-shell .tc267-rework-grid .tc257-card-shell{
  width:auto;
  min-height:0;
  height:100%;
}
body.app-shell .tc267-card-rework .tc257-card-shell,
body.app-shell .tc267-card-rework.tc267-station-pack-shell,
body.app-shell .tc267-card-rework .tc267-station-pack-shell{
  border-color:rgba(232,129,42,.5);
  background:linear-gradient(180deg,rgba(255,247,237,.94),rgba(255,255,255,.94));
  box-shadow:0 18px 36px rgba(180,83,9,.12), inset 4px 0 0 rgba(245,158,11,.9);
}
html[data-theme="dark"] body.app-shell .tc267-card-rework .tc257-card-shell,
html[data-theme="dark"] body.app-shell .tc267-card-rework .tc267-station-pack-shell{
  background:linear-gradient(180deg,rgba(50,34,21,.94),rgba(18,25,38,.96));
  border-color:rgba(245,158,11,.42);
}
body.app-shell .tc267-rework-level-2 .tc257-card-shell,
body.app-shell .tc267-rework-level-3 .tc257-card-shell,
body.app-shell .tc267-rework-level-4 .tc257-card-shell,
body.app-shell .tc267-rework-level-5 .tc257-card-shell{
  box-shadow:0 18px 40px rgba(220,38,38,.14), inset 4px 0 0 rgba(220,38,38,.84);
}
body.app-shell .tc267-chip-rework{
  border-color:rgba(245,158,11,.38);
  background:rgba(255,247,237,.85);
  color:#92400e;
}
body.app-shell .tc267-mbin-submit-row{
  margin-top:10px;
  grid-template-columns:1fr;
}
body.app-shell .tc267-card-submit-cta{
  pointer-events:none;
  width:100%;
  justify-content:center;
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal[aria-hidden="false"] > .modal-card{
  max-height:calc(100dvh - 34px);
  display:flex;
  flex-direction:column;
}
body.app-shell .modal .modal-card > form,
body.app-shell .modal .modal-card > .form{
  display:flex;
  flex-direction:column;
  min-height:0;
}
body.app-shell .modal .modal-card .modal-body,
body.app-shell .modal .modal-card .tc249-modal-body,
body.app-shell .modal .modal-card form > .form-grid,
body.app-shell .modal .modal-card form > .grid,
body.app-shell .modal .modal-card form > .form-row{
  min-height:0;
}
body.app-shell .modal .modal-card textarea.input,
body.app-shell .modal .modal-card textarea{
  min-height:88px;
  max-height:160px;
}
body.app-shell .modal .modal-card .actions,
body.app-shell .modal .modal-card .modal-footer,
body.app-shell .modal .modal-card .tc249-modal-footer{
  flex:0 0 auto;
  margin-top:14px;
  min-height:58px;
}
body.app-shell .sidebar .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar .nav-group.open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--neo .nav-group.open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.is-open > .nav-group-body,
body.app-shell .sidebar--futuristic .nav-group.open > .nav-group-body{
  max-height:none;
  overflow:visible;
  scrollbar-gutter:auto;
}
body.app-shell .sidebar .sidebar-body,
body.app-shell .app-sidebar .sidebar-body,
body.app-shell [data-sidebar] .sidebar-body,
body.app-shell .sidebar .nav-scroll,
body.app-shell .app-sidebar .nav-scroll{
  max-height:calc(100dvh - 104px);
  overflow-y:auto;
  overflow-x:hidden;
}
body.app-shell .ai-launcher{
  border:0;
  cursor:pointer;
}
body.app-shell .ai-chat-panel[hidden]{
  display:none;
}
body.app-shell .ai-chat-panel{
  position:fixed;
  inset:auto 24px 92px auto;
  z-index:180;
  width:min(420px,calc(100vw - 28px));
}
body.app-shell .ai-chat-card{
  border:1px solid rgba(148,163,184,.32);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 80px rgba(15,23,42,.22);
  backdrop-filter:blur(18px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  max-height:min(680px,calc(100dvh - 124px));
}
html[data-theme="dark"] body.app-shell .ai-chat-card{
  background:rgba(15,23,42,.94);
  border-color:rgba(148,163,184,.24);
}
body.app-shell .ai-chat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px 14px;
  border-bottom:1px solid rgba(148,163,184,.22);
}
body.app-shell .ai-chat-head h3{
  margin:2px 0 3px;
  font-size:18px;
  letter-spacing:-.03em;
}
body.app-shell .ai-chat-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
body.app-shell .ai-chat-log{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:auto;
  min-height:180px;
}
body.app-shell .ai-chat-message{
  max-width:88%;
  border-radius:18px;
  padding:11px 13px;
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
  background:rgba(241,245,249,.9);
  color:var(--text);
  align-self:flex-start;
}
body.app-shell .ai-chat-message.is-user{
  align-self:flex-end;
  background:linear-gradient(135deg,#22c1c3,#19868d);
  color:white;
}
body.app-shell .ai-chat-message.is-error{
  background:rgba(254,226,226,.9);
  color:#991b1b;
}
body.app-shell .ai-chat-form{
  border-top:1px solid rgba(148,163,184,.22);
  padding:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
body.app-shell .ai-chat-form textarea{
  width:100%;
  border:1px solid rgba(148,163,184,.35);
  border-radius:16px;
  min-height:46px;
  max-height:120px;
  resize:vertical;
  padding:11px 12px;
  color:var(--text);
  background:rgba(248,250,252,.9);
  font:inherit;
}
html[data-theme="dark"] body.app-shell .ai-chat-form textarea{
  background:rgba(15,23,42,.88);
}
body.app-shell .ai-chat-foot{
  padding:0 14px 14px;
  text-align:right;
  font-size:12px;
}
@media (max-width:720px){
  body.app-shell .ai-chat-panel{
    inset:auto 10px 76px 10px;
    width:auto;
  }
  body.app-shell .ai-chat-card{
    max-height:calc(100dvh - 92px);
    border-radius:22px;
  }
  body.app-shell .topbar{
    grid-template-columns:minmax(0,1fr) auto;
    overflow:hidden;
  }
  body.app-shell .topbar-left,
  body.app-shell .topbar-context{
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }
  body.app-shell .topbar-actions{
    flex:0 0 auto;
    max-width:112px;
    overflow:hidden;
    gap:4px;
  }
  body.app-shell .topbar-actions .theme-toggle,
  body.app-shell .topbar-actions .topbar-mobile-menu-btn,
  body.app-shell .topbar-actions .topbar-user,
  body.app-shell .topbar-actions .topbar-profile{
    flex:0 0 34px;
    width:34px;
    height:34px;
  }
  body.app-shell .topbar-title{
    max-width:calc(100vw - 150px);
  }
  body.app-shell .tc257-card-shell--pack .tc257-sub,
  body.app-shell .tc263-pack-list-card .tc257-sub,
  body.app-shell .tc267-station-pack-shell .tc257-sub{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  body.app-shell .tc267-rework-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .tc267-rework-grid .tc257-card-shell{
    width:100%;
  }
}
body.app-shell .tc269-final-pack-page{
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.app-shell .tc269-final-head{
  align-items:flex-start;
  gap:16px;
}
body.app-shell .tc269-final-toolbar-card{
  padding:14px;
}
body.app-shell .tc269-final-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) minmax(120px,.7fr) minmax(92px,.45fr) minmax(110px,.55fr) minmax(86px,.42fr) auto auto auto;
  gap:10px;
  align-items:center;
}
body.app-shell .tc269-final-toolbar .input,
body.app-shell .tc269-final-toolbar .btn{
  min-height:42px;
}
body.app-shell .tc269-final-summary-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.app-shell .tc269-final-summary-row .metric-card{
  min-height:94px;
}
body.app-shell .tc269-final-card-panel{
  padding:16px;
}
body.app-shell .tc269-final-pack-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
body.app-shell .tc269-final-pack-card{
  border:1px solid rgba(148,163,184,.24);
  border-radius:22px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.88));
  box-shadow:0 16px 32px rgba(15,23,42,.07);
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
body.app-shell .tc269-final-pack-card:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 44px rgba(15,23,42,.11);
  border-color:rgba(34,193,195,.34);
}
html[data-theme="dark"] body.app-shell .tc269-final-pack-card{
  background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(17,24,39,.9));
  border-color:rgba(148,163,184,.22);
}
body.app-shell .tc269-final-pack-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
body.app-shell .tc269-final-pack-id{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.035em;
  color:var(--text);
  line-height:1.1;
}
body.app-shell .tc269-final-pack-price{
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  font-size:13px;
  font-weight:900;
  background:rgba(15,118,110,.09);
  color:#0f766e;
  white-space:nowrap;
}
body.app-shell .tc269-final-pack-mid{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
body.app-shell .tc269-final-pack-mid img,
body.app-shell .tc269-final-pack-placeholder{
  width:42px;
  height:42px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(241,245,249,.78);
}
body.app-shell .tc269-final-pack-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:900;
  color:var(--muted);
}
body.app-shell .tc269-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1;
  max-width:100%;
}
body.app-shell .tc269-status-badge.is-ready{
  color:#166534;
  background:rgba(220,252,231,.9);
  border:1px solid rgba(34,197,94,.26);
}
body.app-shell .tc269-status-badge.is-rework{
  color:#92400e;
  background:rgba(254,243,199,.92);
  border:1px solid rgba(245,158,11,.3);
}
body.app-shell .tc269-status-badge.is-live{
  color:#075985;
  background:rgba(224,242,254,.92);
  border:1px solid rgba(14,165,233,.28);
}
body.app-shell .tc269-final-pack-bom{
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .tc269-final-pack-facts{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  padding-top:2px;
}
body.app-shell .tc269-final-pack-facts div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(248,250,252,.74);
  border-radius:14px;
  padding:8px 10px;
  min-width:0;
}
html[data-theme="dark"] body.app-shell .tc269-final-pack-facts div{
  background:rgba(15,23,42,.62);
}
body.app-shell .tc269-final-pack-facts span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:800;
  white-space:nowrap;
}
body.app-shell .tc269-final-pack-facts strong{
  font-size:12px;
  color:var(--text);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
}
body.app-shell .tc269-final-pack-actions{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
body.app-shell .tc269-final-pack-actions .btn{
  justify-content:center;
  min-height:38px;
}
body.app-shell .tc269-empty-card{
  grid-column:1 / -1;
}
body.app-shell .fpp255-page.final-pack-passport{
  gap:14px;
}
body.app-shell .fpp255-header,
body.app-shell .fpp255-hero,
body.app-shell .fpp255-card,
body.app-shell .pack-trace-selected,
body.app-shell .trace-summary-panel,
body.app-shell .station-trace-panel{
  border-radius:24px;
}
body.app-shell .fpp255-header{
  padding:16px 18px;
  gap:14px;
}
body.app-shell .fpp255-header h1{
  font-size:clamp(22px,2.4vw,34px);
  line-height:1.12;
  margin:.2rem 0 0;
}
body.app-shell .fpp255-hero{
  grid-template-columns:minmax(180px,.62fr) minmax(0,1.35fr) minmax(220px,.58fr);
  padding:18px;
  gap:16px;
}
body.app-shell .fpp255-product-frame{
  min-height:220px;
  border-radius:24px;
}
body.app-shell .fpp255-product-frame img{
  max-height:190px;
}
body.app-shell .fpp255-identity h2{
  font-size:clamp(28px,4vw,52px);
  line-height:.98;
  margin:8px 0 4px;
}
body.app-shell .fpp255-hero-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
body.app-shell .fpp255-hero-grid div,
body.app-shell .fpp255-spec-list div,
body.app-shell .fpp255-fin-list div,
body.app-shell .fpp255-dispatch-grid div{
  padding:10px 11px;
  border-radius:16px;
}
body.app-shell .fpp255-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.app-shell .fpp255-kpi{
  padding:12px;
  min-height:74px;
}
body.app-shell .fpp255-main-grid,
body.app-shell .fpp255-split{
  gap:12px;
}
body.app-shell .pack-trace-page .card.section-card{
  padding:16px;
}
body.app-shell .pack-trace-page .form.grid.two{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:10px;
  align-items:end;
}
body.app-shell .pack-trace-summary-grid{
  gap:12px;
}
body.app-shell .trace-kv-grid,
body.app-shell .station-trace-facts{
  gap:8px;
}
body.app-shell .trace-kv-grid > div,
body.app-shell .station-trace-facts > div{
  padding:10px 11px;
  border-radius:16px;
}
body.app-shell .connected-workflow-lane{
  overflow:auto;
  grid-auto-flow:column;
  grid-auto-columns:minmax(96px,1fr);
  scrollbar-width:thin;
}
body.app-shell .connected-workflow-lane .lane-step{
  min-width:94px;
  padding:10px 8px;
}
body.app-shell .flow-timeline{
  max-height:520px;
  overflow:auto;
  padding-right:4px;
}
body.app-shell .station-trace-modal-card{
  width:min(1040px,calc(100vw - 28px));
}
body.app-shell .station-trace-body{
  padding:14px;
  overflow:auto;
  max-height:calc(100dvh - 164px);
}
body.app-shell .station-trace-hero{
  padding:12px;
  border-radius:20px;
}
body.app-shell .station-trace-grid{
  gap:12px;
  margin-top:12px;
}
body.app-shell .trace-table-wrap{
  max-height:280px;
  overflow:auto;
}
body.app-shell .station-trace-actions{
  margin:0;
  padding:12px 16px;
  border-top:1px solid rgba(148,163,184,.2);
  min-height:auto;
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal[aria-hidden="false"] > .modal-card{
  height:auto;
  max-height:min(88dvh,840px);
}
body.app-shell .modal .modal-card,
body.app-shell .modal .modal-card.lg,
body.app-shell .modal .modal-card.xl{
  width:min(960px,calc(100vw - 28px));
}
body.app-shell .modal .modal-card > form,
body.app-shell .modal .modal-card > form.form{
  min-height:auto;
  flex:0 1 auto;
  padding:16px 20px 18px;
  overflow:auto;
}
body.app-shell .modal .modal-card > form .grid,
body.app-shell .modal .modal-card > form .form-grid,
body.app-shell .modal .modal-card > form .modal-grid{
  gap:12px;
}
body.app-shell .modal .modal-card > form .actions,
body.app-shell .modal .modal-card > .actions,
body.app-shell .modal .modal-card .modal-footer{
  min-height:auto;
  padding:12px 0 0;
  margin-top:12px;
  justify-content:flex-end;
}
body.app-shell .modal .modal-card textarea,
body.app-shell .modal .modal-card textarea.input{
  min-height:84px;
}
body.app-shell .tc267-tight-modal-card,
body.app-shell .tc269-bom-switch-note{
  max-width:920px;
}
body.app-shell .tc269-bom-switch-note{
  border-color:rgba(34,193,195,.22);
  background:rgba(236,254,255,.5);
}
html[data-theme="dark"] body.app-shell .tc269-bom-switch-note{
  background:rgba(8,47,73,.24);
}
@media (max-width:1280px){
  body.app-shell .tc269-final-pack-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:minmax(240px,1fr) repeat(4,minmax(90px,.45fr));
  }
  body.app-shell .tc269-final-toolbar .btn{
    width:100%;
    justify-content:center;
  }
  body.app-shell .fpp255-hero{
    grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
  }
  body.app-shell .fpp255-commercial{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
}
@media (max-width:920px){
  body.app-shell .tc269-final-pack-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.app-shell .tc269-final-summary-row,
  body.app-shell .fpp255-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .tc269-final-search{
    grid-column:1 / -1;
  }
  body.app-shell .fpp255-hero,
  body.app-shell .fpp255-main-grid,
  body.app-shell .fpp255-split,
  body.app-shell .pack-trace-page .split-grid,
  body.app-shell .station-trace-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-hero-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  body.app-shell .tc269-final-toolbar-card,
  body.app-shell .tc269-final-card-panel,
  body.app-shell .pack-trace-page .card.section-card{
    padding:12px;
  }
  body.app-shell .tc269-final-pack-grid,
  body.app-shell .tc269-final-summary-row,
  body.app-shell .fpp255-kpis{
    grid-template-columns:1fr;
  }
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.app-shell .tc269-final-toolbar .btn,
  body.app-shell .tc269-final-toolbar .input{
    min-height:40px;
  }
  body.app-shell .tc269-final-pack-card{
    border-radius:20px;
    padding:12px;
  }
  body.app-shell .tc269-final-pack-actions{
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .fpp255-header,
  body.app-shell .fpp255-header-main,
  body.app-shell .fpp255-header-actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.app-shell .fpp255-header-actions .btn,
  body.app-shell .fpp255-search{
    width:100%;
  }
  body.app-shell .fpp255-hero{
    padding:12px;
  }
  body.app-shell .fpp255-product-frame{
    min-height:160px;
  }
  body.app-shell .fpp255-hero-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-commercial{
    grid-template-columns:1fr;
  }
  body.app-shell .pack-trace-page .form.grid.two{
    grid-template-columns:1fr;
  }
  body.app-shell .modal .modal-card,
  body.app-shell .modal .modal-card.lg,
  body.app-shell .modal .modal-card.xl{
    width:calc(100vw - 16px);
    border-radius:22px;
  }
  body.app-shell .modal .modal-card > form,
  body.app-shell .modal .modal-card > form.form{
    padding:12px;
  }
  body.app-shell .modal .modal-card > form .grid.two,
  body.app-shell .modal .modal-card > form .grid.three,
  body.app-shell .modal .modal-card > form .form-grid.two,
  body.app-shell .modal .modal-card > form .form-grid.three{
    grid-template-columns:1fr;
  }
  body.app-shell .station-trace-body{
    max-height:calc(100dvh - 154px);
  }
}
body.app-shell .tc270-pack-trace-page{
  display:flex;
  flex-direction:column;
  gap:12px;
}
body.app-shell .tc270-trace-hero,
body.app-shell .tc270-pack-titlebar,
body.app-shell .tc270-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  min-width:0;
}
body.app-shell .tc270-trace-hero{
  border:1px solid rgba(148,163,184,.2);
  border-radius:26px;
  padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,246,255,.72));
  box-shadow:0 18px 42px rgba(15,23,42,.07);
}
html[data-theme="dark"] body.app-shell .tc270-trace-hero{
  background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(8,47,73,.44));
  border-color:rgba(148,163,184,.2);
}
body.app-shell .tc270-trace-hero h2,
body.app-shell .tc270-pack-titlebar h3{
  margin:.12rem 0 .2rem;
  line-height:1.05;
  letter-spacing:-.04em;
}
body.app-shell .tc270-trace-hero h2{
  font-size:clamp(24px,2.8vw,40px);
}
body.app-shell .tc270-pack-titlebar h3{
  font-size:clamp(22px,2.4vw,34px);
}
body.app-shell .tc270-trace-hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
body.app-shell .tc270-search-card,
body.app-shell .tc270-panel,
body.app-shell .tc270-pack-overview,
body.app-shell .tc270-workflow-card{
  border-radius:24px;
  border:1px solid rgba(148,163,184,.2);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.88));
  box-shadow:0 14px 34px rgba(15,23,42,.065);
}
html[data-theme="dark"] body.app-shell .tc270-search-card,
html[data-theme="dark"] body.app-shell .tc270-panel,
html[data-theme="dark"] body.app-shell .tc270-pack-overview,
html[data-theme="dark"] body.app-shell .tc270-workflow-card{
  background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(17,24,39,.88));
  border-color:rgba(148,163,184,.18);
}
body.app-shell .tc270-search-card,
body.app-shell .tc270-panel,
body.app-shell .tc270-pack-overview,
body.app-shell .tc270-workflow-card{
  padding:14px;
}
body.app-shell .tc270-trace-search{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:10px;
  align-items:end;
}
body.app-shell .tc270-trace-search .input,
body.app-shell .tc270-trace-search .btn{
  min-height:42px;
}
body.app-shell .tc270-empty-trace-grid,
body.app-shell .tc270-trace-grid-main,
body.app-shell .tc270-summary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:12px;
  align-items:stretch;
}
body.app-shell .tc270-summary-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
}
body.app-shell .tc270-panel-head--compact{
  align-items:center;
  margin-bottom:10px;
}
body.app-shell .tc270-table-search{
  width:min(260px,100%);
  min-height:40px;
  flex:0 0 auto;
}
body.app-shell .tc270-empty-guide{
  display:flex;
  flex-direction:column;
  gap:12px;
}
body.app-shell .tc270-guide-steps{
  display:grid;
  gap:10px;
}
body.app-shell .tc270-guide-steps div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:2px 10px;
  align-items:center;
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  padding:10px;
  background:rgba(248,250,252,.68);
}
html[data-theme="dark"] body.app-shell .tc270-guide-steps div{
  background:rgba(15,23,42,.55);
}
body.app-shell .tc270-guide-steps span{
  grid-row:1 / 3;
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(34,193,195,.13);
  color:#0f766e;
  font-weight:900;
}
body.app-shell .tc270-guide-steps strong{
  font-size:13px;
  color:var(--text);
}
body.app-shell .tc270-guide-steps small{
  color:var(--muted);
  line-height:1.35;
}
body.app-shell .tc270-chipline{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
body.app-shell .tc270-trace-keydate{
  min-width:190px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  padding:10px 12px;
  background:rgba(248,250,252,.78);
  text-align:right;
}
html[data-theme="dark"] body.app-shell .tc270-trace-keydate{
  background:rgba(15,23,42,.55);
}
body.app-shell .tc270-trace-keydate span,
body.app-shell .tc270-kv-grid span{
  display:block;
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:800;
}
body.app-shell .tc270-trace-keydate strong,
body.app-shell .tc270-kv-grid strong{
  display:block;
  margin-top:6px;
  color:var(--text);
  font-weight:900;
  line-height:1.22;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc270-summary-panel{
  border:1px solid rgba(148,163,184,.18);
  border-radius:22px;
  padding:12px;
  background:rgba(248,250,252,.62);
  min-width:0;
}
html[data-theme="dark"] body.app-shell .tc270-summary-panel{
  background:rgba(15,23,42,.56);
}
body.app-shell .tc270-kv-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
body.app-shell .tc270-kv-grid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .tc270-kv-grid > div{
  min-width:0;
  border:1px solid rgba(148,163,184,.16);
  border-radius:16px;
  padding:10px;
  background:rgba(255,255,255,.72);
}
html[data-theme="dark"] body.app-shell .tc270-kv-grid > div{
  background:rgba(2,6,23,.28);
}
body.app-shell .tc270-details{
  margin-top:10px;
}
body.app-shell .tc270-metrics-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.app-shell .tc270-metrics-row .metric-card{
  min-height:82px;
  padding:12px;
}
body.app-shell .tc270-workflow-lane{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(96px,1fr);
  gap:8px;
  overflow:auto;
  padding:4px 2px 6px;
  scrollbar-width:thin;
}
body.app-shell .tc270-lane-step{
  min-width:96px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  padding:10px 8px;
  text-align:center;
  background:rgba(248,250,252,.72);
  position:relative;
}
html[data-theme="dark"] body.app-shell .tc270-lane-step{
  background:rgba(15,23,42,.5);
}
body.app-shell .tc270-lane-step span{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:rgba(226,232,240,.8);
  color:var(--muted);
}
body.app-shell .tc270-lane-step strong{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:var(--text);
}
body.app-shell .tc270-lane-step small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  line-height:1.25;
  min-height:30px;
}
body.app-shell .tc270-lane-step.is-done{
  border-color:rgba(34,197,94,.32);
  background:rgba(220,252,231,.5);
}
body.app-shell .tc270-lane-step.is-active{
  border-color:rgba(34,193,195,.45);
  box-shadow:0 0 0 3px rgba(34,193,195,.12);
  background:rgba(236,254,255,.72);
}
html[data-theme="dark"] body.app-shell .tc270-lane-step.is-done{
  background:rgba(20,83,45,.28);
}
html[data-theme="dark"] body.app-shell .tc270-lane-step.is-active{
  background:rgba(8,47,73,.5);
}
body.app-shell .tc270-lane-step.is-done span{
  background:#22c55e;
  color:white;
}
body.app-shell .tc270-lane-step.is-active span{
  background:#22c1c3;
  color:white;
}
body.app-shell .tc270-trace-grid-main--materials{
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
}
body.app-shell .tc270-panel--wide-table{
  min-width:0;
}
body.app-shell .tc270-table-scroll{
  overflow:auto;
  border:1px solid rgba(148,163,184,.17);
  border-radius:18px;
  background:rgba(255,255,255,.52);
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
}
html[data-theme="dark"] body.app-shell .tc270-table-scroll{
  background:rgba(2,6,23,.18);
}
body.app-shell .tc270-table-scroll--recent{max-height:360px;}
body.app-shell .tc270-table-scroll--runs{max-height:360px;}
body.app-shell .tc270-table-scroll--materials{max-height:380px;}
body.app-shell .tc270-table-scroll--group{max-height:300px;}
body.app-shell .tc270-table-scroll--serials{max-height:360px;}
body.app-shell .tc270-table{
  min-width:760px;
  margin:0;
}
body.app-shell .tc270-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.96);
  backdrop-filter:blur(12px);
}
html[data-theme="dark"] body.app-shell .tc270-table thead th{
  background:rgba(15,23,42,.96);
}
body.app-shell .tc270-table th,
body.app-shell .tc270-table td{
  padding:10px 12px;
  vertical-align:middle;
}
body.app-shell .tc270-table tbody tr:hover td{
  background:rgba(14,165,233,.04);
}
body.app-shell .tc270-timeline-scroll{
  max-height:520px;
  overflow:auto;
  padding-right:4px;
  display:grid;
  gap:10px;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
}
body.app-shell .tc270-flow-item{
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  padding:11px 12px;
  background:rgba(255,255,255,.7);
}
html[data-theme="dark"] body.app-shell .tc270-flow-item{
  background:rgba(2,6,23,.24);
}
body.app-shell .tc270-flow-item.is-mbin{
  border-color:rgba(34,197,94,.24);
}
body.app-shell .tc270-flow-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:4px;
}
body.app-shell .tc270-flow-head strong{
  color:var(--text);
  line-height:1.22;
}
body.app-shell .tc270-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
body.app-shell .tc270-meta-row,
body.app-shell .tc270-code-line{
  min-width:0;
  border:1px solid rgba(148,163,184,.14);
  border-radius:12px;
  padding:7px 8px;
  background:rgba(248,250,252,.72);
}
html[data-theme="dark"] body.app-shell .tc270-meta-row,
html[data-theme="dark"] body.app-shell .tc270-code-line{
  background:rgba(15,23,42,.5);
}
body.app-shell .tc270-meta-row span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--muted);
  font-weight:800;
}
body.app-shell .tc270-meta-row strong,
body.app-shell .tc270-code-line{
  display:block;
  margin-top:4px;
  color:var(--text);
  font-size:12px;
  line-height:1.28;
  overflow-wrap:anywhere;
}
body.app-shell .tc270-empty-note{
  border:1px dashed rgba(148,163,184,.28);
  border-radius:16px;
  padding:14px;
  background:rgba(248,250,252,.58);
}
html[data-theme="dark"] body.app-shell .tc270-empty-note{
  background:rgba(15,23,42,.4);
}
body.app-shell .slim-scrollbar::-webkit-scrollbar,
body.app-shell .tc270-table-scroll::-webkit-scrollbar,
body.app-shell .tc270-workflow-lane::-webkit-scrollbar,
body.app-shell .tc270-timeline-scroll::-webkit-scrollbar,
body.app-shell .station-trace-body::-webkit-scrollbar,
body.app-shell .trace-table-wrap::-webkit-scrollbar,
body.app-shell .station-trace-timeline::-webkit-scrollbar{
  width:8px;
  height:8px;
}
body.app-shell .slim-scrollbar::-webkit-scrollbar-track,
body.app-shell .tc270-table-scroll::-webkit-scrollbar-track,
body.app-shell .tc270-workflow-lane::-webkit-scrollbar-track,
body.app-shell .tc270-timeline-scroll::-webkit-scrollbar-track,
body.app-shell .station-trace-body::-webkit-scrollbar-track,
body.app-shell .trace-table-wrap::-webkit-scrollbar-track,
body.app-shell .station-trace-timeline::-webkit-scrollbar-track{
  background:transparent;
}
body.app-shell .slim-scrollbar::-webkit-scrollbar-thumb,
body.app-shell .tc270-table-scroll::-webkit-scrollbar-thumb,
body.app-shell .tc270-workflow-lane::-webkit-scrollbar-thumb,
body.app-shell .tc270-timeline-scroll::-webkit-scrollbar-thumb,
body.app-shell .station-trace-body::-webkit-scrollbar-thumb,
body.app-shell .trace-table-wrap::-webkit-scrollbar-thumb,
body.app-shell .station-trace-timeline::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(100,116,139,.42);
}
body.app-shell .station-trace-modal-card{
  display:flex;
  flex-direction:column;
}
body.app-shell .station-trace-head{
  flex:0 0 auto;
}
body.app-shell .station-trace-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  max-height:calc(88dvh - 132px);
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
}
body.app-shell .station-trace-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
body.app-shell .station-trace-chipline{
  justify-content:flex-end;
}
body.app-shell .station-trace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
body.app-shell .station-trace-panel{
  min-width:0;
  padding:12px;
}
body.app-shell .trace-table-wrap{
  max-height:260px;
  overflow:auto;
  border-radius:16px;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
}
body.app-shell .station-trace-timeline{
  max-height:260px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:3px;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
}
body.app-shell .station-trace-actions{
  flex:0 0 auto;
  margin:0;
  padding:12px 16px;
  justify-content:flex-end;
  gap:8px;
}
@media (max-width:1180px){
  body.app-shell .tc270-empty-trace-grid,
  body.app-shell .tc270-trace-grid-main,
  body.app-shell .tc270-summary-grid,
  body.app-shell .tc270-trace-grid-main--materials{
    grid-template-columns:1fr;
  }
  body.app-shell .tc270-metrics-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  body.app-shell .tc270-trace-hero,
  body.app-shell .tc270-pack-titlebar,
  body.app-shell .tc270-panel-head,
  body.app-shell .station-trace-hero{
    flex-direction:column;
    align-items:stretch;
  }
  body.app-shell .tc270-trace-hero-actions,
  body.app-shell .station-trace-chipline{
    justify-content:flex-start;
  }
  body.app-shell .tc270-trace-search{
    grid-template-columns:1fr;
  }
  body.app-shell .tc270-summary-grid,
  body.app-shell .tc270-kv-grid,
  body.app-shell .tc270-kv-grid--two,
  body.app-shell .tc270-meta-grid,
  body.app-shell .station-trace-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .tc270-trace-keydate{
    text-align:left;
    min-width:0;
  }
  body.app-shell .tc270-metrics-row{
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .tc270-table{
    min-width:680px;
  }
  body.app-shell .station-trace-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  body.app-shell .station-trace-actions .btn{
    width:100%;
    justify-content:center;
  }
}
@media (max-width:520px){
  body.app-shell .tc270-trace-hero,
  body.app-shell .tc270-search-card,
  body.app-shell .tc270-panel,
  body.app-shell .tc270-pack-overview,
  body.app-shell .tc270-workflow-card{
    border-radius:20px;
    padding:12px;
  }
  body.app-shell .tc270-metrics-row{
    grid-template-columns:1fr;
  }
  body.app-shell .tc270-table-scroll--recent,
  body.app-shell .tc270-table-scroll--runs,
  body.app-shell .tc270-table-scroll--materials,
  body.app-shell .tc270-table-scroll--group,
  body.app-shell .tc270-table-scroll--serials,
  body.app-shell .tc270-timeline-scroll{
    max-height:320px;
  }
}
body.app-shell .tc271-overall-metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
body.app-shell .tc271-trace-metric{
  min-width:0;
  border:1px solid rgba(148,163,184,.18);
  border-radius:22px;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,250,252,.76));
  box-shadow:0 16px 44px rgba(15,23,42,.07);
}
html[data-theme="dark"] body.app-shell .tc271-trace-metric{
  background:linear-gradient(135deg,rgba(15,23,42,.84),rgba(2,6,23,.72));
  border-color:rgba(148,163,184,.18);
}
body.app-shell .tc271-trace-metric span,
body.app-shell .tc271-pack-card-meta span{
  display:block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.2;
}
body.app-shell .tc271-trace-metric strong{
  display:block;
  color:var(--text);
  font-size:24px;
  line-height:1.08;
  margin-top:6px;
  letter-spacing:-.04em;
}
body.app-shell .tc271-trace-metric small{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.2;
  margin-top:5px;
}
body.app-shell .tc271-trace-metric.is-rework{
  border-color:rgba(245,158,11,.25);
  background:linear-gradient(135deg,rgba(255,251,235,.94),rgba(255,255,255,.78));
}
body.app-shell .tc271-trace-metric.is-ready{
  border-color:rgba(34,197,94,.22);
  background:linear-gradient(135deg,rgba(240,253,244,.94),rgba(255,255,255,.78));
}
html[data-theme="dark"] body.app-shell .tc271-trace-metric.is-rework,
html[data-theme="dark"] body.app-shell .tc271-trace-metric.is-ready{
  background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(2,6,23,.72));
}
body.app-shell .tc271-trace-directory-card{
  padding:14px;
  border-radius:24px;
  overflow:hidden;
}
body.app-shell .tc271-trace-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
body.app-shell .tc271-trace-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:min(100%,430px);
}
body.app-shell .tc271-pack-card-search{
  min-height:38px;
  max-width:340px;
}
body.app-shell .tc271-trace-pack-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  max-height:640px;
  overflow:auto;
  padding:2px 4px 4px 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.5) transparent;
}
body.app-shell .tc271-trace-pack-grid::-webkit-scrollbar{width:8px;height:8px;}
body.app-shell .tc271-trace-pack-grid::-webkit-scrollbar-track{background:transparent;}
body.app-shell .tc271-trace-pack-grid::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(100,116,139,.42);}
body.app-shell .tc271-trace-pack-card{
  min-width:0;
  min-height:228px;
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:20px;
  padding:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,250,252,.74));
  box-shadow:0 14px 40px rgba(15,23,42,.075);
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
body.app-shell .tc271-trace-pack-card:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 54px rgba(15,23,42,.11);
  border-color:rgba(14,165,233,.26);
}
body.app-shell .tc271-trace-pack-card.is-rework{
  border-color:rgba(245,158,11,.32);
  background:linear-gradient(135deg,rgba(255,251,235,.95),rgba(255,255,255,.80));
}
body.app-shell .tc271-trace-pack-card.is-ok{
  border-color:rgba(34,197,94,.20);
}
html[data-theme="dark"] body.app-shell .tc271-trace-pack-card{
  background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(2,6,23,.66));
  border-color:rgba(148,163,184,.18);
}
body.app-shell .tc271-pack-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
body.app-shell .tc271-pack-id{
  display:block;
  color:var(--text);
  font-size:17px;
  font-weight:900;
  line-height:1.12;
  letter-spacing:-.03em;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc271-pack-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.app-shell .tc271-pack-card-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
body.app-shell .tc271-pack-card-meta div{
  min-width:0;
  border:1px solid rgba(148,163,184,.14);
  border-radius:14px;
  padding:8px;
  background:rgba(248,250,252,.68);
}
html[data-theme="dark"] body.app-shell .tc271-pack-card-meta div{
  background:rgba(15,23,42,.48);
}
body.app-shell .tc271-pack-card-meta strong{
  display:block;
  margin-top:4px;
  color:var(--text);
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc271-trace-mini-lane{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:3px;
  align-items:center;
}
body.app-shell .tc271-trace-mini-lane span{
  height:20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:900;
  color:rgba(100,116,139,.9);
  background:rgba(226,232,240,.78);
  border:1px solid rgba(148,163,184,.16);
}
body.app-shell .tc271-trace-mini-lane span.is-done{
  color:#047857;
  background:rgba(220,252,231,.92);
  border-color:rgba(34,197,94,.22);
}
body.app-shell .tc271-trace-mini-lane span.is-active{
  color:#075985;
  background:rgba(224,242,254,.95);
  border-color:rgba(14,165,233,.25);
  box-shadow:0 0 0 3px rgba(14,165,233,.09);
}
body.app-shell .tc271-pack-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:auto;
}
body.app-shell .tc271-pack-card-actions .btn{
  min-height:34px;
}
body.app-shell .tc271-trace-empty{
  display:none;
  margin-top:10px;
  border:1px dashed rgba(148,163,184,.28);
  border-radius:18px;
  padding:14px;
  text-align:center;
  color:var(--muted);
  background:rgba(248,250,252,.62);
}
body.app-shell .tc271-trace-empty.is-visible{display:block;}
body.app-shell .tc271-trace-help-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
body.app-shell .tc271-trace-help-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:14px;
  border-radius:22px;
}
body.app-shell .tc271-trace-help-card > span{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-weight:900;
  color:#0369a1;
  background:rgba(224,242,254,.96);
}
body.app-shell .tc271-trace-help-card strong,
body.app-shell .tc271-trace-help-card small{
  display:block;
  line-height:1.22;
}
body.app-shell .tc271-trace-help-card small{
  margin-top:3px;
  color:var(--muted);
}
@media (max-width:1280px){
  body.app-shell .tc271-trace-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .tc271-overall-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:980px){
  body.app-shell .tc271-trace-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr)); max-height:none; overflow:visible; padding-right:0;}
  body.app-shell .tc271-trace-toolbar{align-items:stretch; flex-direction:column;}
  body.app-shell .tc271-trace-toolbar-actions{justify-content:flex-start; min-width:0;}
  body.app-shell .tc271-pack-card-search{max-width:none; flex:1 1 auto;}
  body.app-shell .tc271-trace-help-row{grid-template-columns:1fr;}
}
@media (max-width:640px){
  body.app-shell .tc271-overall-metrics{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;}
  body.app-shell .tc271-trace-metric{border-radius:18px; padding:11px 12px;}
  body.app-shell .tc271-trace-metric strong{font-size:20px;}
  body.app-shell .tc271-trace-directory-card{padding:12px; border-radius:20px;}
  body.app-shell .tc271-trace-toolbar-actions{flex-direction:column; align-items:stretch;}
  body.app-shell .tc271-trace-pack-grid{grid-template-columns:1fr; gap:10px;}
  body.app-shell .tc271-trace-pack-card{min-height:0; border-radius:18px;}
  body.app-shell .tc271-pack-card-actions{justify-content:stretch;}
  body.app-shell .tc271-pack-card-actions .btn{flex:1 1 0; justify-content:center;}
}
@media (max-width:420px){
  body.app-shell .tc271-overall-metrics{grid-template-columns:1fr;}
  body.app-shell .tc271-pack-card-meta{grid-template-columns:1fr 1fr;}
}
body.app-shell .tc273-dispatch-page .compact-metrics{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
  margin-bottom:12px;
}
body.app-shell .tc273-dispatch-page .metric-card{
  min-height:88px;
  padding:12px 14px;
  border-radius:20px;
}
body.app-shell .tc273-dispatch-page .metric-value{font-size:24px;line-height:1.05;}
body.app-shell .tc273-dispatch-page .dispatch-layout-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  gap:14px;
  align-items:start;
}
body.app-shell .tc273-dispatch-page .dispatch-create-card,
body.app-shell .tc273-dispatch-page .dispatch-side-card{border-radius:24px;}
body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.two,
body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.three{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
body.app-shell .tc273-dispatch-toolbar{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:10px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:20px;
  background:rgba(248,250,252,.66);
  margin:12px 0;
}
html[data-theme="dark"] body.app-shell .tc273-dispatch-toolbar{background:rgba(15,23,42,.46);}
body.app-shell .tc273-dispatch-toolbar .input,
body.app-shell .tc273-dispatch-toolbar .btn{min-height:38px;}
body.app-shell .tc273-dispatch-toolbar textarea.input{min-height:42px;resize:vertical;}
body.app-shell .tc273-dispatch-page .dispatch-checklist-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
  margin-top:10px;
}
body.app-shell .tc273-dispatch-page .dispatch-check-chip{
  min-height:54px;
  padding:9px 11px;
  border-radius:16px;
}
body.app-shell .tc273-dispatch-pack-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;
}
body.app-shell .tc273-dispatch-pack-card{
  position:relative;
  min-height:174px;
  padding:12px 12px 12px 42px;
  border-radius:22px;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.86));
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;
}
html[data-theme="dark"] body.app-shell .tc273-dispatch-pack-card{background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(2,6,23,.76));}
body.app-shell .tc273-dispatch-pack-card:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(15,23,42,.11);border-color:rgba(14,165,233,.26);}
body.app-shell .tc273-dispatch-pack-card.blocked{opacity:.72;filter:saturate(.85);}
body.app-shell .tc273-dispatch-check{position:absolute;left:14px;top:16px;width:18px;height:18px;}
body.app-shell .tc273-dispatch-pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;}
body.app-shell .tc273-dispatch-pack-id{font-size:18px;font-weight:900;line-height:1.08;letter-spacing:-.03em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc273-dispatch-price{font-size:16px;font-weight:900;line-height:1.1;color:#047857;white-space:nowrap;}
body.app-shell .tc273-dispatch-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
body.app-shell .tc273-dispatch-badge-row .pill{min-height:24px;padding:4px 9px;border-radius:999px;font-size:10.5px;font-weight:900;}
body.app-shell .tc273-dispatch-bom{font-size:12px;font-weight:800;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px;}
body.app-shell .tc273-dispatch-meta{display:grid;gap:4px;font-size:11px;line-height:1.25;color:var(--muted);}
body.app-shell .tc273-dispatch-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc273-dispatch-meta strong{color:var(--text);font-weight:800;}
body.app-shell .tc273-dispatch-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;}
body.app-shell .tc273-dispatch-open-hint{min-height:30px;padding-inline:12px;}
body.app-shell .tc273-dispatch-issues{margin-top:auto;display:flex;gap:5px;flex-wrap:wrap;}
body.app-shell .dispatch-summary-stack{display:grid;gap:8px;}
body.app-shell .dispatch-summary-item{padding:10px 12px;border-radius:18px;}
body.app-shell .tc273-station-rework-section{border-color:rgba(245,158,11,.32);background:linear-gradient(135deg,rgba(255,251,235,.92),rgba(255,255,255,.82));}
html[data-theme="dark"] body.app-shell .tc273-station-rework-section{background:linear-gradient(135deg,rgba(69,26,3,.34),rgba(15,23,42,.78));}
body.app-shell .tc273-station-rework-grid{
  grid-template-columns:repeat(auto-fill,minmax(280px,300px));
  justify-content:start;
  align-items:start;
  gap:14px;
}
body.app-shell .tc273-rework-only-card{min-height:0;width:auto;max-width:100%;}
body.app-shell .tc273-rework-only-card > .tc257-card-shell{height:auto;}
body.app-shell .tc273-station-rework-shell{
  min-height:0;
  height:auto;
  border-color:rgba(245,158,11,.28);
  padding:14px 15px;
  gap:10px;
}
body.app-shell .tc273-station-rework-shell .tc257-metrics{border-radius:14px;}
body.app-shell .tc273-station-rework-shell .tc257-metric{padding:8px 9px;}
body.app-shell .tc273-station-rework-shell .tc257-chip-row{gap:6px;}
body.app-shell .tc273-station-rework-shell .tc267-actions-bottom{margin-top:6px;}
body.app-shell .tc273-rework-tag{background:rgba(245,158,11,.14);color:#92400e;border-color:rgba(245,158,11,.24);}
body.app-shell .tc273-inventory-recon{
  margin-top:12px;
  padding:10px 12px;
  border-radius:18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  font-size:12px;
  line-height:1.3;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(248,250,252,.72);
}
body.app-shell .tc273-inventory-recon strong{font-weight:900;color:var(--text);}
body.app-shell .tc273-inventory-recon span{color:var(--muted);}
body.app-shell .tc273-inventory-recon em{font-style:normal;font-weight:800;color:#92400e;}
body.app-shell .tc273-inventory-recon.is-balanced{border-color:rgba(34,197,94,.22);background:rgba(240,253,244,.74);}
body.app-shell .tc273-inventory-recon.is-mismatch{border-color:rgba(245,158,11,.30);background:rgba(255,251,235,.82);}
html[data-theme="dark"] body.app-shell .tc273-inventory-recon{background:rgba(15,23,42,.46);}
@media (max-width:1100px){
  body.app-shell .tc273-dispatch-page .dispatch-layout-grid{grid-template-columns:1fr;}
  body.app-shell .tc273-dispatch-pack-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
}
@media (max-width:640px){
  body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.two,
  body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.three{grid-template-columns:1fr 1fr;}
  body.app-shell .tc273-dispatch-toolbar .grid.two{grid-template-columns:1fr;}
  body.app-shell .tc273-dispatch-pack-grid{grid-template-columns:1fr;}
  body.app-shell .tc273-station-rework-grid{grid-template-columns:1fr;}
  body.app-shell .tc273-rework-only-card{width:100%;}
  body.app-shell .tc273-dispatch-pack-card{min-height:0;padding:11px 11px 11px 40px;border-radius:19px;}
  body.app-shell .tc273-dispatch-pack-id{font-size:16px;}
  body.app-shell .tc273-dispatch-price{font-size:14px;}
  body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.two,
  body.app-shell .tc273-dispatch-page .dispatch-create-card .grid.three{grid-template-columns:1fr;}
}
body.app-shell .tc257-card-shell--pack.tc267-station-pack-shell,
body.app-shell .tc267-station-pack-shell,
body.app-shell .station-pack-card .tc267-station-pack-shell,
body.app-shell .tc273-station-rework-shell{
  min-height:0;
  height:auto;
  grid-template-rows:auto auto auto auto auto auto auto;
  align-content:start;
}
body.app-shell .tc267-station-pack-shell .tc257-stage-row,
body.app-shell .tc267-station-pack-shell .tc257-progress,
body.app-shell .tc267-station-pack-shell .tc257-metrics,
body.app-shell .tc267-station-pack-shell .tc267-meta-balanced,
body.app-shell .tc267-station-pack-shell .tc267-chip-row{
  flex:0 0 auto;
}
body.app-shell .tc267-rework-grid,
body.app-shell .tc273-station-rework-grid{
  align-items:start;
}
body.app-shell .tc267-rework-grid .tc257-card-shell,
body.app-shell .tc273-rework-only-card,
body.app-shell .tc273-rework-only-card > .tc257-card-shell{
  min-height:0;
  height:auto;
}
body.app-shell .tc267-actions-bottom,
body.app-shell .tc273-station-rework-shell .tc267-actions-bottom{
  margin-top:8px;
  align-self:stretch;
}
body.app-shell .tc273-station-rework-shell .tc257-metrics,
body.app-shell .tc273-station-rework-shell .tc267-chip-row{
  margin-top:0;
}
body.app-shell .tc267-station-pack-shell:has(.tc267-actions-bottom),
body.app-shell .tc273-station-rework-shell:has(.tc267-actions-bottom){
  padding-bottom:14px;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal[aria-hidden="false"],
body.app-shell .modal.tc-server-open-modal{
  align-items:center;
  justify-content:center;
  padding:18px;
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal[aria-hidden="false"] > .modal-card,
body.app-shell .modal.tc-server-open-modal > .modal-card{
  width:min(560px, calc(100vw - 36px));
  max-width:calc(100vw - 36px);
  height:auto;
  min-height:0;
  max-height:min(88dvh, 840px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.app-shell .modal.open > .modal-card.sm,
body.app-shell .modal.is-open > .modal-card.sm,
body.app-shell .modal.show > .modal-card.sm,
body.app-shell .modal.open > .modal-card.confirm,
body.app-shell .modal.is-open > .modal-card.confirm,
body.app-shell .modal.show > .modal-card.confirm,
body.app-shell .modal .modal-card:has(.confirm-action-icon),
body.app-shell .modal .modal-card:has(.confirm-title):not(:has(table)){
  width:min(420px, calc(100vw - 36px));
}
body.app-shell .modal.open > .modal-card.lg,
body.app-shell .modal.is-open > .modal-card.lg,
body.app-shell .modal.show > .modal-card.lg,
body.app-shell .modal .modal-card:has(.grid.two),
body.app-shell .modal .modal-card:has(.form-grid.two),
body.app-shell .modal .modal-card:has(.modal-grid.two){
  width:min(760px, calc(100vw - 36px));
}
body.app-shell .modal.open > .modal-card.xl,
body.app-shell .modal.is-open > .modal-card.xl,
body.app-shell .modal.show > .modal-card.xl,
body.app-shell .modal.open > .stage-modal-card--xl,
body.app-shell .modal.is-open > .stage-modal-card--xl,
body.app-shell .modal.show > .stage-modal-card--xl,
body.app-shell .modal .modal-card:has(table),
body.app-shell .modal .modal-card:has(.table-wrap),
body.app-shell .modal .modal-card:has(.trace-table-wrap),
body.app-shell .modal .modal-card:has(.station-trace-body),
body.app-shell .modal .modal-card:has(.machine-check-row),
body.app-shell .modal .modal-card:has(.station-protocol-check-row),
body.app-shell .station-trace-modal-card{
  width:min(1120px, calc(100vw - 36px));
}
body.app-shell .modal-card > form,
body.app-shell .modal-card > form.form,
body.app-shell .modal-card > .form{
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:inherit;
  overflow:hidden;
  padding:0;
}
body.app-shell .modal-card .modal-head,
body.app-shell .modal-card .modal-header,
body.app-shell .modal-card .tc249-modal-head,
body.app-shell .modal-card > .card-head:first-child{
  flex:0 0 auto;
  padding:18px 22px 14px;
  border-bottom:1px solid rgba(148,163,184,.20);
}
body.app-shell .modal-card .modal-body,
body.app-shell .modal-card .tc249-modal-body,
body.app-shell .modal-card .preassembly-modal-body,
body.app-shell .modal-card > form > .modal-body,
body.app-shell .modal-card > form > .tc249-modal-body,
body.app-shell .modal-card > form > .preassembly-modal-body{
  flex:0 1 auto;
  min-height:0;
  max-height:calc(88dvh - 150px);
  overflow:auto;
  align-content:start;
  padding:16px 22px;
}
body.app-shell .modal-card > form > .grid,
body.app-shell .modal-card > form > .form-grid,
body.app-shell .modal-card > form > .modal-grid,
body.app-shell .modal-card > form > .form-row{
  flex:0 1 auto;
  min-height:0;
  overflow:visible;
  padding:16px 22px;
  gap:12px;
  align-items:start;
}
body.app-shell .modal-card .modal-footer,
body.app-shell .modal-card .tc249-modal-footer,
body.app-shell .modal-card .preassembly-modal-footer,
body.app-shell .modal-card > .actions,
body.app-shell .modal-card > .row-actions,
body.app-shell .modal-card > form > .actions:last-child,
body.app-shell .modal-card > form > .row-actions:last-child,
body.app-shell .modal-card > form > .sticky-actions{
  flex:0 0 auto;
  min-height:0;
  margin-top:0;
  padding:12px 22px 16px;
  border-top:1px solid rgba(148,163,184,.20);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
body.app-shell .modal-card textarea,
body.app-shell .modal-card textarea.input{
  min-height:84px;
  max-height:160px;
  resize:vertical;
}
body.app-shell .modal-card .input,
body.app-shell .modal-card select,
body.app-shell .modal-card textarea,
body.app-shell .modal-card .btn{
  min-height:40px;
}
body.app-shell .modal-card .form-grid,
body.app-shell .modal-card .grid,
body.app-shell .modal-card .modal-grid{
  align-items:start;
}
body.app-shell .modal-card .note-box,
body.app-shell .modal-card .card-note,
body.app-shell .modal-card .help-text{
  margin-block:8px;
}
body.app-shell .modal-card :where(.table-wrap,.trace-table-wrap,.station-trace-body,.tc270-table-frame){
  scrollbar-width:thin;
  scrollbar-color:rgba(59,130,246,.42) rgba(226,232,240,.52);
}
body.app-shell .modal-card :where(.table-wrap,.trace-table-wrap,.station-trace-body,.tc270-table-frame)::-webkit-scrollbar{
  width:8px;
  height:8px;
}
body.app-shell .modal-card :where(.table-wrap,.trace-table-wrap,.station-trace-body,.tc270-table-frame)::-webkit-scrollbar-thumb{
  background:rgba(59,130,246,.42);
  border-radius:999px;
}
@media (max-width:720px){
  body.app-shell .modal.open,
  body.app-shell .modal.is-open,
  body.app-shell .modal.show,
  body.app-shell .modal[aria-hidden="false"],
  body.app-shell .modal.tc-server-open-modal{
    align-items:flex-end;
    padding:10px;
  }
  body.app-shell .modal.open > .modal-card,
  body.app-shell .modal.is-open > .modal-card,
  body.app-shell .modal.show > .modal-card,
  body.app-shell .modal[aria-hidden="false"] > .modal-card,
  body.app-shell .modal.tc-server-open-modal > .modal-card,
  body.app-shell .modal.open > .modal-card.lg,
  body.app-shell .modal.is-open > .modal-card.lg,
  body.app-shell .modal.show > .modal-card.lg,
  body.app-shell .modal.open > .modal-card.xl,
  body.app-shell .modal.is-open > .modal-card.xl,
  body.app-shell .modal.show > .modal-card.xl{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 20px);
    border-radius:22px;
  }
  body.app-shell .modal-card .modal-head,
  body.app-shell .modal-card .modal-header,
  body.app-shell .modal-card .tc249-modal-head,
  body.app-shell .modal-card > .card-head:first-child{
    padding:16px 16px 12px;
  }
  body.app-shell .modal-card .modal-body,
  body.app-shell .modal-card .tc249-modal-body,
  body.app-shell .modal-card .preassembly-modal-body,
  body.app-shell .modal-card > form > .grid,
  body.app-shell .modal-card > form > .form-grid,
  body.app-shell .modal-card > form > .modal-grid,
  body.app-shell .modal-card > form > .form-row{
    padding:14px 16px;
    max-height:calc(100dvh - 142px);
  }
  body.app-shell .modal-card .modal-footer,
  body.app-shell .modal-card .tc249-modal-footer,
  body.app-shell .modal-card .preassembly-modal-footer,
  body.app-shell .modal-card > .actions,
  body.app-shell .modal-card > form > .actions:last-child,
  body.app-shell .modal-card > form > .row-actions:last-child{
    padding:12px 16px 14px;
  }
}
body.app-shell .tc276-oee-fusion-card{
  margin:0 0 14px;
  padding:16px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,253,245,.82));
  box-shadow:0 16px 44px rgba(15,23,42,.07);
}
body.app-shell .tc276-oee-fusion-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
body.app-shell .tc276-oee-fusion-main h3{
  margin:2px 0 4px;
  font-size:17px;
  letter-spacing:-.02em;
}
body.app-shell .tc276-oee-diagnosis-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
body.app-shell .tc276-oee-diagnosis{
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  padding:10px 12px;
  background:rgba(255,255,255,.72);
  min-height:76px;
}
body.app-shell .tc276-oee-diagnosis strong{
  display:block;
  color:var(--text);
  font-size:12px;
  margin-bottom:4px;
}
body.app-shell .tc276-oee-diagnosis span{
  display:block;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.35;
}
body.app-shell .tc276-oee-diagnosis.ok{
  border-color:rgba(34,197,94,.28);
  background:rgba(240,253,244,.82);
}
body.app-shell .tc276-oee-diagnosis.warn{
  border-color:rgba(245,158,11,.28);
  background:rgba(255,251,235,.82);
}
body.app-shell .ai-health-panel{
  margin-top:14px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.26);
  background:rgba(255,255,255,.76);
}
body.app-shell .ai-health-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.app-shell .ai-health-tile{
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  padding:11px 12px;
  background:linear-gradient(180deg,rgba(248,250,252,.94),rgba(255,255,255,.76));
}
body.app-shell .ai-health-tile strong{
  display:block;
  font-size:18px;
  line-height:1.1;
  color:var(--text);
}
body.app-shell .ai-health-tile span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11.5px;
}
body.app-shell .ai-assistant-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
@media (max-width:1000px){
  body.app-shell .tc276-oee-diagnosis-grid,
  body.app-shell .ai-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  body.app-shell .tc276-oee-fusion-main{align-items:flex-start;flex-direction:column;}
  body.app-shell .tc276-oee-diagnosis-grid,
  body.app-shell .ai-health-grid{grid-template-columns:1fr;}
}
body.app-shell .ai-admin-page .ai-settings-card,
body.app-shell .ai-admin-page .section-card{
  border-radius:22px;
}
body.app-shell .ai-settings-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.app-shell .ai-settings-grid .field-card{
  min-height:58px;
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.54);
}
body.app-shell[data-theme="dark"] .ai-settings-grid .field-card{
  background:rgba(15,23,42,.46);
}
body.app-shell .ai-settings-grid .field-card span{
  font-weight:800;
  color:var(--text);
}
body.app-shell .ai-settings-grid input[type="checkbox"]{
  width:22px;
  height:22px;
  accent-color:var(--accent);
}
body.app-shell .ai-diag-summary{
  margin:0;
  white-space:pre-wrap;
  font:700 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background:rgba(255,255,255,.58);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  color:var(--text);
  max-height:260px;
  overflow:auto;
}
body.app-shell[data-theme="dark"] .ai-diag-summary{
  background:rgba(15,23,42,.52);
}
body.app-shell .ai-diag-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
body.app-shell .ai-fixed-table{
  max-height:360px;
  overflow:auto;
}
body.app-shell .ai-log-messages{
  max-height:460px;
  overflow:auto;
}
body.app-shell .small-value{
  font-size:18px;
  line-height:1.1;
}
body.app-shell .ai-chat-message{
  white-space:pre-wrap;
}
body.app-shell .ai-chat-message::selection,
body.app-shell .ai-bubble::selection{
  background:rgba(56,189,248,.22);
}
@media (max-width: 900px){
  body.app-shell .ai-settings-grid,
  body.app-shell .ai-diag-grid{
    grid-template-columns:1fr;
  }
}
body.app-shell .tc278-ai-suggestions-page .inline-form{
  display:inline-flex;
  margin:0;
}
body.app-shell .tc278-suggestion-kpis{
  margin-bottom:14px;
}
body.app-shell .tc278-ai-suggestion-section{
  margin-bottom:14px;
}
body.app-shell .tc278-suggestion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.app-shell .tc278-suggestion-card{
  border:1px solid rgba(148,163,184,.24);
  border-radius:22px;
  padding:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,252,.72));
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}
body.app-shell[data-theme="dark"] .tc278-suggestion-card{
  background:linear-gradient(180deg,rgba(15,23,42,.78),rgba(15,23,42,.48));
}
body.app-shell .tc278-suggestion-card.priority-high,
body.app-shell .tc278-suggestion-card.priority-critical{
  border-color:rgba(239,68,68,.26);
  box-shadow:0 16px 38px rgba(239,68,68,.08);
}
body.app-shell .tc278-suggestion-card.priority-medium{
  border-color:rgba(245,158,11,.25);
}
body.app-shell .tc278-sugg-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.app-shell .tc278-suggestion-card h3{
  margin:0;
  font-size:15px;
  line-height:1.25;
  color:var(--text);
}
body.app-shell .tc278-sugg-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body.app-shell .tc278-sugg-meta span{
  border:1px solid rgba(148,163,184,.22);
  border-radius:999px;
  padding:5px 8px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  background:rgba(255,255,255,.5);
}
body.app-shell[data-theme="dark"] .tc278-sugg-meta span{
  background:rgba(15,23,42,.42);
}
body.app-shell .tc278-suggestion-card p{
  margin:0;
  color:var(--text);
  font-size:12.5px;
  line-height:1.45;
}
body.app-shell .tc278-sugg-action{
  border:1px dashed rgba(20,184,166,.32);
  border-radius:16px;
  padding:10px 11px;
  background:rgba(240,253,250,.68);
  color:var(--text);
  margin-top:auto;
}
body.app-shell[data-theme="dark"] .tc278-sugg-action{
  background:rgba(20,184,166,.08);
}
body.app-shell .tc278-sugg-action strong,
body.app-shell .tc278-sugg-action span{
  display:block;
}
body.app-shell .tc278-sugg-action strong{
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}
body.app-shell .tc278-sugg-action span{
  font-size:12px;
  line-height:1.42;
}
body.app-shell .tc278-close-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  margin:0;
}
body.app-shell .tc278-close-form .input{
  min-height:38px;
}
@media (max-width:1180px){
  body.app-shell .tc278-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  body.app-shell .tc278-suggestion-grid{grid-template-columns:1fr;}
  body.app-shell .tc278-close-form{grid-template-columns:1fr;}
}
body.app-shell .tc285-command-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  margin:0 0 14px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(239,246,255,.82) 52%,rgba(236,253,245,.70));
  box-shadow:0 18px 44px rgba(15,23,42,.075);
}
html[data-theme="dark"] body.app-shell .tc285-command-hero{
  background:linear-gradient(135deg,rgba(15,23,42,.88),rgba(30,41,59,.78) 56%,rgba(13,148,136,.12));
}
body.app-shell .tc285-command-hero h2{margin:2px 0 4px;font-size:24px;line-height:1.15;letter-spacing:-.035em;}
body.app-shell .tc285-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
body.app-shell .tc285-panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
body.app-shell .tc285-panel-title-row h3{margin:2px 0 4px;font-size:18px;letter-spacing:-.025em;}
body.app-shell .tc285-panel-title-row.compact{margin-bottom:10px;}
body.app-shell .tc285-ai-status-strip,
body.app-shell .tc285-training-kpi-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
body.app-shell .tc285-training-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc285-ai-status-strip article,
body.app-shell .tc285-training-kpi-strip article,
body.app-shell .tc285-learning-steps article{
  border:1px solid rgba(148,163,184,.24);
  border-radius:20px;
  padding:12px 13px;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,252,.74));
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
html[data-theme="dark"] body.app-shell .tc285-ai-status-strip article,
html[data-theme="dark"] body.app-shell .tc285-training-kpi-strip article,
html[data-theme="dark"] body.app-shell .tc285-learning-steps article{
  background:linear-gradient(180deg,rgba(15,23,42,.78),rgba(15,23,42,.46));
}
body.app-shell .tc285-ai-status-strip span,
body.app-shell .tc285-training-kpi-strip span,
body.app-shell .tc285-learning-steps span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
body.app-shell .tc285-ai-status-strip strong,
body.app-shell .tc285-training-kpi-strip strong{display:block;margin-top:4px;font-size:24px;line-height:1.05;letter-spacing:-.04em;color:var(--text);}
body.app-shell .tc285-ai-status-strip small,
body.app-shell .tc285-training-kpi-strip small{display:block;margin-top:4px;color:var(--muted);font-size:11.5px;}
body.app-shell .tc285-ai-status-strip article.warn{border-color:rgba(245,158,11,.28);background:linear-gradient(180deg,rgba(255,251,235,.92),rgba(255,255,255,.76));}
body.app-shell .tc285-small-strong{font-size:15px;letter-spacing:-.02em;word-break:break-word;}
body.app-shell .tc285-ai-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:14px;align-items:start;}
body.app-shell .tc285-ai-chat-card,
body.app-shell .tc285-ai-side-card,
body.app-shell .tc285-ai-capability-panel,
body.app-shell .tc285-learning-path,
body.app-shell .tc285-training-section{
  border:1px solid rgba(148,163,184,.24);
  border-radius:24px;
  padding:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 16px 38px rgba(15,23,42,.065);
}
html[data-theme="dark"] body.app-shell .tc285-ai-chat-card,
html[data-theme="dark"] body.app-shell .tc285-ai-side-card,
html[data-theme="dark"] body.app-shell .tc285-ai-capability-panel,
html[data-theme="dark"] body.app-shell .tc285-learning-path,
html[data-theme="dark"] body.app-shell .tc285-training-section{background:rgba(15,23,42,.58);}
body.app-shell .tc285-ai-chat-shell{border:1px solid rgba(148,163,184,.22);border-radius:22px;background:linear-gradient(180deg,rgba(248,250,252,.78),rgba(255,255,255,.82));overflow:hidden;}
html[data-theme="dark"] body.app-shell .tc285-ai-chat-shell{background:rgba(15,23,42,.52);}
body.app-shell .tc285-ai-chat-log{min-height:300px;max-height:420px;padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px;}
body.app-shell .tc285-ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.66);}
html[data-theme="dark"] body.app-shell .tc285-ai-chat-form{background:rgba(15,23,42,.58);}
body.app-shell .tc285-ai-chat-form .input{min-height:44px;border-radius:16px;}
body.app-shell .tc285-ai-chat-form .btn{min-height:44px;border-radius:16px;padding-inline:18px;}
body.app-shell .tc285-suggestion-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
body.app-shell .tc285-ai-route-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:470px;overflow:auto;padding-right:2px;}
body.app-shell .tc285-ai-route-card{display:block;border:1px solid rgba(148,163,184,.24);border-radius:16px;padding:11px 12px;background:rgba(248,250,252,.72);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;}
body.app-shell .tc285-ai-route-card:hover{border-color:rgba(14,165,233,.36);box-shadow:0 14px 28px rgba(14,165,233,.10);transform:translateY(-1px);}
body.app-shell .tc285-ai-route-card strong{display:block;font-size:13px;color:var(--text);}
body.app-shell .tc285-ai-route-card span{display:block;margin-top:3px;font-size:11.5px;color:var(--muted);}
body.app-shell .tc285-ai-capability-panel{margin-top:14px;}
body.app-shell .tc285-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
body.app-shell .tc285-capability-grid article{border:1px solid rgba(148,163,184,.20);border-radius:18px;padding:12px;background:linear-gradient(180deg,rgba(248,250,252,.82),rgba(255,255,255,.68));}
body.app-shell .tc285-capability-grid strong{display:block;font-size:15px;line-height:1.15;color:var(--text);}
body.app-shell .tc285-capability-grid span{display:block;margin-top:5px;font-size:12px;color:var(--muted);line-height:1.42;}
body.app-shell .tc285-application-map{margin-top:14px;border-radius:24px;}
body.app-shell .tc285-table-head{align-items:center;gap:12px;}
body.app-shell .tc285-table-head .input{max-width:280px;min-height:40px;border-radius:14px;}
body.app-shell .tc285-sticky-table{max-height:520px;overflow:auto;border-radius:18px;}
body.app-shell .tc285-sticky-table thead th,
body.app-shell .tc270-table-scroll thead th{position:sticky;top:0;z-index:2;background:var(--panel);}
body.app-shell .tc285-learning-path{margin-bottom:14px;}
body.app-shell .tc285-learning-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
body.app-shell .tc285-learning-steps article b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;margin-bottom:10px;background:rgba(14,165,233,.12);color:#0369a1;font-size:12px;}
body.app-shell .tc285-learning-steps article strong{display:block;margin-bottom:4px;font-size:14px;color:var(--text);}
body.app-shell .tc285-training-section{margin-top:14px;}
body.app-shell .tc285-training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.app-shell .tc285-training-grid.support{grid-template-columns:repeat(4,minmax(0,1fr));}
body.app-shell .tc285-training-card,
body.app-shell .tc285-station-training-card{border:1px solid rgba(148,163,184,.22);border-radius:20px;padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,252,.70));box-shadow:0 10px 24px rgba(15,23,42,.045);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;}
html[data-theme="dark"] body.app-shell .tc285-training-card,
html[data-theme="dark"] body.app-shell .tc285-station-training-card{background:linear-gradient(180deg,rgba(15,23,42,.70),rgba(15,23,42,.42));}
body.app-shell .tc285-training-card:hover,
body.app-shell .tc285-station-training-card:hover{border-color:rgba(20,184,166,.34);box-shadow:0 16px 32px rgba(15,23,42,.08);transform:translateY(-1px);}
body.app-shell .tc285-training-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
body.app-shell .tc285-training-card-head strong{display:block;font-size:14px;color:var(--text);line-height:1.25;}
body.app-shell .tc285-training-card-head span{display:block;margin-top:2px;color:var(--muted);font-size:12px;}
body.app-shell .tc285-training-card-head em{font-style:normal;border:1px solid rgba(20,184,166,.26);border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:800;color:#0f766e;background:rgba(240,253,250,.74);white-space:nowrap;}
body.app-shell .tc285-training-card p{margin:0 0 10px;color:var(--muted);font-size:12.5px;line-height:1.45;}
body.app-shell .tc285-training-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
body.app-shell .tc285-training-tags span{border:1px solid rgba(148,163,184,.20);border-radius:999px;padding:4px 7px;font-size:10.5px;color:var(--muted);background:rgba(255,255,255,.52);}
body.app-shell .tc285-station-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
body.app-shell .tc285-station-training-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;}
body.app-shell .tc285-station-training-card .actions{grid-column:1/-1;margin-top:0;}
body.app-shell .tc285-station-badge{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#075985;background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(20,184,166,.18));border:1px solid rgba(14,165,233,.24);}
body.app-shell .tc285-station-training-card strong{display:block;font-size:14px;color:var(--text);}
body.app-shell .tc285-station-training-card span{display:block;margin-top:3px;color:var(--muted);font-size:12px;}
body.app-shell .tc285-training-modal{max-width:760px;}
body.app-shell .card,
body.app-shell .metric-card,
body.app-shell .section-card{transition:border-color .18s ease,box-shadow .18s ease;}
body.app-shell .card:hover,
body.app-shell .metric-card:hover{border-color:rgba(14,165,233,.24);}
body.app-shell .table-wrap table.table tbody tr:nth-child(even){background:rgba(148,163,184,.035);}
body.app-shell .table-wrap table.table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
body.app-shell .table-wrap table.table td{vertical-align:middle;}
body.app-shell .btn:focus-visible,
body.app-shell .input:focus-visible,
body.app-shell select:focus-visible,
body.app-shell textarea:focus-visible{outline:3px solid rgba(14,165,233,.22);outline-offset:2px;}
body.app-shell .tc270-trace-hero,
body.app-shell .tc270-search-card,
body.app-shell .tc270-pack-overview,
body.app-shell .tc270-workflow-card,
body.app-shell .tc270-panel,
body.app-shell .tc270-serial-panel{border-radius:24px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
body.app-shell .tc270-trace-search{gap:10px;align-items:end;}
body.app-shell .tc270-trace-search .input{min-height:42px;border-radius:15px;}
body.app-shell .tc270-summary-grid,
body.app-shell .tc270-metrics-row{gap:10px;}
body.app-shell .tc270-summary-panel{border-radius:18px;padding:13px;}
body.app-shell .tc270-kv-grid > div{padding:10px;border-radius:14px;background:rgba(248,250,252,.72);}
body.app-shell .tc270-workflow-lane{gap:9px;overflow:auto;padding-bottom:4px;}
body.app-shell .tc270-lane-step{min-width:104px;border-radius:17px;}
body.app-shell .tc270-flow-item{border-radius:16px;margin-bottom:9px;}
body.app-shell .tc270-table td,
body.app-shell .tc270-table th{padding:9px 10px;}
@media (max-width:1180px){
  body.app-shell .tc285-ai-status-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .tc285-ai-layout{grid-template-columns:1fr;}
  body.app-shell .tc285-capability-grid,
  body.app-shell .tc285-learning-steps,
  body.app-shell .tc285-training-grid.support{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc285-training-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  body.app-shell .tc285-command-hero{flex-direction:column;padding:15px;border-radius:22px;}
  body.app-shell .tc285-command-hero h2{font-size:21px;}
  body.app-shell .tc285-hero-actions{justify-content:flex-start;width:100%;}
  body.app-shell .tc285-hero-actions .btn{flex:1 1 auto;}
  body.app-shell .tc285-ai-status-strip,
  body.app-shell .tc285-training-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc285-ai-chat-card,
  body.app-shell .tc285-ai-side-card,
  body.app-shell .tc285-ai-capability-panel,
  body.app-shell .tc285-learning-path,
  body.app-shell .tc285-training-section{padding:13px;border-radius:21px;}
  body.app-shell .tc285-ai-chat-log{min-height:240px;max-height:340px;}
  body.app-shell .tc285-ai-chat-form{grid-template-columns:1fr;}
  body.app-shell .tc285-capability-grid,
  body.app-shell .tc285-learning-steps,
  body.app-shell .tc285-training-grid,
  body.app-shell .tc285-training-grid.support,
  body.app-shell .tc285-station-training-grid{grid-template-columns:1fr;}
  body.app-shell .tc285-station-training-card{grid-template-columns:auto minmax(0,1fr);}
  body.app-shell .tc285-table-head{align-items:stretch;flex-direction:column;}
  body.app-shell .tc285-table-head .input{max-width:none;width:100%;}
  body.app-shell .tc270-trace-search{grid-template-columns:1fr;}
  body.app-shell .tc270-lane-step{min-width:96px;}
}
body.app-shell .tc267-meta-balanced{
  grid-template-columns:34px minmax(0,1fr) max-content;
  column-gap:8px;
}
body.app-shell .tc267-meta-balanced .tc257-meta:last-child,
body.app-shell .tc286-created-meta{
  text-align:right;
  justify-self:end;
  min-width:116px;
  max-width:132px;
}
body.app-shell .tc263-date-line,
body.app-shell .tc257-meta strong.tc263-date-line,
body.app-shell .tc257-metric-value strong.tc263-date-line{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  font-size:11px;
  line-height:1.15;
}
body.app-shell .tc286-mbin-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .tc286-mbin-meta-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) max-content;
  align-items:center;
  gap:8px;
}
body.app-shell .tc286-mbin-meta-row .tc257-meta strong:not(.tc263-date-line){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .tc257-card-shell--mbin .tc257-metrics.tc286-mbin-metrics .tc257-metric{
  min-height:54px;
}
body.app-shell .tc267-station-pack-shell .tc257-metric-value--stack small{
  display:none;
}
body.app-shell .tc267-station-pack-shell .tc257-metric-value--stack strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
@media(max-width:390px){
  body.app-shell .tc267-meta-balanced,
  body.app-shell .tc286-mbin-meta-row{
    grid-template-columns:32px minmax(0,1fr);
  }
  body.app-shell .tc267-meta-balanced .tc257-meta:last-child,
  body.app-shell .tc286-created-meta{
    grid-column:2;
    justify-self:start;
    text-align:left;
    min-width:0;
    max-width:100%;
  }
}
html.modal-open,
body.modal-open{
  overflow:hidden;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal.tc-server-open-modal{
  overflow:hidden;
  align-items:center;
  justify-content:center;
  padding:clamp(10px,2vw,24px);
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal.tc-server-open-modal > .modal-card{
  max-height:calc(100dvh - clamp(20px,4vw,48px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.app-shell .modal-card > .modal-head,
body.app-shell .modal-card > .modal-header,
body.app-shell .modal-card > .tc249-modal-head{
  flex:0 0 auto;
  position:sticky;
  top:0;
  z-index:12;
}
body.app-shell .modal-card > .modal-body,
body.app-shell .modal-card > .tc249-modal-body,
body.app-shell .modal-card > .station-trace-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
body.app-shell .modal-card > form,
body.app-shell .stage-modal-card > form,
body.app-shell .station-clock-modal-card > form,
body.app-shell .machine-check-modal-form{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
body.app-shell .modal-card > .table-wrap,
body.app-shell .modal-card > form > .table-wrap,
body.app-shell .modal-body > .table-wrap,
body.app-shell .tc249-modal-body > .table-wrap,
body.app-shell .modal .table-wrap{
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
}
body.app-shell .modal-card > form > .actions:last-child,
body.app-shell .modal-card > form > .row-actions:last-child,
body.app-shell .modal-card > .actions:last-child,
body.app-shell .modal-card > .row-actions:last-child,
body.app-shell .modal-footer,
body.app-shell .modal-actions{
  position:sticky;
  bottom:0;
  z-index:14;
  flex:0 0 auto;
  margin-top:12px;
  border-top:1px solid rgba(148,163,184,.24);
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.98));
  backdrop-filter:blur(8px);
}
body.app-shell #clockModal .modal-card,
body.app-shell #stationClockModal .station-clock-modal-card,
body.app-shell #stationClockModal .modal-card,
body.app-shell #clockInModal .modal-card:has(.machine-check-modal-form){
  width:min(1120px,calc(100vw - 36px));
  max-height:calc(100dvh - 36px);
  padding:0;
  border-radius:24px;
}
body.app-shell #clockModal .modal-head,
body.app-shell #stationClockModal .modal-head,
body.app-shell #clockInModal .modal-head{
  margin:0;
  border-bottom:1px solid rgba(148,163,184,.24);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96));
}
body.app-shell #clockModal .machine-check-modal-form,
body.app-shell #stationClockModal .machine-check-modal-form,
body.app-shell #clockInModal .machine-check-modal-form{
  padding:14px 18px 0;
}
body.app-shell #clockModal .machine-check-sheet,
body.app-shell #stationClockModal .machine-check-sheet,
body.app-shell #clockInModal .machine-check-sheet{
  max-height:none;
  overflow:visible;
}
body.app-shell #clockModal .machine-check-list,
body.app-shell #stationClockModal .machine-check-list,
body.app-shell #clockInModal .machine-check-list{
  max-height:none;
  overflow:visible;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
body.app-shell #clockModal .machine-check-row,
body.app-shell #stationClockModal .machine-check-row,
body.app-shell #clockInModal .machine-check-row{
  grid-template-columns:minmax(180px,245px) minmax(0,1fr) minmax(190px,240px);
  align-items:center;
}
body.app-shell #clockModal .station-clock-submit-btn,
body.app-shell #stationClockModal .station-clock-submit-btn,
body.app-shell #clockInModal .station-clock-submit-btn{
  min-width:140px;
}
@media(max-width:980px){
  body.app-shell #clockModal .machine-check-row,
  body.app-shell #stationClockModal .machine-check-row,
  body.app-shell #clockInModal .machine-check-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }
}
@media(max-width:760px){
  body.app-shell .modal.open,
  body.app-shell .modal.is-open,
  body.app-shell .modal.show,
  body.app-shell .modal.tc-server-open-modal{
    align-items:flex-end;
    padding:8px;
  }
  body.app-shell .modal.open > .modal-card,
  body.app-shell .modal.is-open > .modal-card,
  body.app-shell .modal.show > .modal-card,
  body.app-shell .modal.tc-server-open-modal > .modal-card{
    width:100%;
    max-height:calc(100dvh - 16px);
    border-radius:20px 20px 0 0;
  }
  body.app-shell #clockModal .modal-card,
  body.app-shell #stationClockModal .station-clock-modal-card,
  body.app-shell #stationClockModal .modal-card,
  body.app-shell #clockInModal .modal-card:has(.machine-check-modal-form){
    width:100%;
    max-height:calc(100dvh - 16px);
    border-radius:20px 20px 0 0;
  }
}
.admin-access-matrix-page .form-grid,
.admin-access-matrix-page .preset-toolbar,
.admin-access-matrix-page .access-control-row{align-items:end;gap:12px;}
.admin-access-matrix-page .access-details{border:1px solid rgba(148,163,184,.24);border-radius:18px;background:rgba(255,255,255,.72);padding:12px;margin-top:12px;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.admin-access-matrix-page .access-details>summary{cursor:pointer;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;}
.admin-access-matrix-page .matrix-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:10px 0 14px;}
.admin-access-matrix-page .matrix-check{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;border:1px solid rgba(148,163,184,.20);border-radius:14px;padding:10px;background:rgba(248,250,252,.92);min-height:54px;}
.admin-access-matrix-page .matrix-check span{display:flex;flex-direction:column;gap:2px;line-height:1.25;}
.admin-access-matrix-page .matrix-check small{color:var(--muted);font-size:11px;}
.admin-access-matrix-page .table-wrap{border-radius:16px;overflow:auto;max-height:68vh;}
.admin-access-matrix-page .table thead th{position:sticky;top:0;z-index:2;background:var(--card);}
.admin-users-page .modal-card.xl{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 28px);display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:24px;overflow:hidden;}
.admin-users-page .modal-head{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid rgba(148,163,184,.22);padding:16px 18px;}
.admin-users-page .modal-body{overflow:auto;padding:16px;background:linear-gradient(180deg,rgba(248,250,252,.75),rgba(255,255,255,.92));}
.admin-users-page .modal-body>.grid.two{grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);align-items:start;gap:16px;}
.admin-users-page .modal-body .card.table-card{border-radius:18px;border:1px solid rgba(148,163,184,.22);box-shadow:0 12px 26px rgba(15,23,42,.06);}
.admin-users-page .access-groups{display:grid;gap:12px;margin-top:8px;}
.admin-users-page .access-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.admin-users-page .access-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;}
.admin-users-page .access-check{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;border:1px solid rgba(148,163,184,.22);border-radius:13px;padding:9px;background:rgba(248,250,252,.85);}
.admin-users-page .access-check span{display:flex;flex-direction:column;line-height:1.2;}
.admin-users-page .access-check small{font-size:11px;color:var(--muted);}
.admin-users-page .modal-body .table-wrap{overflow:auto;max-height:340px;border-radius:14px;}
.admin-users-page .modal-body .table thead th{position:sticky;top:0;background:var(--card);z-index:2;}
.tc294-log-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;}
@media (max-width: 860px){.admin-users-page .modal-body>.grid.two{grid-template-columns:1fr}.admin-users-page .modal-card.xl{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.admin-access-matrix-page .preset-toolbar{grid-template-columns:1fr}.admin-access-matrix-page .actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
body.app-shell .alert-workbench-page .page-head,
body.app-shell .inventory-grn-form-page .page-head{
  align-items:flex-start;
  gap:16px;
}
body.app-shell .alert-workbench-page .tc295-alert-filter{
  align-items:end;
  gap:12px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.25);
  border-radius:18px;
  padding:14px;
}
body.app-shell .alert-workbench-page .table-wrap{
  border-radius:18px;
  border:1px solid rgba(148,163,184,.22);
}
body.app-shell .alert-workbench-page .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fafc;
}
body.app-shell .tc-alert-action-card{
  max-width:min(1120px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.app-shell .tc-alert-action-card .modal-head{
  flex:0 0 auto;
}
body.app-shell .tc-alert-action-card .modal-body,
body.app-shell .tc-alert-action-body{
  min-height:0;
  overflow:auto;
}
body.app-shell .tc-alert-action-grid{
  align-items:stretch;
}
body.app-shell .tc-alert-action-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.app-shell .tc-alert-action-form .actions{
  position:sticky;
  bottom:-18px;
  margin:10px -2px -2px;
  padding:12px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.62),#fff 45%);
  border-top:1px solid rgba(148,163,184,.18);
}
body.app-shell .tc295-inward-page .tc116-inward-header,
body.app-shell .tc295-inward-page .tc116-vendor-materials,
body.app-shell .tc295-inward-page .tc116-selected-materials{
  border-radius:22px;
  border:1px solid rgba(148,163,184,.26);
  box-shadow:0 12px 30px rgba(15,23,42,.04);
}
body.app-shell .tc295-inward-page .tc116-inward-header{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}
body.app-shell .tc295-inward-page .tc295-qc-guidance{
  margin:12px 0;
  align-items:stretch;
}
body.app-shell .tc295-inward-page .tc295-ai-help{
  min-height:100%;
  line-height:1.55;
}
body.app-shell .tc295-inward-page .tc295-vendor-map-scroll{
  max-height:320px;
  overflow:auto;
  border:1px solid rgba(148,163,184,.2);
  border-radius:16px;
}
body.app-shell .tc295-inward-page .tc295-vendor-map-table{
  min-width:980px;
}
body.app-shell .tc295-inward-page .tc295-inward-lines-table{
  min-width:1460px;
}
body.app-shell .tc295-inward-page .table th{
  white-space:nowrap;
}
body.app-shell .tc295-inward-page .table td{
  vertical-align:middle;
}
body.app-shell .tc295-inward-page .table .input{
  min-height:38px;
  border-radius:12px;
}
body.app-shell .tc295-inward-page .compact-num{
  width:96px;
  text-align:right;
}
body.app-shell .tc295-inward-page .compact-money{
  width:112px;
  text-align:right;
}
body.app-shell .tc295-inward-page .compact-uom{
  width:92px;
}
body.app-shell .tc295-inward-page .compact-lot{
  width:125px;
}
body.app-shell .tc295-inward-page .remarks-input{
  min-width:180px;
}
body.app-shell .tc295-inward-page .tc295-material-cell{
  min-width:260px;
  max-width:360px;
}
body.app-shell .tc295-inward-page .row-actions .btn{
  white-space:nowrap;
}
body.app-shell .user-access-modal .modal-card,
body.app-shell .access-matrix-modal .modal-card,
body.app-shell .user-activity-modal .modal-card{
  max-width:min(1120px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.app-shell .user-access-modal .modal-body,
body.app-shell .access-matrix-modal .modal-body,
body.app-shell .user-activity-modal .modal-body{
  min-height:0;
  overflow:auto;
  padding:18px 22px;
}
body.app-shell .user-access-modal .form-grid,
body.app-shell .access-matrix-modal .form-grid,
body.app-shell .user-activity-modal .form-grid{
  gap:14px;
  align-items:end;
}
body.app-shell .user-access-modal table thead th,
body.app-shell .access-matrix-modal table thead th,
body.app-shell .user-activity-modal table thead th{
  position:sticky;
  top:0;
  background:#f8fafc;
  z-index:2;
}
@media (max-width: 760px){
  body.app-shell .tc295-inward-page .tc295-qc-guidance,
  body.app-shell .alert-workbench-page .tc295-alert-filter{
    grid-template-columns:1fr;
  }
  body.app-shell .tc-alert-action-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .tc-alert-action-card,
  body.app-shell .user-access-modal .modal-card,
  body.app-shell .access-matrix-modal .modal-card,
  body.app-shell .user-activity-modal .modal-card{
    max-width:calc(100vw - 14px);
    max-height:calc(100vh - 14px);
    border-radius:18px;
  }
}
body.app-shell .tc-table-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 4px 0;
  color:var(--muted);
  font-size:13px;
}
body.app-shell .tc-table-pager-actions label{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:var(--muted);
  font-size:13px;
}
body.app-shell .tc-table-page-size{
  min-height:34px;
  width:92px;
  padding:6px 10px;
  border-radius:10px;
}
@media (max-width: 680px){
  body.app-shell .tc-table-pager{
    align-items:flex-start;
    flex-direction:column;
  }
}
.abac-access-page .abac-principle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:14px}
.abac-principle{border:1px solid rgba(148,163,184,.24);border-radius:18px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(248,250,252,.52));box-shadow:0 14px 40px rgba(15,23,42,.06)}
.abac-principle span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}
.abac-principle strong{display:block;margin-top:6px;color:var(--text);font-size:15px}
.abac-principle small{display:block;margin-top:5px;color:var(--muted);line-height:1.38}
.abac-user-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;margin:12px 0}
.abac-user-picker label,.abac-subject-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--text)}
.abac-user-picker label span,.abac-subject-grid label span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.abac-subject-grid{display:grid;grid-template-columns:1fr 1fr minmax(240px,1fr) auto;gap:12px;align-items:end;margin-top:12px}
.abac-switch,.abac-check,.abac-mini-switch{cursor:pointer}
.abac-switch{display:flex;align-items:center;gap:10px;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:10px 12px;background:rgba(255,255,255,.62)}
.abac-switch input,.abac-check input,.abac-mini-switch input,.abac-route-row input{accent-color:var(--accent)}
.abac-switch span{display:block;text-transform:none;letter-spacing:0;color:var(--text)}
.abac-switch small{display:block;color:var(--muted);font-weight:500;line-height:1.3}
.abac-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0}
.abac-profile-card{border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:12px;background:rgba(248,250,252,.7);min-height:118px}
.abac-profile-card.selected{border-color:rgba(14,165,233,.45);background:rgba(14,165,233,.08);box-shadow:0 12px 30px rgba(14,165,233,.10)}
.abac-profile-card div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.abac-profile-card small{display:block;color:var(--muted);line-height:1.35;margin-top:8px}
.abac-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.abac-card-meta span{font-size:11px;border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:3px 8px;color:var(--muted)}
.abac-section{margin-top:14px}
.abac-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin:8px 0 14px}
.abac-check{display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:10px 11px;background:rgba(255,255,255,.72)}
.abac-check span{display:block}
.abac-check strong{display:block;font-size:13px;color:var(--text)}
.abac-check small{display:block;color:var(--muted);line-height:1.32;margin-top:2px}
.abac-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:10px}
.abac-resource-group{border:1px solid rgba(148,163,184,.22);border-radius:18px;background:rgba(255,255,255,.65);padding:12px}
.abac-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.abac-route-row{display:grid;grid-template-columns:auto 68px 1fr;gap:9px;align-items:center;border-top:1px solid rgba(148,163,184,.16);padding:9px 0;cursor:pointer}
.abac-route-row:first-of-type{border-top:0}
.abac-route-toggle{font-size:11px;border-radius:999px;padding:4px 8px;text-align:center;background:rgba(148,163,184,.16);color:var(--muted);font-weight:800}
.abac-route-row input:checked + .abac-route-toggle{background:rgba(34,197,94,.14);color:#15803d}
.abac-route-row strong{display:block;font-size:13px}
.abac-route-row small{display:block;color:var(--muted);line-height:1.3}
.abac-mobile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.abac-mobile-card{border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:12px;background:rgba(255,255,255,.68)}
.abac-mobile-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}
.abac-mobile-card small{display:block;margin:5px 0 8px;color:var(--muted)}
.abac-mini-switch{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);margin-top:6px}
.abac-mini-switch span{white-space:nowrap}
.role-matrix-labelled-check span{font-size:12px;color:var(--text);font-weight:700}
.access-search-row{margin:10px 0}
.abac-access-page .sticky-form-actions{position:sticky;bottom:0;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.96));backdrop-filter:blur(12px);padding:12px;border-top:1px solid rgba(148,163,184,.22);border-radius:0 0 18px 18px}
@media(max-width:960px){.abac-subject-grid{grid-template-columns:1fr}.abac-user-picker{grid-template-columns:1fr}.abac-route-row{grid-template-columns:auto 62px 1fr}.abac-resource-grid{grid-template-columns:1fr}}
body.app-shell .admin-access-matrix-page .access-role-tabs{
  display:grid;
  gap:12px;
}
body.app-shell .admin-access-matrix-page .abac-fixed-panel{
  max-height:420px;
  overflow:auto;
  padding:8px 6px 10px 2px;
  border-radius:16px;
  scroll-behavior:smooth;
}
body.app-shell .admin-access-matrix-page .abac-resource-panel{
  max-height:520px;
}
body.app-shell .admin-access-matrix-page .abac-role-scroll-panel{
  max-height:460px;
}
body.app-shell .admin-access-matrix-page .abac-mobile-panel,
body.app-shell .admin-access-matrix-page .abac-scope-panel{
  max-height:360px;
}
body.app-shell .admin-access-matrix-page .abac-fixed-panel::-webkit-scrollbar{
  width:10px;
  height:10px;
}
body.app-shell .admin-access-matrix-page .abac-fixed-panel::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.32);
  border-radius:999px;
}
body.app-shell .admin-access-matrix-page .abac-scope-toolbar,
body.app-shell .admin-access-matrix-page .abac-resource-toolbar,
body.app-shell .admin-access-matrix-page .abac-role-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  position:sticky;
  top:0;
  z-index:4;
  padding:8px 0 10px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86));
  backdrop-filter:blur(10px);
}
body.app-shell .admin-access-matrix-page .abac-inline-actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
body.app-shell .admin-access-matrix-page .btn.xs,
body.app-shell .admin-access-matrix-page .btn.sm{
  min-height:30px;
  padding:6px 10px;
  font-size:12px;
  border-radius:999px;
}
body.app-shell .admin-access-matrix-page .abac-group-kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  position:sticky;
  top:52px;
  z-index:3;
  padding:9px 8px;
  border-radius:12px;
  background:rgba(248,250,252,.96);
  border:1px solid rgba(148,163,184,.20);
}
body.app-shell .admin-access-matrix-page .abac-role-details > summary,
body.app-shell .admin-access-matrix-page .access-details > summary{
  position:sticky;
  top:0;
  z-index:5;
}
body.app-shell .admin-access-matrix-page .abac-route-toggle[data-abac-state-label]{
  min-width:64px;
  text-align:center;
}
body.app-shell .admin-access-matrix-page .abac-route-row input[type="checkbox"]:checked + .abac-route-toggle[data-abac-state-label]{
  background:rgba(16,185,129,.14);
  color:#047857;
  border-color:rgba(16,185,129,.28);
}
body.app-shell .admin-access-matrix-page .abac-route-row input[type="checkbox"]:not(:checked) + .abac-route-toggle[data-abac-state-label]{
  background:rgba(148,163,184,.12);
  color:#64748b;
  border-color:rgba(148,163,184,.20);
}
html[data-theme="dark"] body.app-shell .admin-access-matrix-page .abac-scope-toolbar,
html[data-theme="dark"] body.app-shell .admin-access-matrix-page .abac-resource-toolbar,
html[data-theme="dark"] body.app-shell .admin-access-matrix-page .abac-role-toolbar,
body.dark-mode.app-shell .admin-access-matrix-page .abac-scope-toolbar,
body.dark-mode.app-shell .admin-access-matrix-page .abac-resource-toolbar,
body.dark-mode.app-shell .admin-access-matrix-page .abac-role-toolbar{
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.84));
}
html[data-theme="dark"] body.app-shell .admin-access-matrix-page .abac-group-kicker,
body.dark-mode.app-shell .admin-access-matrix-page .abac-group-kicker{
  background:rgba(15,23,42,.96);
  border-color:rgba(148,163,184,.22);
}
@media (max-width: 760px){
  body.app-shell .admin-access-matrix-page .abac-fixed-panel{
    max-height:64vh;
  }
  body.app-shell .admin-access-matrix-page .abac-group-kicker{
    top:48px;
  }
  body.app-shell .admin-access-matrix-page .abac-scope-toolbar,
  body.app-shell .admin-access-matrix-page .abac-resource-toolbar,
  body.app-shell .admin-access-matrix-page .abac-role-toolbar{
    align-items:stretch;
  }
  body.app-shell .admin-access-matrix-page .abac-inline-actions{
    width:100%;
  }
}
body.app-shell{min-height:100vh;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}
body.app-shell.modal-open{overflow:hidden;touch-action:none}
body.app-shell .access-studio-page{--access-line:rgba(148,163,184,.24);--access-soft:rgba(255,255,255,.74);--access-soft-2:rgba(248,250,252,.86)}
body.app-shell .access-studio-head{align-items:flex-start}
body.app-shell .access-studio-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
body.app-shell .access-studio-steps article{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--access-line);border-radius:20px;background:var(--access-soft);box-shadow:0 12px 32px rgba(15,23,42,.055)}
body.app-shell .access-studio-steps span{width:30px;height:30px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#20c4d6,#2f80ed);color:#fff;font-weight:900;flex:0 0 auto}
body.app-shell .access-studio-steps strong{display:block;color:var(--text)}
body.app-shell .access-studio-steps small{display:block;color:var(--muted);line-height:1.35;margin-top:2px}
body.app-shell .access-studio-metrics{margin-bottom:14px}
body.app-shell .access-user-card{margin-top:14px}
body.app-shell .access-user-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;margin:12px 0 14px}
body.app-shell .access-user-picker label,body.app-shell .access-subject-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--text)}
body.app-shell .access-user-picker label span,body.app-shell .access-subject-grid label span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
body.app-shell .access-subject-grid{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto auto auto;gap:10px;align-items:end;margin:10px 0 14px}
body.app-shell .access-advice-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0 14px}
body.app-shell .access-advice{border:1px solid var(--access-line);border-radius:16px;padding:10px 12px;background:rgba(248,250,252,.82)}
body.app-shell .access-advice strong{display:block;font-size:13px;color:var(--text)}
body.app-shell .access-advice small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}
body.app-shell .access-advice.warn{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
body.app-shell .access-advice.ok{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08)}
body.app-shell .access-studio-panel{margin-top:14px;padding:14px;border:1px solid var(--access-line);border-radius:22px;background:var(--access-soft-2)}
body.app-shell .access-panel-head{gap:12px;align-items:flex-start}
body.app-shell .access-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.app-shell .access-toolbar .input{min-width:min(340px,100%)}
body.app-shell .access-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;max-height:62vh;overflow:auto;padding:2px 4px 4px 2px;scrollbar-width:thin}
body.app-shell .access-module-card{border:1px solid var(--access-line);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(15,23,42,.05);overflow:hidden;min-height:120px}
body.app-shell .access-module-card.is-filter-hidden{display:none}
body.app-shell .access-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 10px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.72))}
body.app-shell .access-module-toggle{display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer;min-width:0}
body.app-shell .access-module-toggle input,body.app-shell .access-page-row input,body.app-shell .access-check input,body.app-shell .abac-mini-switch input{accent-color:var(--accent)}
body.app-shell .access-module-toggle strong{display:block;color:var(--text);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
body.app-shell .access-module-toggle small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
body.app-shell .access-page-list{padding:6px 10px 10px;max-height:290px;overflow:auto;scrollbar-width:thin}
body.app-shell .access-page-row{display:grid;grid-template-columns:auto 64px minmax(0,1fr);gap:8px;align-items:center;padding:8px 0;border-top:1px solid rgba(148,163,184,.13);cursor:pointer}
body.app-shell .access-page-row:first-child{border-top:0}
body.app-shell .access-page-row.is-filter-hidden{display:none}
body.app-shell .access-state{font-size:11px;font-weight:900;border-radius:999px;text-align:center;padding:4px 7px;color:#64748b;background:rgba(148,163,184,.13)}
body.app-shell .access-page-row input:checked + .access-state{color:#047857;background:rgba(16,185,129,.14)}
body.app-shell .access-page-copy{min-width:0;display:block}
body.app-shell .access-page-copy strong{display:block;color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-shell .access-page-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-shell .access-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;max-height:42vh;overflow:auto;padding-right:4px}
body.app-shell .access-scope-card{border:1px solid var(--access-line);border-radius:18px;background:rgba(255,255,255,.72);padding:12px}
body.app-shell .access-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px}
body.app-shell .access-check-grid.compact{grid-template-columns:1fr}
body.app-shell .access-check{display:flex;gap:9px;align-items:flex-start;padding:9px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.68);cursor:pointer;margin:0}
body.app-shell .access-check strong{display:block;color:var(--text);font-size:12px}
body.app-shell .access-check small{display:block;color:var(--muted);font-size:11px;line-height:1.25;margin-top:2px}
body.app-shell .access-mobile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:42vh;overflow:auto;padding:10px 2px 2px}
body.app-shell .access-mobile-card{border:1px solid var(--access-line);border-radius:16px;background:rgba(255,255,255,.72);padding:12px}
body.app-shell .access-mobile-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}
body.app-shell .access-mobile-card small{display:block;margin:5px 0 8px;color:var(--muted)}
body.app-shell .access-role-scroll-panel{max-height:50vh;overflow:auto;padding:4px;scrollbar-width:thin}
body.app-shell .access-perm-group{border:1px solid var(--access-line);border-radius:18px;background:rgba(255,255,255,.62);padding:10px;margin-bottom:10px}
body.app-shell .access-perm-group .section-kicker{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
body.app-shell .permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
body.app-shell .fixed-height-table{max-height:54vh;overflow:auto}
body.app-shell .sticky-form-actions{position:sticky;bottom:0;z-index:20;margin:12px -14px -14px;padding:12px 14px;background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.96));border-top:1px solid rgba(148,163,184,.22);backdrop-filter:blur(14px);border-radius:0 0 20px 20px}
body.app-shell .modal{padding:clamp(10px,2.5vh,26px);align-items:center;justify-content:center;overflow:hidden}
body.app-shell .modal.show,body.app-shell .modal.open,body.app-shell .modal.is-open,body.app-shell .modal.active{display:flex}
body.app-shell .modal-card,body.app-shell .modal-card.lg,body.app-shell .modal-card.xl,body.app-shell .station-clock-modal-card{width:min(1120px,calc(100vw - 28px));max-height:calc(100dvh - 28px);min-height:auto;display:flex;flex-direction:column;overflow:hidden;border-radius:24px}
body.app-shell .modal-card.lg{width:min(980px,calc(100vw - 28px))}
body.app-shell .modal-card.xl{width:min(1220px,calc(100vw - 28px))}
body.app-shell .modal-head{flex:0 0 auto;position:sticky;top:0;z-index:5;background:inherit;border-bottom:1px solid rgba(148,163,184,.18)}
body.app-shell .modal-body,body.app-shell .modal-card > form .modal-body,body.app-shell .modal-card > .form .modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding-bottom:14px}
body.app-shell .modal-card > form,body.app-shell .modal-card > .form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}
body.app-shell .modal-footer,body.app-shell .tc242-stage-modal-footer,body.app-shell .modal-body .actions,body.app-shell .modal-card > form > .actions{flex:0 0 auto;position:sticky;bottom:0;z-index:8;display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.98));border-top:1px solid rgba(148,163,184,.22);backdrop-filter:blur(14px)}
body.app-shell .stage-modal-card--xl{max-width:min(1120px,calc(100vw - 28px));height:auto;max-height:calc(100dvh - 28px)}
body.app-shell .tc242-stage-modal-body{padding:16px 18px;gap:12px}
body.app-shell .stage-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
body.app-shell .stage-modal-grid .full{grid-column:1/-1}
body.app-shell #activityModal .card-lite{padding:12px 14px;border-radius:18px;line-height:1.35}
body.app-shell .tc26-report-nav{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:6px 2px 12px;margin:0 0 12px;align-items:center;scrollbar-width:thin}
body.app-shell .tc26-report-pill,body.app-shell .report-tab{min-width:max-content;min-height:38px;max-height:42px;border-radius:999px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.1;aspect-ratio:auto;flex:0 0 auto}
body.app-shell .tc26-report-pill span{display:inline;white-space:nowrap;overflow:visible;text-overflow:clip}
html[data-theme="dark"] body.app-shell,body.dark-mode.app-shell{color-scheme:dark}
html[data-theme="dark"] body.app-shell .access-studio-page,body.dark-mode.app-shell .access-studio-page{--access-line:rgba(148,163,184,.26);--access-soft:rgba(15,23,42,.76);--access-soft-2:rgba(15,23,42,.82)}
html[data-theme="dark"] body.app-shell .access-module-card,html[data-theme="dark"] body.app-shell .access-scope-card,html[data-theme="dark"] body.app-shell .access-mobile-card,html[data-theme="dark"] body.app-shell .access-perm-group,html[data-theme="dark"] body.app-shell .access-check,body.dark-mode.app-shell .access-module-card,body.dark-mode.app-shell .access-scope-card,body.dark-mode.app-shell .access-mobile-card,body.dark-mode.app-shell .access-perm-group,body.dark-mode.app-shell .access-check{background:rgba(15,23,42,.74);border-color:rgba(148,163,184,.25)}
html[data-theme="dark"] body.app-shell .access-module-head,body.dark-mode.app-shell .access-module-head{background:linear-gradient(180deg,rgba(30,41,59,.92),rgba(15,23,42,.78))}
html[data-theme="dark"] body.app-shell .sticky-form-actions,html[data-theme="dark"] body.app-shell .modal-footer,html[data-theme="dark"] body.app-shell .tc242-stage-modal-footer,html[data-theme="dark"] body.app-shell .modal-body .actions,html[data-theme="dark"] body.app-shell .modal-card > form > .actions,body.dark-mode.app-shell .sticky-form-actions,body.dark-mode.app-shell .modal-footer,body.dark-mode.app-shell .tc242-stage-modal-footer,body.dark-mode.app-shell .modal-body .actions,body.dark-mode.app-shell .modal-card > form > .actions{background:linear-gradient(180deg,rgba(15,23,42,.74),rgba(15,23,42,.98));border-color:rgba(148,163,184,.24)}
html[data-theme="dark"] body.app-shell .tc26-report-pill,html[data-theme="dark"] body.app-shell .report-tab,body.dark-mode.app-shell .tc26-report-pill,body.dark-mode.app-shell .report-tab{background:rgba(15,23,42,.92);color:#dbeafe;border-color:rgba(148,163,184,.26)}
html[data-theme="dark"] body.app-shell .tc26-report-pill.active,html[data-theme="dark"] body.app-shell .tc26-report-pill:hover,html[data-theme="dark"] body.app-shell .report-tab.active,html[data-theme="dark"] body.app-shell .report-tab:hover,body.dark-mode.app-shell .tc26-report-pill.active,body.dark-mode.app-shell .tc26-report-pill:hover,body.dark-mode.app-shell .report-tab.active,body.dark-mode.app-shell .report-tab:hover{background:linear-gradient(135deg,#2f80ed,#20c4d6);color:#fff;border-color:transparent}
@media (max-width:980px){body.app-shell{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 88px)}body.app-shell .app-frame{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 74px)}body.app-shell .access-subject-grid,body.app-shell .access-user-picker{grid-template-columns:1fr}body.app-shell .access-toolbar{justify-content:flex-start}body.app-shell .access-module-grid{grid-template-columns:1fr;max-height:none}body.app-shell .access-page-list{max-height:300px}body.app-shell .modal{align-items:flex-end;padding:8px}body.app-shell .modal-card,body.app-shell .modal-card.lg,body.app-shell .modal-card.xl,body.app-shell .station-clock-modal-card{width:100%;max-width:100%;max-height:calc(100dvh - 16px);border-radius:22px 22px 0 0}body.app-shell .stage-modal-grid{grid-template-columns:1fr}body.app-shell .modal-footer,body.app-shell .tc242-stage-modal-footer{justify-content:stretch}body.app-shell .modal-footer .btn,body.app-shell .tc242-stage-modal-footer .btn{flex:1}}
@media (max-width:640px){body.app-shell .page-head,body.app-shell .table-summary{align-items:flex-start;flex-direction:column}body.app-shell .access-studio-steps{grid-template-columns:1fr}body.app-shell .access-module-toggle strong{max-width:160px}body.app-shell .access-page-row{grid-template-columns:auto 60px minmax(0,1fr)}body.app-shell .actions,body.app-shell .row-actions{flex-wrap:wrap}body.app-shell .btn{white-space:normal}}
:root{
  --bg:#f4f8fb;
  --surface:#ffffff;
  --surface-soft:#f7fbfd;
  --surface-strong:#eef7fb;
  --text:#0b1726;
  --muted:#64748b;
  --border:#d9e5ee;
  --accent:#18b7c6;
  --accent-2:#2f80ed;
  --success:#16a34a;
  --warning:#d97706;
  --danger:#dc2626;
  --shadow:0 14px 42px rgba(15,23,42,.10);
  --shadow-soft:0 8px 22px rgba(15,23,42,.07);
  --radius:18px;
  --radius-lg:24px;
  --sidebar-bg:#ffffff;
  --topbar-bg:rgba(255,255,255,.86);
  --modal-bg:#ffffff;
  --tc310-modal-pad:18px;
  --tc310-modal-footer-h:76px;
  --tc310-safe-bottom:env(safe-area-inset-bottom,0px);
}
html[data-theme="dark"]{
  --bg:#07111f;
  --surface:#0f1a2b;
  --surface-soft:#13243a;
  --surface-strong:#0b1a2b;
  --text:#eaf3ff;
  --muted:#9fb2c7;
  --border:#22364e;
  --accent:#24d3df;
  --accent-2:#62a8ff;
  --success:#35d07f;
  --warning:#f2b84b;
  --danger:#ff6b6b;
  --shadow:0 16px 46px rgba(0,0,0,.38);
  --shadow-soft:0 10px 28px rgba(0,0,0,.26);
  --sidebar-bg:#0b1626;
  --topbar-bg:rgba(12,24,40,.90);
  --modal-bg:#101d31;
}
body.app-shell{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 62%,transparent),transparent 320px),var(--bg);
  color:var(--text);
  min-width:0;
  padding-bottom:calc(20px + var(--tc310-safe-bottom));
}
body.app-shell .content,
body.app-shell .app-content,
body.app-shell main.content{
  min-width:0;
  max-width:100vw;
  padding-bottom:calc(42px + var(--tc310-safe-bottom));
}
body.app-shell .page,
body.app-shell .page > section,
body.app-shell .card,
body.app-shell .table-card,
body.app-shell .hero-panel,
body.app-shell .station-hero{
  min-width:0;
}
body.app-shell .page-head,
body.app-shell .hero-panel,
body.app-shell .station-hero,
body.app-shell .card,
body.app-shell .table-card,
body.app-shell .metric-card,
body.app-shell .entity-card{
  border-color:var(--border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,transparent),var(--surface-soft));
  box-shadow:var(--shadow-soft);
}
html[data-theme="dark"] body.app-shell .page-head,
html[data-theme="dark"] body.app-shell .hero-panel,
html[data-theme="dark"] body.app-shell .station-hero,
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .table-card,
html[data-theme="dark"] body.app-shell .metric-card,
html[data-theme="dark"] body.app-shell .entity-card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 95%,transparent),var(--surface-soft));
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn{
  min-height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1.15;
  white-space:nowrap;
  text-align:center;
}
body.app-shell .btn.primary,
body.app-shell button.btn.primary,
body.app-shell a.btn.primary{
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-2) 72%,var(--accent)));
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 28%,transparent);
}
body.app-shell .btn.danger,
body.app-shell button.btn.danger{
  background:linear-gradient(135deg,var(--danger),color-mix(in srgb,var(--danger) 70%,#ff9d9d));
  color:#fff;
  border-color:transparent;
}
body.app-shell .input,
body.app-shell input.input,
body.app-shell select.input,
body.app-shell textarea.input{
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  border-radius:14px;
  min-height:42px;
  line-height:1.25;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
html[data-theme="dark"] body.app-shell .input,
html[data-theme="dark"] body.app-shell input.input,
html[data-theme="dark"] body.app-shell select.input,
html[data-theme="dark"] body.app-shell textarea.input{
  background:#0b1626;
  color:var(--text);
  box-shadow:none;
}
body.app-shell .label,
body.app-shell label.label{
  display:block;
  color:color-mix(in srgb,var(--muted) 78%,var(--text));
  font-size:11px;
  line-height:1.28;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:850;
  margin:0 0 7px;
  white-space:normal;
  overflow-wrap:break-word;
}
body.app-shell .muted,
body.app-shell .small{
  line-height:1.42;
}
body.app-shell .form-grid,
body.app-shell .grid{
  min-width:0;
}
body.app-shell .form-grid.two,
body.app-shell .grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .form-grid.three,
body.app-shell .grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .form-grid.four,
body.app-shell .grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.app-shell .form-grid > *,
body.app-shell .grid > *{
  min-width:0;
}
body.app-shell .modal{
  inset:0;
  padding:clamp(10px,2.2vw,28px);
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:rgba(5,12,22,.62);
  backdrop-filter:blur(12px);
  z-index:2147482500;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal[aria-hidden="false"]{
  display:flex;
}
body.app-shell.modal-open,
html.modal-open{
  overflow:hidden;
}
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl,
body.app-shell .station-clock-modal-card,
body.app-shell .stage-modal-card,
body.app-shell .station-trace-modal-card{
  width:min(1040px,calc(100vw - 28px));
  max-width:min(1040px,calc(100vw - 28px));
  height:auto;
  max-height:calc(100dvh - 30px);
  min-height:0;
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  background:var(--modal-bg);
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
body.app-shell .modal-card.lg{width:min(1120px,calc(100vw - 28px));max-width:min(1120px,calc(100vw - 28px));}
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl,
body.app-shell .station-trace-modal-card{width:min(1280px,calc(100vw - 28px));max-width:min(1280px,calc(100vw - 28px));}
body.app-shell .tc310-station-submit-card{width:min(900px,calc(100vw - 28px));max-width:min(900px,calc(100vw - 28px));}
body.app-shell .modal-head,
body.app-shell .modal-header{
  flex:0 0 auto;
  position:relative;
  top:auto;
  z-index:4;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px 14px;
  margin:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--modal-bg) 96%,#fff 4%),var(--modal-bg));
  border-bottom:1px solid var(--border);
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-head h3,
body.app-shell .modal-title{
  font-size:clamp(18px,2vw,24px);
  line-height:1.12;
  margin:0 0 4px;
}
body.app-shell .modal-close,
body.app-shell .modal-close-anchor,
body.app-shell [data-close-modal],
body.app-shell [data-modal-close]{
  flex:0 0 auto;
}
body.app-shell .modal-close,
body.app-shell .icon-btn[data-close-modal],
body.app-shell .modal-close-anchor{
  min-width:42px;
  min-height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
}
body.app-shell .modal-card > form,
body.app-shell .modal-card > form.form,
body.app-shell .modal-card > .form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:hidden;
  width:100%;
  padding:0;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .tc310-modal-body,
body.app-shell .modal-card > form > .modal-body,
body.app-shell .modal-card > .form > .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:16px;
  padding:18px 22px;
  max-height:none;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.app-shell .modal-card > .modal-body{
  max-height:none;
}
body.app-shell .modal-body .actions:not(.modal-footer),
body.app-shell .modal-body .row-actions:not(.modal-footer){
  position:relative;
  bottom:auto;
  z-index:auto;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
}
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer,
body.app-shell .modal-card > form > .actions,
body.app-shell .modal-card > form > .row-actions,
body.app-shell .modal-card > .actions,
body.app-shell .modal-card > .row-actions,
body.app-shell .station-trace-actions{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  z-index:5;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  padding:14px 22px calc(14px + var(--tc310-safe-bottom));
  margin:0;
  border-top:1px solid var(--border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--modal-bg) 82%,transparent),var(--modal-bg));
  backdrop-filter:blur(12px);
}
body.app-shell .modal-footer .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .modal-card > form > .actions .btn,
body.app-shell .modal-card > form > .row-actions .btn{
  min-width:138px;
}
body.app-shell .modal .card,
body.app-shell .modal .card-lite,
body.app-shell .modal .note-box,
body.app-shell .modal .station-s3-iot-note{
  box-shadow:none;
  border-radius:18px;
  max-width:100%;
}
body.app-shell .modal .form-grid.two,
body.app-shell .modal .grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:16px;
}
body.app-shell .modal .form-grid.three,
body.app-shell .modal .grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:16px;
}
body.app-shell .modal .form-grid.four,
body.app-shell .modal .grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:16px;
}
body.app-shell .modal .input,
body.app-shell .modal input.input,
body.app-shell .modal select.input{
  min-height:46px;
}
body.app-shell .modal textarea.input{
  min-height:94px;
}
body.app-shell .station-derived-field{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  min-height:46px;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface);
  position:static;
  max-width:100%;
}
body.app-shell .station-derived-field .muted,
body.app-shell .station-derived-field .small{
  flex:1 1 180px;
  min-width:0;
  overflow-wrap:break-word;
}
body.app-shell .station-s3-iot-note{
  display:block;
  position:static;
  clear:both;
  width:100%;
  max-width:100%;
  margin:0;
  padding:12px 14px;
  background:color-mix(in srgb,var(--accent) 9%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));
  color:color-mix(in srgb,var(--text) 82%,var(--accent));
  line-height:1.42;
  z-index:auto;
}
body.app-shell .tc310-station-submit-form .modal-body > .form-grid,
body.app-shell .tc310-station-submit-form .modal-body > .card,
body.app-shell .tc310-station-submit-form .modal-body > .card-lite,
body.app-shell .tc310-station-submit-form .modal-body > .station-s3-iot-note,
body.app-shell .tc310-station-submit-form .modal-body > label,
body.app-shell .tc310-station-submit-form .modal-body > input:not([type="hidden"]),
body.app-shell .tc310-station-submit-form .modal-body > select,
body.app-shell .tc310-station-submit-form .modal-body > textarea{
  min-width:0;
}
body.app-shell .tc310-station-submit-form .modal-body > label + input,
body.app-shell .tc310-station-submit-form .modal-body > label + select,
body.app-shell .tc310-station-submit-form .modal-body > label + textarea{
  margin-top:-8px;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll{
  width:100%;
  max-width:100%;
  overflow:auto;
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--surface);
  scrollbar-width:thin;
}
body.app-shell .table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
body.app-shell .table th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--surface-soft);
  color:color-mix(in srgb,var(--muted) 78%,var(--text));
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
  line-height:1.25;
  white-space:nowrap;
}
body.app-shell .table td{
  vertical-align:middle;
  line-height:1.34;
}
body.app-shell .table-tools,
body.app-shell .report-filter-card,
body.app-shell .filter-card{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
body.app-shell .tc-table-pager{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 4px 4px;
}
body.app-shell .tc26-report-nav,
body.app-shell .report-nav,
body.app-shell .report-tabs,
body.app-shell .card-tabs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  padding:6px 2px 12px;
  scrollbar-width:thin;
}
body.app-shell .tc26-report-pill,
body.app-shell .report-tab,
body.app-shell .card-tabs .btn,
body.app-shell .card-tabs a,
body.app-shell .report-nav .btn,
body.app-shell .report-tabs .btn{
  flex:0 0 auto;
  width:auto;
  min-width:max-content;
  max-width:none;
  height:auto;
  min-height:38px;
  max-height:44px;
  aspect-ratio:auto;
  border-radius:999px;
  padding:9px 15px;
  line-height:1.1;
  white-space:nowrap;
}
body.app-shell .tc26-report-pill.active,
body.app-shell .report-tab.active,
body.app-shell .card-tabs .active,
body.app-shell .report-nav .active,
body.app-shell .report-tabs .active{
  background:linear-gradient(135deg,var(--accent-2),var(--accent));
  color:#fff;
  border-color:transparent;
}
body.app-shell .sidebar,
body.app-shell .app-sidebar{
  background:linear-gradient(180deg,var(--sidebar-bg),color-mix(in srgb,var(--sidebar-bg) 92%,var(--surface-soft)));
  overflow:hidden;
}
body.app-shell .sidebar-body{
  overflow:auto;
  max-height:calc(100dvh - 150px);
  padding-bottom:calc(24px + var(--tc310-safe-bottom));
  scrollbar-width:thin;
}
body.app-shell .nav-group-body{
  overflow:hidden;
}
body.app-shell .nav-link,
body.app-shell .nav-group-head{
  min-height:42px;
  gap:10px;
}
body.app-shell .nav-label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .access-studio-page .access-module-grid,
body.app-shell .access-studio-page .access-role-scroll-panel,
body.app-shell .access-studio-page .access-scope-grid,
body.app-shell .access-studio-page .access-mobile-grid{
  max-height:min(56vh,620px);
  overflow:auto;
  scrollbar-width:thin;
}
body.app-shell .access-studio-page .access-module-card,
body.app-shell .access-studio-page .access-perm-group,
body.app-shell .access-studio-page .access-scope-card,
body.app-shell .access-studio-page .access-mobile-card{
  background:var(--surface);
  border-color:var(--border);
}
body.app-shell .access-studio-page input[type="checkbox"],
body.app-shell .access-studio-page input[type="radio"]{
  inline-size:18px;
  block-size:18px;
  flex:0 0 auto;
}
body.app-shell .fixed-height-table,
body.app-shell [data-fixed-height-table]{
  max-height:min(58vh,680px);
  overflow:auto;
  scrollbar-width:thin;
}
body.app-shell .toast,
body.app-shell .tc251-live-toast-stack{
  z-index:2147482600;
}
body.app-shell.modal-open .tc251-live-toast-stack{
  bottom:calc(96px + var(--tc310-safe-bottom));
}
@media (max-width:1199px){
  body.app-shell .content{padding-inline:18px;}
  body.app-shell .form-grid.four,
  body.app-shell .grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .modal .form-grid.four,
  body.app-shell .modal .grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1023px){
  body.app-shell{padding-left:0;padding-bottom:calc(92px + var(--tc310-safe-bottom));}
  body.app-shell .content{padding:16px 14px calc(104px + var(--tc310-safe-bottom));}
  body.app-shell .topbar{position:sticky;top:0;z-index:80;}
  body.app-shell .sidebar,
  body.app-shell .app-sidebar{position:fixed;inset:0 auto 0 0;width:min(310px,88vw);transform:translateX(-105%);transition:transform .22s ease;z-index:2147482200;}
  body.app-shell.sidebar-open .sidebar,
  body.app-shell.sidebar-open .app-sidebar,
  html.sidebar-open body.app-shell .sidebar,
  html.sidebar-open body.app-shell .app-sidebar{transform:translateX(0);}
  body.app-shell .page-head,
  body.app-shell .hero-panel,
  body.app-shell .station-hero{padding:18px;}
  body.app-shell .station-overview-grid,
  body.app-shell .station-readiness-grid,
  body.app-shell .dashboard-mid-grid{grid-template-columns:1fr 1fr;}
  body.app-shell .modal{align-items:flex-end;padding:8px 8px 0;}
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .modal-card.xxl,
  body.app-shell .station-clock-modal-card,
  body.app-shell .stage-modal-card,
  body.app-shell .station-trace-modal-card,
  body.app-shell .tc310-station-submit-card{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 14px);
    border-radius:24px 24px 0 0;
  }
  body.app-shell .modal .form-grid.three,
  body.app-shell .modal .grid.three,
  body.app-shell .modal .form-grid.four,
  body.app-shell .modal .grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  body.app-shell .page-head,
  body.app-shell .hero-panel,
  body.app-shell .station-hero,
  body.app-shell .table-summary{flex-direction:column;align-items:stretch;gap:12px;}
  body.app-shell .actions,
  body.app-shell .row-actions{justify-content:stretch;}
  body.app-shell .actions .btn,
  body.app-shell .row-actions .btn{flex:1 1 150px;}
  body.app-shell .form-grid.two,
  body.app-shell .form-grid.three,
  body.app-shell .form-grid.four,
  body.app-shell .grid.two,
  body.app-shell .grid.three,
  body.app-shell .grid.four,
  body.app-shell .modal .form-grid.two,
  body.app-shell .modal .form-grid.three,
  body.app-shell .modal .form-grid.four,
  body.app-shell .modal .grid.two,
  body.app-shell .modal .grid.three,
  body.app-shell .modal .grid.four{grid-template-columns:1fr;}
  body.app-shell .station-overview-grid,
  body.app-shell .station-readiness-grid,
  body.app-shell .dashboard-mid-grid,
  body.app-shell .metric-grid,
  body.app-shell .cards-grid{grid-template-columns:1fr;}
  body.app-shell .modal-head{padding:16px 16px 12px;}
  body.app-shell .modal-body,
  body.app-shell .tc249-modal-body,
  body.app-shell .tc310-modal-body{padding:16px;gap:14px;}
  body.app-shell .modal-footer,
  body.app-shell .tc249-modal-footer,
  body.app-shell .modal-card > form > .actions,
  body.app-shell .modal-card > form > .row-actions,
  body.app-shell .modal-card > .actions,
  body.app-shell .modal-card > .row-actions{padding:12px 16px calc(12px + var(--tc310-safe-bottom));justify-content:stretch;}
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .modal-card > form > .actions .btn,
  body.app-shell .modal-card > form > .row-actions .btn{flex:1 1 100%;min-width:0;}
  body.app-shell .table-wrap,
  body.app-shell .responsive-table{border-radius:14px;}
  body.app-shell .table th,
  body.app-shell .table td{font-size:12px;padding:10px;}
  body.app-shell .tc-table-pager{align-items:stretch;}
  body.app-shell .tc-table-pager-actions{width:100%;justify-content:space-between;}
  body.app-shell .tc-table-pager-actions .btn{flex:1;}
}
@media (max-width:479px){
  body.app-shell .content{padding-inline:10px;}
  body.app-shell .page-head h1,
  body.app-shell .hero-panel h1,
  body.app-shell .station-hero h1{font-size:1.55rem;}
  body.app-shell .topbar-search-input{min-width:0;}
  body.app-shell .modal{padding:6px 6px 0;}
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .modal-card.xxl{max-height:calc(100dvh - 8px);border-radius:20px 20px 0 0;}
  body.app-shell .station-derived-field{align-items:flex-start;}
  body.app-shell .btn{white-space:normal;}
}
:root{
  --tc312-modal-safe-bottom:env(safe-area-inset-bottom,0px);
  --tc312-modal-max-h:calc(100dvh - 32px);
  --tc312-modal-radius:24px;
  --tc312-modal-footer-bg:color-mix(in srgb,var(--modal-bg, var(--surface)) 96%,var(--accent) 4%);
}
body.app-shell .tc267-rework-grid,
body.app-shell .mbin-card-grid.tc267-rework-grid,
body.app-shell .entity-card-grid.tc267-rework-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  align-items:stretch;
  gap:clamp(14px,1.35vw,22px);
  overflow:visible;
}
body.app-shell .tc267-rework-grid .tc257-card-shell,
body.app-shell .tc267-rework-grid .pack-card,
body.app-shell .tc267-rework-grid .mbin-card,
body.app-shell .tc267-rework-grid .entity-card{
  width:auto;
  max-width:100%;
  min-width:0;
  height:100%;
}
body.app-shell .tc267-rework-grid .tc257-pack-card,
body.app-shell .tc267-rework-grid .tc257-card{
  width:100%;
  max-width:100%;
  min-width:0;
}
body.app-shell .tc267-rework-grid .tc257-id,
body.app-shell .tc267-rework-grid .tc257-sub,
body.app-shell .tc267-rework-grid .tc257-metric strong,
body.app-shell .tc267-rework-grid .tc257-progress-label,
body.app-shell .tc267-rework-grid .tc257-station-copy strong{
  overflow-wrap:anywhere;
}
body.app-shell .modal,
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal[aria-hidden="false"]{
  align-items:center;
  justify-content:center;
  padding:clamp(12px,2vw,28px);
  overflow:hidden;
}
body.app-shell .modal.open > .modal-card,
body.app-shell .modal.is-open > .modal-card,
body.app-shell .modal.show > .modal-card,
body.app-shell .modal[aria-hidden="false"] > .modal-card,
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl,
body.app-shell .calendar-modal-card,
body.app-shell .station-trace-modal-card,
body.app-shell .station-submit-modal .modal-card,
body.app-shell .tc310-station-submit-card,
body.app-shell .tc311-station-submit-card{
  width:min(var(--tc312-modal-width,1040px),calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:var(--tc312-modal-max-h);
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
  border-radius:var(--tc312-modal-radius);
  background:var(--modal-bg,var(--surface));
  color:var(--text);
}
body.app-shell .modal-card.sm{--tc312-modal-width:560px;}
body.app-shell .modal-card.lg{--tc312-modal-width:980px;}
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl{--tc312-modal-width:1240px;}
body.app-shell .station-pack-view-modal .station-trace-modal-card{--tc312-modal-width:1180px;}
body.app-shell .station-submit-modal .modal-card,
body.app-shell .tc310-station-submit-card,
body.app-shell .tc311-station-submit-card{--tc312-modal-width:940px;}
body.app-shell .modal-head,
body.app-shell .modal-header,
body.app-shell .modal-card > .modal-head,
body.app-shell .modal-card > .modal-header{
  flex:0 0 auto;
  position:relative;
  z-index:4;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:clamp(18px,1.6vw,26px) clamp(20px,2vw,30px) clamp(14px,1.2vw,18px);
  min-height:auto;
  background:var(--modal-bg,var(--surface));
  border-bottom:1px solid var(--border);
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-head h2,
body.app-shell .modal-head h3{
  margin:0;
  line-height:1.1;
  overflow-wrap:anywhere;
}
body.app-shell .modal-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--surface-soft);
  color:var(--text);
  border:1px solid var(--border);
}
body.app-shell .modal-card > form,
body.app-shell .modal-card > form.form,
body.app-shell .modal-card > .form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .tc310-modal-body,
body.app-shell .tc311-station-submit-body,
body.app-shell .station-trace-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:clamp(18px,1.7vw,28px) clamp(20px,2vw,30px);
  display:flex;
  flex-direction:column;
  gap:clamp(12px,1.2vw,18px);
  background:var(--modal-bg,var(--surface));
  color:var(--text);
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.app-shell .modal-body > *,
body.app-shell .station-trace-body > *,
body.app-shell .tc311-station-submit-body > *{
  max-width:100%;
  min-width:0;
}
body.app-shell .modal .form-grid,
body.app-shell .modal .grid,
body.app-shell .modal .station-trace-facts,
body.app-shell .modal .station-trace-grid{
  width:100%;
  min-width:0;
  gap:clamp(12px,1.2vw,18px);
}
body.app-shell .modal .form-grid.three,
body.app-shell .modal .grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .modal .form-grid.two,
body.app-shell .modal .grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .modal .card,
body.app-shell .modal .card-lite,
body.app-shell .modal .station-s3-iot-note,
body.app-shell .modal .station-derived-field,
body.app-shell .modal .station-trace-panel,
body.app-shell .modal .station-trace-hero,
body.app-shell .modal .station-trace-facts > div{
  position:static;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:visible;
  margin:0;
}
body.app-shell .modal .station-s3-iot-note{
  padding:12px 14px;
  border-radius:16px;
  line-height:1.45;
  background:color-mix(in srgb,var(--accent) 9%,var(--surface));
  color:var(--text);
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
}
body.app-shell .modal .station-derived-field{
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
  min-height:52px;
}
body.app-shell .modal .table-wrap,
body.app-shell .modal .responsive-table,
body.app-shell .modal .trace-table-wrap{
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
body.app-shell .modal .table,
body.app-shell .modal table{
  table-layout:auto;
  width:100%;
}
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer,
body.app-shell .station-trace-actions,
body.app-shell .tc311-station-submit-footer,
body.app-shell .modal-card > form > .actions,
body.app-shell .modal-card > form > .row-actions,
body.app-shell .modal-card > .actions,
body.app-shell .modal-card > .row-actions{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  min-height:auto;
  margin:0;
  padding:14px clamp(20px,2vw,30px) calc(14px + var(--tc312-modal-safe-bottom));
  background:var(--tc312-modal-footer-bg);
  color:var(--text);
  border-top:1px solid var(--border);
  box-shadow:none;
}
body.app-shell .modal-footer .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .station-trace-actions .btn,
body.app-shell .tc311-station-submit-footer .btn,
body.app-shell .modal-card > form > .actions .btn,
body.app-shell .modal-card > form > .row-actions .btn{
  min-width:150px;
  justify-content:center;
  color:var(--btn-text,var(--text));
}
body.app-shell .modal-footer .btn.primary,
body.app-shell .station-trace-actions .btn.primary,
body.app-shell .modal-card > form > .actions .btn.primary{
  color:#fff;
}
body.app-shell .modal-body .actions,
body.app-shell .modal-body .row-actions,
body.app-shell .station-trace-body .actions,
body.app-shell .station-trace-body .row-actions{
  position:static;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
body.app-shell .station-trace-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:16px;
  border:1px solid var(--border);
  border-radius:20px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
}
body.app-shell .station-trace-chipline{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
body.app-shell .station-trace-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.app-shell .station-trace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .station-trace-panel{
  padding:16px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
}
html[data-theme="dark"] body.app-shell .modal-footer,
html[data-theme="dark"] body.app-shell .tc249-modal-footer,
html[data-theme="dark"] body.app-shell .station-trace-actions,
html[data-theme="dark"] body.app-shell .tc311-station-submit-footer,
html[data-theme="dark"] body.app-shell .modal-card > form > .actions,
html[data-theme="dark"] body.app-shell .modal-card > form > .row-actions,
body.dark-mode.app-shell .modal-footer,
body.dark-mode.app-shell .tc249-modal-footer,
body.dark-mode.app-shell .station-trace-actions,
body.dark-mode.app-shell .tc311-station-submit-footer,
body.dark-mode.app-shell .modal-card > form > .actions,
body.dark-mode.app-shell .modal-card > form > .row-actions{
  background:color-mix(in srgb,var(--modal-bg, #0f172a) 94%,var(--accent) 6%);
  color:var(--text);
  border-top-color:var(--border);
}
@media (max-width:1023px){
  body.app-shell .modal,
  body.app-shell .modal.open,
  body.app-shell .modal.is-open,
  body.app-shell .modal.show,
  body.app-shell .modal[aria-hidden="false"]{
    align-items:flex-end;
    padding:8px 8px 0;
  }
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .modal-card.xxl,
  body.app-shell .station-trace-modal-card,
  body.app-shell .station-submit-modal .modal-card{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 8px);
    border-radius:24px 24px 0 0;
  }
  body.app-shell .modal .form-grid.three,
  body.app-shell .modal .grid.three,
  body.app-shell .station-trace-facts,
  body.app-shell .station-trace-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  body.app-shell .modal .form-grid.two,
  body.app-shell .modal .form-grid.three,
  body.app-shell .modal .grid.two,
  body.app-shell .modal .grid.three,
  body.app-shell .station-trace-facts,
  body.app-shell .station-trace-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .modal-footer,
  body.app-shell .tc249-modal-footer,
  body.app-shell .station-trace-actions,
  body.app-shell .tc311-station-submit-footer,
  body.app-shell .modal-card > form > .actions,
  body.app-shell .modal-card > form > .row-actions{
    justify-content:stretch;
  }
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .station-trace-actions .btn,
  body.app-shell .tc311-station-submit-footer .btn,
  body.app-shell .modal-card > form > .actions .btn,
  body.app-shell .modal-card > form > .row-actions .btn{
    flex:1 1 100%;
    min-width:0;
  }
}
body.app-shell .erp-access-page{display:flex;flex-direction:column;gap:16px;min-width:0}
body.app-shell .erp-access-hero{align-items:flex-start;gap:18px}
body.app-shell .erp-access-quick-stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}
body.app-shell .erp-access-quick-stats article{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}
body.app-shell .erp-access-quick-stats span{display:block;font-size:24px;font-weight:900;color:var(--text);line-height:1}
body.app-shell .erp-access-quick-stats small{display:block;margin-top:6px;color:var(--muted);font-weight:700}
body.app-shell .erp-access-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;align-items:start}
body.app-shell .erp-access-left{position:sticky;top:86px;display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - 110px);overflow:auto}
body.app-shell .erp-user-picker{display:grid;gap:10px}
body.app-shell .erp-subject-card{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
body.app-shell .erp-subject-card span:not(.pill){color:var(--muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}
body.app-shell .erp-access-jump{display:grid;gap:8px}
body.app-shell .erp-access-jump a{display:flex;align-items:center;min-height:38px;border:1px solid var(--border);border-radius:14px;padding:8px 10px;background:var(--surface);color:var(--text);font-weight:800;text-decoration:none}
body.app-shell .erp-access-main{display:grid;gap:16px;min-width:0}
body.app-shell .erp-section{display:grid;gap:14px;min-width:0}
body.app-shell .erp-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border)}
body.app-shell .erp-rule-note{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--text)}
body.app-shell .erp-rule-note span{color:var(--muted);font-size:12px;font-weight:700}
body.app-shell .erp-warning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
body.app-shell .erp-warning{border:1px solid var(--border);border-radius:16px;padding:12px 14px;background:var(--surface);display:grid;gap:4px}
body.app-shell .erp-warning.warn{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface))}
body.app-shell .erp-warning.danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--surface))}
body.app-shell .erp-warning span{color:var(--muted);font-size:12px;font-weight:700}
body.app-shell .erp-module-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;max-height:70dvh;overflow:auto;padding:2px 4px 8px 2px}
body.app-shell .erp-module-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(15,23,42,.05);overflow:hidden;min-width:0}
body.app-shell .erp-module-card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}
body.app-shell .erp-module-toggle{display:flex;align-items:center;gap:10px;min-width:0;margin:0;cursor:pointer}
body.app-shell .erp-module-toggle input{inline-size:18px;block-size:18px;flex:0 0 auto}
body.app-shell .erp-module-toggle span{display:grid;gap:2px;min-width:0}
body.app-shell .erp-module-toggle small{color:var(--muted);font-weight:700;font-size:12px}
body.app-shell .erp-page-rows{display:grid;max-height:420px;overflow:auto}
body.app-shell .erp-page-row{display:grid;grid-template-columns:auto 76px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;margin:0}
body.app-shell .erp-page-row:last-child{border-bottom:0}
body.app-shell .erp-page-row input{inline-size:18px;block-size:18px}
body.app-shell .erp-toggle-text{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:11px;font-weight:900;color:var(--muted)}
body.app-shell .erp-page-row input:checked+.erp-toggle-text{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}
body.app-shell .erp-page-copy{display:grid;gap:2px;min-width:0}
body.app-shell .erp-page-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
body.app-shell .erp-page-copy small{color:var(--muted);font-size:11px;font-weight:700;overflow-wrap:anywhere}
body.app-shell .erp-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
body.app-shell .erp-scope-card,.erp-mobile-card,.erp-preview-module{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:12px;min-width:0}
body.app-shell .erp-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:8px}
body.app-shell .erp-check{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);padding:9px 10px;margin:0;cursor:pointer;min-width:0}
body.app-shell .erp-check input{margin-top:2px;inline-size:17px;block-size:17px;flex:0 0 auto}
body.app-shell .erp-check span{display:grid;gap:2px;min-width:0}
body.app-shell .erp-check small{color:var(--muted);font-size:11px;font-weight:700;overflow-wrap:anywhere}
body.app-shell .erp-mobile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;max-height:420px;overflow:auto}
body.app-shell .erp-mobile-card{display:grid;gap:8px}
body.app-shell .erp-mobile-card small{color:var(--muted);font-weight:700}
body.app-shell .erp-mini-switch{display:flex;align-items:center;gap:8px;margin:0;font-weight:800;color:var(--text)}
body.app-shell .erp-mini-switch input{inline-size:17px;block-size:17px}
body.app-shell .erp-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
body.app-shell .erp-preview-module{display:grid;gap:6px;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 4%)}
body.app-shell .erp-preview-module.is-hidden-module{opacity:.62;background:var(--surface-soft)}
body.app-shell .erp-preview-module ul{margin:0;padding-left:18px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.55}
body.app-shell .erp-role-accordion{display:grid;gap:10px}
body.app-shell .erp-role-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden}
body.app-shell .erp-role-card summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;background:var(--surface-soft)}
body.app-shell .erp-role-card form{padding:12px;display:grid;gap:12px}
body.app-shell .erp-role-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
body.app-shell .erp-role-toolbar .input{max-width:360px}
body.app-shell .erp-perm-panel{display:grid;gap:10px;max-height:520px;overflow:auto}
body.app-shell .erp-perm-group{border:1px solid var(--border);border-radius:16px;padding:10px;background:var(--surface-soft)}
body.app-shell .erp-perm-group header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:12px;color:var(--muted)}
body.app-shell .station-pack-view-modal{z-index:1500}
body.app-shell .station-submit-modal{z-index:1450}
body.app-shell .modal.open:not(.station-pack-view-modal) .station-trace-body{display:none}
body.app-shell .station-pack-view-modal .station-trace-body{display:block}
body.app-shell .station-trace-actions{background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -14px 30px rgba(15,23,42,.08)}
html[data-theme="dark"] body.app-shell .station-trace-actions{background:var(--surface);border-color:var(--border);box-shadow:0 -14px 30px rgba(0,0,0,.28)}
@media (max-width: 1100px){body.app-shell .erp-access-layout{grid-template-columns:1fr}body.app-shell .erp-access-left{position:relative;top:auto;max-height:none}body.app-shell .erp-access-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){body.app-shell .erp-module-list{grid-template-columns:1fr;max-height:none}body.app-shell .erp-page-row{grid-template-columns:auto 68px minmax(0,1fr);padding:9px}body.app-shell .erp-access-quick-stats{grid-template-columns:1fr 1fr}body.app-shell .erp-section-head{display:grid}body.app-shell .erp-section-head .table-tools{width:100%;display:grid;grid-template-columns:1fr 1fr}body.app-shell .erp-section-head .table-tools .input{grid-column:1/-1}}
.access-split-page{--access-gap:16px;display:flex;flex-direction:column;gap:var(--access-gap)}
.access-split-hero{background:linear-gradient(135deg,rgba(13,148,136,.10),rgba(59,130,246,.08));border:1px solid var(--border)}
.access-split-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:2px 0 4px}
.access-split-link{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft,0 8px 22px rgba(15,23,42,.06))}
.access-split-link small{color:var(--muted);font-size:12px;line-height:1.35}
.access-split-link.is-active,.access-split-link:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));transform:translateY(-1px)}
.access-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.access-kpi-grid article{padding:16px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft,0 10px 26px rgba(15,23,42,.06))}
.access-kpi-grid strong{display:block;font-size:26px;line-height:1;color:var(--text)}
.access-kpi-grid span{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.access-hub-grid{align-items:stretch}
.access-subject-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:12px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--border)}
.access-subject-card strong{font-size:16px}
.access-subject-card span:not(.pill){color:var(--muted)}
.access-steps{display:grid;gap:10px;margin:0;padding-left:20px}
.access-steps li{padding:8px 0}
.access-steps strong{display:block}
.access-steps span{display:block;color:var(--muted);font-size:13px}
.access-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.access-tile{display:flex;min-height:116px;flex-direction:column;justify-content:space-between;gap:12px;padding:18px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft,0 10px 26px rgba(15,23,42,.06))}
.access-tile strong{font-size:17px}
.access-tile span{color:var(--muted);line-height:1.45}
.access-tile:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));transform:translateY(-1px)}
.access-selector-card{display:grid;grid-template-columns:minmax(140px,220px) minmax(260px,1fr);gap:12px;align-items:end}
.access-selector-card .label{margin:0}
.access-table-card .table-summary,.access-table-card .row-actions{gap:10px}
.access-fixed-table{max-height:520px;overflow:auto}
.access-fixed-table table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}
.access-role-layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}
.access-role-list{position:sticky;top:90px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 130px);overflow:auto}
.access-role-link{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);text-decoration:none}
.access-role-link small{color:var(--muted)}
.access-role-link.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.access-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.access-toolbar .input{min-width:240px;flex:1}
.access-perm-groups{display:grid;gap:14px}
.access-perm-group{border:1px solid var(--border);border-radius:18px;background:var(--surface-soft);overflow:hidden}
.access-perm-group header{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.access-perm-group header span{color:var(--muted);font-size:12px}
.access-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px;max-height:360px;overflow:auto}
.access-check{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer}
.access-check input{margin-top:3px}
.access-check strong{display:block;font-size:13px}
.access-check small{display:block;color:var(--muted);line-height:1.35;margin-top:2px}
.access-check:has(input:checked){border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.access-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.access-module-card{border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft,0 10px 24px rgba(15,23,42,.05));overflow:hidden}
.access-module-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.access-module-head{display:flex;align-items:center;gap:12px;cursor:pointer}
.access-module-head strong{display:block}
.access-module-head small{display:block;color:var(--muted);font-size:12px}
.access-page-list{display:grid;gap:8px;padding:12px;max-height:380px;overflow:auto}
.access-page-line{display:grid;grid-template-columns:auto 72px 1fr;align-items:start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}
.access-page-line input{margin-top:4px}
.access-page-line strong{display:block}
.access-page-line small{display:block;color:var(--muted);word-break:break-word}
.access-state{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border)}
.access-page-line:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.access-page-line:has(input:checked) .access-state{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.access-scope-grid,.access-mobile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.access-scope-card,.access-mobile-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden}
.access-scope-card header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}
.access-scope-card header span{color:var(--muted);font-size:12px}
.access-mobile-card{display:grid;gap:8px;padding:14px}
.access-mobile-card strong{font-size:14px}
.access-mobile-card small{color:var(--muted)}
.access-mini-switch{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);cursor:pointer}
.access-mini-switch:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.access-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.access-preview-module{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden}
.access-preview-module header{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}
.access-preview-module ul{margin:0;padding:10px 14px;list-style:none;display:grid;gap:8px;max-height:260px;overflow:auto}
.access-preview-module li{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:12px;background:var(--surface-soft)}
.access-preview-module li small{color:var(--muted);word-break:break-word}
.access-preview-module.is-hidden-module{opacity:.62}
.access-warning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.access-warning{border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface)}
.access-warning.warn{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface))}
.access-warning.danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--surface))}
.access-warning strong{display:block}
.access-warning span{display:block;color:var(--muted);margin-top:4px}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.access-role-link[hidden],.access-check[hidden],.access-page-line[hidden],.access-module-card[hidden],tr[hidden]{display:none}
@media (max-width:900px){.access-role-layout{grid-template-columns:1fr}.access-role-list{position:relative;top:auto;max-height:none}.access-selector-card{grid-template-columns:1fr}.access-module-grid{grid-template-columns:1fr}.access-page-line{grid-template-columns:auto 1fr}.access-state{grid-column:2}.access-toolbar .input{min-width:100%}.access-split-nav{grid-template-columns:1fr 1fr}.access-check-grid{grid-template-columns:1fr}}
@media (max-width:560px){.access-split-nav{grid-template-columns:1fr}.access-kpi-grid{grid-template-columns:1fr 1fr}.access-tile-grid{grid-template-columns:1fr}.access-page-line{grid-template-columns:auto 1fr}.access-page-line small{font-size:11px}.access-module-card header{align-items:flex-start;flex-direction:column}.access-scope-grid,.access-mobile-grid{grid-template-columns:1fr}}
:root {
  --tc-modal-max: min(980px, calc(100vw - 40px));
  --tc-modal-wide: min(1220px, calc(100vw - 40px));
  --tc-modal-pad-x: clamp(18px, 2.2vw, 30px);
  --tc-modal-pad-y: clamp(16px, 2vw, 24px);
}
.modal { align-items: center; justify-content: center; padding: 20px; z-index: 1200; }
.modal.open, .modal.is-open, .modal.show { display: flex; }
.modal[hidden] { display: none; }
.modal .modal-card {
  width: var(--tc-modal-max);
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--modal-bg, var(--surface));
  color: var(--text);
}
.modal .modal-card.xl, .modal .station-trace-modal-card { width: var(--tc-modal-wide); }
.modal .modal-head, .modal .modal-header {
  flex: 0 0 auto;
  padding: var(--tc-modal-pad-y) var(--tc-modal-pad-x);
  border-bottom: 1px solid var(--border);
  background: var(--modal-bg, var(--surface));
  color: var(--text);
}
.modal .modal-body, .modal .tc249-modal-body, .station-trace-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: var(--tc-modal-pad-y) var(--tc-modal-pad-x);
  background: var(--modal-bg, var(--surface));
}
.modal .modal-footer, .modal .station-trace-actions, .modal .tc311-station-submit-footer, .modal .tc262-compact-footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px var(--tc-modal-pad-x);
  border-top: 1px solid var(--border);
  background: var(--modal-bg, var(--surface));
  color: var(--text);
  box-shadow: 0 -12px 24px rgba(15, 23, 42, .06);
}
.modal .modal-footer .btn, .modal .station-trace-actions .btn { min-width: 150px; }
.station-submit-modal .tc310-station-submit-card { width: min(820px, calc(100vw - 48px)); }
.station-submit-modal .tc311-station-submit-body { max-height: calc(100vh - 230px); overflow: auto; }
.station-submit-modal .form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.station-submit-modal .form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.station-submit-modal .station-derived-field, .station-submit-modal .station-s3-iot-note {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
  border-radius: 16px;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--text);
  line-height: 1.45;
}
.station-submit-modal .station-s3-iot-note { margin: 14px 0; }
.station-submit-modal .table-wrap { max-height: 220px; overflow: auto; }
.station-submit-modal .table { min-width: 720px; }
.station-trace-modal-card .station-trace-body { max-height: calc(100vh - 210px); }
.station-trace-modal-card .station-trace-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; }
.station-trace-modal-card .table-wrap { overflow: auto; }
.inprocess-row-edit-modal .inprocess-row-edit-card { width: min(760px, calc(100vw - 42px)); }
.inprocess-row-edit-modal .modal-body { max-height: calc(100vh - 190px); overflow: auto; }
.inprocess-row-edit-modal .form.grid.three { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.inprocess-row-edit-modal .form.grid.three .full { grid-column: 1 / -1; }
.tc295-inward-lines-table .compact-num,
.tc295-inward-lines-table .compact-money,
.tc295-inward-lines-table .compact-uom,
.tc295-inward-lines-table .compact-lot { min-width: 96px; }
.tc295-inward-lines-table .remarks-input { min-width: 160px; }
.dispatch-preview-table td, .dispatch-preview-table th { white-space: nowrap; }
.dispatch-preview-table td { vertical-align: middle; }
@media (max-width: 860px) {
  .modal { align-items: flex-end; padding: 10px; }
  .modal .modal-card, .modal .modal-card.xl, .modal .station-trace-modal-card, .station-submit-modal .tc310-station-submit-card {
    width: 100%; max-width: 100%; max-height: calc(100vh - 20px); border-radius: 24px 24px 16px 16px;
  }
  .station-submit-modal .form-grid.three, .station-submit-modal .form-grid.two, .inprocess-row-edit-modal .form.grid.three { grid-template-columns: 1fr; }
  .modal .modal-footer .btn, .modal .station-trace-actions .btn { flex: 1 1 100%; min-width: 0; }
  .station-trace-modal-card .station-trace-grid { grid-template-columns: 1fr; }
}
.tc-a11y-generated-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
body.app-shell .access-matrix-studio-page{
  --access-bg:#071524;
  --access-panel:#0b1f34;
  --access-panel-2:#0d2740;
  --access-line:rgba(120,169,220,.22);
  --access-text:#eaf4ff;
  --access-muted:#9fb5cb;
  --access-blue:#4da3ff;
  --access-cyan:#1ed6ff;
  --access-green:#36d990;
  color:var(--access-text);
}
body.app-shell .access-matrix-studio-page .card,
body.app-shell .access-matrix-studio-page .access-matrix-card,
body.app-shell .access-matrix-studio-page .access-selected-user-card,
body.app-shell .access-matrix-studio-page .access-page-override-card{
  background:linear-gradient(145deg,rgba(8,25,42,.96),rgba(10,32,53,.92));
  border:1px solid var(--access-line);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(3,16,29,.32), inset 0 1px 0 rgba(255,255,255,.04);
}
body.app-shell .access-matrix-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  padding:34px 36px;
  border:1px solid rgba(77,163,255,.20);
  border-radius:26px;
  background:radial-gradient(circle at top right,rgba(30,214,255,.20),transparent 36%),linear-gradient(135deg,#061121 0%,#0a1f36 58%,#0a2c46 100%);
  box-shadow:0 28px 90px rgba(4,19,35,.35);
  margin-bottom:16px;
}
body.app-shell .access-matrix-hero h2{
  font-size:clamp(30px,4vw,48px);
  letter-spacing:-.05em;
  margin:8px 0 10px;
  color:#f6fbff;
}
body.app-shell .access-matrix-hero p{
  max-width:820px;
  margin:0;
  color:var(--access-muted);
  font-size:15px;
  line-height:1.55;
}
body.app-shell .access-matrix-hero-actions,
body.app-shell .access-matrix-card .row-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.app-shell .access-kpi-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:16px 0;
}
body.app-shell .access-kpi-card{
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(11,31,52,.94),rgba(9,27,46,.88));
  border:1px solid var(--access-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.app-shell .access-kpi-card span,
body.app-shell .access-kpi-card small{
  display:block;
  color:var(--access-muted);
  font-size:12px;
}
body.app-shell .access-kpi-card strong{
  display:block;
  font-size:30px;
  line-height:1.1;
  margin:6px 0;
  color:#f8fbff;
}
body.app-shell .access-matrix-card{
  padding:18px;
  margin-bottom:16px;
}
body.app-shell .access-matrix-scroll{
  overflow:auto;
  border:1px solid var(--access-line);
  border-radius:18px;
  max-height:620px;
  background:rgba(5,18,31,.42);
}
body.app-shell .access-role-page-table{
  width:100%;
  min-width:1120px;
  border-collapse:separate;
  border-spacing:0;
}
body.app-shell .access-role-page-table th,
body.app-shell .access-role-page-table td{
  padding:13px 14px;
  border-bottom:1px solid rgba(120,169,220,.16);
  text-align:center;
  vertical-align:middle;
}
body.app-shell .access-role-page-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:linear-gradient(180deg,#102a45,#0b2137);
  color:#bcd2ea;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.app-shell .access-role-page-table .sticky-col{
  position:sticky;
  left:0;
  z-index:4;
  text-align:left;
  min-width:360px;
  background:linear-gradient(90deg,#0b2036 0%,#0a1d31 100%);
  box-shadow:10px 0 24px rgba(3,16,29,.28);
}
body.app-shell .access-role-page-table thead .sticky-col{
  z-index:6;
}
body.app-shell .access-page-cell strong,
body.app-shell .access-page-cell small,
body.app-shell .access-page-cell em{
  display:block;
}
body.app-shell .access-page-cell strong{
  color:#f6fbff;
  font-size:13px;
}
body.app-shell .access-page-cell small{
  color:#91a9c2;
  margin-top:3px;
  font-size:11px;
}
body.app-shell .access-page-cell em{
  color:#6fd3ff;
  margin-top:5px;
  font-size:10px;
  font-style:normal;
}
body.app-shell .matrix-check{
  display:inline-flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  cursor:pointer;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(141,181,223,.20);
}
body.app-shell .matrix-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.app-shell .matrix-check span{
  width:18px;
  height:18px;
  border-radius:7px;
  border:1px solid rgba(126,170,220,.32);
  background:#10283f;
  display:block;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body.app-shell .matrix-check input:checked + span{
  background:linear-gradient(135deg,#47a6ff,#6b7cff);
  border-color:rgba(151,206,255,.75);
  box-shadow:0 0 0 3px rgba(77,163,255,.15),0 10px 20px rgba(38,123,255,.22);
}
body.app-shell .matrix-check input:checked + span:after{
  content:"✓";
  color:#fff;
  display:block;
  text-align:center;
  font-size:13px;
  line-height:18px;
  font-weight:800;
}
body.app-shell .matrix-check input:disabled + span{
  background:linear-gradient(135deg,#37d58a,#4da3ff);
  opacity:.86;
}
body.app-shell .access-user-assignment-wrap{
  border-radius:18px;
  border:1px solid var(--access-line);
  max-height:470px;
  overflow:auto;
  background:rgba(5,18,31,.42);
}
body.app-shell .access-user-assignment-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#102a45;
}
body.app-shell .access-user-assignment-table .input.compact,
body.app-shell .access-matrix-studio-page .input.compact{
  min-height:36px;
  border-radius:12px;
  background:#10283f;
  color:#edf7ff;
  border-color:rgba(126,170,220,.28);
}
body.app-shell .access-override-grid{
  display:grid;
  grid-template-columns:minmax(270px,360px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
body.app-shell .access-selected-user-card{
  padding:20px;
  position:sticky;
  top:86px;
}
body.app-shell .access-user-profile-strip{
  display:flex;
  gap:14px;
  align-items:center;
  margin:12px 0 18px;
}
body.app-shell .avatar-circle{
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#2d8fff,#20d6ff);
  box-shadow:0 18px 38px rgba(45,143,255,.25);
}
body.app-shell .access-user-profile-strip h3{
  margin:0;
  color:#fff;
}
body.app-shell .access-user-profile-strip p{
  margin:4px 0 8px;
  color:var(--access-muted);
}
body.app-shell .access-page-override-card{
  padding:18px;
}
body.app-shell .compact-access-modules{
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  max-height:760px;
  overflow:auto;
  padding-right:4px;
}
body.app-shell .access-matrix-studio-page .access-module-card{
  background:rgba(8,27,45,.72);
  border:1px solid rgba(120,169,220,.18);
}
body.app-shell .access-matrix-studio-page .access-page-line{
  background:rgba(255,255,255,.025);
  border-color:rgba(120,169,220,.13);
}
body.app-shell .access-matrix-studio-page .is-filter-hidden,
body.app-shell .access-matrix-studio-page [hidden]{
  display:none;
}
body.app-shell .access-matrix-studio-page .block{
  display:block;
}
html[data-theme="light"] body.app-shell .access-matrix-studio-page{
  --access-bg:#f5f9ff;
  --access-panel:#ffffff;
  --access-panel-2:#f7fbff;
  --access-line:rgba(23,76,126,.14);
  --access-text:#10213a;
  --access-muted:#607083;
  color:var(--access-text);
}
html[data-theme="light"] body.app-shell .access-matrix-hero,
html[data-theme="light"] body.app-shell .access-matrix-studio-page .card,
html[data-theme="light"] body.app-shell .access-matrix-card,
html[data-theme="light"] body.app-shell .access-selected-user-card,
html[data-theme="light"] body.app-shell .access-page-override-card{
  background:linear-gradient(145deg,#ffffff,#f4f9ff);
  color:#10213a;
}
html[data-theme="light"] body.app-shell .access-matrix-hero h2,
html[data-theme="light"] body.app-shell .access-user-profile-strip h3,
html[data-theme="light"] body.app-shell .access-page-cell strong{
  color:#10213a;
}
html[data-theme="light"] body.app-shell .access-role-page-table .sticky-col,
html[data-theme="light"] body.app-shell .access-role-page-table thead th,
html[data-theme="light"] body.app-shell .access-user-assignment-table th{
  background:#eef6ff;
  color:#314760;
}
html[data-theme="light"] body.app-shell .access-user-assignment-table .input.compact,
html[data-theme="light"] body.app-shell .access-matrix-studio-page .input.compact{
  background:#fff;
  color:#10213a;
}
@media (max-width: 1180px){
  body.app-shell .access-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .access-override-grid{grid-template-columns:1fr;}
  body.app-shell .access-selected-user-card{position:relative;top:auto;}
}
@media (max-width: 720px){
  body.app-shell .access-matrix-hero{padding:24px;align-items:flex-start;flex-direction:column;}
  body.app-shell .access-kpi-strip{grid-template-columns:1fr;}
  body.app-shell .access-matrix-scroll{max-height:520px;}
}
body.app-shell .access-scope-unified-card{grid-column:1 / -1;margin:0;}
body.app-shell .access-unified-scope-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start;}
body.app-shell .access-nested-scope-form{display:block;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:rgba(248,250,252,.68);padding:14px;min-width:0;}
body.app-shell .access-matrix-studio-page .table-summary.mini{margin-bottom:10px;gap:10px;align-items:center;}
body.app-shell .access-scope-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-height:520px;overflow:auto;padding-right:4px;}
body.app-shell .access-mobile-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;max-height:520px;overflow:auto;padding-right:4px;}
body.app-shell .access-preview-unified-card{margin-top:16px;}
html[data-theme="dark"] body.app-shell .access-nested-scope-form,
body.dark-mode.app-shell .access-nested-scope-form{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.20);}
@media (max-width: 1180px){body.app-shell .access-unified-scope-grid{grid-template-columns:1fr;}}
body.app-shell .dispatch-document-grid { margin-top: 10px; }
body.app-shell .dispatch-documents-note { margin: 10px 0 14px; }
body.app-shell .dispatch-documents-inline-form { padding: 12px; border: 1px solid var(--border); border-radius: 18px; background: color-mix(in srgb, var(--panel) 92%, transparent); }
body.app-shell .danger-text { color: var(--danger); font-weight: 800; }
body.app-shell .dispatch-summary-grid .detail-row strong { min-width: 150px; }
body.app-shell .access-workspace-page,
body.app-shell .production-calendar-page{min-width:0;max-width:100%;overflow:visible;}
.access-workspace-hero,.production-calendar-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid rgba(71,124,255,.18);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,247,255,.94));box-shadow:0 18px 50px rgba(15,23,42,.09);}
.access-workspace-hero h2,.production-calendar-hero h2{margin:4px 0 8px;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.04em;color:var(--text);}
.access-workspace-hero p,.production-calendar-hero p{margin:0;max-width:820px;color:var(--muted);font-size:14px;line-height:1.65;}
.access-workspace-context{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px;min-width:320px;}
.access-workspace-context span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:68px;padding:10px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(255,255,255,.76);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.access-workspace-context strong{font-size:22px;color:var(--text);letter-spacing:-.03em;}
.access-workspace-tabs{position:sticky;top:68px;z-index:28;display:flex;gap:8px;margin:18px 0;padding:8px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:rgba(248,250,252,.92);backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:thin;}
.access-workspace-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--muted);font:inherit;font-weight:800;white-space:nowrap;cursor:pointer;}
.access-workspace-tab:hover{background:rgba(71,124,255,.08);color:var(--text);}
.access-workspace-tab.is-active{border-color:rgba(47,126,255,.24);background:linear-gradient(135deg,#2f7eff,#31b6cc);color:#fff;box-shadow:0 10px 25px rgba(47,126,255,.22);}
.access-workspace-panel{display:none;animation:tc330Fade .18s ease-out;}
.access-workspace-panel.is-active{display:block;}
@keyframes tc330Fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.access-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;}
.access-summary-card{display:flex;flex-direction:column;gap:5px;min-height:118px;padding:18px 20px;border:1px solid rgba(148,163,184,.22);border-radius:20px;background:linear-gradient(145deg,#14243b,#20334e);box-shadow:0 14px 34px rgba(15,23,42,.10);}
.access-summary-card span,.access-summary-card small{color:#91a9c5;font-size:12px;}
.access-summary-card strong{font-size:28px;color:#fff;letter-spacing:-.04em;}
.access-overview-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:16px;}
.access-user-focus-head{display:flex;align-items:center;gap:14px;margin:14px 0;}
.access-user-focus-head h3{margin:0 0 4px}
.access-user-focus-head p{margin:0;color:var(--muted)}
.access-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.access-conflict-list{display:grid;gap:10px;margin-top:14px;}
.access-conflict-item{display:grid;grid-template-columns:10px 1fr;gap:12px;align-items:start;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:15px;background:rgba(248,250,252,.72)}
.access-conflict-item>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#3b82f6}
.access-conflict-item.is-warn>span{background:#f59e0b}
.access-conflict-item.is-danger>span{background:#ef4444}
.access-conflict-item.is-ok>span{background:#22c55e}
.access-conflict-item strong{display:block;margin-bottom:4px}
.access-conflict-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.access-panel-card{padding:20px;overflow:visible;}
.access-panel-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.20);}
.access-panel-toolbar p{margin:5px 0 0;max-width:720px}
.access-inline-selector{display:grid;grid-template-columns:auto minmax(210px,320px);align-items:end;gap:10px;min-width:300px}
.access-inline-selector .label{margin:0 0 10px}
.access-search-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:16px 0;}
.access-search-actions .input{min-width:min(360px,100%);flex:1 1 280px;}
.access-module-accordion{display:grid;gap:10px;max-height:calc(100vh - 330px);min-height:340px;overflow:auto;padding:2px 5px 12px 2px;scrollbar-width:thin;}
.access-accordion-card{border:1px solid rgba(148,163,184,.22);border-radius:17px;background:var(--card);overflow:hidden;}
.access-accordion-card[hidden]{display:none}
.access-accordion-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 16px;cursor:pointer;list-style:none;background:linear-gradient(180deg,rgba(248,250,252,.92),rgba(241,245,249,.74));}
.access-accordion-card>summary::-webkit-details-marker{display:none}
.access-accordion-card>summary span:first-child{display:flex;flex-direction:column;gap:3px}
.access-accordion-card>summary small{color:var(--muted);font-size:11px}
.access-summary-actions{display:flex;align-items:center;gap:6px}
.access-role-page-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;background:rgba(248,250,252,.48)}
.access-role-page-row,.access-scope-option{position:relative;display:grid;grid-template-columns:20px 20px minmax(0,1fr);align-items:center;gap:9px;min-height:54px;padding:10px 12px;border:1px solid rgba(148,163,184,.20);border-radius:13px;background:var(--card);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.access-role-page-row:hover,.access-scope-option:hover{transform:translateY(-1px);border-color:rgba(47,126,255,.38);box-shadow:0 8px 18px rgba(15,23,42,.07)}
.access-role-page-row[hidden]{display:none}
.access-role-page-row input,.access-scope-option input{position:absolute;opacity:0;pointer-events:none}
.access-checkbox-ui{display:grid;place-items:center;width:19px;height:19px;border:1.5px solid #9badc3;border-radius:6px;background:#fff}
.access-checkbox-ui::after{content:"✓";opacity:0;color:#fff;font-size:13px;font-weight:900;transform:scale(.6)}
.access-role-page-row input:checked+.access-checkbox-ui,.access-scope-option input:checked+.access-checkbox-ui{border-color:#2f7eff;background:linear-gradient(135deg,#2f7eff,#49c3d5);box-shadow:0 4px 12px rgba(47,126,255,.24)}
.access-role-page-row input:checked+.access-checkbox-ui::after,.access-scope-option input:checked+.access-checkbox-ui::after{opacity:1;transform:scale(1)}
.access-role-page-row strong,.access-scope-option strong{display:block;font-size:13px}
.access-role-page-row small,.access-scope-option small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.access-user-table-wrap{max-height:calc(100vh - 330px);min-height:420px;overflow:auto;border:1px solid rgba(148,163,184,.20);border-radius:16px}
.access-users-table{min-width:920px}
.access-users-table thead th{position:sticky;top:0;z-index:2;background:var(--card)}
.access-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.access-pagination>div{display:flex;gap:8px}
.access-scope-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.access-scope-group{border:1px solid rgba(148,163,184,.22);border-radius:17px;background:rgba(248,250,252,.55);overflow:hidden}
.access-scope-group header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.18)}
.access-scope-group>div{display:grid;gap:8px;max-height:360px;overflow:auto;padding:10px;scrollbar-width:thin}
.access-scope-option{grid-template-columns:20px 20px minmax(0,1fr)}
.access-mobile-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.access-mobile-module{padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:17px;background:rgba(248,250,252,.56)}
.access-mobile-module header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.access-mobile-module header strong,.access-mobile-module header small{display:block}
.access-mobile-module header small{margin-top:3px;color:var(--muted);font-size:10px}
.access-mobile-flags{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.access-mobile-flags label{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid rgba(148,163,184,.18);border-radius:11px;font-size:12px}
.access-toggle{position:relative;width:42px;height:24px;flex:0 0 auto}
.access-toggle input{position:absolute;opacity:0}
.access-toggle span{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;cursor:pointer}
.access-toggle span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.22);transition:transform .18s ease}
.access-toggle input:checked+span{background:linear-gradient(135deg,#2f7eff,#31b6cc)}
.access-toggle input:checked+span::after{transform:translateX(18px)}
.production-calendar-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.production-calendar-toolbar-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 14px}
.production-calendar-nav,.production-calendar-tools,.production-calendar-view-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.production-calendar-title{display:flex;flex-direction:column;min-width:180px;margin-left:4px}
.production-calendar-title strong{font-size:20px}
.production-calendar-title span{color:var(--muted);font-size:11px}
.production-calendar-month-picker .input{width:155px}
.production-calendar-view-switch{padding:4px;border:1px solid rgba(148,163,184,.22);border-radius:13px;background:rgba(248,250,252,.72)}
.production-calendar-view-switch .btn{min-height:34px;padding:7px 12px;border-color:transparent;background:transparent}
.production-calendar-view-switch .btn.is-active{background:linear-gradient(135deg,#2f7eff,#31b6cc);color:#fff;box-shadow:0 6px 14px rgba(47,126,255,.20)}
.production-calendar-filter-menu{position:relative}
.production-calendar-filter-menu>summary{list-style:none;cursor:pointer}
.production-calendar-filter-menu>summary::-webkit-details-marker{display:none}
.production-calendar-filter-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:grid;gap:8px;min-width:220px;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:15px;background:var(--card);box-shadow:0 18px 40px rgba(15,23,42,.16)}
.production-calendar-filter-panel label{display:flex;align-items:center;gap:8px;font-size:12px}
.production-calendar-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.production-calendar-kpis article{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid rgba(148,163,184,.20);border-radius:16px;background:var(--card)}
.production-calendar-kpis span{color:var(--muted);font-size:11px}
.production-calendar-kpis strong{font-size:23px}
.production-calendar-surface{padding:0;overflow:hidden}
.production-calendar-month-view{min-width:0}
.production-calendar-weekdays,.production-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.production-calendar-weekdays{border-bottom:1px solid rgba(148,163,184,.22);background:rgba(241,245,249,.72)}
.production-calendar-weekdays span{padding:10px;text-align:center;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.production-calendar-month-grid{min-height:640px}
.production-calendar-day{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:128px;padding:10px;border:0;border-right:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18);background:var(--card);color:var(--text);text-align:left;cursor:pointer;overflow:hidden}
.production-calendar-day:nth-child(7n){border-right:0}
.production-calendar-day:hover{background:rgba(239,246,255,.82)}
.production-calendar-day.is-outside{opacity:.5;background:rgba(241,245,249,.58)}
.production-calendar-day.is-today::after{content:"";position:absolute;inset:4px;border:2px solid rgba(47,126,255,.42);border-radius:13px;pointer-events:none}
.production-calendar-day.is-selected{background:rgba(219,234,254,.68)}
.production-calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
.production-calendar-day-head strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:13px}
.production-calendar-day.is-today .production-calendar-day-head strong{background:#2f7eff;color:#fff}
.production-calendar-day-head em{color:#2f7eff;font-size:9px;font-style:normal;font-weight:800}
.production-calendar-event-stack{display:grid;gap:4px;min-width:0}
.calendar-event-chip{display:block;max-width:100%;padding:4px 7px;border-left:3px solid;border-radius:7px;background:rgba(148,163,184,.10);font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.type-production{color:#1d4ed8;border-color:#3b82f6;background:rgba(59,130,246,.10)}
.type-dispatch{color:#047857;border-color:#10b981;background:rgba(16,185,129,.10)}
.type-shortage{color:#b45309;border-color:#f59e0b;background:rgba(245,158,11,.12)}
.type-manual{color:#6d28d9;border-color:#8b5cf6;background:rgba(139,92,246,.10)}
.type-birthday{color:#be185d;border-color:#ec4899;background:rgba(236,72,153,.10)}
.type-alert{color:#b91c1c;border-color:#ef4444;background:rgba(239,68,68,.10)}
.type-maintenance{color:#0f766e;border-color:#14b8a6;background:rgba(20,184,166,.10)}
.calendar-event-empty{color:var(--muted);font-size:10px;font-style:italic}
.production-calendar-dynamic-view{padding:14px}
.production-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.production-calendar-list-day{min-width:0;border:1px solid rgba(148,163,184,.20);border-radius:15px;background:var(--card);overflow:hidden}
.production-calendar-list-day.is-selected{border-color:rgba(47,126,255,.46);box-shadow:0 0 0 3px rgba(47,126,255,.08)}
.production-calendar-list-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.72)}
.production-calendar-list-day>div{display:grid;gap:7px;padding:10px}
.calendar-agenda-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-left:4px solid;border-radius:11px;background:var(--card);color:inherit;text-align:left;cursor:pointer}
.calendar-agenda-item span{font-weight:800;font-size:12px}
.calendar-agenda-item strong{font-size:14px}
.calendar-agenda-item small{grid-column:1/-1;color:var(--muted);font-size:10px;white-space:normal}
.production-calendar-day-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr);gap:14px}
.production-calendar-day-summary{padding:16px;border:1px solid rgba(148,163,184,.20);border-radius:16px;background:rgba(248,250,252,.62)}
.production-calendar-day-summary h3{margin:0 0 12px}
.production-calendar-day-summary dl{display:grid;gap:8px;margin:0}
.production-calendar-day-summary dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.16)}
.production-calendar-day-summary dt{color:var(--muted)}
.production-calendar-day-summary dd{margin:0;font-weight:900}
.production-calendar-list-view{display:grid;gap:10px}
.production-calendar-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 4px}
.production-calendar-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}
.production-calendar-legend i{width:10px;height:10px;border-radius:3px;border-left:3px solid}
.production-calendar-modal-card{width:min(920px,calc(100vw - 24px))}
.dispatch-any-two-badge{display:inline-flex;align-items:center;min-height:18px;margin-left:5px;padding:1px 7px;border-radius:999px;background:rgba(47,126,255,.10);color:#2563eb;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.dispatch-document-grid.is-document-invalid{padding:10px;border:1px solid rgba(239,68,68,.42);border-radius:14px;background:rgba(254,226,226,.38)}
html[data-theme="dark"] .access-workspace-hero,html[data-theme="dark"] .production-calendar-hero,body.dark-mode.app-shell .access-workspace-hero,body.dark-mode.app-shell .production-calendar-hero{background:linear-gradient(135deg,rgba(8,21,36,.98),rgba(12,35,55,.96));border-color:rgba(56,189,248,.18)}
html[data-theme="dark"] .access-workspace-context span,body.dark-mode.app-shell .access-workspace-context span,html[data-theme="dark"] .access-workspace-tabs,body.dark-mode.app-shell .access-workspace-tabs{background:rgba(8,21,36,.86);border-color:rgba(148,163,184,.16)}
html[data-theme="dark"] .access-conflict-item,html[data-theme="dark"] .access-role-page-list,html[data-theme="dark"] .access-accordion-card>summary,html[data-theme="dark"] .access-scope-group,html[data-theme="dark"] .access-mobile-module,html[data-theme="dark"] .production-calendar-weekdays,html[data-theme="dark"] .production-calendar-day-summary,body.dark-mode.app-shell .access-conflict-item,body.dark-mode.app-shell .access-role-page-list,body.dark-mode.app-shell .access-accordion-card>summary,body.dark-mode.app-shell .access-scope-group,body.dark-mode.app-shell .access-mobile-module,body.dark-mode.app-shell .production-calendar-weekdays,body.dark-mode.app-shell .production-calendar-day-summary{background:rgba(15,30,48,.78)}
html[data-theme="dark"] .access-checkbox-ui,body.dark-mode.app-shell .access-checkbox-ui{background:#0f1f32;border-color:#52677f}
html[data-theme="dark"] .production-calendar-day.is-outside,body.dark-mode.app-shell .production-calendar-day.is-outside{background:rgba(15,23,42,.7)}
@media (max-width:1180px){.access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-scope-grid-v2,.access-mobile-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.production-calendar-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.production-calendar-toolbar-card{align-items:flex-start;flex-direction:column}.production-calendar-tools{width:100%}}
@media (max-width:900px){.access-workspace-hero,.production-calendar-hero{flex-direction:column}.access-workspace-context{width:100%;min-width:0}.access-overview-grid,.production-calendar-day-layout{grid-template-columns:1fr}.access-panel-toolbar{align-items:flex-start;flex-direction:column}.access-inline-selector{width:100%;min-width:0;grid-template-columns:1fr}.access-role-page-list{grid-template-columns:1fr}.access-scope-grid-v2,.access-mobile-grid-v2{grid-template-columns:1fr}.production-calendar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.production-calendar-surface{overflow-x:auto}.production-calendar-month-view{min-width:760px}.production-calendar-week-grid{grid-template-columns:repeat(7,minmax(180px,1fr))}}
@media (max-width:640px){body.app-shell .access-workspace-page,body.app-shell .production-calendar-page{padding-inline:0}.access-workspace-hero,.production-calendar-hero{padding:20px;border-radius:18px}.access-workspace-context{grid-template-columns:repeat(3,minmax(0,1fr))}.access-workspace-context span{min-height:58px;padding:7px;font-size:9px}.access-workspace-context strong{font-size:18px}.access-workspace-tabs{top:58px;margin:12px 0;border-radius:14px}.access-workspace-tab{min-height:38px;padding:7px 11px;font-size:11px}.access-summary-grid,.production-calendar-kpis{grid-template-columns:1fr 1fr;gap:8px}.access-summary-card{min-height:92px;padding:14px}.access-panel-card{padding:12px}.access-search-actions{align-items:stretch;justify-content:flex-start}.access-search-actions .input{flex-basis:100%}.access-search-actions .btn{flex:1 1 auto}.access-module-accordion{max-height:none;min-height:0;overflow:visible}.access-user-table-wrap{max-height:58vh;min-height:340px}.access-mobile-flags{grid-template-columns:1fr}.production-calendar-toolbar-card{padding:10px}.production-calendar-nav,.production-calendar-tools{width:100%}.production-calendar-title{min-width:140px}.production-calendar-view-switch{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.production-calendar-view-switch .btn{padding:7px 4px;font-size:10px}.production-calendar-month-picker{width:100%}.production-calendar-month-picker .input{width:100%}.production-calendar-kpis article{padding:11px}.production-calendar-month-view{min-width:700px}.production-calendar-day{min-height:112px}.production-calendar-filter-panel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0}.production-calendar-modal-card{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.dispatch-document-grid{grid-template-columns:1fr}}
@media print{.access-workspace-tabs,.production-calendar-toolbar-card,.production-calendar-hero-actions,.production-calendar-filter-menu,.sidebar,.topbar{display:none}.production-calendar-page{padding:0}.production-calendar-surface{overflow:visible}.production-calendar-month-view{min-width:0}.production-calendar-day{min-height:92px}.production-calendar-event-stack{gap:2px}.calendar-event-chip{font-size:7px}}
body.app-shell .page,body.app-shell .page-head,body.app-shell .card,body.app-shell .table-wrap,body.app-shell .responsive-table{min-width:0;max-width:100%}
body.app-shell img,body.app-shell svg,body.app-shell video,body.app-shell canvas{max-width:100%;height:auto}
body.app-shell .table-wrap,body.app-shell .responsive-table{overflow-x:auto;overscroll-behavior-inline:contain}
@media (max-width:960px){body.app-shell .page-head{align-items:flex-start;flex-direction:column;gap:12px}body.app-shell .page-head>.actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:3px}body.app-shell .split-grid{grid-template-columns:1fr}body.app-shell .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){body.app-shell .grid.two,body.app-shell .grid.three,body.app-shell .grid.four,body.app-shell .form-grid.two,body.app-shell .form-grid.three{grid-template-columns:1fr}body.app-shell .row-actions,body.app-shell .actions{flex-wrap:wrap}body.app-shell .row-actions>.btn,body.app-shell .actions>.btn{max-width:100%}body.app-shell .metric-value{overflow-wrap:anywhere}body.app-shell .card{border-radius:16px}}
.sidebar-backdrop{
  position: fixed;
  inset: 0;
  z-index: 790;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(15,23,42,.48);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
body.app-shell.sidebar-open .sidebar-backdrop{
  opacity: 1;
  pointer-events: auto;
}
@media (min-width:981px){
  .sidebar-backdrop{display:none;}
  body.app-shell.sidebar-collapsed .topbar-icon[data-sidebar-toggle]{
    background: rgba(14,165,233,.10);
    color: #0f74a8;
    border-color: rgba(14,165,233,.28);
  }
}
@media (max-width:980px){
  body.app-shell.sidebar-open{overflow:hidden;}
  body.app-shell.sidebar-open .sidebar, body.app-shell.sidebar-open .sidebar.sidebar--neo{
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
  }
}
.mbin-view-page{
  --mbin-card: rgba(255,255,255,.92);
  --mbin-card-strong: rgba(255,255,255,.98);
  --mbin-border: rgba(148,163,184,.24);
  --mbin-soft: rgba(241,245,249,.72);
  --mbin-text: #0f172a;
  --mbin-muted: #64748b;
  --mbin-blue: #2563eb;
  --mbin-cyan: #0891b2;
  --mbin-green: #16a34a;
  --mbin-amber: #d97706;
  gap: 18px;
}
html[data-theme="dark"] .mbin-view-page{
  --mbin-card: rgba(15,23,42,.78);
  --mbin-card-strong: rgba(15,23,42,.92);
  --mbin-border: rgba(148,163,184,.18);
  --mbin-soft: rgba(30,41,59,.58);
  --mbin-text: #e5eefb;
  --mbin-muted: #9fb0c7;
}
.mbin-detail-hero{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--mbin-border);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 10%, rgba(59,130,246,.16), transparent 36%),
    radial-gradient(circle at 75% 0%, rgba(20,184,166,.12), transparent 34%),
    var(--mbin-card-strong);
  box-shadow: 0 22px 54px rgba(15,23,42,.08);
}
.mbin-hero-main{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.mbin-avatar{
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-weight: 900;
  letter-spacing: .08em;
  color: #fff;
  background: linear-gradient(135deg,var(--mbin-blue),var(--mbin-cyan));
  box-shadow: 0 16px 28px rgba(37,99,235,.24);
}
.mbin-title-block h2{
  margin: 3px 0 8px;
  font-size: clamp(28px,3vw,42px);
  line-height: 1;
  color: var(--mbin-text);
}
.mbin-meta-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.mbin-hero-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.mbin-stat-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.mbin-stat-card{
  position: relative;
  overflow: hidden;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--mbin-border);
  border-radius: 22px;
  background: linear-gradient(180deg,var(--mbin-card-strong),var(--mbin-card));
  box-shadow: 0 18px 44px rgba(15,23,42,.07);
}
.mbin-stat-card::after{
  content: "";
  position: absolute;
  right: -26px;
  top: -34px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14,165,233,.18), transparent 68%);
}
.mbin-stat-card strong{
  display: block;
  margin: 4px 0 2px;
  font-size: 34px;
  line-height: 1;
  color: var(--mbin-text);
}
.mbin-stat-card small{
  display: block;
  color: var(--mbin-muted);
}
.mbin-readiness-card strong{
  letter-spacing: .04em;
}
.mbin-progress{
  margin-top: 14px;
  height: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148,163,184,.18);
}
.mbin-progress span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--mbin-blue),var(--mbin-cyan),var(--mbin-green));
}
.mini-status{
  display: inline-flex;
  margin-top: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}
.mini-status.is-ok{background: rgba(22,163,74,.12); color: #15803d;}
.mini-status.is-warn{background: rgba(217,119,6,.14); color: #b45309;}
.mbin-dashboard-grid{
  display: grid;
  grid-template-columns: minmax(280px,.9fr) minmax(300px,1fr) minmax(320px,1.2fr);
  gap: 14px;
  align-items: stretch;
}
.mbin-panel{
  min-width: 0;
  background: var(--mbin-card-strong);
}
.mbin-panel .compact-head{
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.mbin-rule-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.mbin-rule-card{
  min-height: 104px;
  padding: 13px;
  border: 1px solid var(--mbin-border);
  border-radius: 18px;
  background: var(--mbin-soft);
}
.mbin-rule-card span{
  display: block;
  color: var(--mbin-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.mbin-rule-card strong{
  display: block;
  margin: 6px 0 4px;
  color: var(--mbin-text);
  font-size: 20px;
  line-height: 1.1;
}
.mbin-rule-card small{
  color: var(--mbin-muted);
  line-height: 1.35;
}
.mbin-rule-card.is-ok{border-color: rgba(34,197,94,.28); background: rgba(34,197,94,.08);}
.mbin-rule-card.is-warn{border-color: rgba(245,158,11,.28); background: rgba(245,158,11,.10);}
.mbin-rule-card.is-info{border-color: rgba(14,165,233,.26); background: rgba(14,165,233,.08);}
.mbin-note-card{
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 13px;
  border: 1px dashed rgba(14,165,233,.28);
  border-radius: 18px;
  color: var(--mbin-muted);
  background: rgba(14,165,233,.06);
}
.mbin-note-card strong{color: var(--mbin-text);}
.mbin-lock-card{
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 13px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(34,197,94,.28);
  border-radius: 20px;
  background: linear-gradient(135deg,rgba(34,197,94,.14),rgba(14,165,233,.06));
}
.mbin-lock-card h4{
  margin: 0 0 6px;
  color: var(--mbin-text);
  font-size: 17px;
}
.mbin-lock-card p{
  margin: 0 0 10px;
  color: var(--mbin-muted);
  line-height: 1.55;
}
.mbin-lock-icon{
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg,#16a34a,#06b6d4);
  box-shadow: 0 12px 26px rgba(22,163,74,.22);
}
.mbin-input-stack{
  display: grid;
  gap: 12px;
}
.mbin-view-page .mbin-simple-assign-card textarea.input,
.mbin-view-page .mbin-paste-form textarea.input{
  min-height: 170px;
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
}
.mbin-view-page .mbin-simple-assign-card .inline-form,
.mbin-view-page .mbin-upload-form .inline-form{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
}
.mbin-timeline-panel{
  max-height: 460px;
  overflow: hidden;
}
.mbin-timeline{
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow: auto;
  padding-right: 5px;
}
.mbin-timeline-item{
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 8px;
  align-items: stretch;
}
.mbin-timeline-dot{
  width: 10px;
  height: 10px;
  margin-top: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg,var(--mbin-blue),var(--mbin-cyan));
  box-shadow: 0 0 0 4px rgba(14,165,233,.12);
}
.mbin-timeline-card{
  padding: 12px;
  border: 1px solid var(--mbin-border);
  border-radius: 16px;
  background: var(--mbin-soft);
}
.mbin-timeline-title{
  margin-bottom: 8px;
  font-weight: 900;
  color: var(--mbin-text);
  letter-spacing: .02em;
}
.mbin-timeline-meta{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--mbin-muted);
  font-size: 12px;
}
.mbin-timeline-meta strong{
  color: var(--mbin-text);
  text-align: right;
  word-break: break-word;
}
.mbin-empty-state{
  padding: 18px;
  border: 1px dashed var(--mbin-border);
  border-radius: 16px;
  color: var(--mbin-muted);
  background: var(--mbin-soft);
}
.mbin-side-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  align-items: start;
}
.mbin-cell-panel{
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--mbin-border);
  border-radius: 20px;
  background: var(--mbin-card);
}
.mbin-cell-table-wrap{
  max-height: 420px;
  overflow: auto;
  border-radius: 16px;
}
.mbin-cell-table td:nth-child(2){
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size: 12px;
  word-break: break-all;
}
@media (max-width:1180px){
  .mbin-dashboard-grid{grid-template-columns: 1fr 1fr;}
  .mbin-timeline-panel{grid-column: 1 / -1;}
}
@media (max-width:980px){
  .mbin-detail-hero{align-items: flex-start; flex-direction: column;}
  .mbin-hero-actions{width:100%; justify-content:flex-start;}
  .mbin-stat-grid{grid-template-columns: repeat(2,minmax(0,1fr));}
  .mbin-dashboard-grid{grid-template-columns:1fr;}
  .mbin-side-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .mbin-view-page{gap:14px;}
  .mbin-detail-hero{padding:16px; border-radius:20px;}
  .mbin-hero-main{align-items:flex-start;}
  .mbin-avatar{width:48px; height:48px; border-radius:14px;}
  .mbin-stat-grid,.mbin-rule-grid{grid-template-columns:1fr;}
  .mbin-hero-actions .btn{width:100%; justify-content:center;}
  .mbin-view-page .mbin-simple-assign-card .inline-form,
  .mbin-view-page .mbin-upload-form .inline-form{grid-template-columns:1fr;}
  .mbin-view-page .mbin-upload-form .inline-form .btn{width:100%;}
  .mbin-lock-card{grid-template-columns:1fr;}
  .mbin-timeline-meta{display:grid;}
  .mbin-timeline-meta strong{text-align:left;}
}
:root{
  --tc341-sidebar-w: 286px;
  --tc341-sidebar-collapsed-w: 78px;
  --tc341-frame-pad: 14px;
  --tc341-frame-gap: 14px;
  --tc341-topbar-h: 72px;
  --tc341-radius-lg: 24px;
  --tc341-radius-md: 18px;
  --tc341-panel-shadow: 0 18px 44px rgba(15,23,42,.08);
}
@media (min-width:1181px){
  body.app-shell{
    padding: 0;
    overflow-x: hidden;
    background:
      radial-gradient(circle at 0 0, rgba(14,165,233,.08), transparent 30%),
      radial-gradient(circle at 100% 0, rgba(20,184,166,.07), transparent 28%),
      var(--bg);
  }
  body.app-shell .app-frame{
    display: grid;
    grid-template-columns: var(--tc341-sidebar-w) minmax(0,1fr);
    grid-template-rows: var(--tc341-topbar-h) minmax(0,1fr) auto;
    grid-template-areas: "sidebar topbar" "sidebar content" "sidebar footer";
    gap: var(--tc341-frame-gap);
    width: 100%;
    min-height: 100dvh;
    padding: var(--tc341-frame-pad);
    box-sizing: border-box;
    align-items: start;
    overflow: visible;
  }
  body.app-shell.sidebar-collapsed .app-frame{
    grid-template-columns: var(--tc341-sidebar-collapsed-w) minmax(0,1fr);
  }
  body.app-shell .sidebar.sidebar--neo,
  body.app-shell .sidebar{
    grid-area: sidebar;
    position: sticky;
    top: var(--tc341-frame-pad);
    width: 100%;
    height: calc(100dvh - (var(--tc341-frame-pad) * 2));
    max-height: calc(100dvh - (var(--tc341-frame-pad) * 2));
    min-width: 0;
    margin: 0;
    border-radius: 26px;
    transform: none;
    opacity: 1;
    visibility: visible;
    overflow: hidden;
    z-index: 50;
    box-shadow: var(--tc341-panel-shadow);
    transition: width .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,
  body.app-shell.sidebar-collapsed .sidebar:hover,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within,
  body.app-shell.sidebar-collapsed .sidebar:focus-within{
    width: 100%;
  }
  body.app-shell .topbar{
    grid-area: topbar;
    position: sticky;
    top: var(--tc341-frame-pad);
    left: auto;
    right: auto;
    width: 100%;
    min-width: 0;
    min-height: var(--tc341-topbar-h);
    height: var(--tc341-topbar-h);
    margin: 0;
    padding: 10px 16px;
    border: 1px solid rgba(148,163,184,.20);
    border-radius: 26px;
    display: grid;
    grid-template-columns: auto minmax(320px,1fr) auto;
    align-items: center;
    gap: 16px;
    background: color-mix(in srgb,var(--panel) 92%,transparent);
    box-shadow: var(--tc341-panel-shadow);
    backdrop-filter: saturate(140%) blur(16px);
    -webkit-backdrop-filter: saturate(140%) blur(16px);
    z-index: 45;
  }
  html[data-theme="dark"] body.app-shell .topbar{
    background: rgba(15,23,42,.88);
    border-color: rgba(148,163,184,.16);
  }
  body.app-shell .topbar-left,
  body.app-shell .topbar-center,
  body.app-shell .topbar-search,
  body.app-shell .topbar-actions{
    min-width: 0;
  }
  body.app-shell .topbar-center{
    justify-self: stretch;
    max-width: 720px;
    width: 100%;
  }
  body.app-shell .topbar-actions{
    justify-self: end;
    flex-wrap: nowrap;
    overflow: visible;
  }
  body.app-shell .content{
    grid-area: content;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0 0 96px;
    overflow: visible;
    background: transparent;
  }
  body.app-shell .content > .page,
  body.app-shell .content > .dashboard-pro,
  body.app-shell .content > .dashboard-shell,
  body.app-shell .content > .station-page-shell{
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
  }
  body.app-shell .app-footer{
    grid-area: footer;
    width: 100%;
    min-width: 0;
    margin: 0;
    left: auto;
    right: auto;
  }
  body.app-shell.sidebar-collapsed .topbar,
  body.app-shell.sidebar-collapsed .content,
  body.app-shell.sidebar-collapsed .app-footer{
    margin-left: 0;
    left: auto;
    width: 100%;
  }
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .brand-copy,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .brand-title,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .brand-sub,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .user-meta,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-text,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-label,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-subtitle,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-caret,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .nav-badge,
  body.app-shell.sidebar-collapsed .sidebar .brand-copy,
  body.app-shell.sidebar-collapsed .sidebar .brand-title,
  body.app-shell.sidebar-collapsed .sidebar .brand-sub,
  body.app-shell.sidebar-collapsed .sidebar .user-meta,
  body.app-shell.sidebar-collapsed .sidebar .nav-text,
  body.app-shell.sidebar-collapsed .sidebar .nav-label,
  body.app-shell.sidebar-collapsed .sidebar .nav-subtitle,
  body.app-shell.sidebar-collapsed .sidebar .nav-caret,
  body.app-shell.sidebar-collapsed .sidebar .nav-badge,
  body.app-shell.sidebar-collapsed .sidebar .sidebar-mini-stats{
    display: none;
  }
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .sidebar-brand-panel,
  body.app-shell.sidebar-collapsed .sidebar .brand-panel,
  body.app-shell.sidebar-collapsed .sidebar .nav-group,
  body.app-shell.sidebar-collapsed .sidebar .sidebar-footer,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo .sidebar-footer--neo{
    padding-left: 6px;
    padding-right: 6px;
  }
  body.app-shell.sidebar-collapsed .sidebar .nav-group-body{
    display: grid;
    gap: 8px;
    margin-top: 8px;
  }
  body.app-shell.sidebar-collapsed .sidebar .nav-group-head,
  body.app-shell.sidebar-collapsed .sidebar .nav-link,
  body.app-shell.sidebar-collapsed .sidebar .nav-link-logout--neo{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    min-height: 50px;
    padding: 0;
    margin: 0 auto;
    border-radius: 17px;
  }
  body.app-shell.sidebar-collapsed .sidebar .nav-ico,
  body.app-shell.sidebar-collapsed .sidebar .dock-ico{
    margin: 0;
    width: 22px;
    height: 22px;
    min-width: 22px;
  }
  body.app-shell.sidebar-collapsed .sidebar-body{
    padding: 8px 0;
    overflow-x: hidden;
    overflow-y: auto;
  }
  body.app-shell.sidebar-collapsed .brand-core,
  body.app-shell.sidebar-collapsed .brand-core--compact{
    justify-content: center;
  }
}
body.app-shell .page-head,
body.app-shell .hero-panel,
body.app-shell .station-hero,
body.app-shell .card,
body.app-shell .card-lite,
body.app-shell .table-card,
body.app-shell .queue-card,
body.app-shell .metric-card{
  border: 1px solid color-mix(in srgb,var(--border) 82%,transparent);
  box-shadow: 0 16px 38px rgba(15,23,42,.07);
}
body.app-shell .page-head{
  background:
    radial-gradient(circle at 0 0, rgba(14,165,233,.13), transparent 36%),
    linear-gradient(180deg, color-mix(in srgb,var(--panel) 94%,transparent), color-mix(in srgb,var(--panel) 98%,transparent));
  color: var(--text);
  border-radius: 26px;
  padding: 18px 22px;
}
html[data-theme="dark"] body.app-shell .page-head{
  background:
    radial-gradient(circle at 0 0, rgba(34,211,238,.12), transparent 36%),
    linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.98));
}
body.app-shell .page-head h1,
body.app-shell .page-head h2,
body.app-shell .page-head h3,
body.app-shell .dashboard-title,
body.app-shell .section-head h3{
  letter-spacing: -.03em;
}
body.app-shell .card,
body.app-shell .card-lite,
body.app-shell .table-card{
  border-radius: 24px;
  background: color-mix(in srgb,var(--panel) 96%,transparent);
}
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .card-lite,
html[data-theme="dark"] body.app-shell .table-card{
  background: rgba(15,23,42,.86);
  border-color: rgba(148,163,184,.16);
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn{
  border-radius: 14px;
}
body.app-shell .btn.primary,
body.app-shell button.btn.primary,
body.app-shell a.btn.primary{
  background: linear-gradient(135deg,#14b8a6,#2563eb);
  border-color: rgba(37,99,235,.24);
  color: #fff;
  box-shadow: 0 12px 28px rgba(37,99,235,.18);
}
body.app-shell .input,
body.app-shell input,
body.app-shell select,
body.app-shell textarea{
  border-radius: 14px;
}
body.app-shell .table-wrap{
  border-radius: 20px;
  overflow: auto;
}
body.app-shell .table th{
  background: color-mix(in srgb,var(--panel-2) 92%,transparent);
  position: sticky;
  top: 0;
  z-index: 1;
}
@media (min-width:1181px){
  body.app-shell .dashboard-pro .grid,
  body.app-shell .dashboard-shell .grid,
  body.app-shell .metrics-grid,
  body.app-shell .compact-hero-grid,
  body.app-shell .hero-kpis{
    gap: 14px;
  }
  body.app-shell .dashboard-pro,
  body.app-shell .dashboard-shell{
    gap: 16px;
  }
}
@media (max-width:1180px){
  body.app-shell .app-frame{
    display: block;
    width: 100%;
    min-height: 100dvh;
    padding: 0;
  }
  body.app-shell .content{
    width: 100%;
    margin: 0;
    padding: calc(var(--asm360-topbar-h,64px) + var(--hosting-banner-height,0px) + 12px) 12px calc(var(--rev252-mobile-dock-height,74px) + env(safe-area-inset-bottom,0px) + 24px);
  }
  body.app-shell .sidebar-backdrop{
    display: block;
  }
}
@media (max-width:720px){
  body.app-shell .page-head{
    padding: 16px;
    border-radius: 22px;
  }
  body.app-shell .card,
  body.app-shell .card-lite,
  body.app-shell .table-card{
    border-radius: 20px;
  }
}
:root{--tc348-mobile-sidebar-w:min(88vw,340px);}
body.app-shell.sidebar-open-peek,
html.sidebar-open-peek{--tc348-peek-disabled:0;}
@media (min-width:1181px){
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,
  body.app-shell.sidebar-collapsed .sidebar:hover,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within,
  body.app-shell.sidebar-collapsed .sidebar:focus-within{width:var(--tc341-sidebar-collapsed-w,78px);min-width:var(--tc341-sidebar-collapsed-w,78px);max-width:var(--tc341-sidebar-collapsed-w,78px);}
  body.app-shell.sidebar-collapsed .app-frame{grid-template-columns:var(--tc341-sidebar-collapsed-w,78px) minmax(0,1fr);}
  body.app-shell .sidebar-backdrop{display:none;opacity:0;visibility:hidden;pointer-events:none;}
}
@media (max-width:1180px){
  body.app-shell{overflow-x:hidden;}
  body.app-shell .app-frame{display:block;width:100%;min-height:100dvh;padding:0;}
  body.app-shell .topbar{left:12px;right:12px;width:auto;}
  body.app-shell .content{width:100%;max-width:100%;margin:0;padding:calc(var(--asm360-topbar-h,64px) + var(--hosting-banner-height,0px) + 12px) 12px calc(var(--rev252-mobile-dock-height,74px) + env(safe-area-inset-bottom,0px) + 24px);}
  body.app-shell .sidebar.sidebar--neo,
  body.app-shell .sidebar,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar{position:fixed;top:calc(var(--hosting-banner-height,0px) + 10px);bottom:10px;left:10px;width:var(--tc348-mobile-sidebar-w);min-width:0;max-width:var(--tc348-mobile-sidebar-w);height:auto;z-index:1300;transform:translateX(calc(-1 * var(--tc348-mobile-sidebar-w) - 28px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .18s ease,visibility .18s ease;}
  body.app-shell.sidebar-open .sidebar.sidebar--neo,
  body.app-shell.sidebar-open .sidebar,
  html.sidebar-open body.app-shell .sidebar.sidebar--neo,
  html.sidebar-open body.app-shell .sidebar{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto;}
  body.app-shell .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:1200;opacity:0;visibility:hidden;pointer-events:none;border:0;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
  body.app-shell.sidebar-open .sidebar-backdrop,
  html.sidebar-open body.app-shell .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto;}
  body.app-shell.sidebar-open{touch-action:auto;}
  body.app-shell.sidebar-open .sidebar a,
  body.app-shell.sidebar-open .sidebar button,
  html.sidebar-open body.app-shell .sidebar a,
  html.sidebar-open body.app-shell .sidebar button{pointer-events:auto;}
}
body.app-shell .modal form .modal-footer,
body.app-shell .modal form .form-actions,
body.app-shell .modal form .actions,
body.app-shell .modal form .sticky-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
body.app-shell .modal-card{max-width:min(96vw,980px);}
body.app-shell .modal-body{max-height:calc(100dvh - 180px);overflow:auto;}
@media (max-width:720px){body.app-shell .modal-body{max-height:calc(100dvh - 140px);}body.app-shell .modal form .modal-footer,body.app-shell .modal form .form-actions,body.app-shell .modal form .actions,body.app-shell .modal form .sticky-actions{justify-content:stretch;}body.app-shell .modal form .modal-footer .btn,body.app-shell .modal form .form-actions .btn,body.app-shell .modal form .actions .btn,body.app-shell .modal form .sticky-actions .btn{flex:1 1 auto;}}
body.app-shell .asx-actionbar{position:sticky;top:calc(var(--asm360-topbar-h,64px) + 10px);z-index:20;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;}
:root{
  --tc349-modal-radius: 24px;
  --tc349-modal-pad: 18px;
  --tc349-modal-footer-bg: color-mix(in srgb, var(--panel) 98%, transparent);
  --tc349-modal-border: color-mix(in srgb, var(--border) 88%, transparent);
}
body.app-shell.modal-open{overflow:hidden;}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal.tc-server-open-modal{
  display:grid;
  place-items:center;
  padding:24px;
  overflow:auto;
  overscroll-behavior:contain;
}
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl,
body.app-shell .station-clock-modal-card{
  width:min(1040px, calc(100vw - 48px));
  max-width:min(1040px, calc(100vw - 48px));
  max-height:calc(100dvh - 48px);
  margin:auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:var(--tc349-modal-radius);
  background:var(--panel);
}
body.app-shell .modal-card.sm{width:min(620px, calc(100vw - 48px));max-width:min(620px, calc(100vw - 48px));}
body.app-shell .modal-card.lg{width:min(1120px, calc(100vw - 48px));max-width:min(1120px, calc(100vw - 48px));}
body.app-shell .modal-card.xl,
body.app-shell .modal-card.xxl,
body.app-shell .stage-modal-card--xl{width:min(1280px, calc(100vw - 48px));max-width:min(1280px, calc(100vw - 48px));}
body.app-shell .modal-head,
body.app-shell .modal-header{
  flex:0 0 auto;
  position:relative;
  top:auto;
  z-index:2;
  min-height:72px;
  padding:20px 24px;
  border-bottom:1px solid var(--tc349-modal-border);
  background:var(--panel);
}
body.app-shell .modal-head .card-title,
body.app-shell .modal-head .modal-title,
body.app-shell .modal-title{font-size:22px;line-height:1.15;letter-spacing:-.03em;}
body.app-shell .modal-close,
body.app-shell [data-close-modal],
body.app-shell [data-modal-close]{flex:0 0 auto;}
body.app-shell .modal-card > form,
body.app-shell .modal-card > .form,
body.app-shell .modal-card > .modal-form,
body.app-shell .tc349-modal-form{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .tc310-modal-body,
body.app-shell .tc242-stage-modal-body{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow:auto;
  padding:20px 24px;
}
body.app-shell .modal-body > form,
body.app-shell .modal-body form.form,
body.app-shell .modal-body .form{min-height:0;display:grid;gap:14px;}
body.app-shell .modal .grid.two,
body.app-shell .modal .form.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
body.app-shell .modal .grid.three,
body.app-shell .modal .form.grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
body.app-shell .modal .full{grid-column:1 / -1;}
body.app-shell .modal-footer,
body.app-shell .tc249-modal-footer,
body.app-shell .tc242-stage-modal-footer,
body.app-shell .preassembly-modal-footer,
body.app-shell .tc262-compact-footer,
body.app-shell .station-trace-actions,
body.app-shell .modal-card > .actions,
body.app-shell .modal-card > .row-actions,
body.app-shell .modal-card > form > .actions,
body.app-shell .modal-card > form > .row-actions,
body.app-shell .modal-card > form > .sticky-actions,
body.app-shell .modal-card > form > .modal-actions,
body.app-shell .modal-card > form > .modal-footer,
body.app-shell .modal-body > form > .actions,
body.app-shell .modal-body > form > .row-actions,
body.app-shell .modal-body > form > .sticky-actions,
body.app-shell .modal-body > form > .modal-actions,
body.app-shell .modal-body > .actions,
body.app-shell .modal-body > .row-actions,
body.app-shell .modal-body > .sticky-actions,
body.app-shell .modal .tc349-modal-actions{
  position:static;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  width:100%;
  margin:0;
  padding:14px 24px;
  border-top:1px solid var(--tc349-modal-border);
  border-radius:0;
  background:var(--tc349-modal-footer-bg);
  box-shadow:none;
  grid-template-columns:none;
}
html[data-theme="light"] body.app-shell .modal-footer,
html[data-theme="light"] body.app-shell .tc249-modal-footer,
html[data-theme="light"] body.app-shell .tc242-stage-modal-footer,
html[data-theme="light"] body.app-shell .preassembly-modal-footer,
html[data-theme="light"] body.app-shell .tc262-compact-footer,
html[data-theme="light"] body.app-shell .station-trace-actions,
html[data-theme="light"] body.app-shell .modal-card > .actions,
html[data-theme="light"] body.app-shell .modal-card > .row-actions,
html[data-theme="light"] body.app-shell .modal-card > form > .actions,
html[data-theme="light"] body.app-shell .modal-card > form > .row-actions,
html[data-theme="light"] body.app-shell .modal-card > form > .sticky-actions,
html[data-theme="light"] body.app-shell .modal-card > form > .modal-actions,
html[data-theme="light"] body.app-shell .modal-card > form > .modal-footer,
html[data-theme="light"] body.app-shell .modal-body > form > .actions,
html[data-theme="light"] body.app-shell .modal-body > form > .row-actions,
html[data-theme="light"] body.app-shell .modal-body > form > .sticky-actions,
html[data-theme="light"] body.app-shell .modal-body > form > .modal-actions,
html[data-theme="light"] body.app-shell .modal-body > .actions,
html[data-theme="light"] body.app-shell .modal-body > .row-actions,
html[data-theme="light"] body.app-shell .modal-body > .sticky-actions,
html[data-theme="light"] body.app-shell .modal .tc349-modal-actions{
  background:rgba(255,255,255,.98);
  border-top-color:rgba(15,23,42,.10);
  box-shadow:none;
}
body.app-shell .modal-footer .btn,
body.app-shell .tc249-modal-footer .btn,
body.app-shell .tc242-stage-modal-footer .btn,
body.app-shell .preassembly-modal-footer .btn,
body.app-shell .tc262-compact-footer .btn,
body.app-shell .station-trace-actions .btn,
body.app-shell .modal-card > .actions .btn,
body.app-shell .modal-card > .row-actions .btn,
body.app-shell .modal-card > form > .actions .btn,
body.app-shell .modal-card > form > .row-actions .btn,
body.app-shell .modal-card > form > .sticky-actions .btn,
body.app-shell .modal-body > form > .actions .btn,
body.app-shell .modal-body > form > .row-actions .btn,
body.app-shell .modal-body > form > .sticky-actions .btn,
body.app-shell .modal .tc349-modal-actions .btn{
  width:auto;
  min-width:144px;
  justify-content:center;
}
body.app-shell .modal-card .table-wrap,
body.app-shell .modal-card .responsive-table{max-width:100%;}
body.app-shell .stage-modal-grid.tc349-stage-compact{grid-template-columns:minmax(260px,1fr) minmax(320px,1.35fr) minmax(280px,1fr);gap:12px;align-items:stretch;}
body.app-shell .tc349-stage-compact .card-lite{height:100%;}
@media (max-width:900px){
  body.app-shell .modal.open,
  body.app-shell .modal.is-open,
  body.app-shell .modal.show{padding:12px;place-items:end center;}
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .modal-card.xxl,
  body.app-shell .stage-modal-card--xl{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:22px;}
  body.app-shell .modal-head{padding:16px 18px;min-height:64px;}
  body.app-shell .modal-body{padding:16px 18px;}
  body.app-shell .modal .grid.two,
  body.app-shell .modal .grid.three,
  body.app-shell .modal .form.grid.two,
  body.app-shell .modal .form.grid.three,
  body.app-shell .stage-modal-grid.tc349-stage-compact{grid-template-columns:1fr;}
  body.app-shell .modal-footer,
  body.app-shell .tc249-modal-footer,
  body.app-shell .tc242-stage-modal-footer,
  body.app-shell .modal-body > form > .actions,
  body.app-shell .modal-body > form > .row-actions,
  body.app-shell .modal-body > form > .sticky-actions{padding:12px 16px;justify-content:stretch;}
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .tc242-stage-modal-footer .btn,
  body.app-shell .modal-body > form > .actions .btn,
  body.app-shell .modal-body > form > .row-actions .btn,
  body.app-shell .modal-body > form > .sticky-actions .btn{flex:1 1 140px;min-width:0;}
}
:root{
  --i40-ink:#111827;
  --i40-muted:#64748b;
  --i40-bg:#eef4f8;
  --i40-panel:#ffffff;
  --i40-panel-glass:rgba(255,255,255,.78);
  --i40-panel-soft:#f8fbff;
  --i40-stroke:rgba(30,64,98,.14);
  --i40-stroke-strong:rgba(37,99,235,.22);
  --i40-blue:#0ea5e9;
  --i40-blue-deep:#2563eb;
  --i40-cyan:#06b6d4;
  --i40-green:#10b981;
  --i40-amber:#f59e0b;
  --i40-red:#ef4444;
  --i40-shadow:0 18px 45px rgba(15,23,42,.08);
  --i40-shadow-lg:0 26px 75px rgba(15,23,42,.12);
  --i40-radius-xl:28px;
  --i40-radius-lg:22px;
  --i40-radius-md:16px;
  --i40-sidebar-left:14px;
  --i40-sidebar-top:14px;
  --i40-shell-gap:18px;
  --asm360-topbar-h:72px;
  --font-sans:var(--app-font-family,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}
html[data-theme="dark"]{
  --i40-ink:#eaf4ff;
  --i40-muted:#9fb3c8;
  --i40-bg:#07111f;
  --i40-panel:#0f1d31;
  --i40-panel-glass:rgba(15,29,49,.82);
  --i40-panel-soft:#111f35;
  --i40-stroke:rgba(148,180,210,.18);
  --i40-stroke-strong:rgba(56,189,248,.28);
  --i40-shadow:0 18px 45px rgba(0,0,0,.28);
  --i40-shadow-lg:0 28px 78px rgba(0,0,0,.38);
}
html[data-design-standard="industry4"] body.app-shell{
  min-height:100dvh;
  color:var(--i40-ink);
  background:
    radial-gradient(circle at 0% -8%, rgba(14,165,233,.18), transparent 32vw),
    radial-gradient(circle at 88% 0%, rgba(37,99,235,.14), transparent 28vw),
    linear-gradient(90deg, rgba(47,85,121,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,85,121,.04) 1px, transparent 1px),
    var(--i40-bg);
  background-size:auto,auto,32px 32px,32px 32px,auto;
  font-family:var(--font-sans);
  font-size:14px;
  padding-left:calc(var(--sidebar-w) + var(--i40-sidebar-left) + var(--i40-shell-gap));
  transition:padding-left .22s ease;
}
html[data-theme="dark"][data-design-standard="industry4"] body.app-shell{
  background:
    radial-gradient(circle at 0% -8%, rgba(34,211,238,.12), transparent 32vw),
    radial-gradient(circle at 88% 0%, rgba(37,99,235,.16), transparent 28vw),
    linear-gradient(90deg, rgba(148,180,210,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(148,180,210,.035) 1px, transparent 1px),
    var(--i40-bg);
}
body.app-shell.sidebar-collapsed{
  padding-left:calc(var(--sidebar-collapsed-w) + var(--i40-sidebar-left) + var(--i40-shell-gap));
}
body.app-shell .app-frame{
  display:block;
  min-height:100dvh;
  width:100%;
  padding:14px 18px 0 0;
}
body.app-shell .content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 86px;
  display:grid;
  gap:18px;
}
body.app-shell .page{
  display:grid;
  gap:18px;
}
body.app-shell .sidebar.sidebar--neo,
body.app-shell .sidebar{
  position:fixed;
  top:var(--i40-sidebar-top);
  left:var(--i40-sidebar-left);
  bottom:var(--i40-sidebar-top);
  width:var(--sidebar-w);
  height:auto;
  max-height:calc(100dvh - (var(--i40-sidebar-top) * 2));
  z-index:90;
  padding:10px;
  border:1px solid var(--i40-stroke);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62)),var(--i40-panel-glass);
  backdrop-filter:blur(22px) saturate(155%);
  box-shadow:var(--i40-shadow-lg);
  overflow:hidden;
  transform:none;
  transition:width .22s ease, transform .22s ease, box-shadow .22s ease;
}
html[data-theme="dark"] body.app-shell .sidebar.sidebar--neo,
html[data-theme="dark"] body.app-shell .sidebar{
  background:linear-gradient(180deg,rgba(15,29,49,.88),rgba(12,24,42,.78)),var(--i40-panel-glass);
}
body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
body.app-shell.sidebar-collapsed .sidebar{
  width:var(--sidebar-collapsed-w);
}
body.app-shell .sidebar-inner{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:10px;
}
body.app-shell .sidebar-body{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:2px;
  margin-right:-2px;
  scrollbar-width:thin;
}
body.app-shell .sidebar-body::-webkit-scrollbar{width:6px;}
body.app-shell .sidebar-body::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--i40-blue) 38%,transparent);
  border-radius:999px;
}
body.app-shell .brand-panel,
body.app-shell .sidebar-brand-panel,
body.app-shell .nav-group,
body.app-shell .sidebar-footer{
  border:1px solid var(--i40-stroke);
  background:color-mix(in srgb,var(--i40-panel) 74%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48);
}
body.app-shell .sidebar-brand-panel{
  border-radius:20px;
  padding:12px;
}
body.app-shell .brand-core{display:flex;align-items:center;gap:11px;min-width:0;}
body.app-shell .logo{
  width:40px;
  height:40px;
  border-radius:16px;
  background:radial-gradient(circle at 28% 18%,#e0fbff 0 8%,#22d3ee 18%,#2563eb 78%);
  box-shadow:0 14px 30px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.45);
  color:#fff;
}
body.app-shell .brand-title{font-weight:900;letter-spacing:-.035em;color:var(--i40-ink);}
body.app-shell .brand-sub{color:var(--i40-muted);font-size:.73rem;}
body.app-shell .nav{gap:9px;}
body.app-shell .nav-group{
  border-radius:19px;
  padding:7px;
  box-shadow:0 8px 22px rgba(15,23,42,.045), inset 0 1px 0 rgba(255,255,255,.42);
}
body.app-shell .nav-group-head,
body.app-shell .nav-link{
  min-height:39px;
  border-radius:14px;
  border:1px solid transparent;
  color:color-mix(in srgb,var(--i40-ink) 86%,transparent);
  font-size:.86rem;
  font-weight:720;
  line-height:1.15;
}
body.app-shell .nav-group-head{padding:10px 11px;font-weight:850;}
body.app-shell .nav-link{padding:9px 10px;}
body.app-shell .nav-link:hover,
body.app-shell .nav-group-head:hover{
  transform:translateX(2px);
  background:color-mix(in srgb,var(--i40-blue) 8%,var(--i40-panel-soft));
  border-color:color-mix(in srgb,var(--i40-blue) 24%,var(--i40-stroke));
}
body.app-shell .nav-link.active,
body.app-shell .nav-link.is-active,
body.app-shell .nav-group-head.active,
body.app-shell .nav-group-head.is-open{
  color:var(--i40-ink);
  background:linear-gradient(90deg,color-mix(in srgb,var(--i40-blue) 14%,var(--i40-panel)),color-mix(in srgb,var(--i40-blue-deep) 8%,var(--i40-panel)));
  border-color:color-mix(in srgb,var(--i40-blue) 34%,var(--i40-stroke));
  box-shadow:inset 3px 0 0 var(--i40-blue),0 9px 22px rgba(14,165,233,.10);
}
body.app-shell .nav-ico{width:18px;height:18px;min-width:18px;color:color-mix(in srgb,var(--i40-blue-deep) 68%,var(--i40-cyan));}
body.app-shell .nav-text{min-width:0;}
body.app-shell .nav-label{white-space:normal;}
body.app-shell .sidebar-footer{border-radius:20px;padding:10px;position:relative;bottom:auto;margin-top:0;}
body.app-shell.sidebar-collapsed .sidebar .brand-copy,
body.app-shell.sidebar-collapsed .sidebar .brand-title,
body.app-shell.sidebar-collapsed .sidebar .brand-sub,
body.app-shell.sidebar-collapsed .sidebar .user-meta,
body.app-shell.sidebar-collapsed .sidebar .nav-text,
body.app-shell.sidebar-collapsed .sidebar .nav-label,
body.app-shell.sidebar-collapsed .sidebar .nav-subtitle,
body.app-shell.sidebar-collapsed .sidebar .nav-caret,
body.app-shell.sidebar-collapsed .sidebar .nav-badge,
body.app-shell.sidebar-collapsed .sidebar .alert-dot,
body.app-shell.sidebar-collapsed .sidebar .sidebar-brand-actions,
body.app-shell.sidebar-collapsed .sidebar .sidebar-mini-stats{
  display:none;
}
body.app-shell.sidebar-collapsed .sidebar .nav-group-body{
  display:none;
}
body.app-shell.sidebar-collapsed .sidebar .nav-group{
  padding:7px;
  display:grid;
  place-items:center;
}
body.app-shell.sidebar-collapsed .sidebar .nav-group-head,
body.app-shell.sidebar-collapsed .sidebar .nav-link,
body.app-shell.sidebar-collapsed .sidebar .nav-link-logout,
body.app-shell.sidebar-collapsed .sidebar .nav-link-logout--neo{
  width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  justify-content:center;
  align-items:center;
  margin:0 auto;
  border-radius:16px;
}
body.app-shell.sidebar-collapsed .sidebar .brand-panel,
body.app-shell.sidebar-collapsed .sidebar .sidebar-brand-panel,
body.app-shell.sidebar-collapsed .sidebar .sidebar-footer{
  padding:8px;
  display:grid;
  place-items:center;
}
body.app-shell.sidebar-collapsed .sidebar .logo,
body.app-shell.sidebar-collapsed .sidebar .avatar{margin:auto;}
body.app-shell .topbar{
  position:sticky;
  top:14px;
  z-index:70;
  min-height:var(--asm360-topbar-h);
  margin:0 0 16px;
  padding:10px 12px;
  border:1px solid var(--i40-stroke);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,255,255,.66)),var(--i40-panel-glass);
  backdrop-filter:blur(22px) saturate(150%);
  box-shadow:var(--i40-shadow);
}
html[data-theme="dark"] body.app-shell .topbar{background:linear-gradient(135deg,rgba(15,29,49,.86),rgba(10,22,38,.72)),var(--i40-panel-glass);}
body.app-shell .topbar-title{font-weight:900;color:var(--i40-ink);letter-spacing:-.035em;}
body.app-shell .topbar-kicker,
body.app-shell .eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--i40-blue-deep) 70%,var(--i40-cyan));}
body.app-shell .topbar-sub,
body.app-shell .muted{color:var(--i40-muted);}
body.app-shell .topbar-search,
body.app-shell .topbar-icon,
body.app-shell .topbar-user,
body.app-shell .icon-btn,
body.app-shell .btn,
body.app-shell .input,
body.app-shell input,
body.app-shell select,
body.app-shell textarea{
  border:1px solid var(--i40-stroke);
  background:color-mix(in srgb,var(--i40-panel) 78%,transparent);
  color:var(--i40-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
body.app-shell .topbar-icon:hover,
body.app-shell .icon-btn:hover,
body.app-shell .btn:hover{border-color:color-mix(in srgb,var(--i40-blue) 36%,var(--i40-stroke));transform:translateY(-1px);}
body.app-shell .topbar-search:focus-within,
body.app-shell .input:focus,
body.app-shell input:focus,
body.app-shell select:focus,
body.app-shell textarea:focus{border-color:color-mix(in srgb,var(--i40-blue) 55%,var(--i40-stroke));box-shadow:0 0 0 4px color-mix(in srgb,var(--i40-blue) 13%,transparent),inset 0 1px 0 rgba(255,255,255,.45);outline:none;}
body.app-shell .btn{border-radius:14px;font-weight:820;min-height:40px;}
body.app-shell .btn.primary{background:linear-gradient(135deg,#0ea5e9,#2563eb 58%,#06b6d4);border-color:rgba(14,165,233,.36);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.20),inset 0 1px 0 rgba(255,255,255,.35);}
body.app-shell .page-head,
body.app-shell .card,
body.app-shell .card-lite,
body.app-shell .table-card,
body.app-shell .metric-card,
body.app-shell .entity-card,
body.app-shell .section-card,
body.app-shell .queue-card,
body.app-shell .station-mini-card,
body.app-shell .quicklink-card{
  border:1px solid var(--i40-stroke);
  background:linear-gradient(180deg,color-mix(in srgb,var(--i40-panel) 92%,transparent),color-mix(in srgb,var(--i40-panel) 80%,transparent));
  box-shadow:var(--i40-shadow), inset 0 1px 0 rgba(255,255,255,.42);
  border-radius:var(--i40-radius-lg);
}
html[data-theme="dark"] body.app-shell .page-head,
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .card-lite,
html[data-theme="dark"] body.app-shell .table-card,
html[data-theme="dark"] body.app-shell .metric-card,
html[data-theme="dark"] body.app-shell .entity-card,
html[data-theme="dark"] body.app-shell .section-card,
html[data-theme="dark"] body.app-shell .queue-card,
html[data-theme="dark"] body.app-shell .station-mini-card,
html[data-theme="dark"] body.app-shell .quicklink-card{background:linear-gradient(180deg,rgba(15,29,49,.92),rgba(11,22,38,.82));}
body.app-shell .page-head{padding:16px 18px;border-radius:24px;margin-bottom:0;}
body.app-shell .page-head h1,
body.app-shell .page-head h2,
body.app-shell .page-head h3,
body.app-shell .card-title,
body.app-shell h1,
body.app-shell h2,
body.app-shell h3{color:var(--i40-ink);font-weight:900;letter-spacing:-.04em;}
body.app-shell .news-band{border:1px solid var(--i40-stroke);border-radius:17px;background:color-mix(in srgb,var(--i40-panel) 82%,transparent);box-shadow:var(--i40-shadow);}
body.app-shell .news-band-label{background:linear-gradient(135deg,var(--i40-blue),var(--i40-blue-deep));color:#fff;border-radius:13px;}
body.app-shell .table-wrap{border:1px solid var(--i40-stroke);border-radius:20px;background:color-mix(in srgb,var(--i40-panel) 76%,transparent);overflow:auto;}
body.app-shell .table th{background:color-mix(in srgb,var(--i40-panel-soft) 92%,transparent);color:color-mix(in srgb,var(--i40-ink) 74%,var(--i40-muted));font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
body.app-shell .table td,
body.app-shell .table th{border-color:var(--i40-stroke);}
body.app-shell .pill,
body.app-shell .chip,
body.app-shell .status-pill{border:1px solid var(--i40-stroke);background:color-mix(in srgb,var(--i40-panel) 78%,transparent);color:var(--i40-ink);}
.dashboard-premium{display:grid;gap:16px;}
.premium-ops-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr);gap:16px;align-items:stretch;}
.premium-hero{position:relative;overflow:hidden;min-height:280px;border-radius:28px;border:1px solid var(--i40-stroke-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--i40-panel) 90%,transparent),color-mix(in srgb,var(--i40-panel-soft) 76%,transparent));box-shadow:var(--i40-shadow-lg),inset 0 1px 0 rgba(255,255,255,.45);padding:22px;}
html[data-theme="dark"] .premium-hero{background:linear-gradient(135deg,rgba(15,29,49,.96),rgba(9,20,36,.86));}
.premium-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 10%,rgba(14,165,233,.20),transparent 32%),radial-gradient(circle at 88% 4%,rgba(37,99,235,.18),transparent 34%),repeating-linear-gradient(90deg,transparent 0 42px,rgba(14,165,233,.055) 43px 44px);pointer-events:none;}
.premium-hero>*{position:relative;z-index:1;}
.premium-hero-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}
.premium-hero-title{margin:8px 0 8px;font-size:clamp(1.8rem,3.25vw,3.35rem);line-height:.98;letter-spacing:-.065em;max-width:780px;}
.premium-hero-lede{max-width:760px;color:var(--i40-muted);font-size:.98rem;line-height:1.45;}
.premium-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}
.line-health-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--i40-green) 34%,var(--i40-stroke));background:color-mix(in srgb,var(--i40-green) 10%,var(--i40-panel));border-radius:999px;padding:8px 11px;font-weight:900;color:var(--i40-ink);}
.line-health-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--i40-green);box-shadow:0 0 0 5px color-mix(in srgb,var(--i40-green) 16%,transparent);}
.premium-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;}
.premium-kpi{border:1px solid var(--i40-stroke);border-radius:18px;padding:13px;background:color-mix(in srgb,var(--i40-panel) 74%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.38);}
.premium-kpi span{display:block;color:var(--i40-muted);font-size:.70rem;font-weight:900;text-transform:uppercase;letter-spacing:.095em;}
.premium-kpi strong{display:block;margin-top:5px;font-size:clamp(1.45rem,2.4vw,2.4rem);line-height:1;letter-spacing:-.045em;color:var(--i40-ink);}
.premium-route{display:flex;align-items:center;gap:8px;margin-top:16px;overflow-x:auto;padding:2px 2px 8px;}
.premium-route-node{display:inline-flex;align-items:center;gap:7px;min-width:max-content;border:1px solid color-mix(in srgb,var(--i40-blue) 28%,var(--i40-stroke));border-radius:999px;background:color-mix(in srgb,var(--i40-blue) 8%,var(--i40-panel));padding:8px 10px;font-size:.78rem;font-weight:900;color:var(--i40-ink);}
.premium-route-node::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--i40-green);}
.premium-route-link{flex:0 0 34px;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--i40-blue) 20%,transparent),color-mix(in srgb,var(--i40-blue-deep) 70%,transparent));}
.ops-watchtower{display:grid;gap:12px;padding:16px;border-radius:28px;}
.ops-watch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ops-watch-grid{display:grid;gap:9px;}
.ops-watch-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--i40-stroke);border-radius:16px;background:color-mix(in srgb,var(--i40-panel) 74%,transparent);padding:12px;}
.ops-watch-row span{color:var(--i40-muted);font-size:.84rem;}
.ops-watch-row strong{font-size:1.25rem;color:var(--i40-ink);font-weight:900;}
.premium-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.premium-metric{position:relative;overflow:hidden;min-height:122px;padding:16px;border-radius:22px;}
.premium-metric::after{content:"";position:absolute;right:-26px;top:-28px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--i40-blue) 14%,transparent);}
.premium-metric.warn::after{background:color-mix(in srgb,var(--i40-amber) 16%,transparent);}
.premium-metric.danger::after{background:color-mix(in srgb,var(--i40-red) 15%,transparent);}
.premium-metric-label{display:flex;justify-content:space-between;gap:10px;color:var(--i40-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;}
.premium-metric-value{display:block;margin-top:15px;font-size:clamp(1.85rem,3.6vw,3.1rem);line-height:.88;letter-spacing:-.055em;font-weight:950;color:var(--i40-ink);}
.premium-metric-foot{margin-top:10px;color:var(--i40-muted);font-size:.84rem;line-height:1.35;}
.premium-analytics-grid{display:grid;grid-template-columns:1fr 1fr minmax(320px,.9fr);gap:12px;align-items:start;}
.premium-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;}
.premium-card-head h3{margin:0;}
.premium-card-head p{margin:3px 0 0;color:var(--i40-muted);font-size:.84rem;}
.premium-bars{display:grid;gap:10px;}
.premium-bar-row{display:grid;grid-template-columns:minmax(72px,.9fr) minmax(100px,2fr) auto;align-items:center;gap:10px;}
.premium-bar-row span{color:var(--i40-muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.premium-bar-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--i40-stroke) 62%,transparent);overflow:hidden;}
.premium-bar-fill{height:100%;width:var(--pct,4%);border-radius:inherit;background:linear-gradient(90deg,var(--i40-blue),var(--i40-blue-deep));}
.premium-bar-row strong{font-variant-numeric:tabular-nums;color:var(--i40-ink);font-weight:900;}
.premium-calendar{display:grid;gap:9px;}
.premium-calendar-item{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--i40-stroke);border-radius:16px;background:color-mix(in srgb,var(--i40-panel) 72%,transparent);padding:10px;}
.premium-date{display:grid;place-items:center;height:48px;border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--i40-blue) 16%,var(--i40-panel)),color-mix(in srgb,var(--i40-blue-deep) 10%,var(--i40-panel)));font-weight:950;color:var(--i40-ink);}
.premium-date small{display:block;font-size:.62rem;letter-spacing:.08em;color:var(--i40-muted);}
.station-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;}
.station-command-card{display:grid;gap:12px;border:1px solid var(--i40-stroke);border-radius:20px;background:color-mix(in srgb,var(--i40-panel) 76%,transparent);box-shadow:0 10px 24px rgba(15,23,42,.045),inset 0 1px 0 rgba(255,255,255,.35);padding:13px;}
.station-command-card:hover{border-color:color-mix(in srgb,var(--i40-blue) 32%,var(--i40-stroke));transform:translateY(-1px);}
.station-command-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.station-code{font-size:1.05rem;font-weight:950;color:var(--i40-ink);}
.station-name{margin-top:2px;color:var(--i40-muted);font-size:.80rem;line-height:1.3;}
.station-chip-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.station-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.station-stat{border:1px solid var(--i40-stroke);border-radius:14px;background:color-mix(in srgb,var(--i40-panel) 72%,transparent);padding:9px 8px;}
.station-stat span{display:block;color:var(--i40-muted);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.075em;}
.station-stat strong{display:block;margin-top:4px;font-size:1.18rem;line-height:1;color:var(--i40-ink);font-weight:950;}
.quick-command-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.quick-command-card{display:flex;gap:12px;min-height:96px;align-items:flex-start;border:1px solid var(--i40-stroke);border-radius:20px;background:color-mix(in srgb,var(--i40-panel) 78%,transparent);box-shadow:var(--i40-shadow);padding:13px;}
.quick-command-card:hover{border-color:color-mix(in srgb,var(--i40-blue) 34%,var(--i40-stroke));transform:translateY(-1px);}
.quick-command-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--i40-blue) 16%,var(--i40-panel)),color-mix(in srgb,var(--i40-blue-deep) 11%,var(--i40-panel)));color:var(--i40-blue-deep);font-weight:950;flex:0 0 auto;}
.quick-command-card strong{display:block;color:var(--i40-ink);font-weight:900;}
.quick-command-card small{display:block;margin-top:3px;color:var(--i40-muted);line-height:1.32;}
@media (max-width:1280px){
  .premium-ops-grid,.premium-analytics-grid{grid-template-columns:1fr;}
  .premium-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quick-command-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1180px){
  html[data-design-standard="industry4"] body.app-shell,
  body.app-shell.sidebar-collapsed{padding-left:0;}
  body.app-shell .app-frame{padding:12px;}
  body.app-shell .topbar{top:8px;border-radius:22px;}
  body.app-shell .topbar-center{display:none;}
  body.app-shell .sidebar.sidebar--neo,
  body.app-shell .sidebar{
    top:0;
    left:0;
    bottom:0;
    width:min(340px,88vw);
    max-height:100dvh;
    border-radius:0 26px 26px 0;
    transform:translateX(-105%);
  }
  body.app-shell.sidebar-open .sidebar,
  html.sidebar-open body.app-shell .sidebar{transform:translateX(0);}
  body.app-shell .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.38);backdrop-filter:blur(4px);z-index:80;}
  body.app-shell .sidebar-backdrop[hidden]{display:none;}
}
@media (max-width:760px){
  body.app-shell .page-head{padding:14px;}
  .premium-hero{min-height:auto;padding:17px;border-radius:24px;}
  .premium-hero-head{display:grid;}
  .premium-kpi-strip,.premium-metric-grid,.station-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .premium-bar-row{grid-template-columns:1fr;gap:5px;}
  .quick-command-grid{grid-template-columns:1fr;}
  .premium-hero-actions .btn,body.app-shell .page-head .actions .btn{flex:1 1 auto;}
}
@media (prefers-reduced-motion:reduce){
  body.app-shell *,body.app-shell *::before,body.app-shell *::after{animation-duration:.001ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.001ms;}
}
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed,
html.sidebar-collapsed body.app-shell,
body.app-shell.sidebar-collapsed{
  padding-left:calc(var(--sidebar-collapsed-w) + var(--i40-sidebar-left) + var(--i40-shell-gap));
}
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar,
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .sidebar.sidebar--neo,
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .sidebar,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar:hover,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar:focus-within,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar{
  width:var(--sidebar-collapsed-w);
  min-width:var(--sidebar-collapsed-w);
  max-width:var(--sidebar-collapsed-w);
  transform:none;
}
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .brand-copy,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .brand-title,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .brand-sub,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .user-meta,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-text,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-label,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-subtitle,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-caret,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-badge,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .alert-dot,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .sidebar-brand-actions,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .sidebar-mini-stats,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .brand-copy,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-text,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-caret,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-subtitle,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .sidebar-mini-stats,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-badge,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .brand-copy,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-text,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-caret,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-subtitle,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .sidebar-mini-stats,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-badge{
  display:none;
}
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-group-body,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-group.is-open > .nav-group-body,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-group.is-open > .nav-group-body,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-group.is-open > .nav-group-body,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo .nav-group > .nav-group-body{
  display:none;
}
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-group-head,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-link,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-link-logout,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar .nav-link-logout--neo,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-group-head,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-link,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover .nav-link-logout--neo,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-group-head,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-link,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within .nav-link-logout--neo{
  width:46px;
  max-width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  margin:0 auto;
  justify-content:center;
  align-items:center;
  border-radius:16px;
}
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .content,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .topbar,
html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .app-footer,
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .content,
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .topbar,
html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .app-footer{
  margin-left:0;
  left:auto;
  width:100%;
}
@media (max-width:1180px){
  html[data-design-standard="industry4"].sidebar-collapsed body.app-shell,
  html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed,
  body.app-shell.sidebar-collapsed{
    padding-left:0;
  }
  html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  html[data-design-standard="industry4"] body.app-shell.sidebar-collapsed .sidebar,
  html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .sidebar.sidebar--neo,
  html[data-design-standard="industry4"].sidebar-collapsed body.app-shell .sidebar{
    width:min(340px,88vw);
    min-width:0;
    max-width:min(340px,88vw);
    transform:translateX(-105%);
  }
  html[data-design-standard="industry4"] body.app-shell.sidebar-open .sidebar,
  html[data-design-standard="industry4"].sidebar-open body.app-shell .sidebar{
    transform:translateX(0);
  }
}
:root{
  --tc350-bg:#edf5fb;
  --tc350-surface:#ffffff;
  --tc350-surface-2:#f8fbff;
  --tc350-ink:#111827;
  --tc350-muted:#637086;
  --tc350-line:#d9e5f1;
  --tc350-primary:#2478ff;
  --tc350-cyan:#34c6d3;
  --tc350-danger:#ef4444;
  --tc350-warn:#f59e0b;
  --tc350-shadow:0 20px 55px rgba(15,23,42,.10);
  --tc350-radius:24px;
}
html[data-theme="dark"]{
  --tc350-bg:#07111f;
  --tc350-surface:#0f1b2f;
  --tc350-surface-2:#13233c;
  --tc350-ink:#f2f7ff;
  --tc350-muted:#b6c4d8;
  --tc350-line:#27415e;
  --tc350-primary:#59a7ff;
  --tc350-cyan:#4fd7e5;
  --tc350-danger:#fb7185;
  --tc350-warn:#fbbf24;
  --tc350-shadow:0 24px 65px rgba(0,0,0,.42);
}
body.app-shell{
  background:
    linear-gradient(90deg, rgba(72,154,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(72,154,255,.05) 1px, transparent 1px),
    var(--tc350-bg);
  background-size:32px 32px;
  color:var(--tc350-ink);
}
body.app-shell .content, body.app-shell .page, body.app-shell .page-shell{
  color:var(--tc350-ink);
}
body.app-shell .card,
body.app-shell .page-head,
body.app-shell .hero-panel,
body.app-shell .station-hero,
body.app-shell .table-card,
body.app-shell .metric-card,
body.app-shell .entity-card,
body.app-shell .side-panel,
body.app-shell .phase4-panel,
body.app-shell .fpp255-card,
body.app-shell .fpp255-hero,
body.app-shell .fpp255-kpi,
body.app-shell .modal-card{
  background:linear-gradient(180deg, color-mix(in srgb,var(--tc350-surface) 96%, #fff), var(--tc350-surface));
  border:1px solid var(--tc350-line);
  box-shadow:var(--tc350-shadow);
  color:var(--tc350-ink);
}
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .page-head,
html[data-theme="dark"] body.app-shell .hero-panel,
html[data-theme="dark"] body.app-shell .station-hero,
html[data-theme="dark"] body.app-shell .table-card,
html[data-theme="dark"] body.app-shell .metric-card,
html[data-theme="dark"] body.app-shell .entity-card,
html[data-theme="dark"] body.app-shell .side-panel,
html[data-theme="dark"] body.app-shell .phase4-panel,
html[data-theme="dark"] body.app-shell .fpp255-card,
html[data-theme="dark"] body.app-shell .fpp255-hero,
html[data-theme="dark"] body.app-shell .fpp255-kpi,
html[data-theme="dark"] body.app-shell .modal-card{
  background:linear-gradient(180deg, rgba(21,35,58,.98), rgba(12,22,39,.98));
  border-color:var(--tc350-line);
  color:var(--tc350-ink);
}
body.app-shell h1, body.app-shell h2, body.app-shell h3,
body.app-shell .card-title, body.app-shell .modal-title,
body.app-shell strong, body.app-shell th{
  color:var(--tc350-ink);
}
body.app-shell .muted, body.app-shell .metric-sub, body.app-shell small,
body.app-shell .section-kicker, body.app-shell .label{
  color:var(--tc350-muted);
}
body.app-shell .input, body.app-shell input, body.app-shell select, body.app-shell textarea{
  background:var(--tc350-surface-2);
  color:var(--tc350-ink);
  border:1px solid var(--tc350-line);
  border-radius:14px;
}
body.app-shell .input::placeholder, body.app-shell input::placeholder, body.app-shell textarea::placeholder{color:color-mix(in srgb,var(--tc350-muted) 76%, transparent)}
body.app-shell .btn{
  border-color:var(--tc350-line);
  background:var(--tc350-surface-2);
  color:var(--tc350-ink);
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
body.app-shell .btn.primary, body.app-shell button.primary, body.app-shell .btn.is-primary{
  background:linear-gradient(135deg,var(--tc350-cyan),var(--tc350-primary));
  color:#fff;
  border-color:transparent;
}
body.app-shell .btn.danger, body.app-shell .pill.danger{border-color:color-mix(in srgb,var(--tc350-danger) 48%, transparent); color:var(--tc350-danger)}
body.app-shell .topbar{
  background:color-mix(in srgb,var(--tc350-surface) 94%, transparent);
  border-color:var(--tc350-line);
  backdrop-filter:blur(16px);
}
html[data-theme="dark"] body.app-shell .sidebar,
html[data-theme="dark"] body.app-shell .sidebar--futuristic{
  background:linear-gradient(180deg,#0b1628,#0a1322 55%,#08111d);
  border-color:#223956;
}
body.app-shell .table-wrap{
  border:1px solid var(--tc350-line);
  border-radius:20px;
  background:var(--tc350-surface);
  overflow:auto;
}
body.app-shell .table, body.app-shell .fpp255-table{color:var(--tc350-ink); background:transparent;}
body.app-shell .table thead th, body.app-shell .fpp255-table thead th{
  background:color-mix(in srgb,var(--tc350-surface-2) 92%, var(--tc350-primary));
  color:var(--tc350-muted);
  border-bottom:1px solid var(--tc350-line);
}
html[data-theme="dark"] body.app-shell .table thead th,
html[data-theme="dark"] body.app-shell .fpp255-table thead th{
  background:#172844;
  color:#d7e5f8;
}
body.app-shell .table td, body.app-shell .fpp255-table td{border-bottom:1px solid color-mix(in srgb,var(--tc350-line) 75%, transparent); color:var(--tc350-ink);}
body.app-shell .table tbody tr:nth-child(even), body.app-shell .fpp255-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--tc350-surface-2) 48%, transparent)}
html[data-theme="dark"] body.app-shell .reports-page .page-head,
html[data-theme="dark"] body.app-shell .report-hero,
html[data-theme="dark"] body.app-shell .vendor-report-page .page-head{
  background:linear-gradient(135deg,#13233c,#0f1b2f);
  color:#f2f7ff;
}
html[data-theme="dark"] body.app-shell .reports-page .table-card,
html[data-theme="dark"] body.app-shell .reports-page .card,
html[data-theme="dark"] body.app-shell .vendor-report-page .card{
  background:#0f1b2f;
  color:#f2f7ff;
}
html[data-theme="dark"] body.app-shell .reports-page .table td,
html[data-theme="dark"] body.app-shell .vendor-report-page .table td{color:#f2f7ff;}
body.app-shell .metric-card.tc350-low-stock-trigger{
  width:100%;
  text-align:left;
  cursor:pointer;
  appearance:none;
}
body.app-shell .metric-card.tc350-low-stock-trigger:hover,
body.app-shell .attention-item.tc350-attention-button:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--tc350-danger) 45%, var(--tc350-line));
}
body.app-shell .attention-item.tc350-attention-button{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--tc350-line);
  background:var(--tc350-surface-2);
  color:var(--tc350-ink);
  border-radius:16px;
  padding:12px 14px;
  cursor:pointer;
}
body.app-shell .tc350-modal-card-wide{width:min(1180px,calc(100vw - 34px)); max-height:min(88vh,860px);}
body.app-shell .tc350-modal-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px;}
body.app-shell .tc350-modal-toolbar .input{min-width:min(420px,100%); flex:1 1 320px;}
body.app-shell .tc350-smart-table td, body.app-shell .tc350-smart-table th{white-space:nowrap;}
body.app-shell .modal .modal-footer,
body.app-shell .modal-card > .modal-footer,
body.app-shell .modal-card form > .modal-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:14px 18px;
  background:color-mix(in srgb,var(--tc350-surface-2) 82%, transparent);
  border-top:1px solid var(--tc350-line);
  border-radius:0 0 var(--tc350-radius) var(--tc350-radius);
}
body.app-shell .modal .modal-body{color:var(--tc350-ink);}
body.app-shell .modal .modal-head{border-bottom:1px solid var(--tc350-line);}
body.app-shell .role-meta-footer-fix{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;}
body.app-shell .fpp255-commercial .fpp255-price-card strong{font-size:clamp(22px,3vw,34px);}
body.app-shell .fpp255-cost-split strong{font-size:16px;}
@media (max-width: 768px){
  body.app-shell .tc350-modal-card-wide{width:calc(100vw - 18px); max-height:92vh; border-radius:22px;}
  body.app-shell .modal .modal-footer, body.app-shell .modal-card > .modal-footer, body.app-shell .modal-card form > .modal-footer{justify-content:stretch; flex-direction:column-reverse;}
  body.app-shell .modal .modal-footer .btn, body.app-shell .modal-card > .modal-footer .btn{width:100%;}
  body.app-shell .tc350-smart-table td, body.app-shell .tc350-smart-table th{white-space:normal;}
}
:root{
  --tc351-sidebar-z:2200;
  --tc351-backdrop-z:2100;
  --tc351-radius:22px;
  --tc351-table-head:#eaf3fb;
  --tc351-row:#ffffff;
  --tc351-row-alt:#f7fbff;
  --tc351-border:#d7e4f0;
  --tc351-ink:#0f172a;
  --tc351-muted:#596b82;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07111f;
  --bg-elev:#0b1628;
  --bg-grid:rgba(96,165,250,.09);
  --panel:#0f1b2f;
  --panel-alt:#13233c;
  --panel-hover:#1a2c49;
  --border:#294260;
  --text:#f3f8ff;
  --text-2:#b9c8dc;
  --text-3:#8ea3bd;
  --muted:#b9c8dc;
  --primary:#60a5fa;
  --secondary:#22d3ee;
  --success:#34d399;
  --warning:#fbbf24;
  --danger:#fb7185;
  --info:#38bdf8;
  --tc351-table-head:#1c2d46;
  --tc351-row:#0f1b2f;
  --tc351-row-alt:#13233c;
  --tc351-border:#2b4464;
  --tc351-ink:#f4f8ff;
  --tc351-muted:#b7c7dc;
}
html[data-theme="dark"] body,
html[data-theme="dark"] body.app-shell{
  background:
    radial-gradient(circle at 20% 0%, rgba(59,130,246,.18), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(34,211,238,.10), transparent 30%),
    linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px),
    linear-gradient(0deg, var(--bg-grid) 1px, transparent 1px),
    var(--bg);
  background-size:auto, auto, 28px 28px, 28px 28px, auto;
  color:var(--text);
}
html[data-theme="dark"] body.app-shell .content,
html[data-theme="dark"] body.app-shell .page,
html[data-theme="dark"] body.app-shell .page-shell{
  background:transparent;
  color:var(--text);
}
html[data-theme="dark"] body.app-shell .page-head,
html[data-theme="dark"] body.app-shell .hero-panel,
html[data-theme="dark"] body.app-shell .station-hero,
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .card-lite,
html[data-theme="dark"] body.app-shell .table-card,
html[data-theme="dark"] body.app-shell .table-wrap,
html[data-theme="dark"] body.app-shell .metric-card,
html[data-theme="dark"] body.app-shell .entity-card,
html[data-theme="dark"] body.app-shell .modal-card,
html[data-theme="dark"] body.app-shell .report-shell,
html[data-theme="dark"] body.app-shell .reports-shell,
html[data-theme="dark"] body.app-shell .due-diligence-page .card,
html[data-theme="dark"] body.app-shell .fpp255-card,
html[data-theme="dark"] body.app-shell .fpp255-kpi,
html[data-theme="dark"] body.app-shell .fpp255-main-card,
html[data-theme="dark"] body.app-shell .fpp255-commercial,
html[data-theme="dark"] body.app-shell .tc350-lowstock-card{
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)), var(--panel);
  border-color:var(--border);
  color:var(--text);
  box-shadow:0 22px 65px rgba(0,0,0,.36);
}
html[data-theme="dark"] body.app-shell .topbar,
html[data-theme="dark"] body.app-shell .app-footer-inner{
  background:linear-gradient(180deg, rgba(15,27,47,.96), rgba(10,20,35,.94));
  border-color:var(--border);
  color:var(--text);
}
html[data-theme="dark"] body.app-shell .sidebar,
html[data-theme="dark"] body.app-shell .sidebar.sidebar--neo{
  background:linear-gradient(180deg, #0a1528, #0e1b31);
  border-color:#2a4567;
  color:var(--text);
}
html[data-theme="dark"] body.app-shell .brand-panel,
html[data-theme="dark"] body.app-shell .sidebar-brand-panel,
html[data-theme="dark"] body.app-shell .sidebar-footer,
html[data-theme="dark"] body.app-shell .nav-group{
  background:rgba(18,32,55,.84);
  border-color:#2a4567;
}
html[data-theme="dark"] body.app-shell .nav-link,
html[data-theme="dark"] body.app-shell .nav-group-head{
  color:#dce8f7;
}
html[data-theme="dark"] body.app-shell .nav-link:hover,
html[data-theme="dark"] body.app-shell .nav-group-head:hover,
html[data-theme="dark"] body.app-shell .nav-link.active,
html[data-theme="dark"] body.app-shell .nav-group.is-open > .nav-group-head{
  background:rgba(96,165,250,.16);
  border-color:rgba(96,165,250,.35);
  color:#ffffff;
}
html[data-theme="dark"] body.app-shell .input,
html[data-theme="dark"] body.app-shell input,
html[data-theme="dark"] body.app-shell select,
html[data-theme="dark"] body.app-shell textarea{
  background:#0b172a;
  color:#f8fbff;
  border-color:#2a4567;
}
html[data-theme="dark"] body.app-shell .input::placeholder,
html[data-theme="dark"] body.app-shell input::placeholder,
html[data-theme="dark"] body.app-shell textarea::placeholder{
  color:#8ca3bd;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table{
  border-radius:var(--tc351-radius);
  overflow:auto;
  border:1px solid var(--tc351-border);
  background:var(--tc351-row);
}
body.app-shell table,
body.app-shell .table,
body.app-shell .data-table,
body.app-shell .fpp255-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:var(--tc351-ink);
}
body.app-shell table thead th,
body.app-shell .table thead th,
body.app-shell .data-table thead th,
body.app-shell .fpp255-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:var(--tc351-table-head);
  color:var(--tc351-muted);
  border-bottom:1px solid var(--tc351-border);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.app-shell table tbody td,
body.app-shell .table tbody td,
body.app-shell .data-table tbody td,
body.app-shell .fpp255-table tbody td{
  color:var(--tc351-ink);
  border-bottom:1px solid color-mix(in srgb, var(--tc351-border) 72%, transparent);
  background:var(--tc351-row);
}
body.app-shell table tbody tr:nth-child(even) td,
body.app-shell .table tbody tr:nth-child(even) td,
body.app-shell .data-table tbody tr:nth-child(even) td,
body.app-shell .fpp255-table tbody tr:nth-child(even) td{
  background:var(--tc351-row-alt);
}
html[data-theme="dark"] body.app-shell table tbody td,
html[data-theme="dark"] body.app-shell .table tbody td,
html[data-theme="dark"] body.app-shell .data-table tbody td,
html[data-theme="dark"] body.app-shell .fpp255-table tbody td{
  color:#eaf2ff;
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn{
  min-height:40px;
  border-radius:14px;
  font-weight:800;
}
body.app-shell .modal-card{
  border-radius:26px;
  overflow:hidden;
}
body.app-shell .modal-footer,
body.app-shell .form-actions,
body.app-shell .actions.sticky-actions{
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, transparent), var(--panel));
  border-top:1px solid var(--border);
}
html[data-theme="dark"] body.app-shell .modal-footer,
html[data-theme="dark"] body.app-shell .form-actions,
html[data-theme="dark"] body.app-shell .actions.sticky-actions{
  background:linear-gradient(180deg, rgba(15,27,47,.90), rgba(10,20,35,.98));
}
body.app-shell .fpp255-price-card strong,
body.app-shell .fpp255-fin-list strong,
body.app-shell .tc269-final-pack-price{
  color:var(--text);
}
@media (min-width:1181px){
  body.app-shell.sidebar-collapsed .sidebar,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar:hover,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:hover,
  body.app-shell.sidebar-collapsed .sidebar:focus-within,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo:focus-within,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar,
  body.app-shell.sidebar-collapsed.sidebar-open-peek .sidebar.sidebar--neo{
    width:var(--sidebar-collapsed-w,78px);
    min-width:var(--sidebar-collapsed-w,78px);
    max-width:var(--sidebar-collapsed-w,78px);
  }
  body.app-shell.sidebar-collapsed .sidebar:hover .nav-text,
  body.app-shell.sidebar-collapsed .sidebar:hover .nav-label,
  body.app-shell.sidebar-collapsed .sidebar:hover .brand-copy,
  body.app-shell.sidebar-collapsed .sidebar:hover .nav-caret,
  body.app-shell.sidebar-collapsed .sidebar:hover .nav-badge,
  body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-text,
  body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-label,
  body.app-shell.sidebar-collapsed .sidebar:focus-within .brand-copy,
  body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-caret,
  body.app-shell.sidebar-collapsed .sidebar:focus-within .nav-badge{
    display:none;
  }
}
@media (max-width:1180px){
  html.sidebar-open,
  body.app-shell.sidebar-open{
    overflow:hidden;
  }
  body.app-shell,
  body.app-shell.sidebar-collapsed{
    padding-left:0;
  }
  body.app-shell .app-frame,
  body.app-shell .content{
    width:100%;
    max-width:100%;
    margin-left:0;
  }
  body.app-shell .content{
    padding-left:10px;
    padding-right:10px;
  }
  body.app-shell .sidebar-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:var(--tc351-backdrop-z);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:rgba(2,8,20,.46);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  body.app-shell.sidebar-open .sidebar-backdrop,
  html.sidebar-open body.app-shell .sidebar-backdrop{
    display:block;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  body.app-shell .sidebar,
  body.app-shell .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar,
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo{
    position:fixed;
    top:8px;
    left:8px;
    bottom:8px;
    width:min(88vw,340px);
    min-width:0;
    max-width:min(88vw,340px);
    height:auto;
    max-height:calc(100dvh - 16px);
    z-index:var(--tc351-sidebar-z);
    transform:translate3d(calc(-1 * min(88vw,340px) - 24px),0,0);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    filter:none;
    border-radius:24px;
    overflow:hidden;
  }
  body.app-shell.sidebar-open .sidebar,
  body.app-shell.sidebar-open .sidebar.sidebar--neo,
  html.sidebar-open body.app-shell .sidebar,
  html.sidebar-open body.app-shell .sidebar.sidebar--neo{
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    filter:none;
  }
  body.app-shell.sidebar-open .sidebar *,
  html.sidebar-open body.app-shell .sidebar *{
    pointer-events:auto;
    filter:none;
  }
  body.app-shell.sidebar-open .content,
  body.app-shell.sidebar-open .topbar,
  html.sidebar-open body.app-shell .content,
  html.sidebar-open body.app-shell .topbar{
    pointer-events:none;
  }
  body.app-shell.sidebar-open .sidebar,
  body.app-shell.sidebar-open .sidebar *,
  body.app-shell.sidebar-open .sidebar-backdrop,
  html.sidebar-open body.app-shell .sidebar,
  html.sidebar-open body.app-shell .sidebar *,
  html.sidebar-open body.app-shell .sidebar-backdrop{
    pointer-events:auto;
  }
  body.app-shell .sidebar-body{
    max-height:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.app-shell .fpp255-header,
  body.app-shell .fpp255-hero,
  body.app-shell .fpp255-main-grid,
  body.app-shell .fpp255-split{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.app-shell .modal-card{
    max-width:calc(100vw - 18px);
  }
}
@media (max-width:420px){
  body.app-shell .fpp255-kpis,
  body.app-shell .metrics-grid,
  body.app-shell .grid.four,
  body.app-shell .grid.three,
  body.app-shell .grid.two{
    grid-template-columns:1fr;
  }
  body.app-shell .topbar-actions .topbar-icon:nth-last-child(n/**/+4){
    display:none;
  }
}
:root{
  --tc353-sidebar-z:2147483100;
  --tc353-backdrop-z:2147483000;
  --tc353-mobile-sidebar-w:min(90vw,360px);
}
body.app-shell .sidebar-backdrop:not(#tc353SidebarBackdrop){
  display:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:-1;
}
#tc353SidebarBackdrop{
  position:fixed;
  inset:0;
  z-index:var(--tc353-backdrop-z);
  display:block;
  border:0;
  margin:0;
  padding:0;
  background:rgba(2,8,20,.48);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  touch-action:manipulation;
}
#tc353SidebarBackdrop[hidden]{
  display:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media (max-width:1180px){
  html.tc353-sidebar-open,
  body.app-shell.tc353-sidebar-open,
  body.app-shell.sidebar-open{
    overflow:hidden;
  }
  body.app-shell .sidebar.tc353-portalled-sidebar,
  body.app-shell .sidebar.sidebar--neo.tc353-portalled-sidebar{
    position:fixed;
    top:8px;
    left:8px;
    bottom:8px;
    width:var(--tc353-mobile-sidebar-w);
    min-width:0;
    max-width:var(--tc353-mobile-sidebar-w);
    height:auto;
    max-height:calc(100dvh - 16px);
    z-index:var(--tc353-sidebar-z);
    transform:translate3d(calc(-1 * var(--tc353-mobile-sidebar-w) - 24px),0,0);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    filter:none;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(0,0,0,.38);
    transition:transform .22s ease, opacity .18s ease, visibility .18s ease;
    contain:layout paint;
  }
  html.tc353-sidebar-open body.app-shell .sidebar.tc353-portalled-sidebar,
  body.app-shell.tc353-sidebar-open .sidebar.tc353-portalled-sidebar,
  body.app-shell.sidebar-open .sidebar.tc353-portalled-sidebar{
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    filter:none;
  }
  body.app-shell .sidebar.tc353-portalled-sidebar *,
  body.app-shell.tc353-sidebar-open .sidebar.tc353-portalled-sidebar *,
  html.tc353-sidebar-open body.app-shell .sidebar.tc353-portalled-sidebar *{
    pointer-events:auto;
    filter:none;
  }
  body.app-shell.tc353-sidebar-open .content,
  body.app-shell.tc353-sidebar-open .topbar,
  html.tc353-sidebar-open body.app-shell .content,
  html.tc353-sidebar-open body.app-shell .topbar{
    pointer-events:none;
  }
  body.app-shell.tc353-sidebar-open .sidebar.tc353-portalled-sidebar,
  body.app-shell.tc353-sidebar-open .sidebar.tc353-portalled-sidebar *,
  html.tc353-sidebar-open body.app-shell .sidebar.tc353-portalled-sidebar,
  html.tc353-sidebar-open body.app-shell .sidebar.tc353-portalled-sidebar *{
    pointer-events:auto;
  }
  body.app-shell .sidebar.tc353-portalled-sidebar .sidebar-inner{
    min-height:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  body.app-shell .sidebar.tc353-portalled-sidebar .sidebar-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
}
@media (min-width:1181px){
  #tc353SidebarBackdrop{display:none;}
  body.app-shell .sidebar.tc353-portalled-sidebar,
  body.app-shell .sidebar.sidebar--neo.tc353-portalled-sidebar{
    position:fixed;
  }
}
body.app-shell .tc269-final-pack-page,
body.app-shell .fpp255-page.final-pack-passport{
  max-width:100%;
  overflow-x:hidden;
}
body.app-shell .tc269-final-pack-card,
body.app-shell .fpp255-card,
body.app-shell .fpp255-hero,
body.app-shell .fpp255-kpi,
body.app-shell .fpp255-hero-grid div,
body.app-shell .fpp255-spec-list div,
body.app-shell .fpp255-fin-list div,
body.app-shell .fpp255-dispatch-grid div{
  overflow-wrap:anywhere;
}
body.app-shell .tc269-final-pack-id,
body.app-shell .fpp255-identity h2,
body.app-shell .fpp255-header h1{
  overflow-wrap:normal;
  word-break:normal;
}
body.app-shell .tc269-final-pack-bom,
body.app-shell .tc269-final-pack-facts strong,
body.app-shell .fpp255-kpi strong{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
body.app-shell .fpp255-table td[data-label]::before{
  content:attr(data-label);
  display:none;
}
@media (max-width:640px){
  body.app-shell .final-pack-page .page-head,
  body.app-shell .fpp255-header{
    padding:14px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:22px;
    background:rgba(255,255,255,.9);
    box-shadow:0 14px 34px rgba(15,23,42,.07);
  }
  html[data-theme="dark"] body.app-shell .final-pack-page .page-head,
  html[data-theme="dark"] body.app-shell .fpp255-header{
    background:rgba(15,23,42,.9);
    border-color:rgba(148,163,184,.22);
  }
  body.app-shell .final-pack-page .page-head h2,
  body.app-shell .fpp255-header h1{
    font-size:22px;
    line-height:1.05;
    letter-spacing:-.035em;
  }
  body.app-shell .tc269-final-head .actions,
  body.app-shell .fpp255-header-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  body.app-shell .tc269-final-head .actions .btn,
  body.app-shell .fpp255-header-actions .btn{
    width:100%;
    justify-content:center;
  }
  body.app-shell .tc269-final-toolbar-card,
  body.app-shell .tc269-final-card-panel,
  body.app-shell .tc269-final-summary-row .metric-card{
    border-radius:22px;
  }
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .tc269-final-toolbar .tc269-final-search{
    grid-column:1 / -1;
  }
  body.app-shell .tc269-final-toolbar .btn{
    min-height:44px;
  }
  body.app-shell .tc269-final-pack-card{
    padding:14px;
    gap:12px;
    border-radius:24px;
  }
  body.app-shell .tc269-final-pack-top{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  body.app-shell .tc269-final-pack-id{
    font-size:24px;
    line-height:1.02;
    letter-spacing:-.045em;
  }
  body.app-shell .tc269-final-pack-price{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:16px;
    white-space:normal;
    line-height:1.25;
  }
  body.app-shell .tc269-final-pack-mid{
    grid-template-columns:56px minmax(0,1fr);
    align-items:start;
  }
  body.app-shell .tc269-final-pack-mid img,
  body.app-shell .tc269-final-pack-placeholder{
    width:56px;
    height:56px;
    border-radius:18px;
  }
  body.app-shell .tc269-status-badge{
    max-width:100%;
    white-space:normal;
    line-height:1.2;
  }
  body.app-shell .tc269-final-pack-bom{
    font-size:13px;
    line-height:1.35;
  }
  body.app-shell .tc269-final-pack-facts div{
    display:grid;
    grid-template-columns:84px minmax(0,1fr);
    gap:8px;
    align-items:start;
  }
  body.app-shell .tc269-final-pack-facts span,
  body.app-shell .tc269-final-pack-facts strong{
    white-space:normal;
    text-align:left;
  }
  body.app-shell .tc269-final-pack-actions .btn{
    min-height:42px;
  }
  body.app-shell .fpp255-page.final-pack-passport{
    gap:12px;
  }
  body.app-shell .fpp255-hero{
    padding:14px;
    gap:12px;
    border-radius:24px;
  }
  body.app-shell .fpp255-product-frame{
    min-height:148px;
  }
  body.app-shell .fpp255-product-frame img{
    max-height:116px;
  }
  body.app-shell .fpp255-tag-row{
    margin-bottom:10px;
  }
  body.app-shell .fpp255-identity h2{
    font-size:34px;
    line-height:1;
    max-width:100%;
  }
  body.app-shell .fpp255-identity p{
    font-size:14px;
    line-height:1.35;
    margin:7px 0 10px;
  }
  body.app-shell .fpp255-hero-grid,
  body.app-shell .fpp255-kpis,
  body.app-shell .fpp255-main-grid,
  body.app-shell .fpp255-split,
  body.app-shell .fpp255-commercial,
  body.app-shell .fpp255-cost-split,
  body.app-shell .fpp255-dispatch-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-hero-grid div,
  body.app-shell .fpp255-kpi,
  body.app-shell .fpp255-spec-list div,
  body.app-shell .fpp255-fin-list div,
  body.app-shell .fpp255-dispatch-grid div{
    min-width:0;
  }
  body.app-shell .fpp255-kpi{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:"icon label" "icon value";
    align-items:center;
    gap:2px 10px;
  }
  body.app-shell .fpp255-kpi i{grid-area:icon;}
  body.app-shell .fpp255-kpi span{grid-area:label;}
  body.app-shell .fpp255-kpi strong{grid-area:value;line-height:1.25;}
  body.app-shell .fpp255-card{
    padding:14px;
    border-radius:22px;
  }
  body.app-shell .fpp255-card-head.is-row{
    flex-direction:column;
    align-items:stretch;
  }
  body.app-shell .fpp255-card-head.is-row .btn{
    width:100%;
    justify-content:center;
  }
  body.app-shell .fpp255-spec-list div,
  body.app-shell .fpp255-fin-list div,
  body.app-shell .fpp255-dispatch-grid div{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
  }
  body.app-shell .fpp255-spec-list strong,
  body.app-shell .fpp255-fin-list strong,
  body.app-shell .fpp255-dispatch-grid strong{
    text-align:left;
    line-height:1.3;
  }
  body.app-shell .fpp255-quality-top{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-quality-counts{
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  body.app-shell .fpp255-flow{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:112px;
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:8px;
  }
  body.app-shell .fpp255-flow-node{
    min-width:112px;
  }
  body.app-shell .fpp255-card .table-wrap.responsive-table{
    overflow:visible;
  }
  body.app-shell .fpp255-card .fpp255-table{
    display:block;
    border-spacing:0;
  }
  body.app-shell .fpp255-card .fpp255-table thead{
    display:none;
  }
  body.app-shell .fpp255-card .fpp255-table tbody,
  body.app-shell .fpp255-card .fpp255-table tr,
  body.app-shell .fpp255-card .fpp255-table td{
    display:block;
    width:100%;
  }
  body.app-shell .fpp255-card .fpp255-table tr{
    margin:0 0 12px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:18px;
    background:rgba(248,250,252,.82);
    overflow:hidden;
  }
  html[data-theme="dark"] body.app-shell .fpp255-card .fpp255-table tr{
    background:rgba(15,23,42,.68);
    border-color:rgba(148,163,184,.2);
  }
  body.app-shell .fpp255-card .fpp255-table td{
    display:grid;
    grid-template-columns:minmax(96px,.45fr) minmax(0,1fr);
    gap:10px;
    align-items:start;
    border:0;
    border-bottom:1px solid rgba(148,163,184,.16);
    border-radius:0;
    padding:10px 12px;
    background:transparent;
    font-size:12px;
    line-height:1.28;
  }
  body.app-shell .fpp255-card .fpp255-table td:last-child{
    border-bottom:0;
  }
  body.app-shell .fpp255-card .fpp255-table td[data-label]::before{
    display:block;
    content:attr(data-label);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
  }
  body.app-shell .fpp255-card .fpp255-table td:first-child,
  body.app-shell .fpp255-card .fpp255-table td:last-child{
    border-radius:0;
  }
}
@media (max-width:380px){
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-identity h2{
    font-size:30px;
  }
  body.app-shell .fpp255-quality-counts{
    grid-template-columns:1fr;
  }
  body.app-shell .fpp255-card .fpp255-table td{
    grid-template-columns:1fr;
    gap:4px;
  }
}
:root{
  --tc358-mobile-menu-z:2147482500;
  --tc358-readable-line:1.36;
}
html[data-theme="light"] body.app-shell{
  --bg:#eef5fb;
  --panel:#ffffff;
  --panel-alt:#f7fbff;
  --border:#d6e3f0;
  --text:#0b1728;
  --text-2:#465a72;
  --text-3:#728499;
  color:var(--text);
  background-color:#eef5fb;
}
html[data-theme="dark"] body.app-shell{
  --bg:#07111f;
  --panel:#0e1b2f;
  --panel-alt:#13243c;
  --panel-hover:#1a3150;
  --border:#294364;
  --text:#f4f8ff;
  --text-2:#b9c9dd;
  --text-3:#8ca1ba;
  --primary:#31d4ff;
  --secondary:#65a7ff;
  color:var(--text);
  background-color:#07111f;
}
html[data-theme="light"] body.app-shell .topbar,
html[data-theme="light"] body.app-shell .sidebar,
html[data-theme="light"] body.app-shell .page-head,
html[data-theme="light"] body.app-shell .hero-panel,
html[data-theme="light"] body.app-shell .station-hero,
html[data-theme="light"] body.app-shell .card,
html[data-theme="light"] body.app-shell .table-card,
html[data-theme="light"] body.app-shell .metric-card,
html[data-theme="light"] body.app-shell .modal-card,
html[data-theme="light"] body.app-shell .topbar-dropdown,
html[data-theme="light"] body.app-shell .mobile-ev-dock{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,255,.94));
  color:#0b1728;
  border-color:rgba(188,207,226,.92);
}
html[data-theme="dark"] body.app-shell .topbar,
html[data-theme="dark"] body.app-shell .sidebar,
html[data-theme="dark"] body.app-shell .page-head,
html[data-theme="dark"] body.app-shell .hero-panel,
html[data-theme="dark"] body.app-shell .station-hero,
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .table-card,
html[data-theme="dark"] body.app-shell .metric-card,
html[data-theme="dark"] body.app-shell .modal-card,
html[data-theme="dark"] body.app-shell .topbar-dropdown,
html[data-theme="dark"] body.app-shell .mobile-ev-dock{
  background:linear-gradient(180deg,rgba(15,29,50,.96),rgba(10,20,36,.94));
  color:#f4f8ff;
  border-color:rgba(92,130,178,.34);
  box-shadow:0 18px 46px rgba(0,0,0,.32);
}
html[data-theme="dark"] body.app-shell h1,
html[data-theme="dark"] body.app-shell h2,
html[data-theme="dark"] body.app-shell h3,
html[data-theme="dark"] body.app-shell h4,
html[data-theme="dark"] body.app-shell strong,
html[data-theme="dark"] body.app-shell .card-title,
html[data-theme="dark"] body.app-shell .metric-value,
html[data-theme="dark"] body.app-shell .nav-label{
  color:#f8fbff;
}
html[data-theme="dark"] body.app-shell .muted,
html[data-theme="dark"] body.app-shell .small,
html[data-theme="dark"] body.app-shell .metric-sub,
html[data-theme="dark"] body.app-shell .label,
html[data-theme="dark"] body.app-shell .section-kicker,
html[data-theme="dark"] body.app-shell .eyebrow,
html[data-theme="dark"] body.app-shell .card span,
html[data-theme="dark"] body.app-shell .card small{
  color:#a9bad1;
}
html[data-theme="dark"] body.app-shell .input,
html[data-theme="dark"] body.app-shell input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] body.app-shell select,
html[data-theme="dark"] body.app-shell textarea{
  background:#0a1728;
  color:#f4f8ff;
  border-color:rgba(92,130,178,.42);
}
html[data-theme="dark"] body.app-shell .input::placeholder,
html[data-theme="dark"] body.app-shell textarea::placeholder{
  color:#7f93ad;
}
@media (max-width:1180px){
  body.app-shell .sidebar.tc353-portalled-sidebar,
  body.app-shell .sidebar.tc358-portalled-sidebar{
    z-index:2147483100;
  }
  body.app-shell .sidebar-close-btn{
    display:inline-flex;
    position:relative;
    z-index:2147483200;
    pointer-events:auto;
    touch-action:manipulation;
  }
  html.mobile-quick-menu-open body.app-shell .topbar-dropdown.topbar-mobile-menu,
  body.app-shell.mobile-quick-menu-open .topbar-dropdown.topbar-mobile-menu,
  body.app-shell .topbar-dropdown.topbar-mobile-menu.open,
  body.app-shell .topbar-dropdown.topbar-mobile-menu.is-open,
  body.app-shell .topbar-dropdown.topbar-mobile-menu.show{
    display:block;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    position:fixed;
    z-index:var(--tc358-mobile-menu-z);
    top:calc(env(safe-area-inset-top,0px) + 78px);
    left:12px;
    right:12px;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 116px);
    overflow:auto;
    border-radius:26px;
  }
  body.app-shell .topbar-dropdown.topbar-mobile-menu[hidden]{
    display:none;
  }
  body.app-shell .topbar-mobile-menu-btn{
    pointer-events:auto;
    touch-action:manipulation;
    position:relative;
    z-index:calc(var(--tc358-mobile-menu-z) + 10);
  }
  body.app-shell .metric-card,
  body.app-shell .station-metrics-card .metric-card,
  body.app-shell .process-metrics-grid .metric-card,
  body.app-shell .line-side-inventory-metrics .metric-card{
    min-width:0;
    overflow:hidden;
  }
  body.app-shell .metric-title,
  body.app-shell .metric-card span:first-child{
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
    line-height:1.22;
  }
  body.app-shell .metric-value,
  body.app-shell .metric-card strong{
    white-space:normal;
    word-break:normal;
    overflow-wrap:anywhere;
    line-height:1.08;
  }
  body.app-shell .page-head p,
  body.app-shell .hero-panel p,
  body.app-shell .station-hero p,
  body.app-shell .card p,
  body.app-shell .card .muted{
    line-height:var(--tc358-readable-line);
  }
}
@media (max-width:460px){
  body.app-shell .metrics-grid,
  body.app-shell .hero-kpis,
  body.app-shell .inventory-kpi-grid,
  body.app-shell .process-station-page .process-metrics-grid,
  body.app-shell .line-side-inventory-metrics{
    grid-template-columns:1fr;
  }
  body.app-shell .metric-card{
    padding:16px;
    min-height:auto;
  }
  body.app-shell .metric-title,
  body.app-shell .metric-card span:first-child{
    font-size:.82rem;
    letter-spacing:.06em;
  }
  body.app-shell .metric-value,
  body.app-shell .metric-card strong{
    font-size:clamp(1.45rem,8vw,2.25rem);
  }
}
@media (max-width: 1180px) {
  html.tc360-sidebar-open,
  body.tc360-sidebar-open {
    overflow: hidden;
    touch-action: none;
  }
  body.tc361-sidebar-open .asm360-mobile-sidebar,
  body.tc360-sidebar-open .asm360-mobile-sidebar,
  body.sidebar-open .asm360-mobile-sidebar,
  body.tc353-sidebar-open .asm360-mobile-sidebar,
  body.tc358-sidebar-open .asm360-mobile-sidebar {
    position: fixed;
    inset: max(12px, env(safe-area-inset-top)) auto max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    width: min(88vw, 350px);
    max-width: calc(100vw - 24px);
    height: auto;
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    z-index: 4400;
    opacity: 1;
    visibility: visible;
    transform: none;
    filter: none;
    pointer-events: auto;
  }
  .asm360-mobile-sidebar-backdrop {
    position: fixed;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100dvh;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(2, 8, 23, .58);
    backdrop-filter: none;
    z-index: 4300;
  }
  .asm360-mobile-sidebar-backdrop[hidden] {
    display: none;
  }
  [data-sidebar-close],
  .sidebar-close-btn {
    pointer-events: auto;
    touch-action: manipulation;
    cursor: pointer;
  }
  #mobileQuickMenu.open,
  #mobileQuickMenu.is-open,
  #mobileQuickMenu.show,
  html.mobile-quick-menu-open #mobileQuickMenu,
  body.mobile-quick-menu-open #mobileQuickMenu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    z-index: 4500;
  }
}
@media (max-width: 1180px) {
  .topbar-actions .theme-toggle {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .topbar-mobile-theme-action {
    border: 1px solid var(--border, rgba(125, 211, 252, .22));
    background: var(--panel, rgba(15, 23, 42, .86));
    color: var(--text, #e5eefc);
    text-align: left;
    min-height: 54px;
  }
  body.tc361-sidebar-open .asm360-mobile-sidebar,
  html.tc361-sidebar-open .asm360-mobile-sidebar {
    position: fixed;
    z-index: 4400;
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }
}
.asm360-mobile-nav-state,
.asm360-mobile-widget-state {
  position: fixed;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-9999px, -9999px);
}
.asm360-css-sidebar-toggle,
.asm360-css-sidebar-close,
.asm360-css-widget-toggle,
.asm360-css-widget-close {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
@media (max-width: 1180px) {
  body .app-frame > .asm360-mobile-nav-state:not(:checked) ~ .sidebar {
    transform: translateX(calc(-100% - 28px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body .app-frame > .asm360-mobile-nav-state:checked ~ .sidebar {
    position: fixed;
    inset: max(12px, env(safe-area-inset-top)) auto max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    width: min(88vw, 350px);
    max-width: calc(100vw - 24px);
    height: auto;
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    z-index: 4700;
    opacity: 1;
    visibility: visible;
    transform: none;
    filter: none;
    pointer-events: auto;
    display: flex;
  }
  body .app-frame > .asm360-css-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 4600;
    background: rgba(2, 8, 23, .58);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: pointer;
  }
  body .app-frame > .asm360-mobile-nav-state:checked ~ .asm360-css-sidebar-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .topbar-mobile-menu-wrap {
    position: relative;
  }
  .topbar-mobile-menu-wrap > .asm360-mobile-widget-state:not(:checked) ~ #mobileQuickMenu {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .topbar-mobile-menu-wrap > .asm360-mobile-widget-state:checked ~ #mobileQuickMenu {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 4800;
  }
  .topbar-actions .theme-toggle {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .topbar-mobile-menu-wrap > .asm360-mobile-widget-state:checked ~ .asm360-css-widget-toggle .topbar-badge,
  .app-frame > .asm360-mobile-nav-state:checked ~ .topbar .asm360-css-sidebar-toggle {
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .22);
  }
}
@media (max-width: 1180px) {
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu {
    display: inline-flex;
    position: relative;
    flex: 0 0 auto;
    overflow: visible;
  }
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu > summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu > summary::-webkit-details-marker {
    display: none;
  }
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu:not([open]) > #mobileQuickMenu {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu[open] > #mobileQuickMenu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: fixed;
    z-index: 4800;
    top: calc(env(safe-area-inset-top, 0px) + 78px);
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 116px);
    overflow: auto;
    border-radius: 26px;
  }
  body.app-shell .topbar-actions > .theme-toggle {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: relative;
    z-index: 1200;
  }
}
@media (max-width: 480px) {
  body.app-shell .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }
  body.app-shell .topbar-actions {
    display: inline-flex;
    flex: 0 0 auto;
    max-width: none;
    overflow: visible;
    gap: 6px;
  }
  body.app-shell .topbar-actions .topbar-icon:nth-last-child(n/**/+4) {
    display: inline-flex;
  }
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-actions .theme-toggle,
  body.app-shell .topbar-actions .topbar-mobile-menu-btn {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    flex: 0 0 38px;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    border-radius: 16px;
    padding: 0;
  }
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions .topbar-audio-toggle {
    display: none;
  }
  body.app-shell .topbar-title {
    max-width: calc(100vw - 170px);
  }
}
@media (max-width: 360px) {
  body.app-shell .topbar-actions {
    gap: 4px;
  }
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-actions .theme-toggle,
  body.app-shell .topbar-actions .topbar-mobile-menu-btn {
    flex-basis: 36px;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    border-radius: 15px;
  }
  body.app-shell .topbar-title {
    max-width: calc(100vw - 160px);
  }
}
@media (max-width: 520px) {
  body.app-shell .topbar-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
    max-width: none;
    gap: 6px;
  }
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu,
  body.app-shell .topbar-mobile-menu-btn,
  body.app-shell .topbar-assistant-shortcut {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-mobile-menu-btn,
  body.app-shell .topbar-assistant-shortcut {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex: 0 0 38px;
  }
  body.app-shell .topbar-actions .topbar-audio-toggle {
    display: none;
  }
}
@media (max-width: 360px) {
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-mobile-menu-btn,
  body.app-shell .topbar-assistant-shortcut {
    width: 35px;
    min-width: 35px;
    height: 35px;
    min-height: 35px;
    flex-basis: 35px;
  }
}
.asm360-mobile-nav-state {
  inline-size: 1px;
  block-size: 1px;
  border: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
@media (max-width: 1180px) {
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu > summary.asm360-css-widget-toggle {
    pointer-events: auto;
    touch-action: manipulation;
    cursor: pointer;
  }
  body.app-shell details.topbar-mobile-menu-wrap.asm360-native-widget-menu[open] > #mobileQuickMenu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: fixed;
    z-index: 4900;
    top: calc(env(safe-area-inset-top, 0px) + 78px);
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 116px);
    overflow: auto;
  }
}
.asm360-mobile-widget-state {
  position: fixed;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-9999px, -9999px);
}
.asm360-css-widget-toggle,
.asm360-css-widget-close {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
@media (max-width: 1180px) {
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu {
    display: inline-flex;
    position: relative;
    overflow: visible;
    flex: 0 0 auto;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    position: relative;
    z-index: 4810;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:not(:checked) ~ #mobileQuickMenu {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:checked ~ #mobileQuickMenu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: fixed;
    z-index: 4800;
    top: calc(env(safe-area-inset-top, 0px) + 78px);
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 116px);
    overflow: auto;
    border-radius: 26px;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:checked ~ .asm360-css-widget-toggle .topbar-badge {
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .22);
  }
  body.app-shell .topbar-dropdown-close.asm360-css-widget-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}
.asx-page{--asx-accent:#2f7eff;--asx-cyan:#28b9cf;--asx-violet:#7867f2;--asx-green:#22a76f;--asx-amber:#e69a1f;--asx-red:#dc5b63;--asx-bg:color-mix(in srgb,var(--panel) 94%,#eef5ff 6%);--asx-soft:color-mix(in srgb,var(--panel) 90%,#dcecff 10%);--asx-line:color-mix(in srgb,var(--border) 82%,transparent);--asx-shadow:0 18px 48px rgba(28,52,84,.10);display:grid;gap:14px;min-width:0;padding-bottom:28px}
.asx-page *{box-sizing:border-box}
.asx-page button,.asx-page input,.asx-page select{font:inherit}
.asx-page h2,.asx-page h3,.asx-page p{overflow-wrap:anywhere}
.asx-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:22px;padding:24px 26px;border:1px solid var(--asx-line);border-radius:24px;background:radial-gradient(circle at 88% 20%,rgba(47,126,255,.17),transparent 33%),linear-gradient(135deg,color-mix(in srgb,var(--panel) 98%,white 2%),color-mix(in srgb,var(--panel) 90%,#eaf4ff 10%));box-shadow:var(--asx-shadow);overflow:hidden}
.asx-hero::after{content:"";position:absolute;right:-60px;bottom:-110px;width:310px;height:210px;border:1px solid rgba(47,126,255,.13);border-radius:50%;transform:rotate(-14deg);pointer-events:none}
.asx-hero-copy{position:relative;z-index:1}
.asx-kicker,.asx-eyebrow{display:flex;align-items:center;gap:7px;color:var(--asx-accent);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.asx-pulse{width:8px;height:8px;border-radius:50%;background:var(--asx-green);box-shadow:0 0 0 5px rgba(34,167,111,.12)}
.asx-hero h2{margin:7px 0 6px;color:var(--text);font-size:clamp(30px,4vw,46px);line-height:1;letter-spacing:-.045em}
.asx-hero p{max-width:810px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.asx-rule-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}
.asx-rule-chips span{padding:5px 9px;border:1px solid var(--asx-line);border-radius:999px;background:color-mix(in srgb,var(--panel) 84%,transparent);color:var(--muted);font-size:9px;font-weight:800}
.asx-rule-chips i{width:13px;height:1px;background:var(--asx-line)}
.asx-selected-user{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px;border:1px solid rgba(47,126,255,.17);border-radius:18px;background:color-mix(in srgb,var(--panel) 84%,transparent);backdrop-filter:blur(14px)}
.asx-selected-user>div{min-width:0}
.asx-selected-user small,.asx-selected-user span{display:block;color:var(--muted);font-size:10px}
.asx-selected-user strong{display:block;margin:2px 0;color:var(--text);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-avatar,.asx-user-avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.32);border-radius:14px;background:linear-gradient(135deg,var(--asx-accent),var(--asx-cyan));color:#fff;font-size:13px;font-weight:900;box-shadow:0 10px 22px rgba(47,126,255,.22)}
.asx-avatar.is-large{width:58px;height:58px;border-radius:18px;font-size:18px}
.asx-icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--asx-line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.asx-icon-button:hover{border-color:rgba(47,126,255,.38);color:var(--asx-accent)}
.asx-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.asx-metrics article{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 15px;border:1px solid var(--asx-line);border-radius:17px;background:var(--panel);box-shadow:0 8px 24px rgba(28,52,84,.05)}
.asx-metrics article>div{min-width:0}
.asx-metrics small,.asx-metrics em{display:block;color:var(--muted);font-size:9px;font-style:normal}
.asx-metrics strong{display:block;margin:1px 0;color:var(--text);font-size:21px;line-height:1}
.asx-metrics em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:rgba(47,126,255,.10);color:var(--asx-accent);font-weight:900}
.asx-metric-icon.is-violet{background:rgba(120,103,242,.11);color:var(--asx-violet)}
.asx-metric-icon.is-cyan{background:rgba(40,185,207,.11);color:var(--asx-cyan)}
.asx-metric-icon.is-green{background:rgba(34,167,111,.11);color:var(--asx-green)}
.asx-tabs{position:sticky;top:68px;z-index:30;display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:6px;padding:7px;border:1px solid var(--asx-line);border-radius:18px;background:color-mix(in srgb,var(--panel) 91%,transparent);box-shadow:0 10px 30px rgba(28,52,84,.07);backdrop-filter:blur(18px);overflow-x:auto}
.asx-tab{display:flex;align-items:center;gap:9px;min-width:0;min-height:52px;padding:8px 10px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}
.asx-tab:hover{background:var(--asx-soft);color:var(--text)}
.asx-tab.is-active{border-color:rgba(47,126,255,.23);background:linear-gradient(135deg,rgba(47,126,255,.14),rgba(40,185,207,.09));color:var(--text);box-shadow:inset 0 -2px 0 var(--asx-accent)}
.asx-tab>span:last-child{min-width:0}
.asx-tab strong,.asx-tab small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-tab strong{font-size:11px}
.asx-tab small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-tab-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:10px;background:var(--asx-soft);color:var(--asx-accent)}
.asx-tab-icon::before{font-size:13px;font-weight:900}
.asx-tab-icon[data-icon="home"]::before{content:"⌂"}
.asx-tab-icon[data-icon="shield"]::before{content:"◇"}
.asx-tab-icon[data-icon="users"]::before{content:"U"}
.asx-tab-icon[data-icon="pages"]::before{content:"▦"}
.asx-tab-icon[data-icon="station"]::before{content:"S"}
.asx-tab-icon[data-icon="mobile"]::before{content:"▯"}
.asx-unsaved{position:sticky;top:136px;z-index:29;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(230,154,31,.34);border-radius:13px;background:color-mix(in srgb,var(--panel) 88%,#fff3d2 12%);box-shadow:0 8px 24px rgba(116,76,12,.08);color:var(--text);font-size:10px}
.asx-unsaved[hidden]{display:none}
.asx-unsaved b{margin-right:5px;color:#b66b00}
.asx-panel{display:none;min-width:0;animation:asxEnter .18s ease-out}
.asx-panel.is-active{display:block}
@keyframes asxEnter{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
.asx-card,.asx-editor-shell{min-width:0;border:1px solid var(--asx-line);border-radius:20px;background:var(--panel);box-shadow:0 12px 34px rgba(28,52,84,.06)}
.asx-card{padding:17px}
.asx-card-head,.asx-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.asx-card h3,.asx-editor-head h3{margin:4px 0 0;color:var(--text);font-size:18px;letter-spacing:-.02em}
.asx-card-head p,.asx-editor-head p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.asx-status,.asx-score{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:rgba(34,167,111,.10);color:var(--asx-green);font-size:9px;font-weight:900;white-space:nowrap}
.asx-score{background:rgba(47,126,255,.10);color:var(--asx-accent)}
.asx-overview-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);gap:12px}
.asx-policy-card{grid-column:1/-1}
.asx-profile-main{display:flex;align-items:center;gap:13px;margin:15px 0}
.asx-profile-main>div{min-width:0}
.asx-profile-main strong,.asx-profile-main span{display:block}
.asx-profile-main strong{color:var(--text)}
.asx-profile-main span{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-selector-form,.asx-inline-select{display:grid;gap:5px}
.asx-selector-form label,.asx-inline-select label{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.asx-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.asx-profile-stats div{padding:9px;border:1px solid var(--asx-line);border-radius:12px;background:var(--asx-soft)}
.asx-profile-stats strong,.asx-profile-stats span{display:block}
.asx-profile-stats strong{color:var(--text);font-size:17px}
.asx-profile-stats span{margin-top:2px;color:var(--muted);font-size:8px}
.asx-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.asx-quick-grid button{padding:9px;border:1px solid var(--asx-line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}
.asx-quick-grid button:hover{border-color:rgba(47,126,255,.38);background:var(--asx-soft)}
.asx-quick-grid span,.asx-quick-grid small{display:block}
.asx-quick-grid span{font-size:10px;font-weight:900}
.asx-quick-grid small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-posture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.asx-posture-grid>div{padding:11px;border:1px solid var(--asx-line);border-radius:13px;background:var(--asx-soft)}
.asx-posture-grid span,.asx-posture-grid strong,.asx-posture-grid small{display:block}
.asx-posture-grid span{color:var(--muted);font-size:9px}
.asx-posture-grid strong{margin:3px 0;color:var(--text);font-size:14px}
.asx-posture-grid small{color:var(--muted);font-size:8px}
.asx-bar{height:5px;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}
.asx-bar i{display:block;width:var(--value);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--asx-accent),var(--asx-cyan))}
.asx-conflicts{display:grid;gap:7px}
.asx-conflict,.asx-empty-state{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:9px 10px;border:1px solid var(--asx-line);border-radius:12px;background:var(--panel)}
.asx-conflict>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--asx-accent)}
.asx-conflict.is-warn>span{background:var(--asx-amber)}
.asx-conflict.is-danger>span{background:var(--asx-red)}
.asx-conflict.is-ok>span{background:var(--asx-green)}
.asx-conflict strong,.asx-empty-state strong{display:block;color:var(--text);font-size:10px}
.asx-conflict p,.asx-empty-state p{margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.35}
.asx-empty-state{grid-template-columns:28px 1fr;align-items:center;background:rgba(34,167,111,.05)}
.asx-empty-state>span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(34,167,111,.12);color:var(--asx-green);font-weight:900}
.asx-policy-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none}
.asx-policy-flow li{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:11px;border:1px solid var(--asx-line);border-radius:13px;background:var(--asx-soft)}
.asx-policy-flow li>span{color:var(--asx-accent);font-size:10px;font-weight:900}
.asx-policy-flow strong{display:block;color:var(--text);font-size:10px}
.asx-policy-flow p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.4}
.asx-root-note{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:12px;background:rgba(120,103,242,.07)}
.asx-root-note span{padding:3px 7px;border-radius:999px;background:rgba(120,103,242,.13);color:var(--asx-violet);font-size:8px;font-weight:900}
.asx-root-note p{margin:0;color:var(--muted);font-size:9px}
.asx-editor-shell{overflow:hidden}
.asx-editor-head{padding:17px 18px;border-bottom:1px solid var(--asx-line);background:linear-gradient(180deg,var(--asx-soft),transparent)}
.asx-editor-head>div:first-child{min-width:0}
.asx-inline-select{min-width:250px;max-width:340px}
.asx-protected-banner{display:flex;align-items:center;gap:10px;margin:12px 16px 0;padding:10px 12px;border:1px solid rgba(120,103,242,.22);border-radius:12px;background:rgba(120,103,242,.07)}
.asx-protected-banner span{padding:4px 8px;border-radius:999px;background:rgba(120,103,242,.13);color:var(--asx-violet);font-size:8px;font-weight:900}
.asx-protected-banner p{margin:0;color:var(--muted);font-size:9px}
.asx-actionbar{position:sticky;top:136px;z-index:24;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--asx-line);background:color-mix(in srgb,var(--panel) 93%,transparent);backdrop-filter:blur(16px)}
.asx-search{display:flex;align-items:center;gap:7px;min-width:260px;flex:1 1 320px;height:38px;padding:0 11px;border:1px solid var(--asx-line);border-radius:12px;background:var(--panel);color:var(--muted)}
.asx-search:focus-within{border-color:rgba(47,126,255,.48);box-shadow:0 0 0 3px rgba(47,126,255,.08)}
.asx-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}
.asx-search input::placeholder{color:var(--muted)}
.asx-actionbar-summary{display:flex;align-items:baseline;gap:4px;padding:0 7px;color:var(--muted);font-size:9px;white-space:nowrap}
.asx-actionbar-summary strong{color:var(--text);font-size:15px}
.asx-actionbar-note{flex:1 1 360px;color:var(--muted);font-size:9px;line-height:1.4}
.asx-mini-kpis{display:flex;gap:6px;flex-wrap:wrap}
.asx-mini-kpis span,.asx-selected-badge{display:flex;align-items:baseline;gap:4px;padding:7px 9px;border:1px solid var(--asx-line);border-radius:11px;background:var(--panel);color:var(--muted);font-size:8px}
.asx-mini-kpis strong,.asx-selected-badge strong{color:var(--text);font-size:14px}
.asx-selected-badge{flex-direction:column;align-items:flex-end;gap:1px}
.asx-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100vh - 305px);min-height:420px;padding:12px;overflow:auto;align-content:start;scrollbar-width:thin}
.asx-module{min-width:0;border:1px solid var(--asx-line);border-radius:15px;background:var(--panel);overflow:hidden}
.asx-module[hidden]{display:none}
.asx-module summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;cursor:pointer;list-style:none;background:var(--asx-soft)}
.asx-module summary::-webkit-details-marker{display:none}
.asx-module summary>span:nth-child(2){min-width:0}
.asx-module summary strong,.asx-module summary small{display:block}
.asx-module summary strong{color:var(--text);font-size:11px}
.asx-module summary small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-module summary small b{color:var(--asx-accent)}
.asx-module-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,rgba(47,126,255,.14),rgba(40,185,207,.10));color:var(--asx-accent);font-size:9px;font-weight:900}
.asx-chevron{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .16s}
.asx-module[open] .asx-chevron{transform:rotate(225deg)}
.asx-module-tools{display:flex;justify-content:flex-end;gap:6px;padding:8px 9px 0}
.asx-module-body{display:grid;gap:6px;padding:9px}
.asx-permission-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:51px;padding:8px 9px;border:1px solid var(--asx-line);border-radius:11px;background:var(--panel);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.asx-permission-row:hover{border-color:rgba(47,126,255,.38);background:var(--asx-soft);transform:translateY(-1px)}
.asx-permission-row[hidden]{display:none}
.asx-route-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--asx-soft);color:var(--asx-accent);font-size:11px}
.asx-permission-copy{min-width:0}
.asx-permission-copy strong,.asx-permission-copy small,.asx-permission-copy em{display:block}
.asx-permission-copy strong{color:var(--text);font-size:10px}
.asx-permission-copy small{margin-top:2px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-permission-copy em{width:max-content;max-width:100%;margin-top:4px;padding:2px 5px;border-radius:5px;background:rgba(47,126,255,.07);color:var(--asx-accent);font-size:7px;font-style:normal;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asx-permission-row input,.asx-scope-option input,.asx-mobile-rights input{position:absolute;opacity:0;pointer-events:none}
.asx-check{display:grid;place-items:center;width:19px;height:19px;border:1.5px solid color-mix(in srgb,var(--muted) 58%,transparent);border-radius:6px;background:var(--panel);transition:.15s}
.asx-check::after{content:"✓";opacity:0;transform:scale(.55);color:#fff;font-size:12px;font-weight:900;transition:.15s}
.asx-permission-row input:checked+.asx-check,.asx-scope-option input:checked+.asx-check,.asx-mobile-rights input:checked+.asx-check{border-color:var(--asx-accent);background:linear-gradient(135deg,var(--asx-accent),var(--asx-cyan));box-shadow:0 4px 10px rgba(47,126,255,.20)}
.asx-permission-row input:checked+.asx-check::after,.asx-scope-option input:checked+.asx-check::after,.asx-mobile-rights input:checked+.asx-check::after{opacity:1;transform:scale(1)}
.asx-permission-row input:focus-visible+.asx-check,.asx-scope-option input:focus-visible+.asx-check,.asx-mobile-rights input:focus-visible+.asx-check{outline:3px solid rgba(47,126,255,.18);outline-offset:2px}
.asx-permission-row input:disabled+.asx-check{opacity:.62}
.asx-user-table-wrap{max-height:calc(100vh - 310px);min-height:430px;overflow:auto;scrollbar-width:thin}
.asx-user-table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0}
.asx-user-table th{position:sticky;top:0;z-index:2;padding:9px 11px;border-bottom:1px solid var(--asx-line);background:var(--asx-soft);color:var(--muted);font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.08em}
.asx-user-table td{padding:9px 11px;border-bottom:1px solid var(--asx-line);color:var(--text);font-size:10px;vertical-align:middle}
.asx-user-table tr:hover td{background:color-mix(in srgb,var(--asx-soft) 65%,transparent)}
.asx-user-cell{display:flex;align-items:center;gap:9px}
.asx-user-avatar{width:31px;height:31px;border-radius:10px;font-size:10px;box-shadow:none}
.asx-user-cell strong,.asx-user-cell small{display:block}
.asx-user-cell strong{font-size:10px}
.asx-user-cell small,.asx-email,.asx-last-login{color:var(--muted);font-size:8px}
.asx-email{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis}
.asx-status-select.is-active{border-color:rgba(34,167,111,.28);background:rgba(34,167,111,.06)}
.asx-status-select.is-disabled{border-color:rgba(220,91,99,.28);background:rgba(220,91,99,.06)}
.asx-override-cell{display:flex;align-items:center;gap:7px}
.asx-override-cell span{color:var(--muted);font-size:8px}
.asx-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-top:1px solid var(--asx-line);color:var(--muted);font-size:9px}
.asx-pagination>div{display:flex;gap:6px}
.asx-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:calc(100vh - 300px);min-height:420px;padding:12px;overflow:auto;align-content:start;scrollbar-width:thin}
.asx-scope-card{min-width:0;border:1px solid var(--asx-line);border-radius:15px;background:var(--panel);overflow:hidden}
.asx-scope-card>header{display:flex;align-items:center;gap:9px;padding:10px 11px;border-bottom:1px solid var(--asx-line);background:var(--asx-soft)}
.asx-scope-card header strong,.asx-scope-card header small{display:block}
.asx-scope-card header strong{font-size:11px}
.asx-scope-card header small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-scope-list{display:grid;gap:6px;max-height:330px;padding:8px;overflow:auto;scrollbar-width:thin}
.asx-scope-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:47px;padding:8px 9px;border:1px solid var(--asx-line);border-radius:11px;background:var(--panel);cursor:pointer}
.asx-scope-option:hover{border-color:rgba(47,126,255,.36);background:var(--asx-soft)}
.asx-scope-option strong,.asx-scope-option small{display:block}
.asx-scope-option strong{color:var(--text);font-size:10px}
.asx-scope-option small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-mobile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:calc(100vh - 300px);min-height:420px;padding:12px;overflow:auto;align-content:start;scrollbar-width:thin}
.asx-mobile-card{min-width:0;padding:11px;border:1px solid var(--asx-line);border-radius:15px;background:var(--panel);opacity:.78;transition:.15s}
.asx-mobile-card.is-enabled{border-color:rgba(47,126,255,.25);background:linear-gradient(150deg,var(--panel),rgba(47,126,255,.045));opacity:1;box-shadow:0 10px 24px rgba(28,52,84,.06)}
.asx-mobile-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}
.asx-mobile-card header strong,.asx-mobile-card header small{display:block}
.asx-mobile-card header strong{color:var(--text);font-size:10px}
.asx-mobile-card header small{margin-top:2px;color:var(--muted);font-size:8px}
.asx-switch{position:relative;width:38px;height:22px}
.asx-switch input{position:absolute;opacity:0}
.asx-switch span{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 32%,transparent);cursor:pointer;transition:.16s}
.asx-switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.2);transition:transform .16s}
.asx-switch input:checked+span{background:linear-gradient(135deg,var(--asx-accent),var(--asx-cyan))}
.asx-switch input:checked+span::after{transform:translateX(16px)}
.asx-mobile-rights{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.asx-mobile-rights label{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:8px;border:1px solid var(--asx-line);border-radius:10px;background:var(--asx-soft);cursor:pointer}
.asx-mobile-rights label.is-disabled{opacity:.45;cursor:not-allowed}
.asx-mobile-rights strong,.asx-mobile-rights small{display:block}
.asx-mobile-rights strong{color:var(--text);font-size:9px}
.asx-mobile-rights small{margin-top:2px;color:var(--muted);font-size:7px}
html[data-theme="dark"] .asx-page,body.dark-mode.app-shell .asx-page{--asx-bg:#0c1725;--asx-soft:rgba(21,39,59,.72);--asx-line:rgba(139,168,201,.17);--asx-shadow:0 20px 48px rgba(0,0,0,.24)}
html[data-theme="dark"] .asx-hero,body.dark-mode.app-shell .asx-hero{background:radial-gradient(circle at 88% 20%,rgba(47,126,255,.18),transparent 34%),linear-gradient(135deg,rgba(8,21,36,.98),rgba(13,31,49,.98))}
html[data-theme="dark"] .asx-tabs,html[data-theme="dark"] .asx-actionbar,body.dark-mode.app-shell .asx-tabs,body.dark-mode.app-shell .asx-actionbar{background:rgba(8,21,36,.90)}
html[data-theme="dark"] .asx-check,body.dark-mode.app-shell .asx-check{background:#0f2032;border-color:#52677f}
html[data-theme="dark"] .asx-selected-user,body.dark-mode.app-shell .asx-selected-user{background:rgba(13,31,49,.72)}
html[data-theme="dark"] .asx-rule-chips span,body.dark-mode.app-shell .asx-rule-chips span{background:rgba(15,32,50,.72)}
@media (max-width:1180px){.asx-tabs{grid-template-columns:repeat(6,minmax(155px,1fr))}.asx-overview-layout{grid-template-columns:1fr}.asx-policy-card{grid-column:auto}.asx-policy-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.asx-scope-grid,.asx-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.asx-hero{grid-template-columns:1fr}.asx-selected-user{max-width:100%}.asx-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.asx-editor-head{flex-direction:column}.asx-inline-select{width:100%;max-width:none}.asx-module-grid{grid-template-columns:1fr}.asx-actionbar{top:128px}.asx-module-grid,.asx-scope-grid,.asx-mobile-grid{max-height:none;min-height:0}.asx-scope-grid,.asx-mobile-grid{grid-template-columns:1fr}.asx-user-table-wrap{max-height:none;min-height:0}}
@media (max-width:640px){.asx-page{gap:10px}.asx-hero{padding:18px;border-radius:18px}.asx-hero h2{font-size:32px}.asx-rule-chips i{display:none}.asx-rule-chips span{font-size:8px}.asx-metrics{gap:7px}.asx-metrics article{padding:10px}.asx-metric-icon{width:32px;height:32px}.asx-metrics strong{font-size:18px}.asx-tabs{top:58px;margin-inline:-2px;padding:5px;border-radius:14px}.asx-tab{min-height:44px;padding:6px 8px}.asx-tab small{display:none}.asx-tab-icon{width:27px;height:27px}.asx-unsaved{top:112px}.asx-card{padding:13px}.asx-profile-stats,.asx-quick-grid,.asx-posture-grid,.asx-policy-flow{grid-template-columns:1fr 1fr}.asx-actionbar{top:112px;align-items:stretch}.asx-actionbar .btn{flex:1 1 auto}.asx-search{flex-basis:100%;min-width:0}.asx-actionbar-summary{flex:1 1 100%;justify-content:center}.asx-module-grid,.asx-scope-grid,.asx-mobile-grid{padding:8px}.asx-user-table{min-width:0}.asx-user-table thead{display:none}.asx-user-table,.asx-user-table tbody,.asx-user-table tr,.asx-user-table td{display:block;width:100%}.asx-user-table tr{margin:8px;border:1px solid var(--asx-line);border-radius:13px;background:var(--panel);overflow:hidden}.asx-user-table td{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid var(--asx-line)}.asx-user-table td:last-child{border-bottom:0}.asx-user-table td::before{content:attr(data-label);color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.asx-user-table tr:hover td{background:transparent}.asx-user-cell{min-width:0}.asx-email{max-width:100%}.asx-mobile-rights{grid-template-columns:1fr}.asx-pagination{flex-direction:column;align-items:stretch}.asx-pagination>div{display:grid;grid-template-columns:1fr 1fr}.asx-selected-badge{align-items:flex-start}.asx-card-head{flex-direction:column}}
@media (max-width:420px){.asx-metrics{grid-template-columns:1fr}.asx-profile-stats,.asx-quick-grid,.asx-posture-grid,.asx-policy-flow{grid-template-columns:1fr}.asx-rule-chips{display:none}}
@media (max-width: 1180px) {
  body.app-shell .topbar {
    overflow: visible;
  }
  body.app-shell .topbar-actions {
    position: relative;
    z-index: 5200;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    max-width: none;
    overflow: visible;
    pointer-events: auto;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    overflow: visible;
    pointer-events: auto;
    position: relative;
    z-index: 5300;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 16px;
    pointer-events: auto;
    position: relative;
    z-index: 5310;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle svg,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle span {
    pointer-events: none;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:not(:checked) ~ #mobileQuickMenu {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:checked ~ #mobileQuickMenu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: fixed;
    z-index: 5400;
    top: calc(env(safe-area-inset-top, 0px) + var(--hosting-banner-height, 0px) + 74px);
    left: max(8px, env(safe-area-inset-left, 0px));
    right: max(8px, env(safe-area-inset-right, 0px));
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 92px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 24px;
  }
  body.app-shell .topbar-dropdown-close.asm360-css-widget-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
}
@media (max-width: 760px) {
  body.app-shell .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    overflow: visible;
  }
  body.app-shell .topbar-center,
  body.app-shell .topbar-desktop-only,
  body.app-shell .topbar-user {
    display: none;
  }
  body.app-shell .topbar-title {
    min-width: 0;
    max-width: calc(100vw - 196px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
  }
  body.app-shell .topbar-actions .topbar-audio-toggle,
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}
@media (max-width: 430px) and (orientation: portrait) {
  body.app-shell .topbar {
    padding-inline: 8px;
    gap: 6px;
  }
  body.app-shell .topbar-title {
    max-width: calc(100vw - 186px);
    font-size: .94rem;
  }
  body.app-shell .topbar-actions {
    gap: 4px;
  }
  body.app-shell .topbar-actions .topbar-audio-toggle,
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex: 0 0 38px;
    border-radius: 15px;
  }
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:checked ~ #mobileQuickMenu {
    top: calc(env(safe-area-inset-top, 0px) + var(--hosting-banner-height, 0px) + 66px);
    left: max(6px, env(safe-area-inset-left, 0px));
    right: max(6px, env(safe-area-inset-right, 0px));
    max-height: calc(100dvh - 78px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    border-radius: 20px;
  }
}
@media (max-width: 390px) and (orientation: portrait) {
  body.app-shell .topbar-title {
    max-width: calc(100vw - 174px);
    font-size: .9rem;
  }
  body.app-shell .topbar-actions .topbar-audio-toggle,
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu,
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-css-widget-toggle {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    flex-basis: 36px;
    border-radius: 14px;
  }
}
@media (max-width: 1180px) and (orientation: landscape) {
  body.app-shell .topbar-mobile-menu-wrap.asm360-css-widget-menu > .asm360-mobile-widget-state:checked ~ #mobileQuickMenu {
    top: calc(env(safe-area-inset-top, 0px) + var(--hosting-banner-height, 0px) + 60px);
    max-height: calc(100dvh - 70px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }
}
.rbac-studio {
  --rbac-accent: #2563eb;
  --rbac-cyan: #0891b2;
  --rbac-green: #178a55;
  --rbac-amber: #b76a00;
  --rbac-red: #c43b45;
  --rbac-line: color-mix(in srgb, var(--border) 82%, transparent);
  --rbac-soft: color-mix(in srgb, var(--panel) 88%, #eaf2ff 12%);
  --rbac-card: color-mix(in srgb, var(--panel) 96%, white 4%);
  display: grid;
  gap: 16px;
  min-width: 0;
  font-family: Inter, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: -0.006em;
}
.rbac-studio *, .rbac-studio *::before, .rbac-studio *::after { box-sizing: border-box; }
.rbac-studio button, .rbac-studio input, .rbac-studio select { font: inherit; }
.rbac-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid var(--rbac-line);
  border-radius: 24px;
  background: radial-gradient(circle at 88% 18%, rgba(37,99,235,.16), transparent 34%), linear-gradient(135deg, var(--rbac-card), var(--rbac-soft));
  box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}
.rbac-hero-main { min-width: 0; }
.rbac-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rbac-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rbac-eyebrow i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--rbac-green);
  box-shadow: 0 0 0 6px rgba(23,138,85,.12);
}
.rbac-hero h2 {
  margin: 8px 0 8px;
  color: var(--text);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}
.rbac-hero p {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.rbac-role-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-content: center;
  gap: 8px 12px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--rbac-accent) 22%, var(--rbac-line));
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel) 90%, transparent);
}
.rbac-avatar {
  grid-row: span 3;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 17px;
  background: linear-gradient(135deg, var(--rbac-accent), var(--rbac-cyan));
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}
.rbac-role-card label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.rbac-role-card select { min-height: 46px; font-size: 16px; }
.rbac-role-card small { color: var(--muted); font-size: 13px; }
.rbac-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.rbac-summary-grid article {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid var(--rbac-line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}
.rbac-summary-grid span, .rbac-summary-grid small { display: block; color: var(--muted); }
.rbac-summary-grid span { font-size: 13px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.rbac-summary-grid strong { display: block; margin: 4px 0; color: var(--text); font-size: 30px; line-height: 1; }
.rbac-summary-grid small { font-size: 13px; }
.rbac-matrix-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--rbac-line);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}
.rbac-toolbar {
  position: sticky;
  top: calc(var(--shell-topbar-h, 64px) + var(--hosting-banner-height, 0px) + 8px);
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(240px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--rbac-line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 94%, transparent);
  backdrop-filter: blur(18px);
}
.rbac-toolbar h3 { margin: 4px 0 0; color: var(--text); font-size: 22px; line-height: 1.1; }
.rbac-toolbar p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.rbac-search input { min-height: 48px; font-size: 16px; }
.rbac-toolbar-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.rbac-toolbar-actions .btn, .rbac-savebar .btn, .rbac-module-actions .btn { min-height: 40px; font-size: 14px; }
.rbac-module-stack { display: grid; gap: 12px; }
.rbac-module {
  border: 1px solid var(--rbac-line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 97%, white 3%);
  overflow: clip;
}
.rbac-module summary {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  min-height: 68px;
}
.rbac-module summary::-webkit-details-marker { display: none; }
.rbac-module-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: rgba(37, 99, 235, .11);
  color: var(--rbac-accent);
  font-size: 14px;
  font-weight: 900;
}
.rbac-module summary strong { display: block; color: var(--text); font-size: 18px; }
.rbac-module summary small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.rbac-module-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--rbac-soft);
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.rbac-module-count b { color: var(--rbac-accent); }
.rbac-module-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0 16px 14px;
}
.rbac-table-wrap { overflow: auto; border-top: 1px solid var(--rbac-line); }
.rbac-table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; }
.rbac-table th, .rbac-table td { padding: 13px 14px; border-bottom: 1px solid var(--rbac-line); text-align: left; vertical-align: middle; }
.rbac-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--rbac-soft);
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.rbac-table td { color: var(--text); font-size: 15px; }
.rbac-page-name strong { display: block; font-size: 16px; }
.rbac-page-name small { display: inline-flex; margin-top: 4px; color: var(--rbac-amber); font-size: 12px; font-weight: 800; }
.rbac-table code {
  display: inline-flex;
  max-width: 320px;
  padding: 5px 8px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--rbac-soft) 76%, transparent);
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rbac-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 96px;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid var(--rbac-line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--muted);
  cursor: pointer;
  user-select: none;
}
.rbac-switch input { inline-size: 18px; block-size: 18px; accent-color: var(--rbac-accent); }
.rbac-switch span { font-size: 14px; font-weight: 850; }
.rbac-switch:has(input:checked) {
  border-color: color-mix(in srgb, var(--rbac-accent) 42%, var(--rbac-line));
  background: rgba(37, 99, 235, .10);
  color: var(--rbac-accent);
}
.rbac-switch.danger:has(input:checked) {
  border-color: color-mix(in srgb, var(--rbac-red) 42%, var(--rbac-line));
  background: rgba(196, 59, 69, .10);
  color: var(--rbac-red);
}
.rbac-savebar {
  position: sticky;
  bottom: 12px;
  z-index: 45;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--rbac-accent) 22%, var(--rbac-line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 93%, transparent);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
  backdrop-filter: blur(18px);
}
.rbac-savebar strong, .rbac-savebar span { display: block; }
.rbac-savebar strong { color: var(--text); font-size: 16px; }
.rbac-savebar span { color: var(--muted); font-size: 13px; }
@media (max-width: 980px) {
  .rbac-hero, .rbac-toolbar { grid-template-columns: 1fr; }
  .rbac-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rbac-toolbar { position: static; }
}
@media (max-width: 640px) {
  .rbac-studio { font-size: 16px; }
  .rbac-hero, .rbac-matrix-card { padding: 14px; border-radius: 18px; }
  .rbac-hero h2 { font-size: 30px; }
  .rbac-hero p { font-size: 15px; }
  .rbac-summary-grid { grid-template-columns: 1fr; }
  .rbac-module summary { grid-template-columns: 42px minmax(0, 1fr); }
  .rbac-module-count { grid-column: 1 / -1; justify-content: center; }
  .rbac-table, .rbac-table thead, .rbac-table tbody, .rbac-table tr, .rbac-table th, .rbac-table td { display: block; min-width: 0; }
  .rbac-table thead { display: none; }
  .rbac-table tr { padding: 12px; border-bottom: 1px solid var(--rbac-line); }
  .rbac-table td { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px 0; border: 0; }
  .rbac-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
  .rbac-table code { max-width: 100%; }
  .rbac-switch { justify-content: flex-start; width: 100%; }
  .rbac-savebar { align-items: stretch; flex-direction: column; bottom: 8px; }
  .rbac-savebar .btn { width: 100%; }
}
:root{
  --tc372-font: Inter, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
  --tc372-btn-min: 112px;
  --tc372-control-h: 42px;
}
body.app-shell, body.auth-shell,
body.app-shell input, body.app-shell select, body.app-shell textarea, body.app-shell button,
body.auth-shell input, body.auth-shell select, body.auth-shell textarea, body.auth-shell button{
  font-family: var(--tc372-font);
  text-rendering: optimizeLegibility;
}
body.app-shell{font-size:15.5px;line-height:1.52;}
body.app-shell .page, body.app-shell .content{letter-spacing:.005em;}
body.app-shell .muted, body.app-shell .small{line-height:1.45;}
body.app-shell .btn, body.app-shell button.btn, body.app-shell a.btn,
body.app-shell .icon-btn, body.app-shell .topbar-icon{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  text-align:center;
  line-height:1.22;
  min-height:38px;
  width:auto;
  max-width:100%;
  flex:0 0 auto;
}
body.app-shell .btn:not(.xs):not(.sm):not(.full):not(.block):not(.btn-block){
  min-width:var(--tc372-btn-min);
  padding-inline:16px;
}
body.app-shell .btn.sm{min-width:82px;padding-inline:12px;}
body.app-shell .btn.xs{min-width:64px;padding:7px 10px;font-size:12px;}
body.app-shell form.form > .btn[type="submit"]:not(.full):not(.block):not(.btn-block),
body.app-shell .card form > .btn[type="submit"]:not(.full):not(.block):not(.btn-block),
body.app-shell .modal-body form > .btn[type="submit"]:not(.full):not(.block):not(.btn-block){
  align-self:flex-start;
  width:auto;
  min-width:154px;
  max-width:260px;
}
body.app-shell .actions, body.app-shell .row-actions, body.app-shell .table-tools,
body.app-shell .toolbar-actions, body.app-shell .compact-actions, body.app-shell .modal-footer{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
}
body.app-shell .modal-footer{justify-content:flex-end;}
body.app-shell .input, body.app-shell select.input, body.app-shell textarea.input{
  min-height:var(--tc372-control-h);
  font-size:15px;
  line-height:1.35;
}
body.app-shell .label{font-size:12px;letter-spacing:.08em;line-height:1.3;}
body.app-shell .table-wrap, body.app-shell .responsive-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body.app-shell table.table, body.app-shell table.rbac-table, body.app-shell .table{
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  width:100%;
}
body.app-shell .table th, body.app-shell .table td,
body.app-shell .rbac-table th, body.app-shell .rbac-table td{
  vertical-align:middle;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.38;
}
body.app-shell .table td.actions-col, body.app-shell .table td[data-label="Actions"]{min-width:190px;}
body.app-shell .table td.actions-col .row-actions, body.app-shell .table td[data-label="Actions"] .row-actions{justify-content:flex-start;}
@media (max-width: 767px){
  body.app-shell .table-wrap{max-width:100%;}
  body.app-shell .responsive-table .table,
  body.app-shell .table-wrap .table,
  body.app-shell .table,
  body.app-shell .rbac-table{display:table;min-width:720px;}
  body.app-shell .responsive-table .table thead,
  body.app-shell .table-wrap .table thead,
  body.app-shell .table thead,
  body.app-shell .rbac-table thead{display:table-header-group;}
  body.app-shell .responsive-table .table tbody,
  body.app-shell .table-wrap .table tbody,
  body.app-shell .table tbody,
  body.app-shell .rbac-table tbody{display:table-row-group;}
  body.app-shell .responsive-table .table tr,
  body.app-shell .table-wrap .table tr,
  body.app-shell .table tr,
  body.app-shell .rbac-table tr{display:table-row;box-shadow:none;border-radius:0;padding:0;margin:0;}
  body.app-shell .responsive-table .table th,
  body.app-shell .responsive-table .table td,
  body.app-shell .table-wrap .table th,
  body.app-shell .table-wrap .table td,
  body.app-shell .table th,
  body.app-shell .table td,
  body.app-shell .rbac-table th,
  body.app-shell .rbac-table td{display:table-cell;}
  body.app-shell .table td::before, body.app-shell .rbac-table td::before{display:none;content:none;}
}
body.app-shell .access-studio-v372{display:flex;flex-direction:column;gap:18px;max-width:100%;}
body.app-shell .access-studio-v372 .compact-hero{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(360px,720px);
  align-items:stretch;
  gap:14px;
  padding:18px;
}
body.app-shell .access-studio-v372 .rbac-hero-main h2{font-size:clamp(24px,2vw,34px);line-height:1.1;margin:6px 0;}
body.app-shell .access-studio-v372 .rbac-hero-main p{max-width:760px;font-size:15.5px;}
body.app-shell .rbac-top-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;}
body.app-shell .compact-selector{min-width:0;padding:14px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar label" "avatar select" "avatar hint";align-items:center;column-gap:12px;}
body.app-shell .compact-selector .rbac-avatar{grid-area:avatar;}
body.app-shell .compact-selector label{grid-area:label;margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
body.app-shell .compact-selector select{grid-area:select;min-width:0;width:100%;}
body.app-shell .compact-selector small{grid-area:hint;margin-top:4px;}
body.app-shell .compact-summary{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;}
body.app-shell .compact-summary article{min-height:104px;padding:16px;}
body.app-shell .compact-summary article strong{font-size:30px;line-height:1;}
body.app-shell .compact-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,360px) auto;gap:12px;align-items:end;}
body.app-shell .compact-toolbar h3{font-size:22px;line-height:1.15;margin:4px 0;}
body.app-shell .compact-toolbar p{margin:0;font-size:14px;}
body.app-shell .compact-actions{justify-content:flex-end;align-content:center;}
body.app-shell .rbac-module-stack{display:flex;flex-direction:column;gap:12px;}
body.app-shell .rbac-module{overflow:hidden;}
body.app-shell .rbac-module > summary{min-height:58px;gap:10px;}
body.app-shell .rbac-module-actions{padding:10px 14px;justify-content:flex-start;border-bottom:1px solid var(--line);}
body.app-shell .rbac-table-wrap{padding:0;}
body.app-shell .rbac-table{min-width:860px;}
body.app-shell .rbac-table th:nth-child(1){min-width:230px;}
body.app-shell .rbac-table th:nth-child(2){min-width:180px;}
body.app-shell .rbac-page-name strong{font-size:14.5px;line-height:1.3;}
body.app-shell .rbac-page-name small{display:block;margin-top:3px;font-size:12px;}
body.app-shell .mini-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:28px;padding:4px 9px;border-radius:999px;background:rgba(37,99,235,.12);color:var(--text);font-weight:800;font-size:12px;}
body.app-shell .mini-badge.muted-badge{background:rgba(100,116,139,.12);color:var(--muted);}
body.app-shell .user-access-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:12px;margin:12px 0;align-items:stretch;}
body.app-shell .aligned-control-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card-soft);min-width:0;}
body.app-shell .station-chip-wrap{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;padding-right:4px;}
body.app-shell .station-chip-group{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;}
body.app-shell .station-chip-group > strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;min-width:86px;color:var(--muted);}
body.app-shell .station-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:800;cursor:pointer;max-width:100%;}
body.app-shell .station-chip input{inline-size:15px;block-size:15px;}
body.app-shell .station-chip span{white-space:normal;overflow-wrap:anywhere;line-height:1.1;}
body.app-shell .rbac-user-note{padding:10px 12px;border-radius:14px;border:1px dashed var(--line);background:var(--card-soft);color:var(--muted);font-size:14px;margin:10px 0;}
body.app-shell .compact-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;}
body.app-shell .compact-savebar .btn{min-width:170px;}
body.app-shell .access-check-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;}
body.app-shell .access-check{display:inline-flex;align-items:flex-start;gap:8px;min-height:42px;max-width:260px;min-width:150px;width:auto;padding:10px 12px;}
body.app-shell .access-check span{min-width:0;}
body.app-shell .access-check strong, body.app-shell .access-check small{white-space:normal;overflow-wrap:anywhere;line-height:1.25;}
body.app-shell .access-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
@media (max-width: 1180px){
  body.app-shell .access-studio-v372 .compact-hero{grid-template-columns:1fr;}
  body.app-shell .compact-toolbar{grid-template-columns:1fr;align-items:start;}
  body.app-shell .compact-actions{justify-content:flex-start;}
  body.app-shell .user-access-grid{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  body.app-shell{font-size:16px;}
  body.app-shell .btn:not(.xs):not(.sm):not(.full):not(.block):not(.btn-block){min-width:104px;padding-inline:14px;}
  body.app-shell .rbac-top-selectors{grid-template-columns:1fr;}
  body.app-shell .compact-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .compact-summary article{min-height:94px;}
  body.app-shell .compact-selector{grid-template-columns:auto minmax(0,1fr);}
  body.app-shell .station-chip-group > strong{width:100%;min-width:0;}
  body.app-shell .compact-savebar{position:sticky;bottom:0;z-index:18;background:var(--card);border-top:1px solid var(--line);}
}
@media (max-width: 480px){
  body.app-shell .compact-summary{grid-template-columns:1fr;}
  body.app-shell .rbac-module > summary{grid-template-columns:auto minmax(0,1fr);}
  body.app-shell .rbac-module-count{grid-column:2;justify-self:start;}
  body.app-shell .compact-savebar .btn{width:100%;}
}
body.app-shell .user-access-settings{display:flex;flex-direction:column;gap:16px;max-width:100%;}
body.app-shell .uas-hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,760px);gap:14px;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--shadow-sm);}
body.app-shell .uas-hero h2{font-size:clamp(24px,2vw,34px);line-height:1.1;margin:6px 0;}
body.app-shell .uas-hero p{max-width:820px;font-size:15.5px;margin:0;color:var(--muted);}
body.app-shell .uas-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;}
body.app-shell .uas-context-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar label" "avatar select";align-items:center;gap:4px 12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card-soft);}
body.app-shell .uas-context-card .rbac-avatar{grid-area:avatar;}
body.app-shell .uas-context-card label{grid-area:label;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);}
body.app-shell .uas-context-card select{grid-area:select;min-width:0;width:100%;}
body.app-shell .uas-tabs{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--card);}
body.app-shell .uas-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border-radius:13px;border:1px solid transparent;color:var(--muted);font-weight:900;text-decoration:none;white-space:normal;text-align:center;line-height:1.2;min-width:138px;max-width:100%;}
body.app-shell .uas-tabs a:hover{border-color:var(--line);background:var(--card-soft);color:var(--text);}
body.app-shell .uas-tabs a.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;box-shadow:var(--shadow-sm);}
body.app-shell .uas-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;}
body.app-shell .uas-summary-grid article{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm);min-width:0;}
body.app-shell .uas-summary-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);line-height:1.25;overflow-wrap:anywhere;}
body.app-shell .uas-summary-grid strong{display:block;margin-top:8px;font-size:30px;line-height:1;color:var(--text);}
body.app-shell .uas-summary-grid small{display:block;margin-top:6px;color:var(--muted);line-height:1.35;}
body.app-shell .uas-panel{padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow-sm);min-width:0;}
body.app-shell .uas-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
body.app-shell .uas-panel-head h3{font-size:22px;line-height:1.15;margin:0 0 4px;}
body.app-shell .uas-panel-head p{margin:0;color:var(--muted);font-size:14.5px;}
body.app-shell .uas-save-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;}
body.app-shell .role-definition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start;}
body.app-shell .role-edit-card{display:flex;flex-direction:column;gap:9px;min-width:0;}
body.app-shell .role-edit-card .row-actions{margin-top:2px;}
body.app-shell .compact-check{display:inline-flex;align-items:center;gap:8px;min-height:34px;}
body.app-shell .preview-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:12px;}
body.app-shell .preview-grid .card-lite{min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card-soft);}
body.app-shell .preview-grid h3{font-size:25px;line-height:1.1;margin:7px 0;overflow-wrap:anywhere;}
body.app-shell .preview-grid p{margin:4px 0;color:var(--muted);overflow-wrap:anywhere;}
body.app-shell .user-access-settings .table .input{min-width:170px;}
body.app-shell .user-access-settings .table td:last-child .btn{min-width:84px;}
@media (max-width:1180px){
  body.app-shell .uas-hero{grid-template-columns:1fr;}
  body.app-shell .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:820px){
  body.app-shell .uas-context-grid{grid-template-columns:1fr;}
  body.app-shell .uas-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .uas-tabs a{flex:1 1 150px;min-width:130px;}
}
@media (max-width:560px){
  body.app-shell .uas-hero,body.app-shell .uas-panel{padding:12px;}
  body.app-shell .uas-summary-grid,body.app-shell .preview-grid{grid-template-columns:1fr;}
  body.app-shell .uas-tabs{gap:6px;padding:6px;}
  body.app-shell .uas-tabs a{min-width:100%;}
}
html[data-theme="light"] body.app-shell,
body.app-shell:not([data-theme="dark"]){
  --brand-primary:#2563eb;
  --brand-primary-strong:#1d4ed8;
  --brand-secondary:#0891b2;
  --brand-accent:#14b8a6;
  --brand-success:#16a34a;
  --brand-warning:#d97706;
  --brand-danger:#dc2626;
  --bg:#eef6fb;
  --page-bg:#f3f8fc;
  --panel:#ffffff;
  --panel-alt:#f7fbff;
  --card:#ffffff;
  --card-soft:#f7fbff;
  --text:#0f172a;
  --text-2:#475569;
  --muted:#64748b;
  --border:#cbdbea;
  --line:#d6e3ef;
  --accent:#2563eb;
  --accent-2:#0891b2;
  --shell-primary:#2563eb;
  --shell-primary-2:#0891b2;
  --shell-secondary:#14b8a6;
  --shell-panel:#ffffff;
  --shell-panel-2:#f7fbff;
  --shell-border:#cbdbea;
  --shell-text:#0f172a;
  --shell-text-2:#475569;
  --shell-text-soft:#64748b;
  --i40-blue:#2563eb;
  --i40-blue-deep:#1d4ed8;
  --i40-cyan:#0891b2;
  --i40-green:#16a34a;
  --i40-amber:#d97706;
  --i40-red:#dc2626;
  --i40-ink:#0f172a;
  --i40-muted:#64748b;
  --i40-panel:#ffffff;
  --i40-panel-soft:#f7fbff;
  --i40-panel-glass:rgba(255,255,255,.88);
  --i40-stroke:#cbdbea;
  --i40-stroke-strong:#b6cadd;
  --i40-shadow:0 16px 40px rgba(15,23,42,.08);
  --i40-shadow-lg:0 24px 64px rgba(15,23,42,.12);
}
html[data-theme="dark"] body.app-shell{
  --brand-primary:#60a5fa;
  --brand-primary-strong:#3b82f6;
  --brand-secondary:#22d3ee;
  --brand-accent:#2dd4bf;
  --brand-success:#4ade80;
  --brand-warning:#fbbf24;
  --brand-danger:#fb7185;
  --bg:#07111f;
  --page-bg:#081424;
  --panel:#0f2135;
  --panel-alt:#132a43;
  --card:#0f2135;
  --card-soft:#12283f;
  --text:#e8f3ff;
  --text-2:#b6c7dc;
  --muted:#91a4bb;
  --border:#28415c;
  --line:#243a54;
  --accent:#60a5fa;
  --accent-2:#22d3ee;
  --shell-primary:#60a5fa;
  --shell-primary-2:#22d3ee;
  --shell-secondary:#2dd4bf;
  --shell-panel:#0f2135;
  --shell-panel-2:#12283f;
  --shell-border:#28415c;
  --shell-text:#e8f3ff;
  --shell-text-2:#b6c7dc;
  --shell-text-soft:#91a4bb;
  --i40-blue:#60a5fa;
  --i40-blue-deep:#3b82f6;
  --i40-cyan:#22d3ee;
  --i40-green:#4ade80;
  --i40-amber:#fbbf24;
  --i40-red:#fb7185;
  --i40-ink:#e8f3ff;
  --i40-muted:#91a4bb;
  --i40-panel:#0f2135;
  --i40-panel-soft:#12283f;
  --i40-panel-glass:rgba(15,33,53,.90);
  --i40-stroke:#28415c;
  --i40-stroke-strong:#36536f;
  --i40-shadow:0 18px 48px rgba(0,0,0,.32);
  --i40-shadow-lg:0 28px 74px rgba(0,0,0,.42);
}
html[data-theme] body.app-shell{
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--brand-primary) 5%,transparent),transparent 260px),
    linear-gradient(90deg,color-mix(in srgb,var(--brand-primary) 8%,transparent) 1px,transparent 1px),
    linear-gradient(0deg,color-mix(in srgb,var(--brand-secondary) 7%,transparent) 1px,transparent 1px),
    var(--page-bg);
  background-size:auto,28px 28px,28px 28px,auto;
  color:var(--text);
}
html[data-theme] body.app-shell .topbar,
html[data-theme] body.app-shell .sidebar,
html[data-theme] body.app-shell .card,
html[data-theme] body.app-shell .card-lite,
html[data-theme] body.app-shell .modal-card,
html[data-theme] body.app-shell .table-wrap,
html[data-theme] body.app-shell .topbar-dropdown,
html[data-theme] body.app-shell .topbar-user,
html[data-theme] body.app-shell .page-head:not(.hero-panel),
html[data-theme] body.app-shell .station-mini-card,
html[data-theme] body.app-shell .metric-card,
html[data-theme] body.app-shell .entity-card,
html[data-theme] body.app-shell .section-card,
html[data-theme] body.app-shell .queue-card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--card) 92%,transparent),color-mix(in srgb,var(--card-soft) 82%,transparent));
  border-color:var(--line);
  color:var(--text);
}
html[data-theme] body.app-shell .muted,
html[data-theme] body.app-shell .small,
html[data-theme] body.app-shell .metric-title,
html[data-theme] body.app-shell .label{
  color:var(--muted);
}
html[data-theme] body.app-shell .nav-link,
html[data-theme] body.app-shell .nav-group-head,
html[data-theme] body.app-shell .topbar-title,
html[data-theme] body.app-shell .card-title,
html[data-theme] body.app-shell h1,
html[data-theme] body.app-shell h2,
html[data-theme] body.app-shell h3{
  color:var(--text);
}
html[data-theme] body.app-shell .nav-link.active,
html[data-theme] body.app-shell .nav-link.is-active,
html[data-theme] body.app-shell .nav-group.is-open > .nav-group-head,
html[data-theme] body.app-shell .uas-tabs a.active{
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 20%,var(--card)),color-mix(in srgb,var(--brand-secondary) 16%,var(--card)));
  border-color:color-mix(in srgb,var(--brand-primary) 34%,var(--line));
  color:var(--text);
}
html[data-theme] body.app-shell .btn.primary,
html[data-theme] body.app-shell .news-band-label,
html[data-theme] body.app-shell .uas-tabs a.active{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong) 58%,var(--brand-secondary));
  border-color:color-mix(in srgb,var(--brand-primary) 48%,var(--line));
  color:#fff;
}
html[data-theme] body.app-shell input,
html[data-theme] body.app-shell select,
html[data-theme] body.app-shell textarea,
html[data-theme] body.app-shell .input,
html[data-theme] body.app-shell .topbar-search,
html[data-theme] body.app-shell .topbar-search-input{
  background:var(--card-soft);
  border-color:var(--line);
  color:var(--text);
}
html[data-theme] body.app-shell input::placeholder,
html[data-theme] body.app-shell textarea::placeholder,
html[data-theme] body.app-shell .topbar-search-input::placeholder{
  color:var(--muted);
}
body.app-shell .topbar{
  display:grid;
  grid-template-columns:minmax(250px,360px) minmax(240px,1fr) max-content;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible;
}
body.app-shell .topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  width:auto;
  max-width:360px;
}
body.app-shell .topbar-context{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
body.app-shell .topbar-kicker,
body.app-shell .topbar-title{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .topbar-center{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  overflow:visible;
}
body.app-shell .topbar-search{
  display:flex;
  align-items:center;
  width:100%;
  max-width:540px;
  min-width:220px;
  flex:1 1 380px;
  overflow:hidden;
}
body.app-shell .topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:auto;
  min-width:0;
  max-width:max-content;
  flex:0 0 auto;
  overflow:visible;
  white-space:nowrap;
}
body.app-shell .topbar-actions > *,
body.app-shell .topbar-drop-wrap,
body.app-shell .quick-ops-wrap,
body.app-shell .topbar-mobile-menu-wrap{
  flex:0 0 auto;
  min-width:0;
  overflow:visible;
}
body.app-shell .quick-ops-wrap,
body.app-shell .topbar-mobile-menu-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  width:42px;
  min-width:42px;
  max-width:42px;
  height:42px;
}
body.app-shell .topbar-icon,
body.app-shell button.topbar-icon,
body.app-shell label.topbar-icon,
body.app-shell a.topbar-icon,
body.app-shell .topbar-actions .topbar-icon,
body.app-shell .topbar-left .topbar-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-width:42px;
  max-width:42px;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:0;
  margin:0;
  border-radius:15px;
  flex:0 0 42px;
  line-height:1;
  white-space:nowrap;
  overflow:visible;
  text-align:center;
  color:var(--text);
  background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--card-soft) 82%,transparent));
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.35);
}
html[data-theme="dark"] body.app-shell .topbar-icon,
html[data-theme="dark"] body.app-shell button.topbar-icon,
html[data-theme="dark"] body.app-shell label.topbar-icon,
html[data-theme="dark"] body.app-shell a.topbar-icon{
  box-shadow:0 10px 26px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
}
body.app-shell .topbar-icon:hover,
body.app-shell button.topbar-icon:hover,
body.app-shell label.topbar-icon:hover,
body.app-shell a.topbar-icon:hover{
  border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--line));
  color:var(--brand-primary);
  transform:translateY(-1px);
}
body.app-shell .topbar-icon svg,
body.app-shell .topbar-icon > svg,
body.app-shell .topbar-icon [aria-hidden="true"]{
  width:20px;
  min-width:20px;
  max-width:20px;
  height:20px;
  min-height:20px;
  max-height:20px;
  display:block;
  flex:0 0 20px;
  color:currentColor;
  stroke:currentColor;
  overflow:visible;
}
body.app-shell .topbar-icon span:not(.topbar-badge):not([data-theme-icon]){
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.app-shell .theme-toggle [data-theme-icon]{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  font-size:18px;
  line-height:1;
  color:currentColor;
}
body.app-shell .topbar-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:var(--brand-warning);
  color:#111827;
  font-size:10px;
  font-weight:900;
  line-height:1;
  border:1px solid var(--card);
}
body.app-shell .topbar-user{
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-width:118px;
  max-width:210px;
  height:44px;
  flex:0 0 auto;
  overflow:hidden;
  padding:5px 10px;
}
body.app-shell .topbar-user-info,
body.app-shell .topbar-user-text{
  min-width:0;
  overflow:hidden;
}
body.app-shell .topbar-user-name,
body.app-shell .topbar-user-role{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .asm360-mobile-widget-state{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  clip-path:inset(50%);
}
body.app-shell .topbar-mobile-menu-wrap #mobileQuickMenu{
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:2147482600;
}
body.app-shell #asm360MobileWidgetState:checked ~ #mobileQuickMenu,
body.app-shell .topbar-mobile-menu-wrap.is-open #mobileQuickMenu,
body.app-shell.mobile-quick-menu-open #mobileQuickMenu{
  display:block;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
body.app-shell .topbar-mobile-menu{
  width:min(420px,calc(100vw - 24px));
  max-width:min(420px,calc(100vw - 24px));
  max-height:min(78dvh,680px);
  overflow:auto;
}
@media (min-width:1280px){
  body.app-shell .topbar-search{max-width:600px;}
}
@media (max-width:1180px){
  body.app-shell .topbar{
    grid-template-columns:minmax(190px,1fr) auto;
    gap:10px;
    padding:9px 10px;
  }
  body.app-shell .topbar-center{display:none;}
  body.app-shell .topbar-left{max-width:none;}
  body.app-shell .topbar-actions{gap:7px;}
  body.app-shell .topbar-desktop-only,
  body.app-shell .quick-ops-wrap.topbar-desktop-only{display:none;}
  body.app-shell .topbar-mobile-menu-wrap{display:inline-flex;}
}
@media (max-width:760px){
  body.app-shell .topbar{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:58px;
    border-radius:18px;
  }
  body.app-shell .topbar-kicker{font-size:10px;letter-spacing:.10em;}
  body.app-shell .topbar-title{font-size:16px;}
  body.app-shell .topbar-actions{gap:6px;}
  body.app-shell .topbar-icon,
  body.app-shell button.topbar-icon,
  body.app-shell label.topbar-icon,
  body.app-shell a.topbar-icon,
  body.app-shell .topbar-actions .topbar-icon,
  body.app-shell .topbar-left .topbar-icon{
    width:40px;
    min-width:40px;
    max-width:40px;
    height:40px;
    min-height:40px;
    max-height:40px;
    flex-basis:40px;
    border-radius:14px;
  }
  body.app-shell .quick-ops-wrap,
  body.app-shell .topbar-mobile-menu-wrap{
    width:40px;
    min-width:40px;
    max-width:40px;
    height:40px;
  }
  body.app-shell .topbar-user{min-width:42px;width:42px;max-width:42px;padding:4px;justify-content:center;}
  body.app-shell .topbar-user-info,
  body.app-shell .topbar-user-text{display:none;}
  body.app-shell .topbar-mobile-menu-wrap #mobileQuickMenu{
    position:fixed;
    top:calc(env(safe-area-inset-top,0px) + 70px);
    left:10px;
    right:10px;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px));
  }
}
@media (max-width:480px){
  body.app-shell .topbar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
  }
  body.app-shell .topbar-context{max-width:calc(100vw - 226px);}
  body.app-shell .topbar-actions{
    display:inline-flex;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    gap:5px;
    flex:0 0 auto;
    overflow:visible;
  }
  body.app-shell .topbar-actions .topbar-icon,
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-actions .theme-toggle,
  body.app-shell .topbar-actions .topbar-mobile-menu-btn,
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions .topbar-audio-toggle,
  body.app-shell .topbar-mobile-menu-wrap,
  body.app-shell .topbar-mobile-menu-wrap .topbar-mobile-menu-btn{
    display:inline-flex;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    width:38px;
    min-width:38px;
    max-width:38px;
    height:38px;
    min-height:38px;
    max-height:38px;
    flex:0 0 38px;
    padding:0;
    border-radius:13px;
  }
  body.app-shell .topbar-icon svg,
  body.app-shell .topbar-icon > svg{
    width:19px;
    height:19px;
    min-width:19px;
    min-height:19px;
    max-width:19px;
    max-height:19px;
    flex-basis:19px;
  }
  body.app-shell .topbar-actions .topbar-icon:nth-last-child(n/**/+4){display:inline-flex;}
}
@media (max-width:390px){
  body.app-shell .topbar-context{max-width:calc(100vw - 210px);}
  body.app-shell .topbar-actions{gap:4px;}
  body.app-shell .topbar-actions .topbar-icon,
  body.app-shell .topbar-actions > .theme-toggle,
  body.app-shell .topbar-actions .theme-toggle,
  body.app-shell .topbar-actions .topbar-mobile-menu-btn,
  body.app-shell .topbar-actions .topbar-assistant-shortcut,
  body.app-shell .topbar-actions .topbar-audio-toggle,
  body.app-shell .topbar-mobile-menu-wrap,
  body.app-shell .topbar-mobile-menu-wrap .topbar-mobile-menu-btn{
    width:36px;
    min-width:36px;
    max-width:36px;
    height:36px;
    min-height:36px;
    max-height:36px;
    flex-basis:36px;
  }
}
html[data-theme="light"] body.app-shell{
  --tc375-bg:#edf6fb;
  --tc375-surface:#ffffff;
  --tc375-surface-soft:#f6fbff;
  --tc375-text:#0e1b2a;
  --tc375-muted:#54657b;
  --tc375-line:#c8d9e8;
  --tc375-line-strong:#adc4d8;
  --tc375-brand:#2563eb;
  --tc375-brand-2:#0891b2;
  --tc375-brand-3:#14b8a6;
  --tc375-good:#16a34a;
  --tc375-warn:#d97706;
  --tc375-danger:#dc2626;
  --tc375-shadow:0 16px 42px rgba(15,23,42,.075);
  --tc375-shadow-soft:0 10px 28px rgba(15,23,42,.055);
  --bg:var(--tc375-bg);
  --page-bg:var(--tc375-bg);
  --panel:var(--tc375-surface);
  --panel-alt:var(--tc375-surface-soft);
  --card:var(--tc375-surface);
  --card-soft:var(--tc375-surface-soft);
  --text:var(--tc375-text);
  --text-2:var(--tc375-muted);
  --muted:var(--tc375-muted);
  --border:var(--tc375-line);
  --line:var(--tc375-line);
  --accent:var(--tc375-brand);
  --accent-2:var(--tc375-brand-2);
  --shell-primary:var(--tc375-brand);
  --shell-primary-2:var(--tc375-brand-2);
  --shell-secondary:var(--tc375-brand-3);
  --shell-panel:var(--tc375-surface);
  --shell-panel-2:var(--tc375-surface-soft);
  --shell-border:var(--tc375-line);
  --shell-text:var(--tc375-text);
  --shell-text-2:var(--tc375-muted);
  --i40-blue:var(--tc375-brand);
  --i40-blue-deep:#1d4ed8;
  --i40-cyan:var(--tc375-brand-2);
  --i40-green:var(--tc375-good);
  --i40-amber:var(--tc375-warn);
  --i40-red:var(--tc375-danger);
  --i40-ink:var(--tc375-text);
  --i40-muted:var(--tc375-muted);
  --i40-panel:var(--tc375-surface);
  --i40-panel-soft:var(--tc375-surface-soft);
  --i40-panel-glass:rgba(255,255,255,.90);
  --i40-stroke:var(--tc375-line);
  --i40-stroke-strong:var(--tc375-line-strong);
  --i40-shadow:var(--tc375-shadow);
  --i40-shadow-lg:0 24px 68px rgba(15,23,42,.12);
}
html[data-theme="dark"] body.app-shell{
  --tc375-bg:#07131f;
  --tc375-surface:#0e2033;
  --tc375-surface-soft:#132a42;
  --tc375-text:#e7f2ff;
  --tc375-muted:#a3b4c7;
  --tc375-line:#2a4058;
  --tc375-line-strong:#395675;
  --tc375-brand:#60a5fa;
  --tc375-brand-2:#22d3ee;
  --tc375-brand-3:#2dd4bf;
  --tc375-good:#4ade80;
  --tc375-warn:#fbbf24;
  --tc375-danger:#fb7185;
  --tc375-shadow:0 18px 46px rgba(0,0,0,.34);
  --tc375-shadow-soft:0 10px 28px rgba(0,0,0,.26);
  --bg:var(--tc375-bg);
  --page-bg:var(--tc375-bg);
  --panel:var(--tc375-surface);
  --panel-alt:var(--tc375-surface-soft);
  --card:var(--tc375-surface);
  --card-soft:var(--tc375-surface-soft);
  --text:var(--tc375-text);
  --text-2:var(--tc375-muted);
  --muted:var(--tc375-muted);
  --border:var(--tc375-line);
  --line:var(--tc375-line);
  --accent:var(--tc375-brand);
  --accent-2:var(--tc375-brand-2);
  --shell-primary:var(--tc375-brand);
  --shell-primary-2:var(--tc375-brand-2);
  --shell-secondary:var(--tc375-brand-3);
  --shell-panel:var(--tc375-surface);
  --shell-panel-2:var(--tc375-surface-soft);
  --shell-border:var(--tc375-line);
  --shell-text:var(--tc375-text);
  --shell-text-2:var(--tc375-muted);
  --i40-blue:var(--tc375-brand);
  --i40-blue-deep:#3b82f6;
  --i40-cyan:var(--tc375-brand-2);
  --i40-green:var(--tc375-good);
  --i40-amber:var(--tc375-warn);
  --i40-red:var(--tc375-danger);
  --i40-ink:var(--tc375-text);
  --i40-muted:var(--tc375-muted);
  --i40-panel:var(--tc375-surface);
  --i40-panel-soft:var(--tc375-surface-soft);
  --i40-panel-glass:rgba(14,32,51,.92);
  --i40-stroke:var(--tc375-line);
  --i40-stroke-strong:var(--tc375-line-strong);
  --i40-shadow:var(--tc375-shadow);
  --i40-shadow-lg:0 28px 78px rgba(0,0,0,.44);
}
html[data-theme] body.app-shell{
  color:var(--tc375-text);
  background:
    radial-gradient(circle at 18% 0,color-mix(in srgb,var(--tc375-brand) 10%,transparent),transparent 28%),
    radial-gradient(circle at 92% 6%,color-mix(in srgb,var(--tc375-brand-2) 9%,transparent),transparent 26%),
    linear-gradient(90deg,color-mix(in srgb,var(--tc375-brand) 7%,transparent) 1px,transparent 1px),
    linear-gradient(0deg,color-mix(in srgb,var(--tc375-brand-2) 6%,transparent) 1px,transparent 1px),
    var(--tc375-bg);
  background-size:auto,auto,28px 28px,28px 28px,auto;
}
body.app-shell .content{padding-top:18px;}
body.app-shell .topbar{
  display:grid;
  grid-template-columns:minmax(250px,360px) minmax(280px,1fr) max-content;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:9px 12px;
  width:100%;
  max-width:100%;
  overflow:visible;
  border-radius:22px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--tc375-surface) 94%,transparent),color-mix(in srgb,var(--tc375-surface-soft) 86%,transparent));
  border:1px solid var(--tc375-line);
  box-shadow:var(--tc375-shadow-soft);
}
body.app-shell .topbar-left{display:flex;align-items:center;gap:10px;min-width:0;max-width:360px;overflow:hidden;}
body.app-shell .topbar-context{min-width:0;overflow:hidden;}
body.app-shell .topbar-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--tc375-brand);}
body.app-shell .topbar-title{font-size:17px;font-weight:900;letter-spacing:-.025em;color:var(--tc375-text);}
body.app-shell .topbar-kicker,
body.app-shell .topbar-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .topbar-center{display:flex;align-items:center;justify-content:center;min-width:0;overflow:visible;}
body.app-shell .topbar-search{width:100%;max-width:620px;min-width:240px;flex:1 1 420px;border-radius:18px;background:var(--tc375-surface-soft);border:1px solid var(--tc375-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.34);}
body.app-shell .topbar-search-input{height:42px;color:var(--tc375-text);font-weight:650;background:transparent;border:0;box-shadow:none;}
body.app-shell .topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;width:auto;max-width:max-content;overflow:visible;white-space:nowrap;}
body.app-shell .topbar-actions > *{flex:0 0 auto;}
body.app-shell .topbar-mobile-menu-wrap{display:none;}
body.app-shell .quick-ops-wrap{display:inline-flex;}
body.app-shell .topbar-icon,
body.app-shell button.topbar-icon,
body.app-shell label.topbar-icon,
body.app-shell a.topbar-icon,
body.app-shell .topbar-left .topbar-icon,
body.app-shell .topbar-actions .topbar-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-width:42px;
  max-width:42px;
  height:42px;
  min-height:42px;
  max-height:42px;
  flex:0 0 42px;
  padding:0;
  border-radius:15px;
  color:var(--tc375-text);
  background:linear-gradient(180deg,color-mix(in srgb,var(--tc375-surface) 96%,transparent),color-mix(in srgb,var(--tc375-surface-soft) 86%,transparent));
  border:1px solid var(--tc375-line);
  box-shadow:var(--tc375-shadow-soft),inset 0 1px 0 rgba(255,255,255,.24);
  overflow:visible;
  white-space:nowrap;
  line-height:1;
}
body.app-shell .topbar-icon:hover,
body.app-shell button.topbar-icon:hover,
body.app-shell label.topbar-icon:hover,
body.app-shell a.topbar-icon:hover{
  color:var(--tc375-brand);
  border-color:color-mix(in srgb,var(--tc375-brand) 42%,var(--tc375-line));
  transform:translateY(-1px);
}
body.app-shell .topbar-icon svg,
body.app-shell .topbar-icon > svg{
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  max-width:20px;
  max-height:20px;
  flex:0 0 20px;
  display:block;
  color:currentColor;
  stroke:currentColor;
}
body.app-shell .topbar-badge{z-index:3;box-shadow:0 0 0 2px var(--tc375-surface);}
body.app-shell .topbar-user{height:42px;min-width:116px;max-width:205px;width:auto;display:flex;align-items:center;gap:9px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--tc375-brand-3) 10%,var(--tc375-surface)),var(--tc375-surface));border-color:var(--tc375-line);}
body.app-shell .topbar-user-info,
body.app-shell .topbar-user-text{min-width:0;overflow:hidden;}
body.app-shell .topbar-user-name,
body.app-shell .topbar-user-role{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--tc375-surface) 96%,transparent),color-mix(in srgb,var(--tc375-surface-soft) 86%,transparent));border-color:var(--tc375-line);box-shadow:var(--tc375-shadow);}
body.app-shell .brand-panel,
body.app-shell .sidebar-footer{background:linear-gradient(180deg,color-mix(in srgb,var(--tc375-surface) 94%,transparent),color-mix(in srgb,var(--tc375-surface-soft) 86%,transparent));border-color:var(--tc375-line);}
body.app-shell .sidebar .nav-group{border-radius:18px;background:color-mix(in srgb,var(--tc375-surface-soft) 78%,transparent);border:1px solid color-mix(in srgb,var(--tc375-line) 70%,transparent);}
body.app-shell .sidebar .nav-group-head,
body.app-shell .sidebar .nav-link{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  column-gap:12px;
  width:100%;
  min-height:44px;
  padding:9px 12px;
  overflow:visible;
  color:var(--tc375-text);
  border-radius:15px;
}
body.app-shell .sidebar .nav-group-head .nav-ico,
body.app-shell .sidebar .nav-link .nav-ico{
  grid-column:1;
  width:22px;
  min-width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  margin:0;
  color:currentColor;
}
body.app-shell .sidebar .nav-group-head .nav-ico svg,
body.app-shell .sidebar .nav-link .nav-ico svg{width:20px;height:20px;display:block;}
body.app-shell .sidebar .nav-text{grid-column:2;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;}
body.app-shell .sidebar .nav-label{display:block;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;font-weight:820;line-height:1.2;padding:0;margin:0;color:inherit;}
body.app-shell .sidebar .nav-caret{grid-column:3;width:18px;height:18px;margin:0;color:var(--tc375-muted);}
body.app-shell .sidebar .nav-badge{flex:0 0 auto;margin-left:auto;}
body.app-shell .sidebar .nav-link:hover,
body.app-shell .sidebar .nav-group-head:hover{background:color-mix(in srgb,var(--tc375-brand) 9%,var(--tc375-surface));border-color:color-mix(in srgb,var(--tc375-brand) 20%,var(--tc375-line));}
body.app-shell .sidebar .nav-link.active,
body.app-shell .sidebar .nav-link.is-active,
body.app-shell .sidebar .nav-group-head.active,
body.app-shell .sidebar .nav-group-head.is-open{background:linear-gradient(135deg,color-mix(in srgb,var(--tc375-brand) 15%,var(--tc375-surface)),color-mix(in srgb,var(--tc375-brand-2) 12%,var(--tc375-surface)));border-color:color-mix(in srgb,var(--tc375-brand) 36%,var(--tc375-line));}
body.app-shell .page-head,
body.app-shell .card,
body.app-shell .card-lite,
body.app-shell .metric-card,
body.app-shell .entity-card,
body.app-shell .section-card,
body.app-shell .queue-card,
body.app-shell .station-mini-card,
body.app-shell .table-wrap{
  background:linear-gradient(180deg,color-mix(in srgb,var(--tc375-surface) 94%,transparent),color-mix(in srgb,var(--tc375-surface-soft) 84%,transparent));
  border-color:var(--tc375-line);
  box-shadow:var(--tc375-shadow-soft);
  color:var(--tc375-text);
}
body.app-shell h1,
body.app-shell h2,
body.app-shell h3,
body.app-shell .card-title{color:var(--tc375-text);font-weight:900;letter-spacing:-.035em;}
body.app-shell .muted,
body.app-shell .small,
body.app-shell .label{color:var(--tc375-muted);}
body.app-shell .btn:not(.topbar-icon),
body.app-shell button.btn:not(.topbar-icon),
body.app-shell a.btn:not(.topbar-icon){
  width:auto;
  max-width:100%;
  min-height:40px;
  min-width:96px;
  padding:9px 15px;
  border-radius:13px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
}
body.app-shell .btn.primary:not(.topbar-icon){background:linear-gradient(135deg,var(--tc375-brand),#1d4ed8 58%,var(--tc375-brand-2));color:#fff;border-color:color-mix(in srgb,var(--tc375-brand) 42%,var(--tc375-line));box-shadow:0 14px 28px color-mix(in srgb,var(--tc375-brand) 20%,transparent);}
body.app-shell .btn.full,
body.app-shell .btn.block,
body.app-shell .btn.btn-block{width:100%;}
body.app-shell input,
body.app-shell select,
body.app-shell textarea,
body.app-shell .input{background:var(--tc375-surface-soft);border-color:var(--tc375-line);color:var(--tc375-text);border-radius:14px;}
body.app-shell input:focus,
body.app-shell select:focus,
body.app-shell textarea:focus,
body.app-shell .input:focus{border-color:color-mix(in srgb,var(--tc375-brand) 55%,var(--tc375-line));box-shadow:0 0 0 4px color-mix(in srgb,var(--tc375-brand) 13%,transparent);outline:0;}
body.app-shell .table{border-collapse:separate;border-spacing:0;width:100%;}
body.app-shell .table th{background:color-mix(in srgb,var(--tc375-brand) 7%,var(--tc375-surface-soft));color:color-mix(in srgb,var(--tc375-text) 84%,var(--tc375-muted));}
body.app-shell .table td,
body.app-shell .table th{border-color:var(--tc375-line);color:var(--tc375-text);}
@media (max-width:1180px){
  body.app-shell .topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;}
  body.app-shell .topbar-center{display:none;}
  body.app-shell .quick-ops-wrap{display:none;}
  body.app-shell .topbar-mobile-menu-wrap{display:inline-flex;align-items:center;justify-content:center;position:relative;width:42px;min-width:42px;max-width:42px;height:42px;flex:0 0 42px;overflow:visible;}
  body.app-shell .topbar-left{max-width:none;}
}
@media (max-width:760px){
  body.app-shell .topbar{min-height:58px;padding:8px 9px;border-radius:18px;}
  body.app-shell .topbar-kicker{font-size:10px;}
  body.app-shell .topbar-title{font-size:15.5px;}
  body.app-shell .topbar-icon,
  body.app-shell button.topbar-icon,
  body.app-shell label.topbar-icon,
  body.app-shell a.topbar-icon,
  body.app-shell .topbar-mobile-menu-wrap{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;flex-basis:40px;border-radius:14px;}
  body.app-shell .topbar-user{width:42px;min-width:42px;max-width:42px;padding:4px;justify-content:center;}
  body.app-shell .topbar-user-info,
  body.app-shell .topbar-user-text{display:none;}
}
@media (max-width:480px){
  body.app-shell .topbar{gap:7px;}
  body.app-shell .topbar-context{max-width:calc(100vw - 224px);}
  body.app-shell .topbar-actions{gap:5px;}
  body.app-shell .topbar-icon,
  body.app-shell button.topbar-icon,
  body.app-shell label.topbar-icon,
  body.app-shell a.topbar-icon,
  body.app-shell .topbar-mobile-menu-wrap{display:inline-flex;visibility:visible;opacity:1;pointer-events:auto;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;max-height:38px;flex:0 0 38px;border-radius:13px;}
  body.app-shell .topbar-actions .topbar-icon:nth-last-child(n/**/+4){display:inline-flex;}
}
@media (max-width:640px){
  body.app-shell .table-wrap,
  body.app-shell .responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.app-shell table.table,
  body.app-shell table.rbac-table,
  body.app-shell .rbac-table{display:table;min-width:760px;width:100%;}
  body.app-shell .table thead,
  body.app-shell .rbac-table thead{display:table-header-group;}
  body.app-shell .table tbody,
  body.app-shell .rbac-table tbody{display:table-row-group;}
  body.app-shell .table tr,
  body.app-shell .rbac-table tr{display:table-row;padding:0;border:0;}
  body.app-shell .table th,
  body.app-shell .table td,
  body.app-shell .rbac-table th,
  body.app-shell .rbac-table td{display:table-cell;padding:10px 12px;border-bottom:1px solid var(--tc375-line);}
  body.app-shell .rbac-table td::before{content:none;display:none;}
}
body.app-shell .db-storage-page{display:grid;gap:16px;}
body.app-shell .db-storage-hero{align-items:center;}
body.app-shell .db-storage-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;}
body.app-shell .db-storage-kpis article{padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--card-soft) 84%,transparent));box-shadow:var(--tc375-shadow-soft,0 10px 28px rgba(15,23,42,.055));min-width:0;}
body.app-shell .db-storage-kpis span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);}
body.app-shell .db-storage-kpis strong{display:block;margin-top:8px;font-size:clamp(23px,2.2vw,34px);line-height:1;color:var(--text);overflow-wrap:anywhere;}
body.app-shell .db-storage-kpis small{display:block;margin-top:8px;color:var(--muted);line-height:1.35;}
body.app-shell .db-storage-grid{align-items:stretch;}
body.app-shell .db-ready-list{display:grid;gap:9px;}
body.app-shell .db-ready-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft);}
body.app-shell .db-ready-row strong{min-width:0;overflow-wrap:anywhere;}
body.app-shell .db-ready-row span{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px;background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);}
body.app-shell .db-ready-row.ok span{background:color-mix(in srgb,var(--tc375-good,#16a34a) 16%,transparent);color:var(--tc375-good,#16a34a);}
body.app-shell .db-ready-row.pending span{background:color-mix(in srgb,var(--tc375-warn,#d97706) 16%,transparent);color:var(--tc375-warn,#d97706);}
body.app-shell .db-plan-list{margin:0;padding-left:22px;display:grid;gap:8px;color:var(--text);}
body.app-shell .db-plan-list li{line-height:1.45;}
@media (max-width:1180px){body.app-shell .db-storage-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){body.app-shell .db-storage-kpis{grid-template-columns:1fr;}body.app-shell .db-ready-row{align-items:flex-start;flex-direction:column;}}
body.app-shell .db-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin-top:4px;}
body.app-shell .db-preview-grid article{padding:15px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--card-soft) 86%,transparent));box-shadow:var(--tc375-shadow-soft,0 10px 28px rgba(15,23,42,.055));min-width:0;}
body.app-shell .db-preview-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);}
body.app-shell .db-preview-grid strong{display:block;margin-top:8px;font-size:clamp(22px,2vw,31px);line-height:1;color:var(--text);overflow-wrap:anywhere;}
body.app-shell .db-preview-grid small{display:block;margin-top:7px;color:var(--muted);line-height:1.35;}
body.app-shell .db-preview-grid.compact article{padding:13px;}
@media (max-width:1180px){body.app-shell .db-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){body.app-shell .db-preview-grid{grid-template-columns:1fr;}}
body.app-shell .compact-form { align-items: end; gap: 12px; }
body.app-shell .inline-actions { display: flex; align-items: end; justify-content: flex-start; min-width: 0; }
body.app-shell .inline-actions .btn { width: auto; min-width: 170px; max-width: 260px; }
body.app-shell .db-preview-panel .panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
body.app-shell .db-preview-card strong { display:block; font-size: clamp(20px, 2.2vw, 30px); line-height:1.05; }
body.app-shell .data-table .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86rem; white-space: nowrap; }
@media (max-width: 720px) {
  body.app-shell .form-grid.form-grid-4.compact-form { grid-template-columns: 1fr; }
  body.app-shell .inline-actions .btn { width: auto; max-width: 100%; }
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn,
body.app-shell .icon-btn,
body.app-shell .topbar-icon,
body.app-shell .chip,
body.app-shell .pill,
body.app-shell .badge,
body.app-shell .nav-link,
body.app-shell .table th,
body.app-shell .data-table th {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn {
  white-space: normal;
  width: auto;
  max-width: 100%;
  min-inline-size: max-content;
}
body.app-shell .btn.sm,
body.app-shell .btn.small,
body.app-shell .pill,
body.app-shell .badge,
body.app-shell .chip,
body.app-shell .topbar-icon,
body.app-shell .icon-btn {
  white-space: nowrap;
}
body.app-shell .table td,
body.app-shell .data-table td {
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
body.app-shell .table td > strong:first-child,
body.app-shell .data-table td > strong:first-child,
body.app-shell .mono,
body.app-shell .sku,
body.app-shell [data-nowrap],
body.app-shell .nowrap {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--surface);
}
body.app-shell .table-wrap .table,
body.app-shell .responsive-table .table,
body.app-shell .table-scroll .table,
body.app-shell .table-wrap .data-table,
body.app-shell .responsive-table .data-table,
body.app-shell .table-scroll .data-table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}
body.app-shell .table thead th,
body.app-shell .data-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-soft);
  color: var(--text);
  font-weight: 800;
  letter-spacing: .01em;
  vertical-align: middle;
  box-shadow: 0 1px 0 var(--border);
}
body.app-shell .table tbody tr:hover,
body.app-shell .data-table tbody tr:hover {
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}
body.app-shell .tc-advanced-table-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
body.app-shell .tc-advanced-table-toolbar .input { width: min(320px, 100%); }
body.app-shell th[data-tc-sort] { cursor: pointer; user-select: none; }
body.app-shell th[data-tc-sort]::after { content: " ↕"; color: var(--muted); font-size: .82em; }
body.app-shell th[data-tc-sort="asc"]::after { content: " ↑"; color: var(--accent); }
body.app-shell th[data-tc-sort="desc"]::after { content: " ↓"; color: var(--accent); }
body.app-shell .inventory-pack-count {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 76px;
  padding: 5px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  color: var(--success);
  border: 1px solid color-mix(in srgb, var(--success) 38%, var(--border));
  font-weight: 850;
  white-space: nowrap;
}
body.app-shell .stock-presence-summary {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin:14px 0;
}
body.app-shell .stock-presence-summary .metric-card { min-height: 104px; }
body.app-shell .form-grid.form-grid-4 { align-items: end; }
@media (max-width: 760px){
  body.app-shell .btn,
  body.app-shell button.btn,
  body.app-shell a.btn { min-inline-size: auto; }
  body.app-shell .page-head .actions { justify-content: flex-start; }
  body.app-shell .tc-advanced-table-toolbar { align-items: stretch; }
  body.app-shell .tc-advanced-table-toolbar .input { width: 100%; }
}
body.app-shell,
body.app-shell .page,
body.app-shell .card,
body.app-shell .section-card,
body.app-shell .table,
body.app-shell .table th,
body.app-shell .table td,
body.app-shell .data-table,
body.app-shell .data-table th,
body.app-shell .data-table td,
body.app-shell .btn,
body.app-shell .pill,
body.app-shell .badge,
body.app-shell .chip,
body.app-shell .metric-title,
body.app-shell .metric-sub,
body.app-shell .muted,
body.app-shell .small,
body.app-shell label,
body.app-shell .input {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  min-inline-size: auto;
  max-inline-size: 100%;
  width: auto;
}
body.app-shell .btn.sm,
body.app-shell .btn.small,
body.app-shell .icon-btn,
body.app-shell .topbar-icon,
body.app-shell .pill,
body.app-shell .badge,
body.app-shell .chip,
body.app-shell .inventory-pack-count,
body.app-shell .nowrap,
body.app-shell [data-nowrap] {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
body.app-shell .responsive-table .table,
body.app-shell .table-wrap .table,
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .asx-user-table,
body.app-shell .rbac-table {
  display: table;
  width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
}
body.app-shell .responsive-table .table thead,
body.app-shell .table-wrap .table thead,
body.app-shell .asx-user-table thead,
body.app-shell .rbac-table thead {
  display: table-header-group;
}
body.app-shell .responsive-table .table tbody,
body.app-shell .table-wrap .table tbody,
body.app-shell .asx-user-table tbody,
body.app-shell .rbac-table tbody {
  display: table-row-group;
}
body.app-shell .responsive-table .table tr,
body.app-shell .table-wrap .table tr,
body.app-shell table.table tr,
body.app-shell .asx-user-table tr,
body.app-shell .rbac-table tr {
  display: table-row;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
body.app-shell .responsive-table .table th,
body.app-shell .responsive-table .table td,
body.app-shell .table-wrap .table th,
body.app-shell .table-wrap .table td,
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell .asx-user-table th,
body.app-shell .asx-user-table td,
body.app-shell .rbac-table th,
body.app-shell .rbac-table td {
  display: table-cell;
  vertical-align: middle;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell .responsive-table .table td::before,
body.app-shell .table-wrap .table td::before,
body.app-shell table.table td::before,
body.app-shell .asx-user-table td::before,
body.app-shell .rbac-table td::before {
  display: none;
  content: none;
}
body.app-shell .table th,
body.app-shell .data-table th,
body.app-shell .asx-user-table th,
body.app-shell .rbac-table th {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: 1.22;
}
body.app-shell .table td > strong:first-child,
body.app-shell .table td .mono,
body.app-shell .table td code,
body.app-shell .sku,
body.app-shell .mono,
body.app-shell .runtime-note-card .mono,
body.app-shell .delivery-route-list .mono {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
body.app-shell .inventory-stock-table .pack-capacity-th,
body.app-shell .inventory-stock-table .pack-capacity-cell {
  min-width: 190px;
}
body.app-shell .inventory-pack-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--success) 14%, var(--surface));
  color: var(--success);
  border: 1px solid color-mix(in srgb, var(--success) 42%, var(--border));
  font-weight: 900;
  letter-spacing: .01em;
}
body.app-shell .tiny {
  font-size: .72rem;
  line-height: 1.25;
}
body.app-shell .metric-sub {
  margin-top: 4px;
  font-size: .75rem;
  color: var(--muted);
}
@media (max-width: 760px){
  body.app-shell .page-head .actions,
  body.app-shell .table-summary .table-tools,
  body.app-shell .row-actions,
  body.app-shell .actions {
    gap: 8px;
  }
  body.app-shell .page-head .actions .btn,
  body.app-shell .table-summary .table-tools .btn,
  body.app-shell .row-actions .btn,
  body.app-shell .actions .btn {
    flex: 0 1 auto;
    min-width: 0;
  }
  body.app-shell .asx-user-table,
  body.app-shell .rbac-table,
  body.app-shell .inventory-stock-table {
    min-width: 920px;
  }
}
html {
  font-size: 15.5px;
}
body.app-shell {
  --font-sans: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-family: var(--font-sans);
  font-size: .97rem;
  font-weight: 460;
  line-height: 1.52;
  letter-spacing: -.006em;
}
html[data-theme="light"] body.app-shell {
  --bg: #eef5fb;
  --bg-grid: rgba(37, 99, 235, .055);
  --surface: #ffffff;
  --surface-soft: #f5f9fd;
  --panel: #ffffff;
  --panel-alt: #f7fbff;
  --border: #d7e2ee;
  --line: #d7e2ee;
  --text: #102033;
  --text-2: #526579;
  --text-soft: #6b7f95;
  --muted: #66788c;
  --primary: #225ecf;
  --primary-hover: #174cae;
  --secondary: #06a6c9;
  --accent: #0ea5e9;
  --success: #16845b;
  --warning: #b7791f;
  --danger: #c43f4f;
  --shadow-sm: 0 10px 28px rgba(31, 63, 103, .09);
  --shadow-md: 0 18px 44px rgba(31, 63, 103, .13);
}
html[data-theme="dark"] body.app-shell,
html:not([data-theme="light"]) body.app-shell {
  --bg: #07111f;
  --bg-grid: rgba(96, 165, 250, .065);
  --surface: #0d1b2e;
  --surface-soft: #12243a;
  --panel: #0f2135;
  --panel-alt: #132a43;
  --border: #25435e;
  --line: #25435e;
  --text: #eef6ff;
  --text-2: #a8b9cc;
  --text-soft: #9fb4c9;
  --muted: #9fb4c9;
  --primary: #56a5ff;
  --primary-hover: #7cc0ff;
  --secondary: #22d3ee;
  --accent: #38bdf8;
  --success: #4ade80;
  --warning: #fbbf24;
  --danger: #fb7185;
  --shadow-sm: 0 12px 32px rgba(0, 0, 0, .26);
  --shadow-md: 0 22px 52px rgba(0, 0, 0, .34);
}
body.app-shell .page-head,
body.app-shell .card,
body.app-shell .section-card,
body.app-shell .table-card,
body.app-shell .modal-card,
body.app-shell .uas-panel {
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, transparent), color-mix(in srgb, var(--surface-soft) 94%, transparent));
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
body.app-shell .page-head h1,
body.app-shell .page-head h2,
body.app-shell h1,
body.app-shell h2,
body.app-shell h3,
body.app-shell .card-title {
  font-family: var(--font-sans);
  color: var(--text);
  font-weight: 850;
  letter-spacing: -.035em;
}
body.app-shell h1 { font-size: clamp(2rem, 3vw, 2.8rem); }
body.app-shell h2 { font-size: clamp(1.55rem, 2.2vw, 2.05rem); }
body.app-shell h3 { font-size: clamp(1.12rem, 1.5vw, 1.35rem); }
body.app-shell .muted,
body.app-shell .small,
body.app-shell .metric-title,
body.app-shell .metric-sub,
body.app-shell .page-head .muted {
  color: var(--muted);
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn {
  border-radius: 12px;
  min-height: 39px;
  padding: 8px 13px;
  font-size: .92rem;
  font-weight: 760;
  letter-spacing: -.01em;
  border-color: color-mix(in srgb, var(--border) 88%, var(--primary));
  background: color-mix(in srgb, var(--surface) 92%, var(--primary));
  color: var(--text);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
}
body.app-shell .btn.primary,
body.app-shell button.btn.primary,
body.app-shell a.btn.primary {
  color: #fff;
  border-color: color-mix(in srgb, var(--primary) 70%, var(--secondary));
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 24%, transparent);
}
body.app-shell .input,
body.app-shell input,
body.app-shell select,
body.app-shell textarea {
  border-radius: 12px;
  border-color: var(--border);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  color: var(--text);
  font-size: .94rem;
}
body.app-shell .table th,
body.app-shell .data-table th,
body.app-shell .rbac-table th,
body.app-shell .asx-user-table th {
  font-size: .76rem;
  letter-spacing: .045em;
  text-transform: uppercase;
  color: var(--text-2);
  background: color-mix(in srgb, var(--surface-soft) 96%, var(--primary));
}
body.app-shell .table td,
body.app-shell .data-table td,
body.app-shell .rbac-table td,
body.app-shell .asx-user-table td {
  font-size: .91rem;
  color: var(--text);
}
body.app-shell .sidebar {
  background: linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #020617), color-mix(in srgb, var(--panel-alt) 88%, #020617));
  border-color: color-mix(in srgb, var(--border) 85%, var(--primary));
}
body.app-shell .nav-link.active,
body.app-shell .nav-group-head.active {
  background: linear-gradient(90deg, color-mix(in srgb, var(--primary) 18%, transparent), color-mix(in srgb, var(--secondary) 10%, transparent));
  color: var(--text);
  box-shadow: inset 3px 0 0 var(--accent);
}
body.app-shell .uas-simple-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
body.app-shell .uas-flow-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 74px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 94%, var(--primary)), color-mix(in srgb, var(--surface-soft) 96%, transparent));
  color: var(--text);
  text-decoration: none;
  box-shadow: var(--shadow-sm);
}
body.app-shell .uas-flow-step b {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  font-weight: 900;
}
body.app-shell .uas-flow-step strong,
body.app-shell .uas-flow-step small {
  display: block;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.app-shell .uas-flow-step strong {
  font-size: .92rem;
  line-height: 1.18;
  color: var(--text);
}
body.app-shell .uas-flow-step small {
  margin-top: 3px;
  font-size: .75rem;
  line-height: 1.28;
  color: var(--muted);
}
@media (max-width: 1100px){
  body.app-shell .uas-simple-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  html { font-size: 15px; }
  body.app-shell .uas-simple-flow { grid-template-columns: 1fr; }
  body.app-shell .content { padding-inline: 12px; }
}
body.app-shell .ai-prompt-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px 0;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
}
body.app-shell .ai-prompt-panel button {
  border: 1px solid color-mix(in srgb, var(--border) 80%, var(--accent));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-soft) 88%, var(--accent));
  color: var(--text);
  min-height: 32px;
  padding: 6px 11px;
  font-size: .8rem;
  font-weight: 760;
  line-height: 1.18;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
body.app-shell .ai-prompt-panel button:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}
body.app-shell .ai-chat-card {
  border-radius: 24px;
  border-color: color-mix(in srgb, var(--border) 82%, var(--accent));
  box-shadow: var(--shadow-md);
}
body.app-shell .ai-chat-log {
  font-size: .94rem;
  line-height: 1.48;
}
@media (max-width: 640px){
  body.app-shell .ai-prompt-panel { padding-inline: 10px; }
  body.app-shell .ai-prompt-panel button { white-space: normal; }
}
.pack-repo-page{
  display:block;
  max-width:none;
  width:100%;
}
.pack-repo-page > * + *{
  margin-top:18px;
}
.pack-repo-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border:1px solid var(--border);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.06)), var(--panel);
  box-shadow:var(--shadow-sm);
}
.pack-repo-hero h1{
  margin:4px 0 8px;
  font-size:clamp(1.9rem, 3vw, 2.55rem);
}
.pack-repo-hero p{
  max-width:920px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.pack-repo-hero--sync{
  background:linear-gradient(135deg, rgba(16,185,129,.10), rgba(37,99,235,.07)), var(--panel);
}
.pack-repo-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pack-repo-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(160px,1fr));
  gap:14px;
}
.pack-repo-kpis--compact{
  grid-template-columns:repeat(3,minmax(160px,1fr));
}
.pack-repo-kpi{
  padding:16px;
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01)), var(--panel);
  box-shadow:var(--shadow-sm);
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.pack-repo-kpi span{
  color:var(--muted);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pack-repo-kpi strong{
  display:block;
  margin:10px 0 8px;
  font-size:clamp(1.8rem, 3vw, 2.65rem);
  line-height:1;
  color:var(--text);
}
.pack-repo-kpi em{
  font-style:normal;
  color:var(--muted);
  font-size:.86rem;
}
.pack-repo-table-card{
  padding:0;
  overflow:hidden;
}
.pack-repo-table-card .table-summary{
  padding:16px 18px;
  border-bottom:1px solid var(--border);
}
.pack-repo-tools{
  min-width:min(100%,720px);
}
.pack-repo-filter-form{
  width:100%;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pack-repo-filter-form .input[type="search"]{
  min-width:220px;
}
.pack-repo-filter-form select.input{
  max-width:150px;
}
.pack-repo-sync-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:16px;
  align-items:stretch;
}
.pack-repo-sync-card{
  min-height:270px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.pack-repo-sync-card .form{
  margin-top:auto;
}
.pack-repo-log-grid{
  align-items:start;
}
.pack-repo-import-page code{
  padding:2px 6px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel-alt);
}
@media (max-width:1180px){
  .pack-repo-kpis{grid-template-columns:repeat(2,minmax(160px,1fr));}
  .pack-repo-kpis--compact{grid-template-columns:repeat(3,minmax(140px,1fr));}
  .pack-repo-sync-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .pack-repo-hero{flex-direction:column;padding:18px;}
  .pack-repo-actions{justify-content:flex-start;width:100%;}
  .pack-repo-kpis,.pack-repo-kpis--compact{grid-template-columns:1fr;}
  .pack-repo-filter-form{justify-content:flex-start;}
  .pack-repo-filter-form .input[type="search"],.pack-repo-filter-form select.input{width:100%;max-width:none;}
}
body.app-shell .content > .pack-repo-page{
  max-width:none;
  width:100%;
  margin:0;
}
body.app-shell .pack-repo-page{
  isolation:isolate;
}
body.app-shell .pack-repo-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--primary) 11%, transparent), transparent 34%),
    radial-gradient(circle at 90% 2%, color-mix(in srgb, var(--secondary) 8%, transparent), transparent 34%);
}
body.app-shell .pack-repo-hero{
  position:relative;
  overflow:hidden;
  min-height:164px;
  border-radius:28px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 88%, var(--primary)), color-mix(in srgb, var(--panel) 94%, var(--secondary))),
    var(--panel);
  box-shadow:0 24px 70px color-mix(in srgb, var(--shadow-color, #020617) 18%, transparent);
}
body.app-shell .pack-repo-hero::after{
  content:"";
  position:absolute;
  right:-90px;
  top:-120px;
  width:310px;
  height:310px;
  border-radius:999px;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%);
  opacity:.72;
}
body.app-shell .pack-repo-hero > *{
  position:relative;
  z-index:1;
}
body.app-shell .pack-repo-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:26px;
  padding:4px 10px;
  border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));
  border-radius:999px;
  background:color-mix(in srgb, var(--accent) 11%, transparent);
  color:var(--accent);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.13em;
}
body.app-shell .pack-repo-hero .eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 0 0 5px color-mix(in srgb, currentColor 16%, transparent);
}
body.app-shell .pack-repo-actions .btn,
body.app-shell .pack-repo-filter-form .btn,
body.app-shell .pack-repo-sync-card .btn{
  min-height:44px;
  border-radius:15px;
  padding-inline:16px;
  font-weight:900;
  box-shadow:0 12px 28px color-mix(in srgb, var(--primary) 10%, transparent);
}
body.app-shell .pack-repo-actions .btn.primary,
body.app-shell .pack-repo-sync-card .btn.primary{
  background:linear-gradient(135deg, var(--primary), var(--accent));
  color:#fff;
}
body.app-shell .pack-repo-kpi{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #fff), color-mix(in srgb, var(--panel-alt) 96%, transparent)),
    var(--panel);
}
body.app-shell .pack-repo-kpi::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-48px;
  width:130px;
  height:130px;
  border-radius:999px;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%);
}
body.app-shell .pack-repo-table-card,
body.app-shell .pack-repo-sync-card,
body.app-shell .pack-repo-log-grid .card{
  border-radius:26px;
  border-color:color-mix(in srgb, var(--border) 78%, var(--accent));
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, #fff), var(--panel));
  box-shadow:0 24px 70px color-mix(in srgb, #020617 12%, transparent);
}
body.app-shell .pack-repo-page .input,
body.app-shell .pack-repo-page input,
body.app-shell .pack-repo-page select{
  min-height:44px;
  border-radius:15px;
  border-color:color-mix(in srgb, var(--border) 82%, var(--accent));
  background:color-mix(in srgb, var(--panel) 93%, transparent);
}
body.app-shell .pack-repo-page .table-wrap{
  border-radius:20px;
  border:1px solid var(--border);
  background:var(--panel);
}
body.app-shell .pack-repo-page table.table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 14%, var(--panel)), color-mix(in srgb, var(--panel) 97%, transparent));
  color:var(--text);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.app-shell .pack-repo-page table.table tbody td{
  padding-block:12px;
  vertical-align:middle;
}
body.app-shell .pack-repo-page .pill{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 9px;
  font-weight:900;
  letter-spacing:.04em;
}
body.app-shell .pack-repo-sync-card .card-title,
body.app-shell .pack-repo-table-card .card-title{
  font-size:1rem;
  font-weight:950;
  letter-spacing:-.015em;
}
body.app-shell .pack-repo-sync-card p{
  line-height:1.55;
}
body.app-shell .pack-repo-log-grid .table-summary,
body.app-shell .pack-repo-table-card .table-summary{
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, var(--primary)), var(--panel));
}
body.app-shell .card,
body.app-shell .table-card,
body.app-shell .page-head,
body.app-shell .hero-panel{
  border-radius:24px;
}
body.app-shell .input,
body.app-shell .form-control,
body.app-shell .form-select,
body.app-shell textarea,
body.app-shell select{
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.app-shell .input:focus,
body.app-shell .form-control:focus,
body.app-shell .form-select:focus,
body.app-shell textarea:focus,
body.app-shell select:focus{
  transform:translateY(-1px);
}
@media (max-width:760px){
  body.app-shell .pack-repo-hero{min-height:0;}
  body.app-shell .pack-repo-actions .btn,
  body.app-shell .pack-repo-sync-card .btn{width:100%;}
}
body.app-shell .content > .pack-repo-page{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:18px;
  width:100%;
  max-width:none;
  min-width:0;
  padding:0;
}
body.app-shell .pack-repo-page,
body.app-shell .pack-repo-page *{
  box-sizing:border-box;
}
body.app-shell .pack-repo-page .pack-repo-hero,
body.app-shell .pack-repo-page .pack-repo-kpis,
body.app-shell .pack-repo-page .pack-repo-sync-grid,
body.app-shell .pack-repo-page .pack-repo-log-grid,
body.app-shell .pack-repo-page .pack-repo-table-card{
  min-width:0;
  width:100%;
  max-width:100%;
}
body.app-shell .pack-repo-import-page .pack-repo-sync-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.app-shell .pack-repo-log-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .pack-repo-sync-card{
  min-width:0;
  overflow:hidden;
}
body.app-shell .pack-repo-sync-card .grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.app-shell .pack-repo-page .form-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
}
body.app-shell .pack-repo-page .table-wrap{
  width:100%;
  max-width:100%;
  overflow:auto;
  overscroll-behavior-x:contain;
}
body.app-shell .pack-repo-page table.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
}
body.app-shell .pack-repo-page table.table th,
body.app-shell .pack-repo-page table.table td{
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  line-height:1.35;
}
body.app-shell .pack-repo-page table.table th{
  padding:12px 14px;
  font-size:.72rem;
  font-weight:950;
}
body.app-shell .pack-repo-page table.table td{
  padding:12px 14px;
  font-size:.86rem;
}
body.app-shell .pack-repo-page table.table td:nth-child(3),
body.app-shell .pack-repo-page table.table td:nth-child(4),
body.app-shell .pack-repo-page table.table td:nth-child(5),
body.app-shell .pack-repo-page table.table td:nth-child(6),
body.app-shell .pack-repo-page table.table td:nth-child(7),
body.app-shell .pack-repo-page table.table th:nth-child(3),
body.app-shell .pack-repo-page table.table th:nth-child(4),
body.app-shell .pack-repo-page table.table th:nth-child(5),
body.app-shell .pack-repo-page table.table th:nth-child(6),
body.app-shell .pack-repo-page table.table th:nth-child(7){
  text-align:center;
}
body.app-shell .pack-repo-page table.table td strong,
body.app-shell .pack-repo-page table.table td .small,
body.app-shell .pack-repo-page table.table td .muted{
  display:block;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body.app-shell .pack-repo-page table.table .pill{
  white-space:nowrap;
  vertical-align:middle;
}
body.app-shell .pack-repo-log-grid table.table th,
body.app-shell .pack-repo-log-grid table.table td{
  font-size:.78rem;
}
body.app-shell .pack-repo-log-grid table.table td:last-child{
  white-space:normal;
  min-width:220px;
  max-width:520px;
  overflow-wrap:anywhere;
}
body.app-shell .pack-repo-tools,
body.app-shell .pack-repo-filter-form{
  min-width:0;
}
body.app-shell .pack-repo-filter-form .input{
  flex:1 1 180px;
}
@media (max-width:1180px){
  body.app-shell .pack-repo-import-page .pack-repo-sync-grid,
  body.app-shell .pack-repo-log-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  body.app-shell .pack-repo-sync-card .grid.two{grid-template-columns:1fr;}
  body.app-shell .pack-repo-page .form-actions{justify-content:stretch;}
}
body.app-shell .pack-repo-sync-grid--two{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:stretch;
}
body.app-shell .pack-repo-sync-card--api,
body.app-shell .pack-repo-sync-card--csv{
  min-height:300px;
}
body.app-shell .pack-repo-page .grid.three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
body.app-shell .pack-repo-dual-actions{
  justify-content:space-between;
  flex-wrap:wrap;
}
body.app-shell .pack-repo-dual-actions .btn{
  flex:1 1 180px;
}
body.app-shell .pack-repo-page .notice.info{
  border:1px solid color-mix(in srgb, var(--accent) 26%, var(--border));
  border-radius:16px;
  background:color-mix(in srgb, var(--accent) 8%, transparent);
  color:var(--text);
  padding:10px 12px;
  line-height:1.45;
  font-size:.86rem;
}
@media (max-width:1180px){
  body.app-shell .pack-repo-sync-grid--two{grid-template-columns:1fr;}
}
@media (max-width:760px){
  body.app-shell .pack-repo-page .grid.three{grid-template-columns:1fr;}
}
.pack-repo-api-form { display: grid; gap: 1rem; }
.pack-repo-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .8rem; }
.pack-repo-method-grid, .pack-repo-range-grid { align-items: end; gap: .9rem; }
.pack-repo-method-panel { border: 1px solid var(--border); border-radius: 20px; padding: 1rem; background: color-mix(in srgb, var(--surface) 88%, var(--primary) 12%); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.pack-repo-method-panel[hidden] { display: none; }
.pack-repo-form-actions { justify-content: flex-end; padding-top: .25rem; }
.pack-repo-log-summary { align-items: flex-start; gap: 1rem; }
.pack-repo-log-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; min-width: min(100%, 360px); }
.pack-repo-log-actions .input { min-width: 210px; max-width: 280px; }
.pack-repo-log-actions form { display: inline-flex; margin: 0; }
.pack-repo-page .table th, .pack-repo-page .table td { vertical-align: middle; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.pack-repo-page .table td.small, .pack-repo-page .table td .small, .pack-repo-page .table td.muted { white-space: normal; word-break: normal; overflow-wrap: anywhere; line-height: 1.45; }
.pack-repo-page .table td:nth-child(3), .pack-repo-page .table td:nth-child(4), .pack-repo-page .table td:nth-child(5), .pack-repo-page .table td:nth-child(6), .pack-repo-page .table td:nth-child(7) { text-align: right; font-variant-numeric: tabular-nums; }
.pack-repo-table-card .table-tools { align-items: center; }
.pack-repo-filter-form { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; align-items: center; }
.pack-repo-filter-form .input { min-width: 180px; }
.pack-repo-sync-card code { padding: .12rem .35rem; border-radius: 8px; background: color-mix(in srgb, var(--surface-2) 80%, var(--primary) 20%); }
@media (max-width: 900px) {
  .pack-repo-log-summary, .pack-repo-log-actions, .pack-repo-form-actions { align-items: stretch; justify-content: stretch; }
  .pack-repo-log-actions, .pack-repo-log-actions .input, .pack-repo-log-actions form, .pack-repo-log-actions .btn { width: 100%; max-width: none; }
  .pack-repo-method-grid, .pack-repo-range-grid { grid-template-columns: 1fr; }
}
.pack-repo-bulkbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 1rem; margin: .5rem 0 1rem; border: 1px solid var(--border); border-radius: 18px; background: color-mix(in srgb, var(--surface) 88%, var(--danger) 12%); }
.pack-repo-delete-form { margin: 0; }
.pack-repo-table-card .select-col { width: 42px; text-align: center; }
.pack-repo-current-app { background: linear-gradient(90deg, rgba(255, 193, 7, .22), rgba(255, 193, 7, .06)); box-shadow: inset 4px 0 0 #d99a00; }
.pack-repo-existing-badge { display: inline-flex; align-items: center; width: fit-content; margin-top: .25rem; padding: .16rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .02em; color: #5f3e00; background: linear-gradient(135deg, #ffe48a, #f5b937); border: 1px solid rgba(151, 95, 0, .28); }
.pack-repo-card-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.pack-repo-card-delete-form { margin: 0; }
.pack-repo-card-bulkbar { margin-top: 0; }
.pack-repo-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.pack-repo-data-card { position: relative; display: grid; gap: .85rem; min-height: 100%; padding: 1rem; border: 1px solid var(--border); border-radius: 24px; background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--primary) 6%), var(--surface)); box-shadow: var(--shadow-sm); overflow: hidden; }
.pack-repo-data-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 20%, transparent)); opacity: .8; }
.pack-repo-data-card.is-current-app { border-color: rgba(214, 154, 0, .55); background: linear-gradient(180deg, rgba(255, 214, 91, .22), color-mix(in srgb, var(--surface) 92%, #f5b937 8%)); box-shadow: 0 14px 40px rgba(151,95,0,.14); }
.pack-repo-data-card.is-current-app::before { background: linear-gradient(90deg, #d99a00, #ffe48a); opacity: 1; }
.pack-repo-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: .8rem; }
.pack-repo-card-top h2 { margin: .12rem 0 0; font-size: 1.25rem; letter-spacing: -.02em; }
.pack-repo-card-flags { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; }
.pack-repo-card-bms { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .75rem .85rem; border-radius: 18px; background: color-mix(in srgb, var(--surface-2) 82%, var(--primary) 18%); }
.pack-repo-card-bms span, .pack-repo-card-metrics span, .pack-repo-card-meta span { color: var(--muted); font-size: .78rem; font-weight: 700; }
.pack-repo-card-bms strong { font-size: 1.08rem; letter-spacing: .02em; }
.pack-repo-card-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .45rem; }
.pack-repo-card-metrics div { padding: .55rem .5rem; border: 1px solid var(--border); border-radius: 14px; background: color-mix(in srgb, var(--surface) 90%, var(--surface-2) 10%); text-align: center; }
.pack-repo-card-metrics strong { display: block; margin-top: .15rem; font-variant-numeric: tabular-nums; }
.pack-repo-card-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.pack-repo-card-meta div { min-width: 0; }
.pack-repo-card-meta b { display: block; margin-top: .1rem; overflow-wrap: anywhere; }
.pack-repo-card-actions { display: flex; justify-content: space-between; align-items: center; gap: .7rem; border-top: 1px solid var(--border); padding-top: .7rem; }
.pack-repo-card-actions label { display: inline-flex; align-items: center; gap: .4rem; }
@media (max-width: 900px) {
  .pack-repo-bulkbar, .pack-repo-card-toolbar { flex-direction: column; align-items: stretch; }
  .pack-repo-card-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pack-repo-card-meta { grid-template-columns: 1fr; }
}
.pack-repo-process-card { grid-row: span 2; }
.pack-repo-process-window {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--border) 78%, var(--primary) 22%);
  border-radius: 22px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, var(--primary) 8%), color-mix(in srgb, var(--surface) 96%, var(--surface-2) 4%));
  box-shadow: var(--shadow-sm);
}
.pack-repo-process-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .85rem;
}
.pack-repo-process-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
  font-size: .78rem;
  color: var(--muted);
}
.pack-repo-process-counts span {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  white-space: nowrap;
}
.pack-repo-process-counts span.ok { color: var(--success); }
.pack-repo-process-counts span.danger { color: var(--danger); }
.pack-repo-progress {
  width: 100%;
  height: 22px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--surface-2) 86%, var(--border) 14%);
  border: 1px solid var(--border);
}
.pack-repo-progress > div {
  height: 100%;
  width: 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 58%, #00a76f 42%));
  transition: width .25s ease;
}
.pack-repo-process-log {
  margin: .85rem 0 0;
  min-height: 160px;
  max-height: 280px;
  overflow: auto;
  padding: .85rem;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 82%, #07111f 18%);
  color: var(--text);
  white-space: pre-wrap;
  overflow-wrap: break-word;
  font-size: .82rem;
  line-height: 1.55;
}
@media (max-width: 900px) {
  .pack-repo-process-head { flex-direction: column; }
  .pack-repo-process-counts { justify-content: flex-start; }
}
.pack-repo-live-sync {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.pack-repo-live-sync .table-wrap {
  max-height: 320px;
  overflow: auto;
}
.pack-repo-live-bms-only {
  background: linear-gradient(90deg, rgba(255, 193, 7, .18), rgba(255, 193, 7, .04));
}
.pack-repo-live-bms-only td:first-child {
  box-shadow: inset 4px 0 0 #d99a00;
}
body.app-shell .access-studio-v405 {
  --tc405-line: color-mix(in srgb, var(--border) 80%, transparent);
  --tc405-panel: color-mix(in srgb, var(--panel) 94%, #f8fafc 6%);
  --tc405-soft: color-mix(in srgb, var(--panel) 86%, #eaf4ff 14%);
  --tc405-accent: #2563eb;
  --tc405-good: #14875e;
  --tc405-warn: #b7791f;
  display: block;
}
body.app-shell .access-hero-v405 {
  border: 1px solid var(--tc405-line);
  border-radius: 26px;
  background: radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 38%), linear-gradient(135deg, var(--tc405-panel), var(--tc405-soft));
  box-shadow: 0 20px 50px rgba(15,23,42,.08);
}
body.app-shell .access-repair-row {
  display: flex;
  justify-content: flex-end;
  margin: 12px 0;
}
body.app-shell .access-repair-row form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--tc405-line);
  border-radius: 18px;
  background: var(--tc405-panel);
}
body.app-shell .access-user-layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
body.app-shell .access-user-table { min-width: 0; }
body.app-shell .access-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
body.app-shell .access-feature-card {
  border: 1px solid var(--tc405-line);
  border-radius: 18px;
  background: var(--tc405-panel);
  overflow: hidden;
}
body.app-shell .access-feature-card summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 900;
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
body.app-shell .access-feature-card summary small { color: var(--muted); font-weight: 700; }
body.app-shell .access-feature-list {
  display: grid;
  gap: 8px;
  padding: 0 14px 14px;
  max-height: 420px;
  overflow: auto;
}
body.app-shell .feature-check {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--tc405-line) 80%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
}
body.app-shell .feature-check input { margin-top: 3px; width: 18px; height: 18px; }
body.app-shell .feature-check strong {
  display: block;
  font-size: 13px;
  color: var(--text);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
body.app-shell .feature-check small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
body.app-shell .access-matrix-table th,
body.app-shell .access-matrix-table td,
body.app-shell .access-effective-table th,
body.app-shell .access-effective-table td {
  vertical-align: middle;
  white-space: nowrap;
}
body.app-shell .access-matrix-table td:first-child,
body.app-shell .access-effective-table td:nth-child(2) { white-space: normal; min-width: 220px; }
body.app-shell .access-effective-table code,
body.app-shell .access-matrix-table code { white-space: nowrap; }
body.app-shell .access-studio-v405 .uas-tabs {
  overflow-x: auto;
  scrollbar-width: thin;
}
body.app-shell .access-studio-v405 .uas-tabs a { white-space: nowrap; }
html[data-theme="dark"] body.app-shell .access-studio-v405,
body.dark-mode.app-shell .access-studio-v405 {
  --tc405-line: rgba(148,163,184,.24);
  --tc405-panel: rgba(15,23,42,.76);
  --tc405-soft: rgba(15,23,42,.92);
}
@media (max-width: 900px) {
  body.app-shell .access-user-layout { grid-template-columns: 1fr; }
  body.app-shell .access-repair-row { justify-content: stretch; }
  body.app-shell .access-repair-row form { width: 100%; }
}
@media (max-width: 640px) {
  body.app-shell .access-feature-grid { grid-template-columns: 1fr; }
  body.app-shell .access-feature-list { max-height: none; }
}
body.app-shell table.table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell table.data-table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .table-wrap table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .responsive-table table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .table-scroll table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell table[data-tc-paginated-active="1"] tbody tr[aria-hidden="true"] {
  display: none;
}
body.app-shell .tc-table-pager {
  position: relative;
  z-index: 1;
  margin-top: 6px;
  padding: 10px 4px 4px;
  border-top: 1px solid var(--border);
}
body.app-shell .tc-table-page-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
body.app-shell .tc-table-pager .btn[disabled] {
  opacity: .48;
  cursor: not-allowed;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll {
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: color-mix(in srgb, var(--card) 92%, transparent);
  box-shadow: 0 14px 36px rgba(15,23,42,.055);
}
body.app-shell .table-wrap table.table,
body.app-shell .responsive-table table.table,
body.app-shell table.data-table,
body.app-shell table.tc416-mbin-style-table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: clamp(11px, .72vw, 13px);
}
body.app-shell table.table thead th,
body.app-shell table.data-table thead th,
body.app-shell table.tc416-mbin-style-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: linear-gradient(180deg, color-mix(in srgb, var(--card) 96%, #eef7ff 4%), color-mix(in srgb, var(--card) 90%, #dbeafe 10%));
  color: color-mix(in srgb, var(--text) 74%, var(--muted) 26%);
  font-size: clamp(9px, .65vw, 11px);
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
body.app-shell table.table tbody td,
body.app-shell table.data-table tbody td,
body.app-shell table.tc416-mbin-style-table tbody td {
  vertical-align: middle;
  line-height: 1.35;
  border-bottom: 1px solid rgba(148,163,184,.14);
}
body.app-shell table.table tbody tr:hover td,
body.app-shell table.data-table tbody tr:hover td,
body.app-shell table.tc416-mbin-style-table tbody tr:hover td {
  background: color-mix(in srgb, var(--accent, #2563eb) 7%, transparent);
}
body.app-shell .tc416-activity-log-card .queue-head,
body.app-shell #cellMbinAssignmentTableSection .queue-head,
body.app-shell .station-history-panel .queue-head {
  align-items: center;
  gap: 12px;
}
body.app-shell .tc416-activity-log-card .toolbar-search,
body.app-shell #cellMbinAssignmentTableSection .toolbar-search,
body.app-shell .station-history-panel .toolbar-search {
  max-width: min(100%, 420px);
}
body.app-shell .tc416-lazy-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 90%, #eff6ff 10%);
  color: var(--muted);
  font-size: 12px;
}
body.app-shell .tc416-lazy-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
body.app-shell .station-server-pager-deprecated { display: none; }
body.app-shell .avatar-img,
body.app-shell .avatar-preview--image,
body.app-shell .topbar-user img {
  object-fit: cover;
  background: linear-gradient(135deg, #e0f2fe, #f8fafc);
}
@media (max-width: 760px) {
  body.app-shell .content { padding-inline: 10px; }
  body.app-shell .queue-head { align-items: stretch; }
  body.app-shell .queue-head > form,
  body.app-shell .toolbar-form,
  body.app-shell .station-pack-search-wrap { width: 100%; display: grid; grid-template-columns: 1fr; gap: 8px; }
  body.app-shell .toolbar-search,
  body.app-shell .input { min-height: 44px; }
  body.app-shell .tc416-lazy-toolbar { align-items: stretch; flex-direction: column; }
  body.app-shell .tc416-lazy-actions { display: grid; grid-template-columns: 1fr 1fr; }
  body.app-shell .tc-table-pager { align-items: stretch; flex-direction: column; }
  body.app-shell .tc-table-pager-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  body.app-shell .tc-table-pager-actions label,
  body.app-shell .tc-table-page-label { grid-column: 1 / -1; }
}
body.app-shell .app-main,
body.app-shell .main-content,
body.app-shell .content,
body.app-shell .page{
  min-width:0;
}
body.app-shell .table-wrap,
body.app-shell .table-scroll,
body.app-shell .responsive-table{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .table-wrap>table,
body.app-shell .responsive-table>table,
body.app-shell .table-scroll>table{
  display:table;
  width:100%;
  min-width:760px;
  table-layout:auto;
  border-collapse:separate;
  border-spacing:0;
}
body.app-shell table.table thead,
body.app-shell table.data-table thead,
body.app-shell .table-wrap>table thead,
body.app-shell .responsive-table>table thead,
body.app-shell .table-scroll>table thead{
  display:table-header-group;
}
body.app-shell table.table tbody,
body.app-shell table.data-table tbody,
body.app-shell .table-wrap>table tbody,
body.app-shell .responsive-table>table tbody,
body.app-shell .table-scroll>table tbody{
  display:table-row-group;
}
body.app-shell table.table tr,
body.app-shell table.data-table tr,
body.app-shell .table-wrap>table tr,
body.app-shell .responsive-table>table tr,
body.app-shell .table-scroll>table tr{
  display:table-row;
  margin:0;
  border:0;
  box-shadow:none;
}
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table th,
body.app-shell table.data-table td,
body.app-shell .table-wrap>table th,
body.app-shell .table-wrap>table td,
body.app-shell .responsive-table>table th,
body.app-shell .responsive-table>table td,
body.app-shell .table-scroll>table th,
body.app-shell .table-scroll>table td{
  display:table-cell;
  width:auto;
  padding:9px 11px;
  font-size:12px;
  line-height:1.35;
  vertical-align:middle;
  white-space:nowrap;
}
body.app-shell table.table td::before,
body.app-shell table.data-table td::before,
body.app-shell .table-wrap>table td::before,
body.app-shell .responsive-table>table td::before,
body.app-shell .table-scroll>table td::before{
  content:none;
  display:none;
}
body.app-shell table.table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell table.data-table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .table-wrap>table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .responsive-table>table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell .table-scroll>table[data-tc-paginated-active="1"] tbody tr[hidden],
body.app-shell tr[data-filter-hidden="1"]{
  display:none;
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn,
body.app-shell input[type="submit"].btn{
  min-height:34px;
  padding:8px 12px;
  font-size:12px;
  border-radius:10px;
}
body.app-shell .btn.sm,
body.app-shell button.btn.sm,
body.app-shell a.btn.sm{
  min-height:28px;
  padding:6px 9px;
  font-size:11px;
  border-radius:9px;
}
body.app-shell .station-actions-bar,
body.app-shell .toolbar,
body.app-shell .table-toolbar,
body.app-shell .form-actions,
body.app-shell .actions{
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .station-pack-grid,
body.app-shell .entity-card-grid,
body.app-shell .pack-card-grid,
body.app-shell .module-card-grid{
  contain-intrinsic-size:1px 900px;
}
body.app-shell .station-pack-card,
body.app-shell .metric-card,
body.app-shell .card{
  contain-intrinsic-size:1px 220px;
}
body.app-shell .tc416-lazy-toolbar{
  position:sticky;
  bottom:8px;
  z-index:20;
  backdrop-filter:blur(14px);
}
@media (max-width:760px){
  body.app-shell .app-shell-layout,
  body.app-shell .shell-body,
  body.app-shell .main-shell{
    min-width:0;
  }
  body.app-shell .page,
  body.app-shell .card,
  body.app-shell .panel{
    padding:12px;
    border-radius:16px;
  }
  body.app-shell .station-hero h1,
  body.app-shell .page-title,
  body.app-shell h1{
    font-size:24px;
    line-height:1.15;
  }
  body.app-shell .station-actions-bar,
  body.app-shell .toolbar,
  body.app-shell .table-toolbar,
  body.app-shell .form-actions,
  body.app-shell .actions{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  body.app-shell .station-actions-bar .btn,
  body.app-shell .toolbar .btn,
  body.app-shell .actions .btn,
  body.app-shell .table-toolbar .btn{
    flex:0 0 auto;
    width:auto;
    min-width:auto;
    white-space:nowrap;
  }
  body.app-shell .input,
  body.app-shell select.input,
  body.app-shell textarea.input{
    min-height:36px;
    font-size:13px;
  }
  body.app-shell .table-pagination,
  body.app-shell .table-enhancer-pager,
  body.app-shell .server-pager{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:6px;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  body.app-shell .table-pagination .btn,
  body.app-shell .table-enhancer-pager .btn,
  body.app-shell .server-pager .btn{
    flex:0 0 auto;
    width:auto;
  }
  body.app-shell table.table,
  body.app-shell table.data-table,
  body.app-shell .table-wrap>table,
  body.app-shell .responsive-table>table,
  body.app-shell .table-scroll>table{
    min-width:680px;
  }
  body.app-shell table.table th,
  body.app-shell table.table td,
  body.app-shell table.data-table th,
  body.app-shell table.data-table td,
  body.app-shell .table-wrap>table th,
  body.app-shell .table-wrap>table td,
  body.app-shell .responsive-table>table th,
  body.app-shell .responsive-table>table td,
  body.app-shell .table-scroll>table th,
  body.app-shell .table-scroll>table td{
    padding:8px 9px;
    font-size:11px;
  }
  body.app-shell .station-overview-grid,
  body.app-shell .station-readiness-grid,
  body.app-shell .station-metric-squares,
  body.app-shell .grid,
  body.app-shell .form-grid,
  body.app-shell .cards-grid{
    grid-template-columns:1fr;
  }
}
:root{
  --tc427-bg: #eef6ff;
  --tc427-panel: rgba(255,255,255,.88);
  --tc427-panel-solid: #ffffff;
  --tc427-panel-2: rgba(241,248,255,.78);
  --tc427-text: #081526;
  --tc427-muted: #5d708a;
  --tc427-line: rgba(104,139,180,.28);
  --tc427-accent: #2563eb;
  --tc427-accent-2: #06b6d4;
  --tc427-green: #22c55e;
  --tc427-glow: rgba(37,99,235,.22);
  --tc427-shadow: 0 22px 70px rgba(21,43,76,.13);
  --tc427-shadow-soft: 0 10px 34px rgba(15,34,61,.08);
}
body.dark, body.theme-dark, body[data-theme="dark"]{
  --tc427-bg: #050916;
  --tc427-panel: rgba(13,21,38,.86);
  --tc427-panel-solid: #0c1425;
  --tc427-panel-2: rgba(18,29,50,.78);
  --tc427-text: #eef6ff;
  --tc427-muted: #9fb2cc;
  --tc427-line: rgba(122,160,210,.22);
  --tc427-accent: #60a5fa;
  --tc427-accent-2: #22d3ee;
  --tc427-green: #4ade80;
  --tc427-glow: rgba(96,165,250,.24);
  --tc427-shadow: 0 24px 80px rgba(0,0,0,.44);
  --tc427-shadow-soft: 0 14px 44px rgba(0,0,0,.28);
}
body.app-shell{
  color: var(--tc427-text);
  background:
    radial-gradient(circle at 10% 8%, rgba(34,211,238,.22), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(37,99,235,.18), transparent 28%),
    linear-gradient(135deg, var(--tc427-bg), color-mix(in srgb, var(--tc427-bg) 78%, #fff 22%));
}
body.dark.app-shell, body.theme-dark.app-shell, body[data-theme="dark"].app-shell{
  background:
    radial-gradient(circle at 12% 8%, rgba(34,211,238,.14), transparent 30%),
    radial-gradient(circle at 90% 14%, rgba(96,165,250,.16), transparent 32%),
    linear-gradient(135deg, #050916 0%, #071120 48%, #030712 100%);
}
body.app-shell .app-main,
body.app-shell .page,
body.app-shell .content{
  min-width:0;
}
body.app-shell .card,
body.app-shell .section-card,
body.app-shell .card-lite,
body.app-shell .table-card,
body.app-shell .queue-card,
body.app-shell .metric-card,
body.app-shell .station-pack-card,
body.app-shell .entity-card{
  border:1px solid var(--tc427-line);
  background:linear-gradient(145deg, var(--tc427-panel), color-mix(in srgb, var(--tc427-panel-2) 72%, transparent));
  box-shadow:var(--tc427-shadow-soft);
  backdrop-filter: blur(18px) saturate(1.15);
}
body.app-shell .card:hover,
body.app-shell .station-pack-card:hover,
body.app-shell .entity-card:hover{
  border-color: color-mix(in srgb, var(--tc427-accent) 48%, var(--tc427-line));
  box-shadow:var(--tc427-shadow);
  transform: translateY(-1px);
}
body.app-shell .btn,
body.app-shell button.btn,
body.app-shell a.btn{
  border-radius:14px;
  border:1px solid color-mix(in srgb, var(--tc427-accent) 22%, var(--tc427-line));
  background:linear-gradient(135deg, color-mix(in srgb, var(--tc427-panel-solid) 92%, var(--tc427-accent) 8%), color-mix(in srgb, var(--tc427-panel-solid) 78%, var(--tc427-accent-2) 8%));
  box-shadow:0 8px 22px rgba(37,99,235,.10);
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body.app-shell .btn.primary,
body.app-shell button.btn.primary,
body.app-shell .btn[type="submit"]{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg, var(--tc427-accent), var(--tc427-accent-2));
  box-shadow:0 12px 30px var(--tc427-glow);
}
body.app-shell .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px var(--tc427-glow);
}
body.app-shell .pill,
body.app-shell .badge,
body.app-shell .chip{
  white-space:nowrap;
  border:1px solid var(--tc427-line);
  background:color-mix(in srgb, var(--tc427-panel-solid) 84%, var(--tc427-accent-2) 7%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
body.app-shell .input,
body.app-shell select.input,
body.app-shell textarea.input{
  border:1px solid var(--tc427-line);
  background:color-mix(in srgb, var(--tc427-panel-solid) 88%, transparent);
  color:var(--tc427-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}
body.app-shell .input:focus,
body.app-shell select.input:focus,
body.app-shell textarea.input:focus{
  border-color:color-mix(in srgb, var(--tc427-accent) 70%, var(--tc427-line));
  box-shadow:0 0 0 4px color-mix(in srgb, var(--tc427-accent) 18%, transparent);
}
body.app-shell .modal{
  align-items:center;
  justify-content:center;
  padding:clamp(10px,2vw,24px);
}
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl,
body.app-shell .stage-modal-card,
body.app-shell .station-trace-modal-card{
  width:min(1180px, calc(100vw - 28px));
  max-width:calc(100vw - 28px);
  max-height:calc(100dvh - 28px);
  overflow:hidden;
  border:1px solid var(--tc427-line);
  border-radius:clamp(20px,2vw,30px);
  background:linear-gradient(145deg, var(--tc427-panel-solid), color-mix(in srgb, var(--tc427-panel-solid) 86%, var(--tc427-accent-2) 5%));
  box-shadow:0 28px 100px rgba(2,6,23,.36);
}
body.dark.app-shell .modal-card,
body.theme-dark.app-shell .modal-card,
body[data-theme="dark"].app-shell .modal-card{
  background:linear-gradient(145deg, #0d1627, #08111f);
}
body.app-shell .modal-head{
  position:sticky;
  top:0;
  z-index:8;
  background:linear-gradient(180deg, color-mix(in srgb, var(--tc427-panel-solid) 98%, transparent), color-mix(in srgb, var(--tc427-panel-solid) 86%, transparent));
  border-bottom:1px solid var(--tc427-line);
  backdrop-filter: blur(18px);
}
body.dark.app-shell .modal-head,
body.theme-dark.app-shell .modal-head,
body[data-theme="dark"].app-shell .modal-head{
  background:linear-gradient(180deg, rgba(13,22,39,.98), rgba(13,22,39,.88));
}
body.app-shell .modal-card > form,
body.app-shell .modal-card > .form,
body.app-shell .modal-body,
body.app-shell .tc242-stage-modal-body,
body.app-shell .station-trace-body{
  max-height:calc(100dvh - 148px);
  overflow:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
}
body.app-shell .modal-card > .actions,
body.app-shell .modal-card > form > .actions,
body.app-shell .modal-card .modal-footer{
  position:sticky;
  bottom:0;
  z-index:9;
  padding:12px 16px;
  border-top:1px solid var(--tc427-line);
  background:color-mix(in srgb, var(--tc427-panel-solid) 94%, transparent);
  backdrop-filter:blur(16px);
}
body.app-shell .stage-modal-grid,
body.app-shell .modal-grid,
body.app-shell .form-grid,
body.app-shell .grid.two,
body.app-shell .grid.three,
body.app-shell .tc349-stage-compact{
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  align-items:start;
  min-width:0;
}
body.app-shell .stage-modal-card textarea.input,
body.app-shell .stage-modal-card textarea{
  min-height:82px;
  resize:vertical;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll{
  max-width:100%;
  overflow-x:auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .responsive-table table,
body.app-shell .table-wrap table{
  display:table;
  width:100%;
  min-width:max-content;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
}
body.app-shell table.table thead,
body.app-shell table.data-table thead,
body.app-shell .responsive-table table thead{display:table-header-group;}
body.app-shell table.table tbody,
body.app-shell table.data-table tbody,
body.app-shell .responsive-table table tbody{display:table-row-group;}
body.app-shell table.table tr,
body.app-shell table.data-table tr,
body.app-shell .responsive-table table tr{display:table-row;}
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table th,
body.app-shell table.data-table td,
body.app-shell .responsive-table table th,
body.app-shell .responsive-table table td{
  display:table-cell;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  vertical-align:middle;
}
body.app-shell table.table td::before,
body.app-shell table.data-table td::before,
body.app-shell .responsive-table table td::before{
  display:none;
  content:none;
}
body.app-shell .user-chip,
body.app-shell .user-row-id,
body.app-shell .operator-chip,
body.app-shell .avatar-text,
body.app-shell .user-name,
body.app-shell td[data-label="Operator"],
body.app-shell th[data-label="Operator"]{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body.app-shell .user-chip .user-name,
body.app-shell .user-row-id strong,
body.app-shell .operator-name{
  display:block;
  max-width:220px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .station-history-popup-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:14px;
  align-items:start;
}
body.app-shell .station-history-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin-bottom:14px;
}
body.app-shell .station-history-json-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:9px;
  min-width:0;
}
body.app-shell .station-history-json-grid .detail-row,
body.app-shell .detail-row{
  display:grid;
  grid-template-columns:minmax(110px, 42%) minmax(0, 1fr);
  gap:10px;
  align-items:start;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--tc427-line);
  border-radius:14px;
  background:color-mix(in srgb, var(--tc427-panel-solid) 78%, transparent);
}
body.app-shell .station-history-json-grid .detail-row strong,
body.app-shell .detail-row strong{
  min-width:0;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  line-height:1.28;
}
body.app-shell .station-history-json-grid .detail-row span,
body.app-shell .detail-row span{
  min-width:0;
  max-width:100%;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}
body.app-shell .station-history-popup-grid .table-wrap table td,
body.app-shell .station-history-popup-grid .table-wrap table th{
  white-space:nowrap;
}
body.app-shell .tc269-final-pack-placeholder{
  background:url("../img/tasm360_battery_pack_placeholder.png") center/cover no-repeat;
  color:transparent;
  border-radius:16px;
}
body.app-shell .station-pack-card.tc247-pack-card::after{
  background-image:url("../img/tasm360_battery_pack_placeholder.png");
  opacity:.95;
}
body.app-shell .entity-card.tc247-mbin-card::after,
body.app-shell button.entity-card.tc246-mbin-op-card::after{
  content:"";
  position:absolute;
  right:14px;
  top:15px;
  width:74px;
  height:48px;
  background:url("../img/tasm360_module_placeholder.svg") center/contain no-repeat;
  opacity:.9;
  pointer-events:none;
}
@media (max-width: 900px){
  body.app-shell .station-history-popup-grid{grid-template-columns:1fr;}
  body.app-shell .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl,
  body.app-shell .stage-modal-card,
  body.app-shell .station-trace-modal-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);border-radius:22px;}
}
@media (max-width: 640px){
  body.app-shell{font-size:14px;}
  body.app-shell .modal{padding:7px;align-items:flex-start;}
  body.app-shell .modal-head{padding:14px 16px;}
  body.app-shell .modal-head .card-title{font-size:18px;line-height:1.15;}
  body.app-shell .modal-card > form,
  body.app-shell .modal-card > .form,
  body.app-shell .modal-body,
  body.app-shell .tc242-stage-modal-body,
  body.app-shell .station-trace-body{max-height:calc(100dvh - 116px);}
  body.app-shell .btn,
  body.app-shell button.btn,
  body.app-shell a.btn{min-height:34px;padding:8px 11px;font-size:13px;border-radius:12px;}
  body.app-shell .btn:not(.full):not(.block):not(.btn-block){min-width:0;}
  body.app-shell .actions,
  body.app-shell .row-actions,
  body.app-shell .table-tools,
  body.app-shell .toolbar-actions{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;}
  body.app-shell .input,
  body.app-shell select.input,
  body.app-shell textarea.input{min-height:38px;font-size:14px;}
  body.app-shell .stage-modal-grid,
  body.app-shell .modal-grid,
  body.app-shell .form-grid,
  body.app-shell .grid.two,
  body.app-shell .grid.three{grid-template-columns:1fr;}
  body.app-shell table.table,
  body.app-shell table.data-table,
  body.app-shell .responsive-table table,
  body.app-shell .table-wrap table{min-width:760px;}
  body.app-shell .station-history-json-grid{grid-template-columns:1fr;}
  body.app-shell .station-history-json-grid .detail-row,
  body.app-shell .detail-row{grid-template-columns:minmax(96px,36%) minmax(0,1fr);}
}
@media (prefers-reduced-motion:no-preference){
  body.app-shell .card,
  body.app-shell .btn,
  body.app-shell .station-pack-card,
  body.app-shell .entity-card,
  body.app-shell .modal-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;}
}
:root{
  --tc428-electric-a:#22d3ee;
  --tc428-electric-b:#2563eb;
  --tc428-electric-c:#a855f7;
  --tc428-hot:#f97316;
  --tc428-ok:#10b981;
  --tc428-panel-ring:color-mix(in srgb,var(--tc428-electric-b) 28%,transparent);
}
body.app-shell{
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb,var(--tc428-electric-a) 16%, transparent), transparent 30vw),
    radial-gradient(circle at 88% 18%, color-mix(in srgb,var(--tc428-electric-c) 13%, transparent), transparent 28vw),
    linear-gradient(135deg, var(--page), color-mix(in srgb,var(--page) 88%, var(--tc428-electric-a) 5%));
}
html[data-theme="dark"] body.app-shell,
body.dark.app-shell,
body.theme-dark.app-shell{
  background:
    radial-gradient(circle at 15% 8%, rgba(34,211,238,.16), transparent 34vw),
    radial-gradient(circle at 86% 12%, rgba(168,85,247,.14), transparent 32vw),
    linear-gradient(135deg,#030712,#07111f 46%,#020617);
}
body.app-shell .card,
body.app-shell .hero-panel,
body.app-shell .queue-card,
body.app-shell .fpp255-card,
body.app-shell .station-pack-card,
body.app-shell .entity-card .tc257-card-shell{
  border-color:color-mix(in srgb,var(--border) 82%, var(--tc428-electric-a) 12%);
  box-shadow:0 14px 46px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.25);
}
html[data-theme="dark"] body.app-shell .card,
html[data-theme="dark"] body.app-shell .hero-panel,
html[data-theme="dark"] body.app-shell .queue-card,
html[data-theme="dark"] body.app-shell .fpp255-card,
html[data-theme="dark"] body.app-shell .station-pack-card,
html[data-theme="dark"] body.app-shell .entity-card .tc257-card-shell{
  box-shadow:0 20px 62px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
body.app-shell .station-pack-card,
body.app-shell .entity-card,
body.app-shell .tc257-card-shell,
body.app-shell .fpp255-card,
body.app-shell .tc269-final-pack-card{position:relative;overflow:hidden;}
body.app-shell .station-pack-card::before,
body.app-shell .tc257-card-shell::before,
body.app-shell .tc269-final-pack-card::before,
body.app-shell .fpp255-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent 0 38%,color-mix(in srgb,var(--tc428-electric-a) 28%,transparent) 47%,color-mix(in srgb,var(--tc428-electric-b) 24%,transparent) 54%,transparent 64% 100%);
  transform:translateX(-130%);
  opacity:0;
  pointer-events:none;
}
body.app-shell .station-pack-card:hover::before,
body.app-shell .tc257-card-shell:hover::before,
body.app-shell .tc269-final-pack-card:hover::before,
body.app-shell .fpp255-card:hover::before{opacity:1;animation:tc428Sweep 1.4s ease both;}
body.app-shell .station-pack-card.status-rework,
body.app-shell .station-pack-card.is-rework,
body.app-shell .tc267-rework-card,
body.app-shell .tc267-list-rework-shell{
  border-color:color-mix(in srgb,var(--tc428-hot) 45%, var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tc428-hot) 30%,transparent),0 18px 56px color-mix(in srgb,var(--tc428-hot) 18%,transparent);
}
body.app-shell .station-pack-card.status-rework::after,
body.app-shell .station-pack-card.is-rework::after,
body.app-shell .tc267-list-rework-shell::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--tc428-hot) 36%,transparent),transparent,color-mix(in srgb,var(--tc428-electric-c) 34%,transparent),transparent);
  opacity:.22;
  pointer-events:none;
  animation:tc428Rotate 3.8s linear infinite;
}
body.app-shell .tc428-electric-ripple{
  position:fixed;
  width:18px;
  height:18px;
  border-radius:999px;
  pointer-events:none;
  z-index:2147483600;
  background:radial-gradient(circle,color-mix(in srgb,var(--tc428-electric-a) 82%,#fff),rgba(37,99,235,.18) 52%,transparent 72%);
  box-shadow:0 0 24px var(--tc428-electric-a),0 0 60px var(--tc428-electric-b);
  transform:translate(-50%,-50%) scale(.4);
  animation:tc428Ripple .55s ease-out forwards;
}
body.app-shell .tc428-current-trace{
  position:fixed;
  width:3px;
  height:80px;
  pointer-events:none;
  z-index:2147483500;
  background:linear-gradient(180deg,transparent,var(--tc428-electric-a),var(--tc428-electric-b),transparent);
  filter:drop-shadow(0 0 8px var(--tc428-electric-a));
  transform-origin:center;
  animation:tc428Current .58s ease-out forwards;
}
body.app-shell .modal.open,
body.app-shell .modal.is-open,
body.app-shell .modal.show,
body.app-shell .modal[aria-hidden="false"]{
  background:rgba(8,13,28,.62);
  backdrop-filter:blur(18px) saturate(1.15);
}
body.app-shell #activityModal .stage-modal-card,
body.app-shell #activityModal .ttit-modal-card{
  width:min(1080px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  height:auto;
  min-height:0;
  max-height:min(760px,calc(100dvh - 28px));
  border-radius:26px;
  overflow:hidden;
}
body.app-shell #activityModal .tc242-modal-form{
  flex:0 1 auto;
  min-height:0;
  overflow:hidden;
}
body.app-shell #activityModal .tc242-stage-modal-body{
  flex:0 1 auto;
  display:grid;
  gap:12px;
  padding:16px 20px;
  max-height:calc(100dvh - 156px);
  overflow-y:auto;
  overflow-x:hidden;
  align-content:start;
}
body.app-shell #activityModal .tc242-stage-modal-footer{
  min-height:58px;
  padding:12px 20px;
}
body.app-shell #activityModal .stage-modal-grid,
body.app-shell #activityModal .modal-grid.stage-modal-grid,
body.app-shell #activityModal .tc349-stage-compact{
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(320px,1.35fr) minmax(220px,.8fr);
  gap:12px;
  align-items:stretch;
  width:100%;
}
body.app-shell #activityModal .ttit-modal-card .stage-modal-grid{
  grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);
}
body.app-shell #activityModal .card-lite,
body.app-shell #activityModal .ttit-sheet-card,
body.app-shell #activityModal .ttit-section-card{
  padding:12px 14px;
  border-radius:18px;
}
body.app-shell #activityModal textarea.input{
  min-height:72px;
  max-height:120px;
}
body.app-shell #activityModal .ttit-sheet-card{
  display:grid;
  gap:12px;
}
body.app-shell #activityModal .ttit-sheet-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  gap:12px;
  align-items:end;
}
body.app-shell #activityModal .ttit-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.app-shell #activityModal .ttit-busbar-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body.app-shell #activityModal .ttit-busbar-grid .input,
body.app-shell #activityModal .ttit-section-card .input{
  min-height:36px;
  padding:7px 9px;
}
body.app-shell #activityModal label.label{
  margin-bottom:5px;
  font-size:10px;
}
body.app-shell #activityModal .input,
body.app-shell #activityModal select.input{
  min-height:40px;
}
body.app-shell .modal-card > form,
body.app-shell .modal-body,
body.app-shell .tc242-stage-modal-body,
body.app-shell .tc311-station-submit-body{overflow-x:hidden;}
body.app-shell .tc310-station-submit-card{
  width:min(980px,calc(100vw - 32px));
  max-height:min(740px,calc(100dvh - 28px));
}
body.app-shell .tc310-station-submit-card .tc311-station-submit-body{
  padding:16px 20px;
  gap:12px;
}
body.app-shell .station-history-json-grid .detail-row strong,
body.app-shell .detail-row strong,
body.app-shell .station-history-json-grid .detail-row span,
body.app-shell .detail-row span{
  word-break:normal;
  overflow-wrap:normal;
}
body.app-shell .station-history-json-grid .detail-row span,
body.app-shell .detail-row span{
  overflow-x:auto;
  white-space:normal;
}
body.app-shell .station-history-json-grid .detail-row strong{
  white-space:normal;
}
body.app-shell .station-history-json-grid .detail-row span:has(.table-wrap),
body.app-shell .detail-row span:has(.table-wrap){white-space:normal;}
body.app-shell .user-chip,
body.app-shell .user-row-id,
body.app-shell .operator-chip,
body.app-shell .operator-name,
body.app-shell .user-name,
body.app-shell td[data-label="Operator"],
body.app-shell td[data-label="Operator"] *{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll{
  overflow-x:auto;
  overflow-y:auto;
  max-width:100%;
}
body.app-shell .table-wrap table,
body.app-shell .responsive-table table,
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .fpp255-table{
  table-layout:auto;
  min-width:max-content;
}
body.app-shell .table-wrap th,
body.app-shell .table-wrap td,
body.app-shell .responsive-table th,
body.app-shell .responsive-table td,
body.app-shell .fpp255-table th,
body.app-shell .fpp255-table td{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body.app-shell .fpp255-product-frame img,
body.app-shell .tc269-final-pack-mid img{
  object-fit:contain;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(219,234,254,.42));
  border-radius:18px;
}
body.app-shell .fpp255-product-frame img[src=""],
body.app-shell .tc269-final-pack-mid img[src=""]{visibility:hidden;}
body.app-shell .fpp255-header-actions{gap:8px;}
body.app-shell .fpp255-doc-grid .fpp255-doc{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.app-shell .fpp255-doc-grid .fpp255-doc:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--tc428-electric-b) 42%,var(--border));
  box-shadow:0 14px 36px color-mix(in srgb,var(--tc428-electric-b) 15%,transparent);
}
@keyframes tc428Sweep{0%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes tc428Rotate{to{transform:rotate(1turn)}}
@keyframes tc428Ripple{to{opacity:0;transform:translate(-50%,-50%) scale(8)}}
@keyframes tc428Current{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--r,20deg)) scaleY(.2)}22%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx,30px)),calc(-50% + var(--dy,-28px))) rotate(var(--r,20deg)) scaleY(1.35)}}
@media (max-width:900px){
  body.app-shell #activityModal .stage-modal-grid,
  body.app-shell #activityModal .modal-grid.stage-modal-grid,
  body.app-shell #activityModal .tc349-stage-compact,
  body.app-shell #activityModal .ttit-modal-card .stage-modal-grid{
    grid-template-columns:1fr;
  }
  body.app-shell #activityModal .ttit-sheet-head,
  body.app-shell #activityModal .ttit-module-grid{
    grid-template-columns:1fr;
  }
  body.app-shell #activityModal .ttit-busbar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  body.app-shell #activityModal .stage-modal-card,
  body.app-shell #activityModal .ttit-modal-card,
  body.app-shell .tc310-station-submit-card{
    width:calc(100vw - 12px);
    max-width:calc(100vw - 12px);
    max-height:calc(100dvh - 10px);
    border-radius:20px 20px 0 0;
  }
  body.app-shell #activityModal .modal-head,
  body.app-shell #activityModal .tc242-stage-modal-body,
  body.app-shell #activityModal .tc242-stage-modal-footer{
    padding-left:14px;
    padding-right:14px;
  }
  body.app-shell #activityModal .ttit-busbar-grid{
    grid-template-columns:1fr;
  }
  body.app-shell .modal-footer .btn,
  body.app-shell .tc249-modal-footer .btn,
  body.app-shell .modal-card > form > .actions .btn,
  body.app-shell .modal-card > form > .row-actions .btn{
    flex:0 0 auto;
    min-width:120px;
  }
  body.app-shell .modal-footer,
  body.app-shell .tc242-stage-modal-footer,
  body.app-shell .modal-card > form > .actions,
  body.app-shell .modal-card > form > .row-actions{
    justify-content:flex-end;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
}
@media (prefers-reduced-motion:reduce){
  body.app-shell .station-pack-card::before,
  body.app-shell .tc257-card-shell::before,
  body.app-shell .tc269-final-pack-card::before,
  body.app-shell .fpp255-card::before,
  body.app-shell .station-pack-card.status-rework::after,
  body.app-shell .station-pack-card.is-rework::after,
  body.app-shell .tc267-list-rework-shell::after{animation:none;}
}
.fpp255-doc-card .fpp255-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:12px;}
.fpp255-doc-card .fpp255-doc{position:relative;text-decoration:none;color:inherit;min-height:118px;border:1px solid rgba(94,132,190,.28);border-radius:20px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(236,247,255,.82));box-shadow:0 14px 34px rgba(16,32,70,.08);display:flex;flex-direction:column;gap:7px;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.fpp255-doc-card .fpp255-doc:before{content:"";position:absolute;inset:-40% auto auto -30%;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(50,120,255,.22),transparent 62%);pointer-events:none;}
.fpp255-doc-card .fpp255-doc:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(22,78,155,.16);border-color:rgba(37,99,235,.45);}
.fpp255-doc-card .fpp255-doc i{width:44px;height:34px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1dd3c7);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:950;font-size:12px;letter-spacing:.05em;box-shadow:0 10px 22px rgba(37,99,235,.23);}
.fpp255-doc-card .fpp255-doc strong{font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fpp255-doc-card .fpp255-doc span{font-size:12px;color:var(--muted,#64748b);line-height:1.25;min-height:28px;}
.fpp255-doc-card .fpp255-doc em{margin-top:auto;font-style:normal;font-size:11px;font-weight:900;color:#047857;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);border-radius:999px;padding:4px 8px;width:max-content;}
.fpp255-card .row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.fpp255-table{table-layout:auto;width:100%;border-collapse:separate;border-spacing:0;}
.table-wrap.responsive-table{overflow-x:auto;overscroll-behavior-x:contain;}
.fpp255-table th,.fpp255-table td{white-space:nowrap;vertical-align:middle;}
.fpp255-table td:first-child,.fpp255-table th:first-child{min-width:220px;}
.fpp255-flow-node em,.tc270-table td:last-child,.operator-name,.operator-chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:inline-block;vertical-align:middle;}
.fpp255-spec-list strong{word-break:normal;overflow-wrap:anywhere;}
.fpp255-spec-list div:has(strong){min-width:0;}
@media(max-width:760px){
  .fpp255-doc-card .fpp255-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .fpp255-doc-card .fpp255-doc{min-height:108px;padding:12px;border-radius:16px;}
  .fpp255-doc-card .fpp255-doc strong{font-size:12px;}
  .fpp255-doc-card .fpp255-doc span{font-size:11px;}
  .fpp255-card .row-actions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .fpp255-card .row-actions .btn{flex:0 0 auto;min-height:36px;padding:8px 12px;font-size:12px;}
  .fpp255-table{min-width:980px;}
}
[data-theme="dark"] .fpp255-doc-card .fpp255-doc{background:linear-gradient(145deg,rgba(11,18,32,.94),rgba(14,37,62,.88));border-color:rgba(59,130,246,.35);box-shadow:0 18px 44px rgba(0,0,0,.35);}
[data-theme="dark"] .fpp255-doc-card .fpp255-doc span{color:#9db2d0;}
:root{
  --tc430-glow-a:#22d3ee;
  --tc430-glow-b:#2563eb;
  --tc430-glow-c:#a855f7;
  --tc430-rework:#f59e0b;
}
body.app-shell .station-pack-card,
body.app-shell .entity-card,
body.app-shell .tc257-card-shell,
body.app-shell .tc269-final-pack-card,
body.app-shell .fpp255-card,
body.app-shell .module-card,
body.app-shell .pack-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform:translateZ(0);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  contain-intrinsic-size:220px;
}
body.app-shell .station-pack-card::before,
body.app-shell .entity-card::before,
body.app-shell .tc257-card-shell::before,
body.app-shell .tc269-final-pack-card::before,
body.app-shell .fpp255-card::before,
body.app-shell .module-card::before,
body.app-shell .pack-card::before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  z-index:2;
  padding:1px;
  background:conic-gradient(from var(--tc430-angle,0deg), transparent 0 72%, color-mix(in srgb,var(--tc430-glow-a) 78%,transparent) 78%, color-mix(in srgb,var(--tc430-glow-b) 85%,transparent) 82%, color-mix(in srgb,var(--tc430-glow-c) 62%,transparent) 86%, transparent 92% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  transform:none;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--tc430-glow-a) 42%,transparent));
  animation:none;
}
body.app-shell .station-pack-card:hover::before,
body.app-shell .entity-card:hover::before,
body.app-shell .tc257-card-shell:hover::before,
body.app-shell .tc269-final-pack-card:hover::before,
body.app-shell .fpp255-card:hover::before,
body.app-shell .module-card:hover::before,
body.app-shell .pack-card:hover::before,
body.app-shell .tc430-card-pulse::before{
  opacity:1;
  animation:tc430BorderOrbit 1.8s linear infinite;
}
body.app-shell .station-pack-card.status-rework::before,
body.app-shell .station-pack-card.is-rework::before,
body.app-shell .tc267-list-rework-shell::before,
body.app-shell [data-rework-pack]::before{
  opacity:1;
  background:conic-gradient(from var(--tc430-angle,0deg), transparent 0 68%, color-mix(in srgb,var(--tc430-rework) 86%,transparent) 76%, color-mix(in srgb,#ef4444 70%,transparent) 82%, transparent 91% 100%);
  animation:tc430BorderOrbit 2.3s linear infinite;
}
body.app-shell .station-pack-card::after,
body.app-shell .entity-card::after,
body.app-shell .tc257-card-shell::after,
body.app-shell .tc269-final-pack-card::after,
body.app-shell .fpp255-card::after,
body.app-shell .module-card::after,
body.app-shell .pack-card::after{
  transform:none;
}
@keyframes tc430BorderOrbit{to{--tc430-angle:360deg;}}
@property --tc430-angle{syntax:"<angle>";inherits:false;initial-value:0deg;}
body.app-shell .tc428-electric-ripple,
body.app-shell .tc428-current-trace{display:none;}
body.app-shell .tc430-table-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 8px;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--border,#dbe3ef) 86%, var(--tc430-glow-b) 12%);
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--card,#fff) 96%,var(--tc430-glow-a) 4%),color-mix(in srgb,var(--card,#fff) 92%,var(--tc430-glow-b) 5%));
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
html[data-theme="dark"] body.app-shell .tc430-table-toolbar,
body.dark.app-shell .tc430-table-toolbar{
  background:linear-gradient(135deg,rgba(9,16,30,.94),rgba(12,27,50,.92));
  border-color:rgba(96,165,250,.22);
  box-shadow:0 14px 40px rgba(0,0,0,.32);
}
body.app-shell .tc430-table-right,
body.app-shell .tc430-table-left{display:flex;align-items:center;gap:8px;min-width:0;}
body.app-shell .tc430-table-info,
body.app-shell .tc430-page-label{white-space:nowrap;font-size:12px;font-weight:800;color:var(--muted,#64748b);}
body.app-shell .tc430-table-search{min-width:220px;max-width:340px;min-height:34px;padding:7px 10px;font-size:12px;}
body.app-shell .tc430-page-size{min-height:34px;padding:6px 24px 6px 9px;font-size:12px;}
body.app-shell .tc430-rows-label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:800;color:var(--muted,#64748b);}
body.app-shell .tc430-table-scroll,
body.app-shell .table-wrap,
body.app-shell .table-scroll,
body.app-shell .responsive-table{
  width:100%;
  max-width:100%;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border-radius:18px;
}
body.app-shell table.tc430-data-table,
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .fpp255-table{
  width:100%;
  min-width:max-content;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
}
body.app-shell table.tc430-data-table thead,
body.app-shell table.tc430-data-table tbody,
body.app-shell table.tc430-data-table tr,
body.app-shell table.tc430-data-table th,
body.app-shell table.tc430-data-table td,
body.app-shell table.table thead,
body.app-shell table.table tbody,
body.app-shell table.table tr,
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table thead,
body.app-shell table.data-table tbody,
body.app-shell table.data-table tr,
body.app-shell table.data-table th,
body.app-shell table.data-table td{
  display:revert;
}
body.app-shell table.tc430-data-table th,
body.app-shell table.tc430-data-table td,
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table th,
body.app-shell table.data-table td{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  vertical-align:middle;
}
body.app-shell table.tc430-data-table td::before,
body.app-shell table.table td::before,
body.app-shell table.data-table td::before{content:none;display:none;}
body.app-shell table.tc430-data-table th.tc430-sortable{cursor:pointer;user-select:none;position:sticky;top:0;z-index:1;}
body.app-shell table.tc430-data-table th.tc430-sortable::after{content:"↕";font-size:10px;margin-left:6px;opacity:.55;}
body.app-shell table.tc430-data-table th.tc430-sortable[data-tc430-sort="asc"]::after{content:"↑";opacity:1;color:var(--tc430-glow-b);}
body.app-shell table.tc430-data-table th.tc430-sortable[data-tc430-sort="desc"]::after{content:"↓";opacity:1;color:var(--tc430-glow-b);}
body.app-shell table.tc430-data-table.tc430-table-working{opacity:.82;}
body.app-shell tr[hidden]{display:none;}
body.app-shell #activityModal .ttit-sheet-card,
body.app-shell #activityModal .ttit-section-card,
body.app-shell #activityModal .ttit-module-card,
body.app-shell #activityModal .ttit-choice-intro,
body.app-shell #activityModal #stageSpecificNote{
  background:transparent;
  box-shadow:none;
  border:0;
  padding:0;
}
body.app-shell #activityModal .ttit-sheet-card{gap:10px;}
body.app-shell #activityModal .ttit-section-card{border-top:1px solid color-mix(in srgb,var(--border,#dbe3ef) 76%,var(--tc430-glow-b) 16%);padding-top:10px;margin-top:10px;}
body.app-shell #activityModal .ttit-module-card{border:1px dashed color-mix(in srgb,var(--border,#dbe3ef) 70%,var(--tc430-glow-a) 22%);border-radius:16px;padding:10px;}
body.app-shell #activityModal .ttit-sheet-head{grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:center;}
body.app-shell #activityModal .modal-card{max-height:calc(100dvh - 24px);}
body.app-shell #activityModal .tc242-stage-modal-body{padding-top:12px;}
body.app-shell #activityModal .ttit-busbar-grid{grid-template-columns:repeat(7,minmax(94px,1fr));}
body.app-shell #activityModal .ttit-module-grid{grid-template-columns:1fr;}
body.app-shell #activityModal .queue-head{gap:10px;}
body.app-shell #activityModal .queue-head .muted.small{display:none;}
@media (max-width:760px){
  body.app-shell .tc430-table-toolbar{align-items:flex-start;flex-direction:column;gap:8px;padding:8px;border-radius:14px;}
  body.app-shell .tc430-table-right{width:100%;overflow-x:auto;padding-bottom:2px;}
  body.app-shell .tc430-table-search{min-width:180px;max-width:220px;}
  body.app-shell .tc430-table-toolbar .btn{min-height:32px;padding:6px 10px;font-size:12px;flex:0 0 auto;}
  body.app-shell table.tc430-data-table,
  body.app-shell table.table,
  body.app-shell table.data-table{min-width:860px;font-size:12px;}
  body.app-shell table.tc430-data-table th,
  body.app-shell table.tc430-data-table td,
  body.app-shell table.table th,
  body.app-shell table.table td,
  body.app-shell table.data-table th,
  body.app-shell table.data-table td{padding:8px 10px;}
  body.app-shell #activityModal .ttit-sheet-head,
  body.app-shell #activityModal .ttit-module-grid{grid-template-columns:1fr;}
  body.app-shell #activityModal .ttit-busbar-grid{grid-template-columns:repeat(2,minmax(110px,1fr));}
}
@media (max-width:420px){
  body.app-shell #activityModal .ttit-busbar-grid{grid-template-columns:1fr;}
  body.app-shell .tc430-table-search{min-width:160px;}
}
@media (prefers-reduced-motion:reduce){
  body.app-shell .station-pack-card::before,
  body.app-shell .entity-card::before,
  body.app-shell .tc257-card-shell::before,
  body.app-shell .tc269-final-pack-card::before,
  body.app-shell .fpp255-card::before,
  body.app-shell .module-card::before,
  body.app-shell .pack-card::before{animation:none;}
}
body.app-shell .tc433-table-toolbar,
body.app-shell .tc432-table-toolbar,
body.app-shell .tc431-table-toolbar,
body.app-shell .tc430-table-toolbar,
body.app-shell .tc-table-pager{display:none;}
body.app-shell .tc433-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 10px;padding:10px 12px;border:1px solid var(--border,#dbe3ef);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--card,#fff) 97%,#22c7d8 3%),color-mix(in srgb,var(--card,#fff) 98%,#696cff 2%));box-shadow:0 10px 26px color-mix(in srgb,#0f172a 7%,transparent);}
html[data-theme="dark"] body.app-shell .tc433-table-toolbar,body.dark.app-shell .tc433-table-toolbar{background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,41,59,.9));border-color:rgba(96,165,250,.30);box-shadow:0 14px 34px rgba(0,0,0,.34);}
body.app-shell .tc433-table-info{font-size:12px;font-weight:850;color:var(--muted,#64748b);white-space:nowrap;min-width:170px;}
body.app-shell .tc433-table-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 460px;flex-wrap:wrap;min-width:0;max-width:100%;}
body.app-shell .tc433-table-search{height:34px;flex:0 1 280px;min-width:180px;max-width:320px;padding:7px 10px;border-radius:12px;border:1px solid var(--border,#dbe3ef);background:var(--input-bg,#fff);color:var(--text,#0f172a);font-size:12px;font-weight:750;}
body.app-shell .tc433-page-size-label{height:34px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:0 9px;border:1px solid var(--border,#dbe3ef);border-radius:12px;background:var(--card,#fff);font-size:12px;font-weight:850;color:var(--muted,#64748b);flex:0 0 auto;}
body.app-shell .tc433-page-size{height:28px;width:76px;min-width:76px;border:0;background:transparent;color:var(--text,#0f172a);font-size:12px;font-weight:850;outline:none;}
body.app-shell .tc433-page-btn{height:34px;min-width:88px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent,#696cff) 42%,var(--border,#dbe3ef));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--card,#fff) 94%,#8c8fff 6%),color-mix(in srgb,var(--card,#fff) 98%,#696cff 2%));color:var(--text,#0f172a);font-size:12px;font-weight:900;white-space:nowrap;flex:0 0 auto;}
body.app-shell .tc433-page-btn:disabled{opacity:.48;cursor:not-allowed;}
body.app-shell .tc433-page-label{font-size:12px;font-weight:900;color:var(--muted,#64748b);white-space:nowrap;min-width:96px;text-align:center;flex:0 0 auto;}
body.app-shell .tc433-table-scroll,
body.app-shell .tc432-table-scroll,
body.app-shell .tc431-table-scroll,
body.app-shell .table-wrap,
body.app-shell .table-scroll,
body.app-shell .responsive-table{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:16px;}
body.app-shell table.tc433-data-table,
body.app-shell table.tc432-data-table,
body.app-shell table.tc431-data-table,
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell .tc433-table-scroll table,
body.app-shell .table-wrap table,
body.app-shell .table-scroll table,
body.app-shell .responsive-table table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;}
body.app-shell table.tc433-data-table thead,
body.app-shell table.tc433-data-table tbody,
body.app-shell table.tc433-data-table tr,
body.app-shell table.tc433-data-table th,
body.app-shell table.tc433-data-table td,
body.app-shell table.table thead,
body.app-shell table.table tbody,
body.app-shell table.table tr,
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table thead,
body.app-shell table.data-table tbody,
body.app-shell table.data-table tr,
body.app-shell table.data-table th,
body.app-shell table.data-table td{display:revert;}
body.app-shell table.tc433-data-table th,
body.app-shell table.tc433-data-table td,
body.app-shell table.table th,
body.app-shell table.table td,
body.app-shell table.data-table th,
body.app-shell table.data-table td{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;max-width:360px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;}
body.app-shell table.tc433-data-table td::before,
body.app-shell table.tc432-data-table td::before,
body.app-shell table.tc431-data-table td::before,
body.app-shell table.table td::before,
body.app-shell table.data-table td::before{display:none;content:none;}
body.app-shell table.tc433-data-table th.tc433-sortable{cursor:pointer;user-select:none;position:sticky;top:0;z-index:2;}
body.app-shell table.tc433-data-table th.tc433-sortable::after{content:"↕";margin-left:6px;font-size:10px;opacity:.48;}
body.app-shell table.tc433-data-table th.tc433-sortable[data-tc433-sort="asc"]::after{content:"↑";opacity:1;color:#696cff;}
body.app-shell table.tc433-data-table th.tc433-sortable[data-tc433-sort="desc"]::after{content:"↓";opacity:1;color:#696cff;}
body.app-shell .operator-name,body.app-shell [data-field="operator"],body.app-shell td.operator,body.app-shell td[data-label*="Operator"],body.app-shell td[data-label*="operator"]{white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .modal .modal-card{max-height:calc(100dvh - 24px);display:flex;flex-direction:column;}
body.app-shell .modal .modal-head{position:sticky;top:0;z-index:3;background:var(--card,#fff);border-bottom:1px solid var(--border,#dbe3ef);}
html[data-theme="dark"] body.app-shell .modal .modal-head,body.dark.app-shell .modal .modal-head{background:var(--card,#111827);}
body.app-shell .modal .modal-body{overflow:auto;min-height:0;}
body.app-shell .modal .actions,body.app-shell .modal .modal-footer{position:sticky;bottom:0;z-index:3;background:var(--card,#fff);border-top:1px solid var(--border,#dbe3ef);}
html[data-theme="dark"] body.app-shell .modal .actions,html[data-theme="dark"] body.app-shell .modal .modal-footer,body.dark.app-shell .modal .actions,body.dark.app-shell .modal .modal-footer{background:var(--card,#111827);}
body.app-shell #activityModal .ttit-sheet-card,body.app-shell #activityModal .ttit-section-card,body.app-shell #activityModal .ttit-module-card{box-shadow:none;background:transparent;}
body.app-shell #activityModal .ttit-section-card{margin-top:8px;padding-top:8px;}
body.app-shell #activityModal .tc242-stage-modal-body{padding-top:10px;}
body.app-shell .fpp433-page{--fpp-blue:#696cff;--fpp-teal:#03c3ec;--fpp-green:#28c76f;--fpp-ink:#17213a;--fpp-muted:#667085;}
body.app-shell .fpp433-header{border:1px solid rgba(105,108,255,.12);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,249,255,.86));padding:14px 16px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
body.app-shell .fpp433-hero{background:linear-gradient(135deg,#ffffff,#f7fbff);border-color:rgba(105,108,255,.18);box-shadow:0 18px 42px rgba(105,108,255,.08);}
body.app-shell .fpp433-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
body.app-shell .fpp255-flow-node.is-rework{background:linear-gradient(180deg,#fff8e8,#fff);border-color:rgba(245,158,11,.34);}
body.app-shell .fpp255-doc{text-decoration:none;}
body.app-shell .fpp255-doc:hover{border-color:rgba(105,108,255,.42);box-shadow:0 14px 30px rgba(105,108,255,.08);}
body.app-shell .app-sidebar,body.app-shell .sidebar{border-right:1px solid rgba(203,213,225,.78);box-shadow:12px 0 32px rgba(15,23,42,.04);}
body.app-shell .sidebar .nav-link,body.app-shell .app-sidebar .nav-link{border-radius:12px;}
body.app-shell .sidebar .is-active > .nav-link,body.app-shell .app-sidebar .is-active > .nav-link,body.app-shell .nav-link.is-active{background:linear-gradient(135deg,rgba(105,108,255,.14),rgba(3,195,236,.10));color:#3438d8;}
@media (max-width:760px){
  body.app-shell .tc433-table-toolbar{align-items:flex-start;padding:8px;border-radius:14px;}
  body.app-shell .tc433-table-info{width:100%;}
  body.app-shell .tc433-table-controls{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;}
  body.app-shell .tc433-table-search{min-width:170px;max-width:220px;height:32px;flex:0 0 190px;}
  body.app-shell .tc433-page-size-label,body.app-shell .tc433-page-btn{height:32px;}
  body.app-shell .tc433-page-btn{min-width:84px;padding:0 10px;}
  body.app-shell table.tc433-data-table,body.app-shell .tc433-table-scroll table,body.app-shell .table-wrap table,body.app-shell .table-scroll table,body.app-shell .responsive-table table{min-width:860px;font-size:12px;}
  body.app-shell table.tc433-data-table th,body.app-shell table.tc433-data-table td,body.app-shell table.table th,body.app-shell table.table td,body.app-shell table.data-table th,body.app-shell table.data-table td{font-size:11px;padding:7px 8px;}
  body.app-shell .btn:not(.full-width),body.app-shell button.btn:not(.full-width),body.app-shell a.btn:not(.full-width){width:auto;max-width:max-content;}
}
body.app-shell .machine-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  overflow-x:auto;
  padding-bottom:4px;
}
body.app-shell .machine-tile,
body.app-shell .machine-status-card{
  flex:0 0 268px;
  width:268px;
  max-width:268px;
  min-height:126px;
  align-self:stretch;
}
body.app-shell #machinesModal .machine-strip,
body.app-shell .modal .machine-strip{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 268px));
  justify-content:start;
  overflow:visible;
}
body.app-shell .machine-tile .code,
body.app-shell .machine-status-card .code{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .geo-electric-route{
  filter:drop-shadow(0 0 8px rgba(34,197,94,.45));
  stroke-linecap:round;
}
body.app-shell .geo-electric-dot,
body.app-shell .geo-electric-halo{
  filter:drop-shadow(0 0 10px currentColor);
}
body.app-shell .geo-selected-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
}
body.app-shell .geo-chip{
  min-height:72px;
}
body.app-shell .fpp255-flow-node.is-locked{
  opacity:.62;
  filter:saturate(.72);
}
body.app-shell .fpp255-flow-node.is-current{
  box-shadow:0 0 0 1px rgba(59,130,246,.22) inset, 0 14px 30px rgba(59,130,246,.12);
}
body.app-shell .fpp255-result.is-pending,
body.app-shell .fpp255-result:not(.is-pass):not(.is-fail){
  background:rgba(245,158,11,.12);
  color:#92400e;
  border-color:rgba(245,158,11,.28);
}
@media (max-width:720px){
  body.app-shell .machine-tile,
  body.app-shell .machine-status-card{
    flex-basis:min(268px, 100%);
    width:min(268px, 100%);
    max-width:100%;
  }
  body.app-shell #machinesModal .machine-strip,
  body.app-shell .modal .machine-strip{
    grid-template-columns:minmax(0,1fr);
  }
}
body.app-shell .table-card,
body.app-shell .card{
  overflow: visible;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .tc433-table-scroll,
body.app-shell .table-scroll{
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border-radius: 16px;
  scrollbar-gutter: stable;
}
body.app-shell .table,
body.app-shell table.tc433-data-table{
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}
body.app-shell .table th,
body.app-shell .table td,
body.app-shell .tc433-data-table th,
body.app-shell .tc433-data-table td{
  vertical-align: middle;
  max-width: 340px;
}
body.app-shell .table th,
body.app-shell .tc433-data-table th{
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: .08em;
}
body.app-shell .table td,
body.app-shell .tc433-data-table td{
  font-size: 12px;
  line-height: 1.45;
}
body.app-shell .table td .muted,
body.app-shell .tc433-data-table td .muted,
body.app-shell .table td p,
body.app-shell .tc433-data-table td p{
  white-space: normal;
  overflow-wrap: anywhere;
}
body.app-shell .table .row-actions,
body.app-shell .table .actions-col,
body.app-shell .row-actions,
body.app-shell .actions{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  min-width: max-content;
}
body.app-shell .actions-col.right .row-actions,
body.app-shell td.right .row-actions{
  justify-content: flex-end;
}
body.app-shell .table-summary,
body.app-shell .table-tools,
body.app-shell .performance-toolbar,
body.app-shell .toolbar,
body.app-shell .filter-row,
body.app-shell .page-head{
  min-width: 0;
}
body.app-shell .table-summary{
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, auto);
  align-items: center;
  gap: 14px;
}
body.app-shell .table-summary .table-tools,
body.app-shell .performance-toolbar,
body.app-shell .toolbar-form,
body.app-shell .table-tools{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
body.app-shell .table-tools .input,
body.app-shell .performance-toolbar .input,
body.app-shell .toolbar-form .input{
  min-width: 160px;
  max-width: min(100%, 420px);
}
body.app-shell .table-tools input[type="search"],
body.app-shell .performance-toolbar input[type="search"],
body.app-shell .toolbar-form input[type="search"]{
  flex: 1 1 260px;
}
body.app-shell .tc433-table-toolbar,
body.app-shell .tc-table-pager,
body.app-shell .dataTables_wrapper .dataTables_paginate{
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(360px, auto);
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel-alt) 88%, transparent);
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
body.app-shell .tc433-table-controls,
body.app-shell .tc-table-pager-actions,
body.app-shell .tc26-dt-left,
body.app-shell .tc26-dt-right{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
body.app-shell .tc433-page-size-label span,
body.app-shell .tc-table-pager-actions label,
body.app-shell .tc26-dt-left label{
  font-size: 0;
  line-height: 0;
}
body.app-shell .tc433-page-size,
body.app-shell .tc-table-page-size,
body.app-shell [data-dt-length]{
  width: 74px;
  min-width: 74px;
  max-width: 74px;
  min-height: 38px;
  padding-inline: 12px 28px;
  border-radius: 13px;
  font-weight: 800;
  text-align: center;
}
body.app-shell .tc433-page-btn,
body.app-shell .tc-table-pager .btn,
body.app-shell [data-page-prev],
body.app-shell [data-page-next]{
  min-width: 86px;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 13px;
  white-space: nowrap;
}
body.app-shell .tc433-page-label,
body.app-shell .tc-table-page-label{
  min-width: 82px;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}
body.app-shell .tc433-table-info,
body.app-shell .tc-table-pager-info,
body.app-shell .tc26-info-text{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}
body.app-shell .tc433-table-search,
body.app-shell .tc26-search{
  min-width: 240px;
  flex: 1 1 260px;
}
body.app-shell .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl{
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
body.app-shell .modal-head{
  flex: 0 0 auto;
}
body.app-shell .modal-card > form,
body.app-shell .modal-card > .modal-body,
body.app-shell .modal-body{
  overflow: auto;
  padding-bottom: 18px;
}
body.app-shell .production-calendar-hero h2{
  font-size: clamp(24px, 2.4vw, 34px);
}
body.app-shell .production-calendar-toolbar-card{
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  align-items: center;
}
body.app-shell .production-calendar-kpis{
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
body.app-shell .production-calendar-month-grid{
  min-height: 560px;
}
body.app-shell .production-calendar-day{
  min-height: 112px;
  padding: 9px;
}
body.app-shell .calendar-event-chip{
  font-size: 9px;
  padding: 3px 6px;
  line-height: 1.25;
}
body.app-shell .calendar-modal{
  align-items: start;
  padding: calc(var(--asm360-topbar-h,74px) + 8px) 12px 12px;
}
body.app-shell .production-calendar-modal-card,
body.app-shell .calendar-modal-card.production-calendar-modal-card{
  width: min(760px, calc(100vw - 28px));
  max-height: min(680px, calc(100dvh - var(--asm360-topbar-h,74px) - 22px));
  border-radius: 22px;
}
body.app-shell .calendar-modal-head{
  padding: 12px 16px;
}
body.app-shell .calendar-modal-body{
  padding: 12px 16px 16px;
  gap: 12px;
}
body.app-shell .calendar-modal-summary-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
body.app-shell .calendar-modal-summary-grid .metric-card{
  min-height: 70px;
  padding: 10px 12px;
}
body.app-shell .calendar-modal-summary-grid .metric-value{
  font-size: 1.2rem;
}
body.app-shell .calendar-detail-list{
  grid-template-columns: 1fr;
  gap: 8px;
}
body.app-shell .calendar-detail-card{
  padding: 9px 10px;
  border-radius: 13px;
}
body.app-shell .calendar-modal-section-head h3{
  font-size: 14px;
}
body.app-shell .machine-detail-page .page-head{
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: start;
  gap: 16px;
}
body.app-shell .machine-detail-page .page-head .actions{
  justify-content: flex-end;
  max-width: 640px;
}
body.app-shell .machine-detail-page .machine-hero{
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  align-items: start;
}
body.app-shell .machine-detail-page .machine-summary-grid{
  grid-template-columns: repeat(2, minmax(150px, 1fr));
}
body.app-shell .machine-detail-page .machine-summary-card,
body.app-shell .machine-detail-page .metric-card,
body.app-shell .machine-detail-page .machine-kv{
  min-height: 96px;
  overflow: hidden;
}
body.app-shell .machine-detail-page .quick-action-board{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.app-shell .machine-detail-page .quick-action-card{
  display: grid;
  grid-template-columns: minmax(120px,.35fr) minmax(180px,1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel-alt);
}
body.app-shell .machine-detail-page .quick-action-card .muted{
  margin: 0;
}
body.app-shell .machine-detail-page .split-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
body.app-shell .machine-detail-page .card-title,
body.app-shell [class^="admin-"] .card-title,
body.app-shell [class*=" admin-"] .card-title{
  letter-spacing: .02em;
}
body.app-shell [class^="admin-"] .card,
body.app-shell [class*=" admin-"] .card,
body.app-shell .admin-page .card,
body.app-shell .access-workspace-page .card,
body.app-shell .qms-page .card,
body.app-shell .process-control-page .card{
  border-radius: 20px;
  border-color: color-mix(in srgb, var(--border) 88%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--card) 96%, white 4%), color-mix(in srgb, var(--panel-alt) 92%, transparent));
  box-shadow: 0 16px 36px rgba(15,23,42,.07);
}
body.app-shell pre,
body.app-shell code,
body.app-shell .code-block,
body.app-shell .api-code,
body.app-shell .sql-preview{
  max-width: 100%;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border-radius: 14px;
}
body.app-shell .form .grid.two,
body.app-shell .form .grid.three,
body.app-shell .form .grid.four,
body.app-shell .grid.two,
body.app-shell .grid.three,
body.app-shell .grid.four{
  min-width: 0;
}
body.app-shell .form .input,
body.app-shell .form select.input,
body.app-shell .form textarea.input{
  width: 100%;
  max-width: 100%;
}
body.app-shell .wizard,
body.app-shell .wizard-step,
body.app-shell .feature-card,
body.app-shell .quick-action-card,
body.app-shell .note-box{
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 1180px){
  body.app-shell .table-summary,
  body.app-shell .tc433-table-toolbar,
  body.app-shell .tc-table-pager,
  body.app-shell .production-calendar-toolbar-card,
  body.app-shell .machine-detail-page .page-head,
  body.app-shell .machine-detail-page .machine-hero,
  body.app-shell .machine-detail-page .split-grid{
    grid-template-columns: 1fr;
  }
  body.app-shell .table-summary .table-tools,
  body.app-shell .tc433-table-controls,
  body.app-shell .tc-table-pager-actions,
  body.app-shell .machine-detail-page .page-head .actions{
    justify-content: flex-start;
  }
  body.app-shell .machine-detail-page .quick-action-card{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 720px){
  body.app-shell .tc433-table-toolbar,
  body.app-shell .tc-table-pager{
    padding: 8px;
    gap: 8px;
  }
  body.app-shell .tc433-table-controls,
  body.app-shell .tc-table-pager-actions{
    justify-content: flex-start;
  }
  body.app-shell .tc433-table-search,
  body.app-shell .tc26-search,
  body.app-shell .table-tools input[type="search"],
  body.app-shell .performance-toolbar input[type="search"]{
    flex-basis: 100%;
    min-width: 0;
    width: 100%;
  }
  body.app-shell .tc433-page-btn,
  body.app-shell .tc-table-pager .btn{
    min-width: 76px;
    padding-inline: 10px;
  }
  body.app-shell .calendar-modal-summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.app-shell .machine-detail-page .quick-action-card,
  body.app-shell .machine-detail-page .machine-summary-grid{
    grid-template-columns: 1fr;
  }
}
body.app-shell .page,
body.app-shell .content,
body.app-shell main,
body.app-shell .card,
body.app-shell .table-card,
body.app-shell .hero-panel,
body.app-shell .station-hero,
body.app-shell .modal-card,
body.app-shell .modal-body,
body.app-shell .offcanvas,
body.app-shell .grid,
body.app-shell .split-grid,
body.app-shell .form,
body.app-shell .toolbar-form,
body.app-shell .actions,
body.app-shell .button-row,
body.app-shell .btn-row,
body.app-shell .table-toolbar,
body.app-shell .tc433-table-toolbar,
body.app-shell .tc-table-pager,
body.app-shell .tc26-dt-command,
body.app-shell .tc26-dt-footer{
  min-width: 0;
  max-width: 100%;
}
body.app-shell .table-card,
body.app-shell .card:has(table),
body.app-shell .data-panel:has(table),
body.app-shell .report-card:has(table){
  overflow: hidden;
}
body.app-shell .table-wrap,
body.app-shell .responsive-table,
body.app-shell .table-scroll,
body.app-shell .tc433-table-scroll,
body.app-shell .tc432-table-scroll,
body.app-shell .tc431-table-scroll,
body.app-shell .tc430-table-scroll,
body.app-shell .data-table-scroll,
body.app-shell .table-responsive{
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
}
body.app-shell .table-wrap::-webkit-scrollbar,
body.app-shell .responsive-table::-webkit-scrollbar,
body.app-shell .table-scroll::-webkit-scrollbar,
body.app-shell .tc433-table-scroll::-webkit-scrollbar,
body.app-shell .table-responsive::-webkit-scrollbar{
  height: 10px;
}
body.app-shell .table-wrap::-webkit-scrollbar-thumb,
body.app-shell .responsive-table::-webkit-scrollbar-thumb,
body.app-shell .table-scroll::-webkit-scrollbar-thumb,
body.app-shell .tc433-table-scroll::-webkit-scrollbar-thumb,
body.app-shell .table-responsive::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 32%, var(--border));
}
body.app-shell table,
body.app-shell table.table,
body.app-shell .table-wrap > table,
body.app-shell .responsive-table > table,
body.app-shell .table-scroll > table,
body.app-shell .tc433-table-scroll > table,
body.app-shell .table-responsive > table,
body.app-shell table.data-table,
body.app-shell table.tc433-data-table,
body.app-shell table.tc26-table,
body.app-shell table.br-table,
body.app-shell table.five-table,
body.app-shell table.inventory-stock-table,
body.app-shell table.compact-data-table,
body.app-shell table.dense-table,
body.app-shell .table-wrap > table.table:not(.desktop-table-only),
body.app-shell .table-wrap > .table,
body.app-shell table.table.responsive-table{
  display: table;
  width: 100%;
  min-width: max(960px, 100%);
  max-width: none;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}
body.app-shell table thead,
body.app-shell .table thead,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) thead,
body.app-shell table.data-table thead,
body.app-shell table.tc433-data-table thead{
  display: table-header-group;
}
body.app-shell table tbody,
body.app-shell .table tbody,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) tbody,
body.app-shell table.data-table tbody,
body.app-shell table.tc433-data-table tbody{
  display: table-row-group;
  width: auto;
}
body.app-shell table tfoot,
body.app-shell .table tfoot{
  display: table-footer-group;
}
body.app-shell table tr,
body.app-shell .table tr,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) tr,
body.app-shell table.data-table tr,
body.app-shell table.tc433-data-table tr{
  display: table-row;
  width: auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  background: transparent;
}
body.app-shell table tr[hidden],
body.app-shell .table tr[hidden]{
  display: none;
}
body.app-shell table th,
body.app-shell table td,
body.app-shell .table th,
body.app-shell .table td,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) th,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td,
body.app-shell table.data-table th,
body.app-shell table.data-table td,
body.app-shell table.tc433-data-table th,
body.app-shell table.tc433-data-table td{
  display: table-cell;
  width: auto;
  min-height: 0;
  vertical-align: middle;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
  line-height: 1.32;
  font-size: .88rem;
}
body.app-shell table th,
body.app-shell .table th,
body.app-shell table.data-table th,
body.app-shell table.tc433-data-table th{
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--panel-alt);
  color: var(--text-2);
  font-weight: 850;
  font-size: .72rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
body.app-shell table td,
body.app-shell .table td{
  color: var(--text);
  background: transparent;
}
body.app-shell table tbody tr:nth-child(even) td,
body.app-shell .table tbody tr:nth-child(even) td{
  background: color-mix(in srgb, var(--panel-alt) 62%, transparent);
}
body.app-shell table tbody tr:hover td,
body.app-shell .table tbody tr:hover td{
  background: color-mix(in srgb, var(--primary) 8%, var(--panel-alt));
}
body.app-shell table td::before,
body.app-shell .table td::before,
body.app-shell .table-wrap > table.table:not(.desktop-table-only) td::before,
body.app-shell table.data-table td::before,
body.app-shell table.tc433-data-table td::before{
  display: none;
  content: none;
}
body.app-shell table td[colspan],
body.app-shell .table td[colspan]{
  text-align: center;
}
body.app-shell table td.actions,
body.app-shell table td.actions-col,
body.app-shell table th.actions,
body.app-shell table th.actions-col,
body.app-shell .table td.actions,
body.app-shell .table td.actions-col,
body.app-shell .table th.actions,
body.app-shell .table th.actions-col,
body.app-shell .table td[data-label="Actions"]{
  white-space: nowrap;
  min-width: 150px;
}
body.app-shell table td .btn,
body.app-shell .table td .btn,
body.app-shell table td a.btn,
body.app-shell .table td a.btn,
body.app-shell table td button.btn,
body.app-shell .table td button.btn{
  width: auto;
  min-width: auto;
  max-width: 220px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 2px 4px 2px 0;
  padding: 6px 10px;
  font-size: .8rem;
  white-space: nowrap;
  vertical-align: middle;
}
body.app-shell table td .pill,
body.app-shell .table td .pill,
body.app-shell table td .mini-tag,
body.app-shell .table td .mini-tag{
  width: auto;
  max-width: 220px;
  display: inline-flex;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}
body.app-shell table td .mono,
body.app-shell .table td .mono,
body.app-shell table td code,
body.app-shell .table td code,
body.app-shell table td strong,
body.app-shell .table td strong{
  max-width: 240px;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
body.app-shell .tc433-table-toolbar,
body.app-shell .tc-table-pager,
body.app-shell .table-pagination,
body.app-shell .table-toolbar,
body.app-shell .tc26-dt-command,
body.app-shell .tc26-dt-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  margin: 10px 0;
}
body.app-shell .tc433-table-controls,
body.app-shell .tc-table-pager-actions,
body.app-shell .table-pagination-controls,
body.app-shell .table-toolbar-start,
body.app-shell .table-toolbar-end,
body.app-shell .tc26-dt-left,
body.app-shell .tc26-dt-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
body.app-shell .tc433-table-search,
body.app-shell .table-toolbar input[type="search"],
body.app-shell .tc26-search,
body.app-shell [data-dt-search]{
  width: clamp(180px, 22vw, 320px);
  max-width: 100%;
}
body.app-shell .tc433-page-size,
body.app-shell .tc-table-page-size,
body.app-shell [data-dt-length],
body.app-shell .table-pagination select,
body.app-shell .table-toolbar select{
  width: auto;
  min-width: 74px;
  max-width: 100px;
  padding-inline: 10px;
}
body.app-shell .tc433-table-info,
body.app-shell .tc-table-pager-info,
body.app-shell .table-status,
body.app-shell .tc26-info-text{
  flex: 1 1 210px;
  min-width: 180px;
  color: var(--text-2);
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
}
body.app-shell .tc433-page-label,
body.app-shell .tc-table-page-label{
  min-width: 86px;
  text-align: center;
  font-size: .82rem;
  font-weight: 800;
  color: var(--text-2);
  white-space: nowrap;
}
body.app-shell .tc433-page-btn,
body.app-shell .tc-table-pager .btn,
body.app-shell .table-pagination .btn{
  min-width: 54px;
  min-height: 34px;
  padding: 6px 10px;
  white-space: nowrap;
}
body.app-shell .page-head,
body.app-shell .queue-head,
body.app-shell .section-head,
body.app-shell .card-head,
body.app-shell .station-panel-head,
body.app-shell .entity-card-head,
body.app-shell .machine-status-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
body.app-shell .page-head .actions,
body.app-shell .queue-head .actions,
body.app-shell .section-head .actions,
body.app-shell .card-head .actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
body.app-shell .actions .btn,
body.app-shell .button-row .btn,
body.app-shell .btn-row .btn{
  flex: 0 0 auto;
  white-space: nowrap;
}
body.app-shell .form-row,
body.app-shell .form-grid,
body.app-shell .grid.two,
body.app-shell .grid.three,
body.app-shell .grid.four{
  min-width: 0;
}
body.app-shell .grid.two{
  grid-template-columns: repeat(2, minmax(260px, 1fr));
}
body.app-shell .grid.three{
  grid-template-columns: repeat(3, minmax(210px, 1fr));
}
body.app-shell .grid.four{
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}
body.app-shell .input,
body.app-shell input,
body.app-shell select,
body.app-shell textarea{
  max-width: 100%;
}
body.app-shell .machine-status-grid,
body.app-shell .machine-grid,
body.app-shell .asset-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 260px));
  justify-content: start;
  align-items: stretch;
  gap: 14px;
}
body.app-shell .machine-status-card,
body.app-shell .machine-summary-card,
body.app-shell .machine-info-card{
  min-height: 112px;
  max-width: 280px;
  overflow: hidden;
}
@media (max-width: 1180px){
  body.app-shell .grid.three,
  body.app-shell .grid.four{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}
@media (max-width: 760px){
  body.app-shell .table-wrap,
  body.app-shell .responsive-table,
  body.app-shell .table-scroll,
  body.app-shell .tc433-table-scroll,
  body.app-shell .tc432-table-scroll,
  body.app-shell .tc431-table-scroll,
  body.app-shell .tc430-table-scroll,
  body.app-shell .data-table-scroll,
  body.app-shell .table-responsive{
    overflow-x: auto;
    overflow-y: visible;
    border: 1px solid var(--border);
    background: var(--panel);
    box-shadow: 0 12px 30px rgba(15,23,42,.08);
  }
  body.app-shell table,
  body.app-shell table.table,
  body.app-shell .table-wrap > table,
  body.app-shell .responsive-table > table,
  body.app-shell .table-scroll > table,
  body.app-shell .tc433-table-scroll > table,
  body.app-shell .table-responsive > table,
  body.app-shell table.data-table,
  body.app-shell table.tc433-data-table,
  body.app-shell table.tc26-table,
  body.app-shell table.br-table,
  body.app-shell table.five-table,
  body.app-shell table.inventory-stock-table,
  body.app-shell table.compact-data-table,
  body.app-shell table.dense-table,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only),
  body.app-shell .table-wrap > .table,
  body.app-shell table.table.responsive-table{
    display: table;
    min-width: 880px;
    width: 100%;
    border-spacing: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  body.app-shell table thead,
  body.app-shell .table thead,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) thead{
    display: table-header-group;
  }
  body.app-shell table tbody,
  body.app-shell .table tbody,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) tbody{
    display: table-row-group;
  }
  body.app-shell table tr,
  body.app-shell .table tr,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) tr{
    display: table-row;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
  }
  body.app-shell table th,
  body.app-shell table td,
  body.app-shell .table th,
  body.app-shell .table td,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) th,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) td{
    display: table-cell;
    padding: 9px 10px;
    min-height: 0;
    width: auto;
    white-space: nowrap;
    font-size: .82rem;
  }
  body.app-shell table td::before,
  body.app-shell .table td::before,
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) td::before{
    display: none;
    content: none;
  }
  body.app-shell table td .btn,
  body.app-shell .table td .btn{
    width: auto;
    min-height: 30px;
    padding: 5px 8px;
    font-size: .76rem;
  }
  body.app-shell .tc433-table-toolbar,
  body.app-shell .tc-table-pager,
  body.app-shell .table-toolbar,
  body.app-shell .table-pagination,
  body.app-shell .tc26-dt-command,
  body.app-shell .tc26-dt-footer{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
  }
  body.app-shell .tc433-table-controls,
  body.app-shell .tc-table-pager-actions,
  body.app-shell .table-pagination-controls,
  body.app-shell .table-toolbar-start,
  body.app-shell .table-toolbar-end,
  body.app-shell .tc26-dt-left,
  body.app-shell .tc26-dt-right{
    width: 100%;
    justify-content: flex-start;
  }
  body.app-shell .tc433-table-search,
  body.app-shell .table-toolbar input[type="search"],
  body.app-shell .tc26-search,
  body.app-shell [data-dt-search]{
    flex: 1 1 100%;
    width: 100%;
  }
  body.app-shell .grid.two,
  body.app-shell .grid.three,
  body.app-shell .grid.four{
    grid-template-columns: 1fr;
  }
  body.app-shell .page-head,
  body.app-shell .queue-head,
  body.app-shell .section-head,
  body.app-shell .card-head{
    align-items: stretch;
  }
  body.app-shell .page-head .actions,
  body.app-shell .queue-head .actions,
  body.app-shell .section-head .actions,
  body.app-shell .card-head .actions{
    justify-content: flex-start;
  }
  body.app-shell .actions .btn,
  body.app-shell .button-row .btn,
  body.app-shell .btn-row .btn{
    flex: 0 1 auto;
  }
  body.app-shell .machine-status-grid,
  body.app-shell .machine-grid,
  body.app-shell .asset-grid{
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  }
}
@media (max-width: 480px){
  body.app-shell table,
  body.app-shell table.table,
  body.app-shell .table-wrap > table,
  body.app-shell .responsive-table > table,
  body.app-shell .tc433-table-scroll > table{
    min-width: 760px;
  }
  body.app-shell .tc433-page-btn,
  body.app-shell .tc-table-pager .btn,
  body.app-shell .table-pagination .btn{
    min-width: 50px;
  }
}
:root{
  --tc460-card-radius: 18px;
  --tc460-soft-border: color-mix(in srgb, var(--border) 86%, #fff 14%);
  --tc460-strip-bg: linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, #fff 6%), color-mix(in srgb, var(--bg-elev) 90%, #fff 10%));
  --tc460-control-h: 42px;
}
html[data-theme="dark"]{
  --tc460-soft-border: color-mix(in srgb, var(--border) 78%, #64748b 22%);
  --tc460-strip-bg: linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #0f172a 8%), color-mix(in srgb, var(--bg-elev) 90%, #0f172a 10%));
}
body.app-shell .toast{
  position: fixed;
  top: calc(var(--hosting-banner-height, 0px) + 88px);
  right: 24px;
  left: auto;
  width: min(440px, calc(100vw - 48px));
  z-index: 1900;
  margin: 0;
  border-radius: 16px;
  animation: tc460ToastAutoHide 7.5s ease forwards;
}
@keyframes tc460ToastAutoHide{
  0%, 8%{opacity:0; transform:translateY(-8px) scale(.985)}
  12%, 78%{opacity:1; transform:translateY(0) scale(1)}
  100%{opacity:0; transform:translateY(-8px) scale(.985); visibility:hidden; pointer-events:none}
}
body.app-shell .sidebar-brand-panel,
body.app-shell .brand-panel.sidebar-brand-panel{
  background: transparent;
  background-image: none;
  border-color: transparent;
  box-shadow: none;
  padding: 10px 8px 12px;
  margin-bottom: 8px;
}
body.app-shell .sidebar-brand-panel::before,
body.app-shell .sidebar-brand-panel::after,
body.app-shell .brand-panel.sidebar-brand-panel::before,
body.app-shell .brand-panel.sidebar-brand-panel::after{
  content: none;
  display: none;
}
body.app-shell .brand-core--compact{
  min-height: 52px;
  gap: 10px;
  padding: 6px 7px;
  border-radius: 16px;
}
body.app-shell .brand-core--compact .logo,
body.app-shell .brand-core .logo{
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 14px;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--primary) 22%, transparent);
}
body.app-shell .brand-core--compact .brand-title{
  font-size: .98rem;
  line-height: 1.12;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
body.app-shell .brand-core--compact .brand-sub,
body.app-shell .brand-sub{
  font-size: .74rem;
  line-height: 1.2;
  white-space: normal;
}
body.app-shell .sidebar-close-btn{
  display: none;
}
@media (max-width: 1024px){
  body.app-shell .sidebar-close-btn{display:inline-flex;}
  body.app-shell .sidebar-brand-panel,
  body.app-shell .brand-panel.sidebar-brand-panel{
    background: color-mix(in srgb, var(--panel) 88%, transparent);
    border-color: var(--border);
    box-shadow: var(--shadow-sm);
  }
}
body.app-shell .process-station-page{
  --operation-strip-gap: 12px;
}
body.app-shell .process-station-page .process-page-head{
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(420px, .95fr);
  align-items: stretch;
  gap: 16px;
  padding: 18px;
  margin-bottom: 14px;
}
body.app-shell .process-station-page .process-title-block{
  min-width: 0;
  align-self: center;
}
body.app-shell .process-station-page .process-title-block h2{
  margin-bottom: 4px;
}
body.app-shell .station-top-actions--utility.golden-action-bar,
body.app-shell .process-station-page .station-top-actions{
  display: grid;
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  gap: 10px;
  width: 100%;
  align-items: stretch;
}
body.app-shell .station-top-actions--utility.golden-action-bar .btn,
body.app-shell .station-top-actions--utility.golden-action-bar a.btn,
body.app-shell .process-station-page .station-top-actions .btn,
body.app-shell .process-station-page .station-top-actions a.btn{
  width: 100%;
  min-width: 0;
  height: var(--tc460-control-h);
  min-height: var(--tc460-control-h);
  padding: 0 13px;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .process-kpi-scroll{
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 0 10px;
  margin-bottom: 6px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid{
  display: grid;
  grid-template-columns: repeat(7, minmax(168px, 1fr));
  gap: 12px;
  min-width: min(1260px, max-content);
  margin: 0;
}
body.app-shell .process-station-page .process-metrics-grid .metric-card{
  min-width: 168px;
  min-height: 106px;
  padding: 16px 16px 14px;
  border-radius: var(--tc460-card-radius);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.app-shell .process-station-page .process-metrics-grid .metric-title{
  min-height: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .process-station-page .process-metrics-grid .metric-value{
  font-size: clamp(2rem, 2.4vw, 2.65rem);
  line-height: 1;
}
body.app-shell .process-station-page .process-clock-card{
  border-color: color-mix(in srgb, var(--success) 24%, var(--border));
  background: linear-gradient(180deg, color-mix(in srgb, var(--success) 8%, var(--panel)), var(--panel));
}
body.app-shell .upstream-takt-pill.slim-info-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 999px;
  margin: 2px 0 14px;
}
body.app-shell .process-machines-card .machine-strip,
body.app-shell .station-detail-page .machine-scroll-row{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 240px));
  justify-content: start;
  align-items: stretch;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
}
body.app-shell .process-machines-card .machine-tile,
body.app-shell .station-detail-page .machine-status-card{
  width: 100%;
  max-width: 240px;
  min-height: 112px;
  border-radius: 16px;
  overflow: hidden;
}
body.app-shell .machine-status-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
body.app-shell .machine-status-row .pill{
  min-height: 24px;
  line-height: 1.1;
}
body.app-shell .station-inventory-shell .line-side-inventory-metrics,
body.app-shell .line-side-inventory-metrics{
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}
body.app-shell .station-inventory-shell .station-inventory-card{
  min-height: 112px;
  min-width: 240px;
}
body.app-shell .operation-work-card{
  margin-top: 14px;
  overflow: hidden;
}
body.app-shell .operation-work-card .queue-head{
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: start;
  gap: 14px;
}
body.app-shell .operation-work-card .work-card-summary-strip{
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  margin: 12px 0;
  overflow-x: auto;
  padding-bottom: 4px;
}
body.app-shell .operation-work-card .work-card-summary-strip .metric-card{
  min-width: 160px;
  min-height: 84px;
  padding: 13px 14px;
}
body.app-shell .operation-filter-strip{
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(360px, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  margin: 12px 0 10px;
  border: 1px solid var(--tc460-soft-border);
  border-radius: 18px;
  background: var(--tc460-strip-bg);
}
body.app-shell .operation-filter-strip > div:first-of-type .card-title{
  font-size: .94rem;
  margin-bottom: 2px;
}
body.app-shell .operation-filter-strip .stage-mbin-tools,
body.app-shell .stage-mbin-tools{
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(112px, 150px) auto auto auto;
  gap: 8px;
  align-items: center;
  width: 100%;
}
body.app-shell .operation-filter-strip .input,
body.app-shell .operation-filter-strip .btn{
  min-height: 38px;
}
body.app-shell .operation-filter-strip .pill{
  justify-content: center;
  white-space: nowrap;
}
body.app-shell .operation-pager-strip,
body.app-shell .stage-mbin-pager.operation-pager-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 9px 12px;
  margin: 0 0 12px;
  border: 1px solid var(--tc460-soft-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel) 88%, transparent);
}
body.app-shell .stage-mbin-page-actions{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body.app-shell .tc251-mbin-operational-grid,
body.app-shell .entity-card-grid.tc251-mbin-operational-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(288px, 324px));
  justify-content: start;
  align-items: start;
  gap: 14px;
}
body.app-shell .tc251-mbin-operational-grid .entity-card,
body.app-shell .tc251-mbin-operational-grid [data-module-card]{
  width: 100%;
  max-width: 324px;
}
body.app-shell .tc257-meta-row--compact{
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
}
body.app-shell .tc257-meta strong,
body.app-shell .tc257-id,
body.app-shell .user-name{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.app-shell .operation-activity-log .activity-log-head,
body.app-shell .operation-activity-log .queue-head{
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 460px);
  align-items: end;
  gap: 14px;
}
body.app-shell .operation-activity-log .toolbar-search{
  width: 100%;
  height: 42px;
}
body.app-shell .process-station-page .tc433-table-toolbar,
body.app-shell .station-detail-page .tc433-table-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  margin: 10px 0 0;
  border: 1px solid var(--tc460-soft-border);
  border-radius: 16px 16px 0 0;
  background: var(--tc460-strip-bg);
}
body.app-shell .process-station-page .tc433-table-info,
body.app-shell .station-detail-page .tc433-table-info{
  flex: 1 1 230px;
  min-width: 180px;
  font-size: .82rem;
  color: var(--text-2);
  font-weight: 800;
}
body.app-shell .process-station-page .tc433-table-controls,
body.app-shell .station-detail-page .tc433-table-controls{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 1 1 420px;
  min-width: 280px;
  flex-wrap: nowrap;
}
body.app-shell .process-station-page .tc433-page-size,
body.app-shell .station-detail-page .tc433-page-size{
  width: 74px;
  min-width: 74px;
  height: 36px;
}
body.app-shell .process-station-page .tc433-page-label,
body.app-shell .station-detail-page .tc433-page-label{
  min-width: 78px;
  white-space: nowrap;
  font-size: .8rem;
}
body.app-shell .process-station-page .tc433-page-btn,
body.app-shell .station-detail-page .tc433-page-btn{
  min-height: 36px;
  min-width: 74px;
  padding: 0 12px;
}
body.app-shell .process-station-page .table-wrap,
body.app-shell .station-detail-page .table-wrap{
  border-radius: 0 0 16px 16px;
}
body.app-shell .process-station-page .table th,
body.app-shell .process-station-page .table td,
body.app-shell .station-detail-page .table th,
body.app-shell .station-detail-page .table td{
  vertical-align: middle;
}
body.app-shell .process-station-page .table td .user-chip,
body.app-shell .station-detail-page .table td .user-chip{
  min-width: 170px;
}
body.app-shell .station-detail-page .station-hero-actions{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  width: 100%;
}
body.app-shell .station-detail-page .station-hero-actions .btn{
  min-height: 42px;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.app-shell .station-detail-page .station-metric-squares,
body.app-shell .station-detail-page .station-readiness-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
  gap: 12px;
  overflow-x: auto;
}
body.app-shell .station-detail-page .metric-square,
body.app-shell .station-detail-page .readiness-card{
  min-width: 176px;
}
@media (max-width: 1180px){
  body.app-shell .toast{
    top: auto;
    right: 12px;
    bottom: calc(var(--mobile-dock-height, 88px) + 14px);
    width: min(420px, calc(100vw - 24px));
  }
  body.app-shell .process-station-page .process-page-head{
    grid-template-columns: 1fr;
  }
  body.app-shell .station-top-actions--utility.golden-action-bar,
  body.app-shell .process-station-page .station-top-actions{
    grid-template-columns: repeat(3, minmax(128px, 1fr));
    overflow-x: auto;
    padding-bottom: 2px;
  }
  body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid{
    grid-template-columns: repeat(7, minmax(150px, 150px));
    min-width: max-content;
  }
  body.app-shell .operation-filter-strip{
    grid-template-columns: 1fr;
  }
  body.app-shell .operation-filter-strip .stage-mbin-tools,
  body.app-shell .stage-mbin-tools{
    grid-template-columns: minmax(220px, 1fr) minmax(104px, 136px) auto auto auto;
    overflow-x: auto;
  }
}
@media (max-width: 760px){
  body.app-shell .process-station-page .process-page-head{
    padding: 14px;
  }
  body.app-shell .station-top-actions--utility.golden-action-bar,
  body.app-shell .process-station-page .station-top-actions{
    display: grid;
    grid-template-columns: repeat(5, minmax(132px, 1fr));
    overflow-x: auto;
  }
  body.app-shell .station-top-actions--utility.golden-action-bar .btn,
  body.app-shell .station-top-actions--utility.golden-action-bar a.btn,
  body.app-shell .process-station-page .station-top-actions .btn,
  body.app-shell .process-station-page .station-top-actions a.btn{
    min-height: 42px;
    height: 42px;
    white-space: nowrap;
  }
  body.app-shell .upstream-takt-pill.slim-info-card{
    border-radius: 16px;
    align-items: flex-start;
  }
  body.app-shell .process-machines-card .machine-strip,
  body.app-shell .station-detail-page .machine-scroll-row{
    grid-auto-flow: column;
    grid-auto-columns: minmax(210px, 230px);
    grid-template-columns: none;
  }
  body.app-shell .operation-work-card .queue-head,
  body.app-shell .operation-activity-log .activity-log-head,
  body.app-shell .operation-activity-log .queue-head{
    grid-template-columns: 1fr;
  }
  body.app-shell .operation-work-card .work-card-summary-strip,
  body.app-shell .station-inventory-shell .line-side-inventory-metrics,
  body.app-shell .line-side-inventory-metrics{
    grid-auto-flow: column;
    grid-auto-columns: minmax(180px, 220px);
    grid-template-columns: none;
  }
  body.app-shell .operation-filter-strip .stage-mbin-tools,
  body.app-shell .stage-mbin-tools{
    grid-template-columns: minmax(220px, 1fr) minmax(100px, 124px) 84px 70px 78px;
  }
  body.app-shell .stage-mbin-page-actions{
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
  }
  body.app-shell .tc251-mbin-operational-grid,
  body.app-shell .entity-card-grid.tc251-mbin-operational-grid{
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
  }
  body.app-shell .tc251-mbin-operational-grid .entity-card,
  body.app-shell .tc251-mbin-operational-grid [data-module-card]{
    max-width: none;
  }
  body.app-shell .process-station-page .tc433-table-toolbar,
  body.app-shell .station-detail-page .tc433-table-toolbar{
    display: grid;
    grid-template-columns: 1fr;
  }
  body.app-shell .process-station-page .tc433-table-controls,
  body.app-shell .station-detail-page .tc433-table-controls{
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    width: 100%;
  }
}
@media (max-width: 480px){
  body.app-shell .process-station-page .process-metrics-grid .metric-card{
    min-width: 146px;
  }
  body.app-shell .process-station-page .metrics-grid.phase2-metrics-grid.process-metrics-grid{
    grid-template-columns: repeat(7, minmax(146px, 146px));
  }
  body.app-shell .operation-filter-strip{
    padding: 10px;
  }
}
.final-pack-passport .fpp255-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;min-width:280px}
.final-pack-passport .fpp255-search{min-width:min(360px,100%);flex:1 1 320px}
.final-pack-passport .fpp255-hero{align-items:stretch}
.final-pack-passport .fpp255-product-frame,.final-pack-passport .fpp255-identity,.final-pack-passport .fpp255-commercial{height:100%}
.final-pack-passport .fpp255-main-grid{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(300px,.9fr) minmax(300px,.9fr);align-items:stretch;gap:14px}
.final-pack-passport .fpp255-main-grid>.fpp255-card{min-height:420px;max-height:620px;overflow:auto}
.final-pack-passport .fpp255-spec-list{display:grid;grid-template-columns:1fr;gap:0}
.final-pack-passport .fpp255-spec-list>div{min-height:38px;display:grid;grid-template-columns:minmax(130px,42%) minmax(0,1fr);align-items:center;gap:10px}
.final-pack-passport .fpp255-spec-list strong,.final-pack-passport .fpp255-fin-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.final-pack-passport .fpp255-quality-top{align-items:center;gap:12px}
.final-pack-passport .fpp255-quality-counts{grid-template-columns:repeat(2,minmax(90px,1fr));gap:8px}
.final-pack-passport .fpp255-flow-card{overflow:hidden}
.final-pack-passport .fpp255-flow{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x proximity}
.final-pack-passport .fpp255-flow-node{flex:0 0 155px;min-width:155px;max-width:155px;scroll-snap-align:start;min-height:140px;display:flex;flex-direction:column}
.final-pack-passport .fpp255-flow-node span,.final-pack-passport .fpp255-flow-node em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.final-pack-passport .fpp255-flow-node small{white-space:normal;line-height:1.25;min-height:32px}
.final-pack-passport .fpp255-card-head.is-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.final-pack-passport .table-wrap,.final-pack-passport .responsive-table{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:16px}
.final-pack-passport .fpp255-table{min-width:980px;table-layout:auto;border-collapse:separate;border-spacing:0}
.final-pack-passport .fpp255-table th,.final-pack-passport .fpp255-table td{white-space:nowrap;vertical-align:middle;line-height:1.35}
.final-pack-passport .fpp255-table td:nth-child(1),.final-pack-passport .fpp255-table td:nth-child(5),.final-pack-passport .fpp255-table td:nth-child(8){white-space:normal;min-width:170px}
.final-pack-passport .fpp461-material-row{position:relative}
.final-pack-passport .fpp461-material-row td:first-child{border-left:4px solid var(--tc461-station-color,#8aa4c6)}
.final-pack-passport .fpp461-material-row.station-GLUE{--tc461-station-color:#14b8a6;background:linear-gradient(90deg,rgba(20,184,166,.08),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-CBND{--tc461-station-color:#22c55e;background:linear-gradient(90deg,rgba(34,197,94,.08),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-TTIT{--tc461-station-color:#0ea5e9;background:linear-gradient(90deg,rgba(14,165,233,.08),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-MB2P{--tc461-station-color:#6366f1;background:linear-gradient(90deg,rgba(99,102,241,.08),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-S1,.final-pack-passport .fpp461-material-row.station-S2,.final-pack-passport .fpp461-material-row.station-S3{--tc461-station-color:#3b82f6;background:linear-gradient(90deg,rgba(59,130,246,.07),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-S4,.final-pack-passport .fpp461-material-row.station-S5,.final-pack-passport .fpp461-material-row.station-S6{--tc461-station-color:#a855f7;background:linear-gradient(90deg,rgba(168,85,247,.07),transparent 38%)}
.final-pack-passport .fpp461-material-row.station-S7,.final-pack-passport .fpp461-material-row.station-S8,.final-pack-passport .fpp461-material-row.station-S9,.final-pack-passport .fpp461-material-row.station-S10{--tc461-station-color:#f59e0b;background:linear-gradient(90deg,rgba(245,158,11,.08),transparent 38%)}
.final-pack-passport .fpp255-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;align-items:start}
.final-pack-passport .fpp255-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px}
.final-pack-passport .fpp255-doc{min-height:122px;display:flex;flex-direction:column;justify-content:space-between}
.final-pack-passport .fpp255-dispatch-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}
.final-pack-passport .fpp255-dispatch-grid>div{min-height:76px}
.final-pack-passport .dataTables_wrapper,.final-pack-passport .asm-table-toolbar,.final-pack-passport .table-controls{gap:10px;align-items:center;flex-wrap:wrap}
.final-pack-passport .dataTables_wrapper select,.final-pack-passport .asm-table-toolbar select,.final-pack-passport .table-controls select{min-width:68px;max-width:96px}
.dispatch-blocked-card{display:none}
.tc461-mobile-safe-strip{overflow-x:auto;display:flex;flex-wrap:nowrap;gap:10px;padding-bottom:8px}
@media (max-width:1280px){
  .final-pack-passport .fpp255-main-grid{grid-template-columns:1fr 1fr}
  .final-pack-passport .fpp255-main-grid>.fpp255-card:nth-child(3){grid-column:1 / -1;min-height:320px}
  .final-pack-passport .fpp255-split{grid-template-columns:1fr}
}
@media (max-width:860px){
  .final-pack-passport{padding-inline:10px}
  .final-pack-passport .fpp255-header,.final-pack-passport .fpp255-hero{display:grid;grid-template-columns:1fr;gap:12px}
  .final-pack-passport .fpp255-header-actions{justify-content:stretch;width:100%}
  .final-pack-passport .fpp255-header-actions .btn,.final-pack-passport .fpp255-header-actions input{width:100%}
  .final-pack-passport .fpp255-main-grid{grid-template-columns:1fr}
  .final-pack-passport .fpp255-main-grid>.fpp255-card{min-height:auto;max-height:none;overflow:visible}
  .final-pack-passport .fpp255-kpis{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px;scroll-snap-type:x proximity}
  .final-pack-passport .fpp255-kpi{flex:0 0 180px;scroll-snap-align:start}
  .final-pack-passport .fpp255-hero-grid,.final-pack-passport .fpp255-dispatch-grid{grid-template-columns:1fr}
  .final-pack-passport .fpp255-doc-grid{grid-template-columns:1fr}
  .final-pack-passport .fpp255-flow-node{flex-basis:148px;min-width:148px;max-width:148px}
  .final-pack-passport .fpp255-spec-list>div{grid-template-columns:1fr;gap:4px;align-items:start}
  .final-pack-passport .fpp255-spec-list strong,.final-pack-passport .fpp255-fin-list strong{text-align:left;white-space:normal}
}
@media (max-width:640px){
  .final-pack-passport .fpp255-table{min-width:900px;font-size:12px}
  .final-pack-passport .fpp255-card-head.is-row .btn{width:100%}
  .final-pack-passport .fpp255-product-frame img{max-height:180px}
}
.asm-modern-page,
.page.asm-modern-page{width:100%;max-width:none;margin:0;padding:18px clamp(12px,1.6vw,24px);box-sizing:border-box;}
.app-main,.main-content,.content,.app-content{min-width:0;overflow-x:clip;}
.card,.panel,.section-card,.table-card,.modal-card{border-radius:18px;border:1px solid rgba(15,23,42,.10);box-shadow:0 14px 34px rgba(15,23,42,.07);background:var(--surface,#fff);min-width:0;}
[data-theme="dark"] .card,[data-theme="dark"] .panel,[data-theme="dark"] .section-card,[data-theme="dark"] .table-card,[data-theme="dark"] .modal-card{background:rgba(15,23,42,.92);border-color:rgba(148,163,184,.18);box-shadow:0 18px 40px rgba(0,0,0,.28);}
.grid,.kpi-grid,.metric-grid,.dashboard-grid,.form-grid{display:grid;gap:14px;min-width:0;}
.grid.two,.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid.three,.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid.four,.form-grid.four,.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.actions,.toolbar,.table-toolbar,.tc433-table-toolbar,.tc-table-pager,.toolbar-form,.tc270-trace-toolbar,.tc271-trace-toolbar,.tc257-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.actions .btn,.toolbar .btn,.table-toolbar .btn,.tc433-table-toolbar .btn,.tc257-actions .btn{flex:0 0 auto;white-space:nowrap;}
.input,select.input,textarea.input{max-width:100%;min-width:0;border-radius:12px;}
.table-wrap,.table-scroll,.table-responsive,.responsive-table,.tc459-table-scroll,.tc433-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border-radius:16px;}
table,table.table,.tc459-table-first,.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;table-layout:auto;}
table th,table td{white-space:nowrap;vertical-align:middle;max-width:340px;overflow:hidden;text-overflow:ellipsis;}
table th{position:sticky;top:0;z-index:2;background:var(--table-head-bg,#f8fafc);}
[data-theme="dark"] table th{background:#111827;}
table td .btn,table td .pill{white-space:nowrap;}
.tc433-table-toolbar{justify-content:space-between;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(248,250,252,.82);margin:8px 0;}
[data-theme="dark"] .tc433-table-toolbar{background:rgba(2,6,23,.45);border-color:rgba(148,163,184,.16);}
.tc433-table-tools,.tc433-table-pages,.tc433-table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tc433-table-search{min-width:220px;max-width:min(380px,100%);}
.tc433-page-size-label span{display:none;}
.tc433-page-size{width:auto;min-width:76px;}
.tc433-page-info{white-space:nowrap;font-size:.86rem;color:var(--muted,#64748b);}
.mobile-card-table tbody tr,.table-as-cards tbody tr,.card-table tbody tr{display:table-row;}
.mobile-card-table tbody td,.table-as-cards tbody td,.card-table tbody td{display:table-cell;}
.station-card-grid,.machine-card-grid,.assigned-machine-grid,.tc-machine-grid,.machine-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,240px));gap:12px;align-items:stretch;justify-content:start;}
.machine-card,.machine-status-card,.assigned-machine-card{width:100%;min-height:132px;max-width:240px;}
.tc465-final-gate-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:14px 16px;border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(255,255,255,.88));}
.tc465-final-gate-banner strong{color:#92400e;}
.tc465-final-gate-banner span{color:#78350f;font-size:.92rem;}
.is-trace-only-pack .fpp255-soft-tag:first-child::after{content:" locked until S10";font-weight:600;color:#b45309;}
.is-trace-only-pack a[href*="pdir_print"],.is-trace-only-pack a[href*="label_print"],.is-trace-only-pack a[href*="journey_print"],.is-trace-only-pack a[href*="certificate"],.is-trace-only-pack .final-certificate-action{pointer-events:none;opacity:.48;filter:grayscale(.25);}
.tc465-trace-only-pill{align-self:center;}
.sidebar,.app-sidebar{overflow-x:hidden;}
.sidebar .nav-link,.app-sidebar .nav-link{white-space:normal;line-height:1.18;min-height:38px;}
.sidebar .nav-link span,.app-sidebar .nav-link span{overflow:hidden;text-overflow:ellipsis;}
@media (max-width: 980px){
  .grid.two,.grid.three,.form-grid.two,.form-grid.three{grid-template-columns:1fr;}
  .asm-modern-page,.page.asm-modern-page{padding:12px;}
  .tc433-table-toolbar{align-items:stretch;}
  .tc433-table-tools,.tc433-table-actions,.tc433-table-pages{width:100%;justify-content:flex-start;}
  .tc433-table-search{width:100%;min-width:0;}
  table,table.table,.tc459-table-first,.data-table{min-width:760px;}
  .station-card-grid,.machine-card-grid,.assigned-machine-grid,.tc-machine-grid,.machine-status-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .machine-card,.machine-status-card,.assigned-machine-card{max-width:none;}
}
@media (max-width: 640px){
  .actions,.toolbar,.table-toolbar,.tc433-table-toolbar,.tc-table-pager,.toolbar-form{gap:8px;}
  .btn{min-height:38px;}
  .card,.panel,.section-card,.table-card{border-radius:15px;}
  .tc465-final-gate-banner{display:block;}
  table th,table td{max-width:220px;}
}
.tc465-table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0;padding:8px 10px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:rgba(248,250,252,.76)}
.tc465-table-tool-left,.tc465-table-tool-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc465-col-panel{position:absolute;z-index:20;right:10px;margin-top:44px;display:grid;gap:6px;max-height:260px;overflow:auto;padding:10px;border:1px solid rgba(15,23,42,.14);border-radius:14px;background:var(--surface,#fff);box-shadow:0 16px 38px rgba(15,23,42,.16)}
.tc465-col-panel label{white-space:nowrap;font-size:.84rem;color:var(--text,#0f172a)}
[data-theme="dark"] .tc465-table-tools{background:rgba(2,6,23,.44);border-color:rgba(148,163,184,.16)}
[data-theme="dark"] .tc465-col-panel{background:#111827;border-color:rgba(148,163,184,.24)}
body.app-shell .tc467-final-card-head{
  align-items:flex-start;
  gap:12px;
}
body.app-shell .tc467-final-pager,
body.app-shell .tc467-final-bottom-pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}
body.app-shell .tc467-page-label,
body.app-shell .tc467-final-bottom-pager span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  background:rgba(248,250,252,.70);
}
html[data-theme="dark"] body.app-shell .tc467-page-label,
html[data-theme="dark"] body.app-shell .tc467-final-bottom-pager span{
  background:rgba(15,23,42,.66);
}
body.app-shell .tc467-final-pager .btn.disabled,
body.app-shell .tc467-final-bottom-pager .btn.disabled{
  opacity:.48;
  pointer-events:none;
}
body.app-shell .tc467-final-bottom-pager{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.18);
  justify-content:center;
}
body.app-shell .tc269-final-toolbar{
  grid-template-columns:minmax(220px,1fr) repeat(5,minmax(94px,.42fr)) repeat(3,auto);
  align-items:center;
}
body.app-shell .tc269-final-pack-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px;
  align-items:stretch;
}
body.app-shell .tc269-final-pack-card{
  display:flex;
  flex-direction:column;
  gap:11px;
  min-width:0;
  min-height:0;
  border-radius:22px;
}
body.app-shell .tc269-final-pack-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
body.app-shell .tc269-final-pack-id{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.app-shell .tc269-final-pack-price{
  display:grid;
  gap:1px;
  align-content:center;
  text-align:right;
  line-height:1.15;
  border-radius:14px;
  padding:7px 10px;
}
body.app-shell .tc269-final-pack-price span{
  display:block;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.74;
}
body.app-shell .tc269-final-pack-bom{
  display:grid;
  gap:3px;
  white-space:normal;
  overflow:hidden;
  line-height:1.25;
  max-height:44px;
}
body.app-shell .tc269-final-pack-bom span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
body.app-shell .tc467-final-dv-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
body.app-shell .tc467-final-dv-strip div{
  min-width:0;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  padding:8px 7px;
  text-align:center;
  background:rgba(248,250,252,.72);
}
html[data-theme="dark"] body.app-shell .tc467-final-dv-strip div{
  background:rgba(15,23,42,.62);
}
body.app-shell .tc467-final-dv-strip span{
  display:block;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .tc467-final-dv-strip strong{
  display:block;
  margin-top:4px;
  color:var(--text);
  font-size:14px;
  line-height:1;
  font-weight:950;
}
body.app-shell .tc269-final-pack-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:auto;
}
body.app-shell .tc269-final-pack-actions .btn{
  min-width:0;
  width:100%;
  min-height:36px;
  padding-inline:10px;
  justify-content:center;
  text-align:center;
}
body.app-shell .metrics-grid,
body.app-shell .compact-metrics,
body.app-shell .tc269-final-summary-row,
body.app-shell .premium-metric-grid,
body.app-shell .station-kpi-row,
body.app-shell .station-material-grid,
body.app-shell .machine-grid,
body.app-shell .machine-card-grid,
body.app-shell .assigned-machines-grid,
body.app-shell .mini-inventory-grid,
body.app-shell .status-grid,
body.app-shell .dashboard-kpi-row{
  max-width:100%;
  min-width:0;
}
body.app-shell .metric-card,
body.app-shell .machine-card,
body.app-shell .tc247-machine-card,
body.app-shell .station-command-card,
body.app-shell .station-stat,
body.app-shell .quick-command-card,
body.app-shell .mini-help-card,
body.app-shell .inventory-mini-card,
body.app-shell .material-card,
body.app-shell .status-card{
  min-width:0;
  overflow-wrap:anywhere;
}
body.app-shell .metric-card .metric-value,
body.app-shell .metric-card .metric-title,
body.app-shell .metric-card .metric-sub,
body.app-shell .station-stat strong,
body.app-shell .station-stat span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .table-wrap,
body.app-shell .table-scroll,
body.app-shell .responsive-table,
body.app-shell .table-responsive,
body.app-shell .tc433-table-scroll,
body.app-shell .tc459-table-scroll,
body.app-shell .tc465-table-scroll{
  display:block;
  max-width:100%;
  width:100%;
  overflow-x:auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.app-shell table,
body.app-shell table.table,
body.app-shell table.data-table,
body.app-shell table.tc459-table-first,
body.app-shell table.tc465-advanced-table{
  border-collapse:separate;
  border-spacing:0;
  width:100%;
  min-width:760px;
  table-layout:auto;
}
body.app-shell table thead,
body.app-shell table tbody,
body.app-shell table tfoot{
  display:table-header-group;
}
body.app-shell table tbody{display:table-row-group;}
body.app-shell table tfoot{display:table-footer-group;}
body.app-shell table tr{display:table-row;}
body.app-shell table th,
body.app-shell table td{
  display:table-cell;
  vertical-align:middle;
  white-space:nowrap;
  max-width:280px;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell table td .btn,
body.app-shell table td button,
body.app-shell table td a.btn{
  width:auto;
  min-width:max-content;
  white-space:nowrap;
}
body.app-shell .tc433-table-toolbar,
body.app-shell .tc465-table-tools,
body.app-shell .tc-table-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  max-width:100%;
}
body.app-shell .tc433-table-controls,
body.app-shell .tc465-table-tool-right,
body.app-shell .tc-table-pager-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
body.app-shell .tc433-table-search,
body.app-shell .tc433-page-size,
body.app-shell .tc-table-page-size,
body.app-shell .tc433-page-btn,
body.app-shell .tc-table-pager .btn{
  min-height:34px;
}
body.app-shell .modal,
body.app-shell .offcanvas,
body.app-shell .tc249-modal{
  align-items:center;
  justify-content:center;
  padding:14px;
}
body.app-shell .modal-card,
body.app-shell .modal .modal-card,
body.app-shell .tc249-modal-card{
  width:min(980px,calc(100vw - 28px));
  max-height:calc(100dvh - 28px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border-radius:24px;
}
body.app-shell .modal-body,
body.app-shell .tc249-modal-body,
body.app-shell .modal .modal-card > form{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  min-height:0;
}
body.app-shell .form-grid,
body.app-shell .form.grid,
body.app-shell .grid.two,
body.app-shell .grid.three,
body.app-shell .grid.four,
body.app-shell .grid.five{
  min-width:0;
}
body.app-shell .actions,
body.app-shell .form-actions,
body.app-shell .button-row,
body.app-shell .modal-footer{
  gap:8px;
  flex-wrap:wrap;
}
@media (max-width:1180px){
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:minmax(220px,1fr) repeat(3,minmax(96px,1fr));
  }
  body.app-shell .tc269-final-toolbar .tc269-final-search{
    grid-column:1 / -1;
  }
  body.app-shell .metrics-grid,
  body.app-shell .compact-metrics,
  body.app-shell .premium-metric-grid,
  body.app-shell .dashboard-kpi-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  body.app-shell .page,
  body.app-shell .page.page-pad,
  body.app-shell .content,
  body.app-shell main{
    max-width:100%;
    overflow-x:hidden;
  }
  body.app-shell .page-head,
  body.app-shell .queue-head,
  body.app-shell .card-head,
  body.app-shell .section-head{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  body.app-shell .page-head .actions,
  body.app-shell .queue-head .actions,
  body.app-shell .card-head .actions,
  body.app-shell .section-head .actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  body.app-shell .page-head .actions .btn,
  body.app-shell .queue-head .actions .btn,
  body.app-shell .card-head .actions .btn,
  body.app-shell .section-head .actions .btn{
    width:100%;
    justify-content:center;
    min-width:0;
  }
  body.app-shell .tc269-final-toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.app-shell .tc269-final-toolbar .tc269-final-search{
    grid-column:1 / -1;
  }
  body.app-shell .tc269-final-toolbar .btn,
  body.app-shell .tc269-final-toolbar .input{
    width:100%;
    min-width:0;
    min-height:42px;
  }
  body.app-shell .tc269-final-summary-row,
  body.app-shell .metrics-grid,
  body.app-shell .compact-metrics,
  body.app-shell .premium-metric-grid,
  body.app-shell .station-kpi-row,
  body.app-shell .station-material-grid,
  body.app-shell .machine-grid,
  body.app-shell .machine-card-grid,
  body.app-shell .assigned-machines-grid,
  body.app-shell .mini-inventory-grid,
  body.app-shell .status-grid,
  body.app-shell .dashboard-kpi-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  body.app-shell .metric-card,
  body.app-shell .machine-card,
  body.app-shell .tc247-machine-card,
  body.app-shell .station-command-card,
  body.app-shell .mini-help-card,
  body.app-shell .inventory-mini-card,
  body.app-shell .material-card,
  body.app-shell .status-card{
    padding:11px;
    border-radius:18px;
    min-height:0;
  }
  body.app-shell .metric-card .metric-value{
    font-size:clamp(18px,7vw,30px);
    line-height:1;
  }
  body.app-shell .tc467-final-card-head,
  body.app-shell .tc467-final-pager{
    display:grid;
    grid-template-columns:1fr;
    justify-items:stretch;
  }
  body.app-shell .tc467-final-pager .pill,
  body.app-shell .tc467-final-pager .btn,
  body.app-shell .tc467-page-label{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  body.app-shell .tc269-final-pack-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  body.app-shell .tc269-final-pack-card{
    padding:12px;
    border-radius:20px;
    gap:10px;
  }
  body.app-shell .tc269-final-pack-top{
    grid-template-columns:minmax(0,1fr) minmax(96px,auto);
    align-items:start;
  }
  body.app-shell .tc269-final-pack-id{
    font-size:20px;
    line-height:1.05;
  }
  body.app-shell .tc269-final-pack-price{
    font-size:12px;
    white-space:normal;
    min-width:0;
  }
  body.app-shell .tc269-final-pack-mid{
    grid-template-columns:48px minmax(0,1fr);
    gap:9px;
  }
  body.app-shell .tc269-final-pack-mid img,
  body.app-shell .tc269-final-pack-placeholder{
    width:48px;
    height:48px;
    border-radius:16px;
  }
  body.app-shell .tc269-status-badge{
    max-width:100%;
    white-space:normal;
    line-height:1.15;
  }
  body.app-shell .tc467-final-dv-strip{
    gap:6px;
  }
  body.app-shell .tc467-final-dv-strip div{
    padding:7px 5px;
    border-radius:12px;
  }
  body.app-shell .tc467-final-dv-strip span{
    font-size:8px;
    letter-spacing:.025em;
  }
  body.app-shell .tc467-final-dv-strip strong{
    font-size:13px;
  }
  body.app-shell .tc269-final-pack-facts{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  body.app-shell .tc269-final-pack-facts div{
    display:grid;
    grid-template-columns:1fr;
    gap:3px;
    padding:7px;
  }
  body.app-shell .tc269-final-pack-facts span,
  body.app-shell .tc269-final-pack-facts strong{
    text-align:left;
    white-space:normal;
  }
  body.app-shell .tc269-final-pack-actions{
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .tc433-table-toolbar,
  body.app-shell .tc465-table-tools,
  body.app-shell .tc-table-pager{
    align-items:stretch;
  }
  body.app-shell .tc433-table-info,
  body.app-shell .tc465-table-tool-left,
  body.app-shell .tc433-table-controls,
  body.app-shell .tc465-table-tool-right,
  body.app-shell .tc-table-pager-actions{
    width:100%;
  }
  body.app-shell .tc433-table-controls,
  body.app-shell .tc465-table-tool-right,
  body.app-shell .tc-table-pager-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .tc433-table-search{
    grid-column:1 / -1;
    width:100%;
  }
  body.app-shell .tc433-page-label{
    grid-column:1 / -1;
    justify-content:center;
    text-align:center;
  }
  body.app-shell table,
  body.app-shell table.table,
  body.app-shell table.data-table,
  body.app-shell table.tc459-table-first,
  body.app-shell table.tc465-advanced-table{
    min-width:860px;
  }
  body.app-shell table th,
  body.app-shell table td{
    max-width:220px;
    padding:9px 10px;
  }
  body.app-shell .modal,
  body.app-shell .offcanvas,
  body.app-shell .tc249-modal{
    padding:8px;
    align-items:flex-end;
  }
  body.app-shell .modal-card,
  body.app-shell .modal .modal-card,
  body.app-shell .tc249-modal-card{
    width:100%;
    max-height:calc(100dvh - 16px);
    border-radius:22px 22px 0 0;
  }
  body.app-shell .modal-card .actions,
  body.app-shell .modal-footer,
  body.app-shell .form-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  body.app-shell .modal-card .actions .btn,
  body.app-shell .modal-footer .btn,
  body.app-shell .form-actions .btn{
    width:100%;
    justify-content:center;
  }
  body.app-shell .form-grid,
  body.app-shell .form.grid,
  body.app-shell .grid.two,
  body.app-shell .grid.three,
  body.app-shell .grid.four,
  body.app-shell .grid.five{
    grid-template-columns:1fr;
  }
}
@media (max-width:420px){
  body.app-shell .tc269-final-summary-row,
  body.app-shell .metrics-grid,
  body.app-shell .compact-metrics,
  body.app-shell .premium-metric-grid,
  body.app-shell .station-kpi-row,
  body.app-shell .station-material-grid,
  body.app-shell .machine-grid,
  body.app-shell .machine-card-grid,
  body.app-shell .assigned-machines-grid,
  body.app-shell .mini-inventory-grid,
  body.app-shell .status-grid,
  body.app-shell .dashboard-kpi-row{
    grid-template-columns:1fr;
  }
  body.app-shell .tc269-final-toolbar{
    grid-template-columns:1fr;
  }
  body.app-shell .tc269-final-pack-top{
    grid-template-columns:1fr;
  }
  body.app-shell .tc269-final-pack-price{
    text-align:center;
    width:100%;
  }
  body.app-shell .tc467-final-dv-strip,
  body.app-shell .tc269-final-pack-facts,
  body.app-shell .tc269-final-pack-actions{
    grid-template-columns:1fr;
  }
  body.app-shell .page-head .actions,
  body.app-shell .queue-head .actions,
  body.app-shell .card-head .actions,
  body.app-shell .section-head .actions,
  body.app-shell .modal-card .actions,
  body.app-shell .modal-footer,
  body.app-shell .form-actions{
    grid-template-columns:1fr;
  }
}
.tc468-legacy-page .filter-card{margin:12px 0}
.tc468-legacy-page .filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.tc468-legacy-page .filter-row label{min-width:150px;flex:1 1 180px;font-size:12px;color:var(--muted,#667085)}
.tc468-legacy-page .filter-row input,.tc468-legacy-page .filter-row select{width:100%;min-height:38px}
.tc468-legacy-page .api-card .code-block{margin:0;white-space:pre-wrap;word-break:break-all}
.tc468-legacy-page .table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}
.tc468-legacy-page table th,.tc468-legacy-page table td{white-space:nowrap;vertical-align:top}
.tc468-legacy-page .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:720px){.tc468-legacy-page .filter-row{display:grid;grid-template-columns:1fr}.tc468-legacy-page .action-row{width:100%;display:grid;grid-template-columns:1fr 1fr}.tc468-legacy-page table{min-width:1280px}}
.table-wrap,
.responsive-table,
.asm-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.table-wrap table,
.responsive-table table,
.asm-table-scroll table,
.dispatch-pack-table,
.dispatch-preview-table,
.fpp255-table {
  min-width: 760px;
  width: max-content;
  border-collapse: separate;
  border-spacing: 0;
}
.table-action-row,
.dispatch-summary-badges,
.tc269-final-pack-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
}
.tc269-final-summary-row .metric-card,
.metrics-grid .metric-card,
.station-material-card,
.machine-card,
.machine-status-card {
  min-width: 0;
}
.tc471-final-electric-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 8px;
}
.tc471-final-electric-strip div,
.tc467-final-dv-strip div {
  border: 1px solid rgba(88, 132, 180, .22);
  border-radius: 12px;
  padding: 7px 8px;
  background: rgba(255,255,255,.62);
  min-width: 0;
}
.tc471-final-electric-strip span,
.tc467-final-dv-strip span {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted, #64748b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tc471-final-electric-strip strong,
.tc467-final-dv-strip strong {
  display: block;
  font-size: 12px;
  color: var(--text, #0f172a);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tc269-final-pack-card {
  min-width: 0;
}
.tc269-final-pack-id,
.entity-code {
  overflow-wrap: anywhere;
}
.dispatch-layout-grid,
.dispatch-home-grid,
.dispatch-workflow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  align-items: start;
  gap: 16px;
}
.dispatch-side-card,
.dispatch-recent-card {
  align-self: start;
  max-height: calc(100vh - 160px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.dispatch-summary-stack,
.dispatch-recent-list {
  max-height: 620px;
  overflow: auto;
  padding-right: 4px;
}
.dispatch-pack-table th,
.dispatch-pack-table td {
  vertical-align: middle;
  white-space: nowrap;
}
.dispatch-gate-card .pills {
  max-height: 180px;
  overflow: auto;
  padding: 4px;
}
.fpp471-test-results-card,
.fpp471-documents-card {
  grid-column: 1 / -1;
  width: 100%;
}
.fpp471-test-results-card .fpp255-table {
  min-width: 820px;
}
.fpp255-docs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}
.modal,
.modal-dialog,
.offcanvas-panel,
.drawer-panel {
  max-width: min(96vw, 980px);
}
.modal-body,
.offcanvas-body,
.drawer-body {
  max-height: min(72vh, 760px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.station-operator-alerts .card-grid,
.operator-alert-grid {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
@media (max-width: 900px) {
  .dispatch-layout-grid,
  .dispatch-home-grid,
  .dispatch-workflow-grid,
  .split-grid,
  .dispatch-bottom-grid {
    grid-template-columns: 1fr;
  }
  .dispatch-side-card,
  .dispatch-recent-card,
  .dispatch-summary-stack,
  .dispatch-recent-list {
    max-height: 360px;
  }
  .metrics-grid,
  .tc269-final-summary-row,
  .station-kpi-strip,
  .station-material-grid {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    -webkit-overflow-scrolling: touch;
  }
  .metrics-grid > *,
  .tc269-final-summary-row > *,
  .station-kpi-strip > *,
  .station-material-grid > * {
    flex: 0 0 180px;
  }
  .tc269-final-pack-grid {
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  }
  .tc269-final-pack-actions,
  .table-action-row {
    justify-content: stretch;
  }
  .tc269-final-pack-actions .btn,
  .table-action-row .btn {
    flex: 1 1 auto;
  }
}
@media (max-width: 540px) {
  .tc269-final-pack-grid {
    grid-template-columns: 1fr;
  }
  .tc467-final-dv-strip,
  .tc471-final-electric-strip {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .page-head .actions,
  .row-actions,
  .queue-head .table-tools {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .page-head .actions .btn,
  .row-actions .btn,
  .queue-head .table-tools .btn {
    width: 100%;
  }
  .modal,
  .modal-dialog,
  .offcanvas-panel,
  .drawer-panel {
    max-width: 100vw;
    border-radius: 16px 16px 0 0;
  }
}
body.app-shell .tc473-final-pack-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.app-shell .dispatch-summary-stack{
  max-height:560px;
  overflow:auto;
  padding-right:4px;
  scrollbar-width:thin;
}
body.app-shell .dispatch-summary-item{
  align-items:center;
  gap:10px;
}
body.app-shell .dispatch-summary-badges{
  justify-content:flex-end;
  flex-wrap:wrap;
  min-width:160px;
}
body.app-shell .dispatch-home-page .pack-pick-grid{
  max-height:680px;
  overflow:auto;
  padding-right:4px;
}
body.app-shell .dispatch-home-page .tc273-dispatch-bom,
body.app-shell .tc269-final-pack-bom{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.app-shell .dispatch-pack-table,
body.app-shell .dispatch-preview-table,
body.app-shell .dispatch-attachments-table,
body.app-shell #tblUserMonthly{
  width:max-content;
  min-width:100%;
}
body.app-shell .tc-table-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 0;
}
body.app-shell .tc-table-pager-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .tc-table-page-size{
  width:auto;
  min-width:72px;
}
body.app-shell .tc465-table-tools{
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media (max-width: 780px){
  body.app-shell .tc473-final-pack-facts{grid-template-columns:1fr;}
  body.app-shell .dispatch-summary-stack{max-height:420px;}
  body.app-shell .dispatch-summary-item{align-items:flex-start;}
  body.app-shell .dispatch-summary-badges{justify-content:flex-start;min-width:0;width:100%;}
  body.app-shell .dispatch-home-page .pack-pick-grid{max-height:520px;}
  body.app-shell .tc-table-pager{align-items:flex-start;}
  body.app-shell .tc-table-pager-info{width:100%;}
  body.app-shell .tc-table-pager-actions{width:100%;justify-content:flex-start;}
}
body.app-shell .modal{
  position:fixed;
  inset:0;
  width:100vw;
  max-width:none;
  height:100dvh;
  min-height:100vh;
  align-items:center;
  justify-content:center;
  padding:18px;
  overflow:auto;
  z-index:2000;
  background:rgba(15,23,42,.64);
  backdrop-filter:blur(8px);
}
body.app-shell .modal:not(.open):not(.show):not(.is-open){display:none;}
body.app-shell .modal.open,
body.app-shell .modal.show,
body.app-shell .modal.is-open{display:flex;}
body.app-shell .modal-card,
body.app-shell .modal .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl{
  width:min(1040px,calc(100vw - 36px));
  max-width:min(1040px,calc(100vw - 36px));
  max-height:calc(100dvh - 36px);
  margin:auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:22px;
}
body.app-shell .modal-body{overflow:auto;min-height:0;}
body.app-shell .station-history-detail-card{width:min(1180px,calc(100vw - 36px));max-width:min(1180px,calc(100vw - 36px));}
body.app-shell .station-history-popup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:16px;align-items:start;}
body.app-shell .station-history-detail-modal .table-wrap{max-height:360px;overflow:auto;}
body.app-shell .final-pack-page .tc269-final-pack-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.app-shell .final-pack-page .tc269-final-pack-card{
  padding:16px;
  min-width:0;
  overflow:hidden;
  border-radius:20px;
}
body.app-shell .final-pack-page .tc269-final-pack-price{font-size:13px;padding:6px 9px;}
body.app-shell .final-pack-page .tc269-final-pack-mid{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;}
body.app-shell .final-pack-page .tc269-final-pack-mid img{width:50px;height:50px;object-fit:cover;border-radius:12px;}
body.app-shell .final-pack-page .tc467-final-dv-strip,
body.app-shell .final-pack-page .tc471-final-electric-strip{gap:6px;}
body.app-shell .final-pack-page .tc467-final-dv-strip div,
body.app-shell .final-pack-page .tc471-final-electric-strip div{padding:7px 6px;min-width:0;}
body.app-shell .final-pack-page .tc467-final-dv-strip span,
body.app-shell .final-pack-page .tc471-final-electric-strip span{font-size:8.5px;letter-spacing:.04em;}
body.app-shell .final-pack-page .tc269-final-pack-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
body.app-shell .final-pack-page .tc269-final-pack-facts div{padding:8px 7px;min-width:0;}
body.app-shell .final-pack-page .tc269-final-pack-facts span,
body.app-shell .final-pack-page .tc269-final-pack-facts strong{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  word-break:normal;
  overflow-wrap:normal;
}
body.app-shell .final-pack-page .tc269-final-pack-facts strong{font-size:12px;line-height:1.25;}
body.app-shell .final-pack-page .tc269-final-pack-actions{grid-template-columns:1fr 1fr;}
body.app-shell .dispatch-home-page .dispatch-layout-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);}
body.app-shell .dispatch-home-page .dispatch-side-card{max-height:calc(100vh - 188px);overflow:auto;position:sticky;top:92px;}
body.app-shell .dispatch-home-page .dispatch-summary-stack{max-height:520px;overflow:auto;padding-right:4px;display:grid;gap:10px;}
body.app-shell .dispatch-home-page .dispatch-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(248,250,252,.72);}
html[data-theme="dark"] body.app-shell .dispatch-home-page .dispatch-summary-item{background:rgba(15,23,42,.56);}
body.app-shell .dispatch-home-page .dispatch-simple-id strong{font-size:18px;line-height:1.05;letter-spacing:-.02em;}
body.app-shell .dispatch-home-page .dispatch-simple-id small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;margin-top:2px;}
body.app-shell .dispatch-home-page .dispatch-summary-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:96px;}
body.app-shell .dispatch-home-page .tc273-dispatch-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:560px;overflow:auto;padding:4px 6px 4px 0;}
body.app-shell .dispatch-home-page .tc273-dispatch-pack-card{min-width:0;border-radius:18px;padding:13px;overflow:hidden;}
body.app-shell .dispatch-home-page .tc273-dispatch-pack-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
body.app-shell .dispatch-home-page .tc273-dispatch-pack-id{font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .dispatch-home-page .tc273-dispatch-type{padding:5px 8px;border-radius:999px;background:rgba(14,165,233,.10);border:1px solid rgba(14,165,233,.25);font-size:11px;font-weight:900;white-space:nowrap;color:var(--text);}
body.app-shell .dispatch-home-page .tc273-dispatch-bom{font-size:12px;line-height:1.35;max-height:42px;}
body.app-shell .dispatch-home-page .tc273-dispatch-meta{display:grid;gap:3px;font-size:11px;line-height:1.3;}
body.app-shell .dispatch-home-page .tc273-dispatch-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;}
body.app-shell .dispatch-view-page .page-head{align-items:flex-start;}
body.app-shell .dispatch-view-page h2{letter-spacing:-.03em;}
body.app-shell .dispatch-source-id{font-size:11px;color:var(--muted);margin:2px 0 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.app-shell .dispatch-doc-meta-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0;}
body.app-shell .dispatch-doc-meta-strip span{display:inline-flex;align-items:center;gap:6px;max-width:260px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:rgba(255,255,255,.68);padding:7px 10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html[data-theme="dark"] body.app-shell .dispatch-doc-meta-strip span{background:rgba(15,23,42,.58);}
body.app-shell .dispatch-doc-meta-strip b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
body.app-shell .dispatch-view-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:16px;align-items:start;}
body.app-shell .dispatch-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
body.app-shell .dispatch-view-page .detail-row{min-width:0;align-items:start;}
body.app-shell .dispatch-view-page .detail-row strong,
body.app-shell .dispatch-view-page .detail-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .dispatch-documents-inline-form .dispatch-document-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
body.app-shell .dispatch-preview-card > summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;}
body.app-shell .dispatch-preview-card > summary::-webkit-details-marker{display:none;}
body.app-shell .dispatch-preview-card > summary span{display:grid;gap:3px;}
body.app-shell .dispatch-preview-card > summary small{font-weight:500;color:var(--muted);}
body.app-shell .dispatch-bottom-grid{display:grid;grid-template-columns:1fr;gap:16px;}
body.app-shell .dispatch-pack-table{min-width:1180px;width:max-content;}
body.app-shell .dispatch-pack-table th,
body.app-shell .dispatch-pack-table td{max-width:190px;}
body.app-shell .dispatch-pack-table td:nth-child(8){max-width:240px;}
body.app-shell .dispatch-attachment-form .grid.three{grid-template-columns:minmax(180px,.4fr) minmax(240px,1fr) auto;align-items:end;}
body.app-shell .tc474-legacy-page .tc474-legacy-head{align-items:flex-start;}
body.app-shell .tc474-legacy-page .tc474-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
body.app-shell .tc474-kpi-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:14px 0;}
body.app-shell .tc474-kpi-strip .kpi-card{min-width:0;}
body.app-shell .tc474-filter-card{padding:14px;}
body.app-shell .tc474-filter-strip{display:grid;grid-template-columns:minmax(240px,1.3fr) repeat(6,minmax(120px,.55fr)) auto;gap:10px;align-items:end;}
body.app-shell .tc474-filter-strip label{display:grid;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);min-width:0;}
body.app-shell .tc474-filter-strip input,
body.app-shell .tc474-filter-strip select{min-width:0;width:100%;}
body.app-shell .tc474-filter-strip .btn{min-height:42px;}
body.app-shell .tc474-legacy-table-card{margin-top:16px;}
body.app-shell .tc474-legacy-scroll{max-height:calc(100vh - 330px);min-height:420px;overflow:auto;}
body.app-shell .tc474-legacy-table{min-width:1650px;width:max-content;}
body.app-shell .tc474-legacy-table th,
body.app-shell .tc474-legacy-table td{max-width:170px;}
body.app-shell .tc474-legacy-table th:nth-child(1),
body.app-shell .tc474-legacy-table td:nth-child(1){position:sticky;left:0;z-index:2;background:var(--panel);box-shadow:1px 0 0 rgba(148,163,184,.18);}
body.app-shell .tc474-api-modal .modal-card{max-width:760px;}
body.app-shell .tc474-api-modal .code-block{white-space:pre-wrap;word-break:break-word;}
@media (max-width: 1450px){
  body.app-shell .final-pack-page .tc269-final-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .dispatch-home-page .tc273-dispatch-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc474-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.app-shell .tc474-filter-strip{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.app-shell .tc474-filter-strip .grow{grid-column:span 2;}
}
@media (max-width: 1100px){
  body.app-shell .final-pack-page .tc269-final-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .dispatch-home-page .dispatch-layout-grid,
  body.app-shell .dispatch-view-grid{grid-template-columns:1fr;}
  body.app-shell .dispatch-home-page .dispatch-side-card{position:static;max-height:420px;}
  body.app-shell .dispatch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc474-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 760px){
  body.app-shell .modal{align-items:flex-end;padding:10px;}
  body.app-shell .modal-card,
  body.app-shell .modal .modal-card,
  body.app-shell .modal-card.lg,
  body.app-shell .modal-card.xl{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(92dvh - 10px);border-radius:18px;}
  body.app-shell .station-history-popup-grid{grid-template-columns:1fr;}
  body.app-shell .final-pack-page .tc269-final-pack-grid{grid-template-columns:1fr;}
  body.app-shell .final-pack-page .tc269-final-pack-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .dispatch-home-page .tc273-dispatch-pack-grid{grid-template-columns:1fr;max-height:520px;}
  body.app-shell .dispatch-home-page .dispatch-summary-item{grid-template-columns:1fr;}
  body.app-shell .dispatch-home-page .dispatch-summary-badges{justify-content:flex-start;}
  body.app-shell .dispatch-summary-grid,
  body.app-shell .dispatch-documents-inline-form .dispatch-document-grid,
  body.app-shell .dispatch-attachment-form .grid.three{grid-template-columns:1fr;}
  body.app-shell .tc474-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc474-filter-strip{grid-template-columns:1fr 1fr;}
  body.app-shell .tc474-filter-strip .grow{grid-column:1 / -1;}
  body.app-shell .tc474-filter-strip .btn{grid-column:1 / -1;}
}
body.app-shell .tc475-legacy-page{display:grid;gap:16px;}
body.app-shell .tc475-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(236,248,255,.72));}
html[data-theme="dark"] body.app-shell .tc475-hero{background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(14,33,54,.72));}
body.app-shell .tc475-hero h2{margin:0;font-size:28px;letter-spacing:-.035em;}
body.app-shell .tc475-hero p{margin:6px 0 0;max-width:880px;}
body.app-shell .tc475-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
body.app-shell .tc475-search-card{display:grid;grid-template-columns:auto minmax(280px,1fr) 110px auto;gap:14px;align-items:end;padding:18px;border-radius:24px;position:relative;overflow:hidden;}
body.app-shell .tc475-search-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#2563eb,#06b6d4);}
body.app-shell .tc475-search-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.22);font-size:28px;font-weight:900;color:#2563eb;}
body.app-shell .tc475-search-input,body.app-shell .tc475-limit-select{display:grid;gap:6px;min-width:0;}
body.app-shell .tc475-search-input span,body.app-shell .tc475-limit-select span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
body.app-shell .tc475-search-input input{height:48px;font-size:15px;font-weight:800;border-radius:16px;}
body.app-shell .tc475-limit-select select{height:48px;border-radius:16px;}
body.app-shell .tc475-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.app-shell .tc475-empty-search{min-height:310px;display:grid;place-items:center;text-align:center;padding:34px;border-radius:26px;position:relative;overflow:hidden;}
body.app-shell .tc475-empty-pulse{width:86px;height:86px;border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(37,99,235,.25),rgba(6,182,212,.08) 62%,transparent 63%);box-shadow:0 0 0 0 rgba(37,99,235,.18);animation:tc475Pulse 1.8s infinite;margin:auto;}
@keyframes tc475Pulse{0%{transform:scale(.94);box-shadow:0 0 0 0 rgba(37,99,235,.24)}70%{transform:scale(1);box-shadow:0 0 0 22px rgba(37,99,235,0)}100%{transform:scale(.94);box-shadow:0 0 0 0 rgba(37,99,235,0)}}
body.app-shell .tc475-empty-search h3{margin:12px 0 4px;font-size:22px;}
body.app-shell .tc475-mini-help{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px;}
body.app-shell .tc475-mini-help span{padding:8px 12px;border-radius:999px;background:rgba(14,165,233,.10);border:1px solid rgba(14,165,233,.18);font-weight:800;font-size:12px;}
body.app-shell .tc475-result-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:16px;align-items:start;}
body.app-shell .tc475-result-summary,body.app-shell .tc475-dispatch-card{border-radius:24px;padding:18px;}
body.app-shell .tc475-result-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
body.app-shell .tc475-result-title div{display:grid;gap:2px;min-width:0;}
body.app-shell .tc475-result-title span{font-size:10px;font-weight:900;letter-spacing:.11em;color:var(--muted);}
body.app-shell .tc475-result-title strong{font-size:28px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc475-main-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
body.app-shell .tc475-main-grid>div{border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:10px;min-width:0;background:rgba(255,255,255,.62);}
html[data-theme="dark"] body.app-shell .tc475-main-grid>div{background:rgba(15,23,42,.48);}
body.app-shell .tc475-main-grid b,body.app-shell .tc475-electric-strip span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;}
body.app-shell .tc475-main-grid span{display:block;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;}
body.app-shell .tc475-electric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px;}
body.app-shell .tc475-electric-strip div{padding:10px;border-radius:16px;background:linear-gradient(180deg,rgba(239,246,255,.9),rgba(255,255,255,.72));border:1px solid rgba(147,197,253,.3);text-align:center;min-width:0;}
html[data-theme="dark"] body.app-shell .tc475-electric-strip div{background:rgba(15,23,42,.55);}
body.app-shell .tc475-electric-strip strong{display:block;font-size:20px;line-height:1.1;margin-top:4px;}
body.app-shell .tc475-dispatch-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:10px;margin-top:8px;background:rgba(248,250,252,.72);}
html[data-theme="dark"] body.app-shell .tc475-dispatch-line{background:rgba(15,23,42,.45);}
body.app-shell .tc475-dispatch-line strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc475-dispatch-line small{grid-column:1/-1;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc475-pack-cards-card{border-radius:24px;padding:18px;}
body.app-shell .tc475-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.app-shell .tc475-pack-card{border:1px solid rgba(148,163,184,.22);border-radius:20px;padding:14px;background:rgba(255,255,255,.66);min-width:0;overflow:hidden;}
html[data-theme="dark"] body.app-shell .tc475-pack-card{background:rgba(15,23,42,.52);}
body.app-shell .tc475-pack-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;}
body.app-shell .tc475-pack-card-head strong{font-size:18px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc475-pack-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body.app-shell .tc475-pack-meta span{border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc475-pack-meta b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px;}
body.app-shell .tc475-timeline-strip{display:flex;gap:5px;overflow:auto;margin-top:10px;padding-bottom:2px;}
body.app-shell .tc475-timeline-strip span{flex:0 0 auto;min-width:34px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:10px;font-weight:900;border:1px solid rgba(148,163,184,.28);background:rgba(241,245,249,.9);}
body.app-shell .tc475-timeline-strip span.done{background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.28);color:#15803d;}
body.app-shell .tc475-timeline-strip span.active{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.26);color:#b45309;}
body.app-shell .tc475-two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start;}
body.app-shell .tc475-two-col>.card{border-radius:24px;padding:16px;min-width:0;}
body.app-shell .tc475-small-table{max-height:620px;overflow:auto;}
body.app-shell .tc475-empty-mini{padding:18px;border-radius:16px;background:rgba(248,250,252,.82);border:1px dashed rgba(148,163,184,.42);color:var(--muted);font-weight:700;}
html[data-theme="dark"] body.app-shell .tc475-empty-mini{background:rgba(15,23,42,.45);}
body.app-shell .tc475-page-loader{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(226,236,247,.72);backdrop-filter:blur(9px);}
html[data-theme="dark"] body.app-shell .tc475-page-loader{background:rgba(2,6,23,.72);}
body.app-shell.tc475-loading .tc475-page-loader{display:flex;}
body.app-shell .tc475-loader-card{width:min(380px,calc(100vw - 32px));border-radius:28px;padding:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(15,23,42,.20);border:1px solid rgba(148,163,184,.28);display:grid;gap:14px;text-align:center;}
html[data-theme="dark"] body.app-shell .tc475-loader-card{background:rgba(15,23,42,.95);}
body.app-shell .tc475-loader-ring{width:72px;height:72px;border-radius:999px;margin:auto;border:6px solid rgba(37,99,235,.12);border-top-color:#2563eb;animation:tc475Spin .85s linear infinite;}
@keyframes tc475Spin{to{transform:rotate(360deg)}}
body.app-shell .tc475-loader-bar{height:8px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.22);}
body.app-shell .tc475-loader-bar i{display:block;height:100%;width:45%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4);animation:tc475Bar 1.2s ease-in-out infinite;}
@keyframes tc475Bar{0%{transform:translateX(-105%)}50%{transform:translateX(55%)}100%{transform:translateX(240%)}}
@media (max-width:1180px){body.app-shell .tc475-result-shell,body.app-shell .tc475-two-col{grid-template-columns:1fr;}body.app-shell .tc475-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){body.app-shell .tc475-hero{align-items:flex-start;flex-direction:column;}body.app-shell .tc475-search-card{grid-template-columns:1fr;}body.app-shell .tc475-search-icon{display:none;}body.app-shell .tc475-kpi-strip,body.app-shell .tc475-main-grid,body.app-shell .tc475-electric-strip,body.app-shell .tc475-pack-grid{grid-template-columns:1fr;}body.app-shell .tc475-result-title{align-items:flex-start;flex-direction:column;}body.app-shell .tc475-result-title strong{font-size:23px;}}
body.app-shell .pack-repo-server-table tbody tr { height: auto; }
body.app-shell .pack-repo-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);
}
body.app-shell .pack-repo-pager-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .5rem;
}
body.app-shell .pack-repo-jump-form {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
}
body.app-shell .pack-repo-jump-form .input {
  width: 88px;
  min-width: 88px;
  height: 36px;
  padding: .35rem .55rem;
}
body.app-shell .pack-repo-page .btn.disabled,
body.app-shell .pack-repo-page .btn[aria-disabled="true"] {
  opacity: .48;
  pointer-events: none;
  cursor: not-allowed;
}
body.app-shell .pack-repo-page-count {
  width: 100%;
  padding-top: .35rem;
}
body.app-shell .pack-repo-cards-page .pack-repo-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
body.app-shell .pack-repo-data-card {
  min-height: 0;
}
body.app-shell .pack-repo-card-bms strong,
body.app-shell .pack-repo-page table.table td:nth-child(2),
body.app-shell .pack-repo-page table.table td:nth-child(3) {
  font-variant-numeric: tabular-nums;
}
@media (max-width: 720px) {
  body.app-shell .pack-repo-pager,
  body.app-shell .pack-repo-pager-actions,
  body.app-shell .pack-repo-jump-form {
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
  }
  body.app-shell .pack-repo-pager-actions .btn,
  body.app-shell .pack-repo-jump-form .input,
  body.app-shell .pack-repo-jump-form .btn {
    flex: 1 1 auto;
  }
}
body.app-shell .pack-repo-table-page .pack-repo-hero--tight{
  min-height:0;
  padding:20px 22px;
  align-items:center;
}
body.app-shell .pack-repo-table-page .pack-repo-hero--tight h1{
  margin:6px 0 6px;
  font-size:clamp(1.65rem,2.3vw,2.25rem);
}
body.app-shell .pack-repo-table-page .pack-repo-hero--tight p{
  max-width:980px;
  line-height:1.45;
}
body.app-shell .pack-repo-kpis--table{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body.app-shell .pack-repo-kpis--table .pack-repo-kpi{
  min-height:98px;
  padding:14px 16px;
}
body.app-shell .pack-repo-kpis--table .pack-repo-kpi strong{
  font-size:clamp(1.55rem,2.4vw,2.15rem);
  margin:8px 0 5px;
}
body.app-shell .pack-repo-table-card--clean{
  overflow:hidden;
  border-radius:26px;
}
body.app-shell .pack-repo-table-shell-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:16px 18px 14px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--primary)),var(--panel));
}
body.app-shell .pack-repo-table-head-badges{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .pack-repo-control-panel{
  padding:14px 18px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);
  background:color-mix(in srgb,var(--panel-alt) 72%,var(--panel));
}
body.app-shell .pack-repo-filter-form--single-row{
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(190px,.55fr) auto minmax(230px,.9fr);
  gap:12px;
  align-items:end;
  width:100%;
}
body.app-shell .pack-repo-field{
  display:grid;
  gap:6px;
  min-width:0;
}
body.app-shell .pack-repo-field span{
  display:block;
  color:var(--muted);
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.app-shell .pack-repo-filter-form--single-row .input,
body.app-shell .pack-repo-filter-form--single-row .btn{
  width:100%;
  min-height:44px;
}
body.app-shell .pack-repo-filter-submit{
  min-width:118px;
}
body.app-shell .pack-repo-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 18px;
  border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel-alt) 86%,transparent));
}
body.app-shell .pack-repo-pager--top{
  border-top:0;
}
body.app-shell .pack-repo-pager--bottom{
  border-bottom:0;
  padding-top:14px;
  padding-bottom:14px;
}
body.app-shell .pack-repo-pager-status{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
  color:var(--muted);
  font-size:.84rem;
}
body.app-shell .pack-repo-pager-status strong{
  color:var(--text);
  font-size:.92rem;
  white-space:nowrap;
}
body.app-shell .pack-repo-pager-status span,
body.app-shell .pack-repo-pager-status em{
  font-style:normal;
  white-space:nowrap;
}
body.app-shell .pack-repo-pager-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body.app-shell .pack-repo-jump-form{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
}
body.app-shell .pack-repo-jump-form .input{
  width:96px;
  min-height:38px;
  text-align:center;
}
body.app-shell .pack-repo-pager .btn.sm,
body.app-shell .pack-repo-bulkbar--compact .btn{
  min-height:38px;
  border-radius:13px;
  padding:8px 13px;
  white-space:nowrap;
}
body.app-shell .pack-repo-pager .btn.disabled{
  pointer-events:none;
  opacity:.48;
  filter:saturate(.7);
}
body.app-shell .pack-repo-bulkbar--compact{
  margin:0;
  border-left:0;
  border-right:0;
  border-radius:0;
  padding:10px 18px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 11%,transparent),color-mix(in srgb,var(--panel) 93%,transparent));
}
body.app-shell .pack-repo-bulkbar--compact div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
body.app-shell .pack-repo-bulkbar--compact strong{
  color:var(--text);
  font-size:.9rem;
}
body.app-shell .pack-repo-bulkbar--compact span{
  color:var(--muted);
  font-size:.8rem;
}
body.app-shell .pack-repo-table-wrap{
  border-radius:0;
  border-left:0;
  border-right:0;
  border-top:0;
  max-height:none;
  overflow:auto;
}
body.app-shell .pack-repo-server-table{
  width:100%;
  min-width:1680px;
  table-layout:auto;
  border-collapse:separate;
  border-spacing:0;
}
body.app-shell .pack-repo-server-table caption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
body.app-shell .pack-repo-server-table th,
body.app-shell .pack-repo-server-table td{
  padding:11px 12px;
  vertical-align:middle;
  white-space:nowrap;
  border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);
}
body.app-shell .pack-repo-server-table thead th{
  top:0;
  z-index:3;
  font-size:.7rem;
}
body.app-shell .pack-repo-server-table .select-col{
  width:42px;
  min-width:42px;
  text-align:center;
}
body.app-shell .pack-repo-server-table .num{
  text-align:center;
  font-variant-numeric:tabular-nums;
  min-width:82px;
}
body.app-shell .pack-repo-pack-cell,
body.app-shell .pack-repo-bms-cell{
  min-width:150px;
}
body.app-shell .pack-repo-buyer-cell{
  min-width:170px;
}
body.app-shell .pack-repo-updated-cell{
  min-width:176px;
}
body.app-shell .pack-repo-server-table td strong,
body.app-shell .pack-repo-server-table td .small,
body.app-shell .pack-repo-server-table td .muted{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
body.app-shell .pack-repo-server-table tr[hidden]{
  display:none;
}
body.app-shell .pack-repo-server-table tbody tr:hover{
  background:color-mix(in srgb,var(--primary) 7%,transparent);
}
body.app-shell .pack-repo-server-table .pill{
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.app-shell .pack-repo-table-card--clean .tc433-table-toolbar,
body.app-shell .pack-repo-table-card--clean .tc-table-pager,
body.app-shell .pack-repo-table-card--clean .table-enhancer,
body.app-shell .pack-repo-table-card--clean .table-enhancer-top,
body.app-shell .pack-repo-table-card--clean .table-enhancer-bottom{
  display:none;
}
@media (max-width:1280px){
  body.app-shell .pack-repo-kpis--table{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .pack-repo-filter-form--single-row{grid-template-columns:minmax(240px,1fr) minmax(170px,.55fr) auto;}
  body.app-shell .pack-repo-field--quick{grid-column:1 / -1;}
}
@media (max-width:900px){
  body.app-shell .pack-repo-table-shell-head,
  body.app-shell .pack-repo-pager,
  body.app-shell .pack-repo-bulkbar--compact{
    align-items:stretch;
    flex-direction:column;
  }
  body.app-shell .pack-repo-table-head-badges,
  body.app-shell .pack-repo-pager-actions{
    justify-content:flex-start;
  }
  body.app-shell .pack-repo-filter-form--single-row{
    grid-template-columns:1fr;
  }
  body.app-shell .pack-repo-kpis--table{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  body.app-shell .pack-repo-kpis--table{grid-template-columns:1fr;}
  body.app-shell .pack-repo-pager-actions .btn.sm,
  body.app-shell .pack-repo-jump-form,
  body.app-shell .pack-repo-jump-form .btn{
    flex:1 1 auto;
  }
  body.app-shell .pack-repo-jump-form .input{width:100%;}
}
body.app-shell .tc479-pack-hub{
  display:grid;
  gap:18px;
  max-width:100%;
}
body.app-shell .tc479-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding:22px 24px;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  border-radius:24px;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb,var(--primary) 12%, transparent), transparent 38%),
    linear-gradient(135deg, color-mix(in srgb,var(--panel) 98%, var(--primary)), color-mix(in srgb,var(--panel-alt) 82%, transparent));
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
body.app-shell .tc479-hero::after{
  content:"";
  position:absolute;
  inset:auto -50px -70px auto;
  width:260px;
  height:180px;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 12%, transparent);
  filter:blur(18px);
  pointer-events:none;
}
body.app-shell .tc479-hero-copy{position:relative;z-index:1;min-width:0;}
body.app-shell .tc479-hero h1{
  margin:6px 0 6px;
  font-size:clamp(1.65rem,2.2vw,2.45rem);
  letter-spacing:-.04em;
  color:var(--text);
}
body.app-shell .tc479-hero p{
  margin:0;
  max-width:980px;
  color:var(--muted);
  line-height:1.55;
  font-weight:650;
}
body.app-shell .tc479-tabs{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
body.app-shell .tc479-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border:1px solid color-mix(in srgb,var(--primary) 30%, var(--border));
  border-radius:15px;
  background:color-mix(in srgb,var(--panel) 92%, transparent);
  color:var(--text);
  font-size:.86rem;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
body.app-shell .tc479-tab:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 62%, var(--border));}
body.app-shell .tc479-tab.active,
body.app-shell .tc479-tab.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#06b6d4));
  border-color:transparent;
  box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 22%, transparent);
}
body.app-shell .tc479-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
body.app-shell .tc479-kpi-grid article{
  min-width:0;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  border-radius:22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%, var(--primary)),color-mix(in srgb,var(--panel-alt) 84%, transparent));
  box-shadow:var(--shadow-sm);
}
body.app-shell .tc479-kpi-grid span,
body.app-shell .tc479-kpi-grid em{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.app-shell .tc479-kpi-grid strong{
  display:block;
  margin:6px 0 4px;
  font-size:1.8rem;
  line-height:1;
  color:var(--text);
  letter-spacing:-.05em;
}
body.app-shell .tc479-console{
  padding:0;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  border-radius:24px;
  overflow:hidden;
  background:var(--panel);
  box-shadow:var(--shadow-sm);
}
body.app-shell .tc479-console-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%, var(--primary)),var(--panel));
}
body.app-shell .tc479-console-badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
body.app-shell .tc479-search-panel{
  display:grid;
  grid-template-columns:minmax(320px,1.45fr) minmax(190px,.52fr) minmax(118px,.25fr) minmax(260px,.82fr);
  gap:12px;
  align-items:end;
  padding:16px 20px;
  background:color-mix(in srgb,var(--panel-alt) 62%, var(--panel));
  border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
}
body.app-shell .tc479-field{
  display:grid;
  gap:6px;
  min-width:0;
}
body.app-shell .tc479-field span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.app-shell .tc479-search-panel .input,
body.app-shell .tc479-search-panel .btn{
  min-height:44px;
  width:100%;
}
body.app-shell .tc479-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 20px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel-alt) 78%,transparent));
}
body.app-shell .tc479-pager--bottom{
  border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  border-bottom:0;
}
body.app-shell .tc479-pager-info,
body.app-shell .tc479-pager-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
body.app-shell .tc479-pager-info{
  color:var(--muted);
  font-size:.84rem;
  font-weight:800;
}
body.app-shell .tc479-pager-chip{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:6px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 10%, transparent);
  color:var(--text);
  font-weight:950;
}
body.app-shell .tc479-page-jump{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
}
body.app-shell .tc479-page-jump .input{
  width:92px;
  min-height:37px;
  text-align:center;
}
body.app-shell .tc479-pager .btn.disabled{pointer-events:none;opacity:.48;filter:saturate(.7);}
body.app-shell .tc479-bulkbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0;
  padding:11px 20px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 9%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));
  border-bottom:1px solid color-mix(in srgb,var(--danger) 16%, var(--border));
}
body.app-shell .tc479-bulkbar div{display:grid;gap:2px;}
body.app-shell .tc479-bulkbar strong{font-size:.92rem;color:var(--text);}
body.app-shell .tc479-bulkbar span{font-size:.78rem;color:var(--muted);font-weight:760;}
body.app-shell .tc479-table-scroll{
  width:100%;
  overflow:auto;
  border-radius:0;
  background:var(--panel);
}
body.app-shell .tc479-repo-table{
  width:100%;
  min-width:1320px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  margin:0;
}
body.app-shell .tc479-repo-table caption{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
body.app-shell .tc479-repo-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:13px 12px;
  color:color-mix(in srgb,var(--text) 84%,var(--muted));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%, var(--primary)),color-mix(in srgb,var(--panel-alt) 90%, transparent));
  border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.app-shell .tc479-repo-table tbody td{
  padding:13px 12px;
  vertical-align:middle;
  border-bottom:1px solid color-mix(in srgb,var(--border) 66%,transparent);
  color:var(--text);
  font-size:.86rem;
  white-space:nowrap;
}
body.app-shell .tc479-repo-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-alt) 30%,transparent);}
body.app-shell .tc479-repo-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 7%,transparent);}
body.app-shell .tc479-repo-table .select-col{width:42px;min-width:42px;text-align:center;}
body.app-shell .tc479-pack-cell,
body.app-shell .tc479-bms-cell{min-width:150px;}
body.app-shell .tc479-pack-cell strong,
body.app-shell .tc479-bms-cell strong,
body.app-shell .tc479-repo-table td > strong{display:block;font-weight:950;color:var(--text);}
body.app-shell .tc479-pack-cell small,
body.app-shell .tc479-bms-cell small,
body.app-shell .tc479-repo-table td > small{display:block;margin-top:3px;color:var(--muted);font-size:.74rem;font-weight:760;white-space:nowrap;}
body.app-shell .tc479-mini-badge{
  display:inline-flex;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--warning) 18%,transparent);
  color:color-mix(in srgb,var(--text) 90%,var(--warning));
  font-size:.64rem;
  font-weight:950;
  text-transform:uppercase;
}
body.app-shell .tc479-current-row{background:color-mix(in srgb,var(--warning) 12%,transparent);}
body.app-shell .tc479-electric-cell{display:flex;align-items:center;gap:7px;min-width:210px;}
body.app-shell .tc479-electric-cell--small{min-width:132px;}
body.app-shell .tc479-electric-cell span{
  display:grid;
  gap:2px;
  min-width:54px;
  padding:6px 8px;
  border:1px solid color-mix(in srgb,var(--border) 72%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel-alt) 62%,transparent);
  text-align:center;
}
body.app-shell .tc479-electric-cell b{
  color:var(--muted);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.app-shell .tc479-electric-cell span:not(b){font-weight:900;}
body.app-shell .tc479-repo-table .pill{margin-right:4px;max-width:170px;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc479-console .tc433-table-toolbar,
body.app-shell .tc479-console .tc-table-pager,
body.app-shell .tc479-console .table-enhancer,
body.app-shell .tc479-console .table-enhancer-top,
body.app-shell .tc479-console .table-enhancer-bottom,
body.app-shell .tc479-console .table-summary:not(.tc479-keep-summary){display:none;}
body.app-shell .tc479-lifecycle-tabs{justify-content:flex-start;margin:0 0 12px;}
@media (max-width:1400px){
  body.app-shell .tc479-hero{grid-template-columns:1fr;align-items:start;}
  body.app-shell .tc479-tabs{justify-content:flex-start;}
  body.app-shell .tc479-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.app-shell .tc479-search-panel{grid-template-columns:minmax(260px,1fr) minmax(180px,.5fr) 120px;}
  body.app-shell .tc479-field--quick{grid-column:1/-1;}
}
@media (max-width:900px){
  body.app-shell .tc479-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.app-shell .tc479-search-panel{grid-template-columns:1fr;}
  body.app-shell .tc479-console-head,
  body.app-shell .tc479-pager,
  body.app-shell .tc479-bulkbar{align-items:stretch;flex-direction:column;}
  body.app-shell .tc479-console-badges,
  body.app-shell .tc479-pager-actions{justify-content:flex-start;}
}
@media (max-width:620px){
  body.app-shell .tc479-kpi-grid{grid-template-columns:1fr;}
  body.app-shell .tc479-hero{padding:18px;}
  body.app-shell .tc479-tab{width:100%;}
  body.app-shell .tc479-page-jump{width:100%;}
  body.app-shell .tc479-page-jump .input,
  body.app-shell .tc479-page-jump .btn{width:100%;flex:1;}
}
body.app-shell .tc480-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding:24px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 96%,var(--primary)),color-mix(in srgb,var(--panel-alt) 86%,transparent));box-shadow:var(--shadow-sm)}
body.app-shell .tc480-hero h1{margin:4px 0 6px;font-size:clamp(1.6rem,2.6vw,2.35rem);letter-spacing:-.055em;line-height:1.02;color:var(--text)}
body.app-shell .tc480-hero p{max-width:980px;margin:0;color:var(--muted);font-weight:760;line-height:1.55}
.tc480-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.tc480-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.tc480-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 18px}
.tc480-kpi-row article{padding:18px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:22px;background:linear-gradient(160deg,var(--panel),color-mix(in srgb,var(--primary) 7%,var(--panel-alt)));box-shadow:var(--shadow-sm);min-width:0}
.tc480-kpi-row span,.tc480-kpi-row em{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-style:normal}
.tc480-kpi-row strong{display:block;margin:8px 0 5px;font-size:1.9rem;letter-spacing:-.05em;color:var(--text)}
body.app-shell .tc480-repo-shell,.tc480-card{border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:28px;background:var(--panel);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:18px}
.tc480-repo-filter{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(190px,.55fr) 120px auto minmax(230px,.8fr);gap:12px;align-items:end;padding:18px 20px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-alt) 70%,var(--panel)),var(--panel));border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}
.tc480-repo-filter label,.tc480-toolbar label,.tc480-form-grid label{display:grid;gap:6px;min-width:0}
.tc480-repo-filter label>span,.tc480-toolbar label>span,.tc480-form-grid label>span{font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tc480-repo-filter .input,.tc480-repo-filter .btn{min-height:44px}
.tc480-repo-statusbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;background:color-mix(in srgb,var(--panel) 92%,var(--info) 3%);border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}
.tc480-repo-statusbar strong{display:block;color:var(--text);font-weight:950}
.tc480-repo-statusbar span{display:block;color:var(--muted);font-weight:760;font-size:.82rem}
.tc480-repo-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 20px;background:color-mix(in srgb,var(--panel-alt) 52%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
.tc480-repo-pager--bottom{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-bottom:0}
.tc480-repo-pager>div:first-child{display:grid;gap:3px}
.tc480-repo-pager strong{font-weight:950;color:var(--text)}
.tc480-repo-pager span{font-size:.82rem;color:var(--muted);font-weight:760}
.tc480-repo-pager-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc480-repo-pager-actions form{display:flex;align-items:center;gap:8px;margin:0}
.tc480-repo-pager-actions input{width:86px;min-height:34px;text-align:center}
.tc480-table-frame,.tc480-table-wrap{width:100%;overflow:auto;background:var(--panel)}
.tc480-table{width:100%;min-width:1240px;border-collapse:separate;border-spacing:0;margin:0}
.tc480-table thead th{position:sticky;top:0;z-index:2;padding:12px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%,var(--primary)),color-mix(in srgb,var(--panel-alt) 86%,transparent));border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);color:color-mix(in srgb,var(--text) 82%,var(--muted));font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tc480-table tbody td{padding:13px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 64%,transparent);vertical-align:middle;white-space:nowrap;color:var(--text);font-size:.85rem}
.tc480-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-alt) 30%,transparent)}
.tc480-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}
.tc480-table tr.is-current{background:color-mix(in srgb,var(--warning) 12%,var(--panel))}
.tc480-table td strong{display:block;font-weight:950;color:var(--text)}
.tc480-table td small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:750}
.tc480-pack-id{display:flex;align-items:center;gap:8px}
.tc480-pack-id span{display:inline-flex;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--warning) 18%,transparent);font-size:.62rem;font-weight:950;text-transform:uppercase;color:var(--text)}
.tc480-dv-grid,.tc480-dv-mini{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.tc480-dv-grid span,.tc480-dv-mini span{display:inline-flex;align-items:center;gap:4px;min-width:48px;justify-content:center;padding:6px 8px;border:1px solid color-mix(in srgb,var(--border) 68%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-alt) 58%,transparent);font-size:.72rem;color:var(--muted);font-weight:850}
.tc480-dv-grid b{color:var(--text);font-size:.82rem}
.tc480-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 9px;border-radius:999px;font-weight:950;font-size:.72rem;text-transform:uppercase}
.tc480-pill.ok{background:color-mix(in srgb,var(--success) 14%,transparent);color:color-mix(in srgb,var(--text) 78%,var(--success))}
.tc480-pill.warn{background:color-mix(in srgb,var(--warning) 18%,transparent);color:color-mix(in srgb,var(--text) 88%,var(--warning))}
.tc480-pill.info{background:color-mix(in srgb,var(--info) 13%,transparent);color:color-mix(in srgb,var(--text) 82%,var(--info))}
.tc480-repo-pager .disabled,.tc480-pager .disabled{opacity:.45;pointer-events:none}
.tc480-card{padding:18px;overflow:visible}
.tc480-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.tc480-two-col--wide-left{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}
.tc480-section-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}
.tc480-section-head h2{margin:0 0 4px;font-size:1.08rem;letter-spacing:-.03em}
.tc480-section-head p{margin:0;color:var(--muted);font-weight:760}
.tc480-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.tc480-toolbar .grow{flex:1 1 360px}
.tc480-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc480-form-grid .span-2{grid-column:1/-1}
.tc480-form-grid select[multiple]{min-height:124px}
.tc480-rework-flow{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.tc480-rework-flow span{display:inline-flex;padding:9px 12px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border));font-size:.8rem;font-weight:900;color:var(--text)}
.tc480-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tc480-job-card{padding:15px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:20px;background:color-mix(in srgb,var(--panel-alt) 36%,var(--panel))}
.tc480-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.tc480-job-head strong{font-size:1rem}
.tc480-job-head small{display:block;color:var(--muted);font-weight:760}
.tc480-job-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.tc480-job-meta span{display:grid;padding:8px;border-radius:14px;background:var(--panel);color:var(--muted);font-size:.72rem;font-weight:850}
.tc480-job-meta b{color:var(--text);font-size:.84rem}
.tc480-job-card p{color:var(--muted);font-weight:760}
.tc480-job-card details{margin-top:10px}
.tc480-job-card summary{cursor:pointer;font-weight:950;color:var(--primary)}
.tc480-workflow-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.tc480-workflow-forms form{display:grid;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:16px;background:var(--panel)}
.tc480-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tc480-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;color:var(--muted);font-weight:800}
.tc480-pager>div{display:flex;align-items:center;gap:8px}
.tc480-page-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text);font-weight:950}
body.app-shell .tc479-pack-hub, body.app-shell .pack-repo-page:not(.tc480-allpacks-page){display:block}
@media (max-width:1400px){.tc480-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tc480-repo-filter{grid-template-columns:1fr 220px 120px}.tc480-repo-filter label:last-child{grid-column:1/-1}.tc480-two-col--wide-left{grid-template-columns:1fr}.tc480-job-grid{grid-template-columns:1fr}}
@media (max-width:900px){body.app-shell .tc480-hero{grid-template-columns:1fr;padding:18px}.tc480-hero-actions{justify-content:flex-start}.tc480-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tc480-repo-filter,.tc480-two-col,.tc480-workflow-forms{grid-template-columns:1fr}.tc480-repo-statusbar,.tc480-repo-pager,.tc480-pager{align-items:stretch;flex-direction:column}.tc480-repo-pager-actions{justify-content:flex-start}.tc480-form-grid{grid-template-columns:1fr}.tc480-form-grid .span-2{grid-column:auto}}
@media (max-width:620px){.tc480-kpi-row{grid-template-columns:1fr}.tc480-repo-filter{grid-template-columns:1fr}.tc480-repo-pager-actions,.tc480-repo-pager-actions form{width:100%}.tc480-repo-pager-actions .btn,.tc480-repo-pager-actions input{flex:1}.tc480-job-meta,.tc480-cycle-grid{grid-template-columns:1fr}}
body.app-shell .tc481-final-search-card{
  padding:14px 16px;
  border:1px solid rgba(80,130,200,.22);
  box-shadow:0 16px 34px rgba(31,70,120,.08);
}
body.app-shell .tc481-final-search-form{display:flex;flex-direction:column;gap:12px;}
body.app-shell .tc481-final-search-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
body.app-shell .tc481-final-search-copy strong{font-size:15px;color:#10233f;letter-spacing:.01em;}
body.app-shell .tc481-final-search-copy small{color:#66768b;font-weight:650;}
body.app-shell .tc481-final-search-main{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center;}
body.app-shell .tc481-final-search-input{height:46px;border-radius:18px;font-size:14px;font-weight:750;padding-inline:18px;}
body.app-shell .tc481-final-advanced{border:1px solid rgba(110,140,180,.22);border-radius:16px;background:rgba(245,249,255,.72);padding:8px 10px;}
body.app-shell .tc481-final-advanced summary{cursor:pointer;font-weight:900;color:#31547c;letter-spacing:.02em;}
body.app-shell .tc481-final-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-top:10px;}
body.app-shell .tc269-final-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;}
body.app-shell .tc269-final-pack-card{min-width:0;display:flex;flex-direction:column;gap:10px;overflow:hidden;}
body.app-shell .tc269-final-pack-id{font-size:20px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc269-final-pack-price{white-space:nowrap;min-width:max-content;}
body.app-shell .tc269-final-pack-bom{line-height:1.18;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
body.app-shell .tc467-final-dv-strip,body.app-shell .tc471-final-electric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
body.app-shell .tc471-final-electric-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
body.app-shell .tc467-final-dv-strip div,body.app-shell .tc471-final-electric-strip div,body.app-shell .tc269-final-pack-facts div{min-width:0;overflow:hidden;}
body.app-shell .tc467-final-dv-strip span,body.app-shell .tc471-final-electric-strip span,body.app-shell .tc269-final-pack-facts span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.app-shell .tc467-final-dv-strip strong,body.app-shell .tc471-final-electric-strip strong,body.app-shell .tc269-final-pack-facts strong{white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.12;}
body.app-shell .tc269-final-pack-facts.tc473-final-pack-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body.app-shell .fpp255-fact strong,body.app-shell .fpp255-info-grid strong{white-space:normal;overflow-wrap:anywhere;line-height:1.16;}
body.app-shell .fpp255-hero-grid{grid-template-columns:minmax(260px,340px) 1fr minmax(220px,300px);gap:16px;align-items:stretch;}
body.app-shell .fpp255-pack-title{word-break:normal;overflow-wrap:anywhere;}
@media (max-width:1500px){body.app-shell .tc269-final-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:1120px){body.app-shell .tc269-final-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}body.app-shell .fpp255-hero-grid{grid-template-columns:1fr;}}
@media (max-width:720px){body.app-shell .tc481-final-search-main{grid-template-columns:1fr;}body.app-shell .tc481-final-filter-grid{grid-template-columns:1fr 1fr;}body.app-shell .tc269-final-pack-grid{grid-template-columns:1fr;}}
html[data-theme="light"]{
  --tc-surface:#ffffff;--tc-surface-2:#f6fbff;--tc-surface-3:#edf6ff;--tc-border:#d6e5f5;--tc-text:#102033;--tc-text-soft:#667a91;--tc-accent:#2f70ef;--tc-shadow:rgba(27,69,110,.11);
  color-scheme:light;
}
html[data-theme="dark"]{
  --tc-surface:#101d2f;--tc-surface-2:#0b1728;--tc-surface-3:#14233a;--tc-border:#2b4261;--tc-text:#eaf3ff;--tc-text-soft:#9fb1c9;--tc-accent:#5aa2ff;--tc-shadow:rgba(0,0,0,.38);
  color-scheme:dark;
}
html[data-theme="light"] body{background:linear-gradient(90deg,rgba(82,156,231,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(82,156,231,.07) 1px,transparent 1px),linear-gradient(180deg,#eef7ff 0,#f7fbff 48%,#eff6ff 100%);background-size:26px 26px,26px 26px,auto;color:var(--tc-text)}
html[data-theme="dark"] body{background:linear-gradient(90deg,rgba(96,165,250,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(96,165,250,.06) 1px,transparent 1px),radial-gradient(circle at 20% 0,rgba(47,112,239,.18),transparent 28%),linear-gradient(180deg,#07111f 0,#0b1728 55%,#070d18 100%);background-size:26px 26px,26px 26px,auto,auto;color:var(--tc-text)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .brand-panel,html[data-theme="dark"] .nav-group,html[data-theme="dark"] .nav-group-body,html[data-theme="dark"] .sidebar-footer,html[data-theme="dark"] .page-head,html[data-theme="dark"] .card,html[data-theme="dark"] .metric-card,html[data-theme="dark"] .hero-panel,html[data-theme="dark"] .station-hero,html[data-theme="dark"] .table-card,html[data-theme="dark"] .modal-content,html[data-theme="dark"] .topbar-dropdown{background:linear-gradient(180deg,var(--tc-surface),var(--tc-surface-2));border-color:var(--tc-border);box-shadow:0 20px 44px var(--tc-shadow);color:var(--tc-text)}
html[data-theme="dark"] .input,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .topbar-search,html[data-theme="dark"] .topbar-search-input{background:#0b1728;border-color:#2f4868;color:#eaf3ff;box-shadow:none}
html[data-theme="dark"] .input::placeholder,html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder,html[data-theme="dark"] .topbar-search-input::placeholder{color:#8195af}
html[data-theme="dark"] .table,html[data-theme="dark"] table{color:#eaf3ff;background:#101d2f}
html[data-theme="dark"] .table thead th,html[data-theme="dark"] table thead th{background:#14233a;color:#dbeafe;border-color:#2f4868}
html[data-theme="dark"] .table td,html[data-theme="dark"] table td{border-color:#263d5a;color:#e5eefb}
html[data-theme="dark"] .table tbody tr:hover,html[data-theme="dark"] table tbody tr:hover{background:rgba(90,162,255,.10)}
html[data-theme="dark"] .muted,html[data-theme="dark"] small,html[data-theme="dark"] .label,html[data-theme="dark"] .metric-title{color:#9fb1c9}
html[data-theme="dark"] .btn.btn-outline,html[data-theme="dark"] .btn-outline{background:#0b1728;color:#dbeafe;border-color:#345273}
html[data-theme="dark"] .btn.btn-outline:hover,html[data-theme="dark"] .btn-outline:hover{background:#13233a;color:#fff;border-color:#5aa2ff}
html[data-theme="dark"] .theme-badge{background:#0b1728;border-color:#2f4868;color:#dbeafe}
html[data-theme="dark"] .theme-badge .theme-dot{background:#5aa2ff;box-shadow:0 0 0 4px rgba(90,162,255,.14)}
html[data-theme="light"] .theme-badge{background:#fff;border-color:#d6e5f5;color:#23425f}
html[data-theme="light"] .theme-badge .theme-dot{background:#18c994;box-shadow:0 0 0 4px rgba(24,201,148,.12)}
html[data-theme="dark"] .nav-link,html[data-theme="dark"] .nav-group-head{color:#eaf3ff;border-color:#263d5a;background:rgba(11,23,40,.7)}
html[data-theme="dark"] .nav-link:hover,html[data-theme="dark"] .nav-link.active,html[data-theme="dark"] .nav-link.is-active,html[data-theme="dark"] .nav-group-head:hover,html[data-theme="dark"] .nav-group-head.active{background:linear-gradient(90deg,rgba(90,162,255,.20),rgba(34,211,238,.10));border-color:#5aa2ff;color:#fff}
html[data-theme="light"] .topbar,html[data-theme="light"] .sidebar,html[data-theme="light"] .card,html[data-theme="light"] .page-head,html[data-theme="light"] .hero-panel,html[data-theme="light"] .station-hero{background:rgba(255,255,255,.92);border-color:#d6e5f5;box-shadow:0 18px 42px rgba(27,69,110,.09)}
:root{
  --tc486-radius: 14px;
  --tc486-radius-sm: 10px;
  --tc486-line-light: #e4ebf4;
  --tc486-shadow-light: 0 8px 24px rgba(15, 39, 76, .055);
  --tc486-shadow-dark: 0 10px 28px rgba(0, 0, 0, .20);
}
html[data-theme="light"]{
  --page-bg: #f6f8fb;
  --surface: #ffffff;
  --surface-2: #f9fbfd;
  --text-main: #0f1f32;
  --text-muted: #66758a;
  --border: var(--tc486-line-light);
  --shadow: var(--tc486-shadow-light);
  --brand: #2563eb;
  --brand-2: #0fbaa8;
  color-scheme: light;
}
html[data-theme="dark"]{
  --page-bg: #07111f;
  --surface: #0d192a;
  --surface-2: #111f34;
  --text-main: #eaf3ff;
  --text-muted: #9db0c9;
  --border: #253955;
  --shadow: var(--tc486-shadow-dark);
  --brand: #63a6ff;
  --brand-2: #35dbc6;
  color-scheme: dark;
}
html[data-theme] body.app-shell,
html[data-theme] body{
  background: var(--page-bg);
  color: var(--text-main);
}
html[data-theme] .content,
html[data-theme] .main-content,
html[data-theme] .page,
html[data-theme] .page-shell{
  background: transparent;
}
html[data-theme] body.app-shell .card,
html[data-theme] body.app-shell .table-card,
html[data-theme] body.app-shell .metric-card,
html[data-theme] body.app-shell .entity-card,
html[data-theme] body.app-shell .hero-panel,
html[data-theme] body.app-shell .page-head,
html[data-theme] body.app-shell .station-hero,
html[data-theme] body.app-shell .station-pack-card,
html[data-theme] body.app-shell .modal-card,
html[data-theme] body.app-shell .panel,
html[data-theme] body.app-shell .widget,
html[data-theme] body.app-shell .dashboard-card{
  background: var(--surface);
  border-color: var(--border);
  box-shadow: var(--shadow);
  border-radius: var(--tc486-radius);
}
html[data-theme] body.app-shell .table,
html[data-theme] body.app-shell table{
  color: var(--text-main);
  border-collapse: separate;
  border-spacing: 0;
}
html[data-theme] body.app-shell .table th,
html[data-theme] body.app-shell table th{
  background: var(--surface-2);
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html[data-theme] body.app-shell .table td,
html[data-theme] body.app-shell table td{
  border-bottom: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}
html[data-theme] body.app-shell .input,
html[data-theme] body.app-shell input,
html[data-theme] body.app-shell select,
html[data-theme] body.app-shell textarea{
  background: var(--surface);
  color: var(--text-main);
  border-color: var(--border);
  box-shadow: none;
  border-radius: var(--tc486-radius-sm);
}
html[data-theme] body.app-shell .input:focus,
html[data-theme] body.app-shell input:focus,
html[data-theme] body.app-shell select:focus,
html[data-theme] body.app-shell textarea:focus{
  border-color: var(--brand);
  outline: 3px solid color-mix(in srgb, var(--brand) 18%, transparent);
}
html[data-theme] body.app-shell .btn{
  border-radius: 10px;
  box-shadow: none;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
html[data-theme] body.app-shell .btn:hover{ transform: translateY(-1px); }
html[data-theme] body.app-shell .topbar{
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  backdrop-filter: blur(12px);
}
html[data-theme] body.app-shell .sidebar,
html[data-theme] body.app-shell .app-sidebar{
  border-right: 1px solid var(--border);
}
html[data-theme="light"] body.app-shell .sidebar,
html[data-theme="light"] body.app-shell .app-sidebar{
  background: #ffffff;
  color: #1d2b3d;
}
html[data-theme="dark"] body.app-shell .sidebar,
html[data-theme="dark"] body.app-shell .app-sidebar{
  background: #07111f;
  color: #dceaff;
}
html[data-theme] body.app-shell .nav-link,
html[data-theme] body.app-shell .sidebar a{
  border-radius: 10px;
}
html[data-theme="dark"] body.app-shell .topbar-search,
html[data-theme="dark"] body.app-shell .topbar-dropdown,
html[data-theme="dark"] body.app-shell .dropdown-menu{
  background: #0d192a;
  border-color: #253955;
  color: #eaf3ff;
}
html[data-theme="light"] body.app-shell .topbar-search,
html[data-theme="light"] body.app-shell .topbar-dropdown,
html[data-theme="light"] body.app-shell .dropdown-menu{
  background: #fff;
  border-color: #e4ebf4;
}
html[data-theme] body.app-shell .muted,
html[data-theme] body.app-shell .text-muted,
html[data-theme] body.app-shell small{ color: var(--text-muted); }
html[data-theme] body.app-shell .page-head,
html[data-theme] body.app-shell .hero-panel{
  background-image: none;
}
html[data-theme] body.app-shell .table-responsive,
html[data-theme] body.app-shell .data-table-wrap,
html[data-theme] body.app-shell .tc-table-wrap{ overflow-x: auto; }
@media (prefers-reduced-motion: no-preference){
  html[data-theme] body.app-shell .main-content{ animation: tc486ContentIn .18s ease both; }
  @keyframes tc486ContentIn{ from{opacity:.86; transform:translateY(3px)} to{opacity:1; transform:none} }
}
:root{
  --tc488-bg:#edf5fb;--tc488-page:#f6fbff;--tc488-surface:#ffffff;--tc488-surface-2:#f8fbff;
  --tc488-text:#122033;--tc488-muted:#627187;--tc488-line:#dce8f3;--tc488-primary:#2563eb;
  --tc488-primary-2:#0ea5a2;--tc488-success:#10a15b;--tc488-danger:#d43f56;
  --tc488-radius:16px;--tc488-radius-sm:11px;--tc488-shadow:0 8px 20px rgba(30,64,104,.06);
  --tc488-focus:0 0 0 3px rgba(37,99,235,.16);
}
html[data-theme="dark"]{
  --tc488-bg:#07111d;--tc488-page:#0b1522;--tc488-surface:#101d2e;--tc488-surface-2:#0c1726;
  --tc488-text:#e8f1ff;--tc488-muted:#9fb0c8;--tc488-line:#253754;--tc488-primary:#60a5fa;
  --tc488-primary-2:#2dd4bf;--tc488-success:#34d399;--tc488-danger:#fb7185;
  --tc488-shadow:0 10px 28px rgba(0,0,0,.22);--tc488-focus:0 0 0 3px rgba(96,165,250,.22);
  color-scheme:dark;
}
html[data-theme="light"]{color-scheme:light;}
body.app-shell{background:linear-gradient(180deg,var(--tc488-bg),var(--tc488-page));color:var(--tc488-text);}
.app-frame,.content,.main-content{background:transparent;}
.topbar,.sidebar,.app-sidebar,.app-footer,.page-hero,.module-hero,.card,.panel,.metric-card,.stat-card,.kpi-card,.section-card,.table-card,
.sql-import-panel,.sql-import-progress-card,.sql-import-kpis,.sql-import-hero{background:var(--tc488-surface);border:1px solid var(--tc488-line);box-shadow:var(--tc488-shadow);color:var(--tc488-text);}
.card,.panel,.metric-card,.stat-card,.kpi-card,.section-card,.table-card,.page-hero,.module-hero,.sql-import-panel,.sql-import-progress-card,.sql-import-hero{border-radius:var(--tc488-radius);}
.topbar{border-radius:0 0 var(--tc488-radius) var(--tc488-radius);backdrop-filter:blur(14px);}
.sidebar,.app-sidebar{border-radius:0;box-shadow:none;}
.btn,button.btn,.input,input,select,textarea,.topbar-search,.topbar-icon,.topbar-user{border-radius:var(--tc488-radius-sm);}
.input,input[type="text"],input[type="search"],input[type="number"],input[type="date"],select,textarea,.topbar-search-input{background:var(--tc488-surface-2);color:var(--tc488-text);border:1px solid var(--tc488-line);box-shadow:none;}
.input:focus,input:focus,select:focus,textarea:focus,.topbar-search:focus-within{outline:none;box-shadow:var(--tc488-focus);border-color:var(--tc488-primary);}
.btn.primary,.btn-primary,.btn.btn-primary{background:linear-gradient(90deg,var(--tc488-primary),var(--tc488-primary-2));border:0;color:#fff;box-shadow:none;}
.btn:not(.primary):not(.btn-primary),.btn-outline{background:var(--tc488-surface-2);border:1px solid var(--tc488-line);color:var(--tc488-text);box-shadow:none;}
.table-wrap,.responsive-table,.datatable-wrap,.sql-import-table-wrap{overflow:auto;border:1px solid var(--tc488-line);border-radius:var(--tc488-radius);background:var(--tc488-surface);}
table.table,table.dataTable{border-collapse:separate;border-spacing:0;background:var(--tc488-surface);color:var(--tc488-text);}
table.table th,table.dataTable th{background:var(--tc488-surface-2);color:var(--tc488-muted);border-bottom:1px solid var(--tc488-line);font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
table.table td,table.dataTable td{border-bottom:1px solid var(--tc488-line);color:var(--tc488-text);vertical-align:middle;}
table.table tbody tr:hover,table.dataTable tbody tr:hover{background:color-mix(in srgb,var(--tc488-primary) 6%, transparent);}
.badge,.pill,.status-pill,.tag,.chip{border-radius:999px;border:1px solid var(--tc488-line);box-shadow:none;}
.toast{border-radius:var(--tc488-radius-sm);box-shadow:var(--tc488-shadow);}
.sql-import-shell{display:grid;gap:16px;max-width:1540px;margin:0 auto;padding:14px;}
.sql-import-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;}
.sql-import-hero h1{margin:8px 0 8px;font-size:clamp(28px,3vw,44px);line-height:1;color:var(--tc488-text);}
.sql-import-hero p,.sql-import-panel p{margin:0;color:var(--tc488-muted);line-height:1.5;}
.sql-import-chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--tc488-primary) 12%, transparent);color:var(--tc488-primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.sql-import-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.sql-import-start{display:inline-flex;align-items:center;gap:9px;min-height:42px;}
.sql-import-start span{width:10px;height:10px;border-radius:999px;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18);}
.sql-import-start.is-running span{animation:tc488Pulse 1s infinite;background:#22c55e;}
@keyframes tc488Pulse{50%{transform:scale(1.35);opacity:.65}}
.sql-import-progress-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);gap:16px;}
.sql-import-progress-card,.sql-import-kpis,.sql-import-panel{padding:18px;}
.sql-import-progress-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.sql-import-progress-title b{font-size:16px}
.sql-import-progress-title strong{font-size:30px;color:var(--tc488-primary)}
.sql-import-track,.sql-import-mini-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--tc488-muted) 16%, transparent);overflow:hidden;}
.sql-import-track i,.sql-import-mini-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--tc488-primary),var(--tc488-primary-2));}
.sql-import-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--tc488-muted);font-weight:800;}
.sql-import-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.sql-import-kpis div{background:var(--tc488-surface-2);border:1px solid var(--tc488-line);border-radius:14px;padding:13px;}
.sql-import-kpis b{display:block;font-size:23px;color:var(--tc488-text);}
.sql-import-kpis span{font-size:10px;color:var(--tc488-muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.sql-import-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sql-import-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.sql-import-panel-head h2{margin:0 0 6px;color:var(--tc488-text);}
.sql-import-panel-head small{color:var(--tc488-muted);font-weight:800;}
.sql-import-upload-form,.sql-import-form{display:grid;gap:12px;}
.sql-import-dropzone{min-height:150px;border:1px dashed color-mix(in srgb,var(--tc488-primary) 60%, var(--tc488-line));border-radius:16px;background:var(--tc488-surface-2);display:grid;place-items:center;text-align:center;padding:22px;cursor:pointer;}
.sql-import-dropzone input{display:none}
.sql-import-dropzone strong{font-size:18px}
.sql-import-dropzone em{font-style:normal;color:var(--tc488-muted);font-weight:700}
.sql-import-hint{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--tc488-surface-2);border:1px solid var(--tc488-line);color:var(--tc488-muted);}
.tc488-worker-settings{display:grid;grid-template-columns:1.3fr repeat(3,.8fr);gap:12px;}
.tc488-worker-settings span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--tc488-muted);margin-bottom:6px;}
.sql-import-console{margin-top:14px;border-radius:14px;background:#071524;color:#c9fff5;padding:12px 14px;font-weight:800;}
.sql-import-console span{color:#60dfff;margin-right:10px;}
.sql-import-table-wrap{max-height:680px;}
.sql-import-table{min-width:1250px;margin:0;}
.sql-import-table thead th{position:sticky;top:0;z-index:2}
.tc488-no{display:inline-flex;min-width:36px;height:28px;align-items:center;justify-content:center;border-radius:10px;background:var(--tc488-surface-2);font-weight:900}
.sql-import-mini-track{height:7px;min-width:155px;margin-bottom:5px}
.sql-import-badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;background:var(--tc488-surface-2);border:1px solid var(--tc488-line)}
.sql-import-badge--done{background:#dcfce7;color:#166534}
.sql-import-badge--done-with-warnings{background:#fef3c7;color:#92400e}
.sql-import-badge--running{background:#dbeafe;color:#1d4ed8}
.sql-import-badge--failed{background:#ffe4e6;color:#be123c}
.tc488-msg{max-width:460px;white-space:normal;font-weight:700}
.tc488-error{margin-top:8px;background:color-mix(in srgb,var(--tc488-danger) 12%, transparent);color:var(--tc488-danger);border-radius:10px;padding:8px}
.tc488-actions{display:flex;gap:6px;flex-wrap:wrap}
.sql-import-log{display:grid;gap:8px;max-height:320px;overflow:auto}
.sql-import-log-row{border:1px solid var(--tc488-line);background:var(--tc488-surface-2);border-radius:12px;padding:10px}
.sql-import-log-row p{margin:6px 0 0;color:var(--tc488-text)}
.sql-import-log-row span,.muted{color:var(--tc488-muted)}
.danger-outline{color:var(--tc488-danger);border-color:color-mix(in srgb,var(--tc488-danger) 35%, var(--tc488-line));}
#tc488PageBusy{position:fixed;right:22px;bottom:22px;z-index:99999;display:none;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--tc488-surface);border:1px solid var(--tc488-line);box-shadow:var(--tc488-shadow);color:var(--tc488-text);font-weight:900}
body.tc488-busy #tc488PageBusy{display:flex}
#tc488PageBusy span{width:16px;height:16px;border-radius:999px;border:2px solid var(--tc488-line);border-top-color:var(--tc488-primary);animation:tc488Spin .8s linear infinite}
@keyframes tc488Spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.sql-import-hero,.sql-import-progress-meta,.sql-import-panel-head{display:block}.sql-import-actions{justify-content:flex-start;margin-top:14px}.sql-import-progress-grid,.sql-import-source-grid{grid-template-columns:1fr}.sql-import-kpis{grid-template-columns:repeat(3,1fr)}.tc488-worker-settings{grid-template-columns:1fr 1fr}.tc488-filter{margin-top:10px}}
@media(max-width:760px){.sql-import-shell{padding:10px}.sql-import-kpis,.tc488-worker-settings{grid-template-columns:1fr}.tc488-actions{min-width:220px}.sql-import-progress-title strong{font-size:24px}}
}

@layer ev {
:root {
  --ev-bg: #edf4fa;
  --ev-bg-elevated: #f7faff;
  --ev-surface: #ffffff;
  --ev-surface-soft: #f5f8fc;
  --ev-surface-tint: #edf5ff;
  --ev-surface-raised: #ffffff;
  --ev-text: #10233a;
  --ev-text-soft: #5f7288;
  --ev-text-faint: #8797a8;
  --ev-border: #d9e4ee;
  --ev-border-strong: #c6d4e1;
  --ev-primary: #1769e0;
  --ev-primary-deep: #0b4fae;
  --ev-secondary: #0aa7a7;
  --ev-success: #13825e;
  --ev-warning: #ad6b00;
  --ev-danger: #c43f51;
  --ev-info: #246fd8;
  --ev-sidebar-width: 286px;
  --ev-sidebar-collapsed: 84px;
  --ev-topbar-height: 72px;
  --ev-radius-sm: 10px;
  --ev-radius-md: 14px;
  --ev-radius-lg: 18px;
  --ev-radius-xl: 24px;
  --ev-control-height: 42px;
  --ev-shadow-card: 0 1px 2px rgba(18, 46, 77, .05), 0 10px 28px rgba(18, 46, 77, .08);
  --ev-shadow-raised: 0 2px 5px rgba(18, 46, 77, .08), 0 18px 42px rgba(18, 46, 77, .12);
  --ev-shadow-float: 0 22px 64px rgba(13, 35, 61, .18);
  --ev-focus: 0 0 0 3px rgba(23, 105, 224, .18);
  --ev-gradient-primary: linear-gradient(135deg, #1769e0 0%, #0aa7a7 100%);
  --ev-gradient-hero: linear-gradient(135deg, rgba(23,105,224,.12), rgba(10,167,167,.08));
}
html[data-theme="dark"] {
  --ev-bg: #06111d;
  --ev-bg-elevated: #091827;
  --ev-surface: #0d1d2d;
  --ev-surface-soft: #102337;
  --ev-surface-tint: #112b42;
  --ev-surface-raised: #13283d;
  --ev-text: #edf5fd;
  --ev-text-soft: #a5b6c7;
  --ev-text-faint: #72879b;
  --ev-border: #243a4e;
  --ev-border-strong: #35526a;
  --ev-primary: #69a5ff;
  --ev-primary-deep: #8ab9ff;
  --ev-secondary: #34c7c2;
  --ev-success: #4dd39d;
  --ev-warning: #f0b458;
  --ev-danger: #ff7d8c;
  --ev-info: #7eafff;
  --ev-shadow-card: 0 1px 2px rgba(0,0,0,.22), 0 12px 30px rgba(0,0,0,.24);
  --ev-shadow-raised: 0 2px 6px rgba(0,0,0,.28), 0 20px 48px rgba(0,0,0,.32);
  --ev-shadow-float: 0 24px 72px rgba(0,0,0,.45);
  --ev-focus: 0 0 0 3px rgba(105,165,255,.22);
  --ev-gradient-primary: linear-gradient(135deg, #2d77de 0%, #168f92 100%);
  --ev-gradient-hero: linear-gradient(135deg, rgba(105,165,255,.16), rgba(52,199,194,.09));
}

html {
  background: var(--ev-bg);
  color-scheme: light;
  scrollbar-gutter: stable;
}
html[data-theme="dark"] { color-scheme: dark; }
body.app-shell[data-design-system="ev-premium"] {
  margin: 0;
  padding: 0;
  min-width: 320px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% -10%, color-mix(in srgb, var(--ev-primary) 10%, transparent), transparent 32%),
    linear-gradient(180deg, var(--ev-bg-elevated), var(--ev-bg));
  color: var(--ev-text);
  font-feature-settings: "tnum" 1, "ss01" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.app-shell[data-design-system="ev-premium"]::before,
body.app-shell[data-design-system="ev-premium"]::after { content: none; }
body.app-shell[data-design-system="ev-premium"] *,
body.app-shell[data-design-system="ev-premium"] *::before,
body.app-shell[data-design-system="ev-premium"] *::after { box-sizing: border-box; }
body.app-shell[data-design-system="ev-premium"] h1,
body.app-shell[data-design-system="ev-premium"] h2,
body.app-shell[data-design-system="ev-premium"] h3,
body.app-shell[data-design-system="ev-premium"] h4,
body.app-shell[data-design-system="ev-premium"] h5,
body.app-shell[data-design-system="ev-premium"] h6 { color: var(--ev-text); }
body.app-shell[data-design-system="ev-premium"] .muted,
body.app-shell[data-design-system="ev-premium"] .text-muted,
body.app-shell[data-design-system="ev-premium"] small,
body.app-shell[data-design-system="ev-premium"] .hint,
body.app-shell[data-design-system="ev-premium"] .help { color: var(--ev-text-soft); }
body.app-shell[data-design-system="ev-premium"] a { text-underline-offset: 2px; }
body.app-shell[data-design-system="ev-premium"] :focus-visible { outline: none; box-shadow: var(--ev-focus); }
body.app-shell[data-design-system="ev-premium"] svg { display: block; max-width: 100%; }

/* Application shell */
body.app-shell[data-design-system="ev-premium"] .app-frame {
  display: grid;
  grid-template-columns: var(--ev-sidebar-width) minmax(0, 1fr);
  grid-template-rows: var(--ev-topbar-height) minmax(calc(100vh - var(--ev-topbar-height)), auto) auto;
  min-height: 100vh;
  width: 100%;
  background: transparent;
}
body.app-shell[data-design-system="ev-premium"] .sidebar {
  grid-column: 1;
  grid-row: 1 / 4;
  position: sticky;
  top: 0;
  width: var(--ev-sidebar-width);
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--ev-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--ev-surface) 97%, transparent);
  box-shadow: 8px 0 28px rgba(18, 46, 77, .045);
  z-index: 80;
}
body.app-shell[data-design-system="ev-premium"] .sidebar-inner {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
  padding: 0;
  gap: 0;
  background: transparent;
}
body.app-shell[data-design-system="ev-premium"] .topbar {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 0;
  z-index: 70;
  display: grid;
  grid-template-columns: minmax(220px, auto) minmax(280px, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-width: 0;
  min-height: var(--ev-topbar-height);
  height: var(--ev-topbar-height);
  margin: 0;
  padding: 10px 18px;
  border: 0;
  border-bottom: 1px solid var(--ev-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--ev-surface) 94%, transparent);
  box-shadow: 0 6px 20px rgba(18, 46, 77, .045);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.app-shell[data-design-system="ev-premium"] .content {
  grid-column: 2;
  grid-row: 2;
  display: block;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: clamp(18px, 2vw, 30px);
  overflow: visible;
  background: transparent;
}
body.app-shell[data-design-system="ev-premium"] .content > .page,
body.app-shell[data-design-system="ev-premium"] .content > .asm-modern-page,
body.app-shell[data-design-system="ev-premium"] .main-content,
body.app-shell[data-design-system="ev-premium"] .page-shell {
  width: min(100%, 1920px);
  max-width: 1920px;
  margin-inline: auto;
}
body.app-shell[data-design-system="ev-premium"] .app-footer {
  grid-column: 2;
  grid-row: 3;
  position: static;
  width: 100%;
  margin: 0;
  padding: 14px clamp(18px, 2vw, 30px);
  border: 0;
  border-top: 1px solid var(--ev-border);
  border-radius: 0;
  background: var(--ev-surface);
  box-shadow: none;
}
body.app-shell[data-design-system="ev-premium"] .app-footer-inner {
  width: min(100%, 1920px);
  margin-inline: auto;
}
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .app-frame {
  grid-template-columns: var(--ev-sidebar-collapsed) minmax(0, 1fr);
}
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .sidebar { width: var(--ev-sidebar-collapsed); }
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-label,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-caret,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-badge,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .brand-copy,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .brand-title,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .brand-sub,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .sidebar-user .user-meta { display: none; }
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-group-body { display: none; }
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-group-head,
body.app-shell[data-design-system="ev-premium"].sidebar-collapsed .nav-link { justify-content: center; padding-inline: 8px; }

/* Sidebar */
body.app-shell[data-design-system="ev-premium"] .sidebar-brand-panel,
body.app-shell[data-design-system="ev-premium"] .brand-panel {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 86px;
  margin: 0;
  padding: 14px 14px 13px;
  border: 0;
  border-bottom: 1px solid var(--ev-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.app-shell[data-design-system="ev-premium"] .brand-core,
body.app-shell[data-design-system="ev-premium"] .brand-core--compact {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 54px;
  flex: 1;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--ev-primary) 16%, var(--ev-border));
  border-radius: var(--ev-radius-md);
  background: var(--ev-gradient-hero), var(--ev-surface-soft);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
body.app-shell[data-design-system="ev-premium"] .brand-core .logo,
body.app-shell[data-design-system="ev-premium"] .brand-core--compact .logo {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--ev-primary) 25%, var(--ev-border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--ev-primary) 10%, var(--ev-surface));
  color: var(--ev-primary);
  font-size: 1.05rem;
  box-shadow: 0 7px 16px rgba(23,105,224,.12);
}
body.app-shell[data-design-system="ev-premium"] .brand-title {
  color: var(--ev-text);
  font-size: .93rem;
  font-weight: 820;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: uppercase;
}
body.app-shell[data-design-system="ev-premium"] .brand-sub {
  margin-top: 4px;
  color: var(--ev-text-soft);
  font-size: .67rem;
  line-height: 1.25;
}
body.app-shell[data-design-system="ev-premium"] .sidebar-brand-actions { display: flex; align-items: center; }
body.app-shell[data-design-system="ev-premium"] .sidebar-close-btn { display: none; }
body.app-shell[data-design-system="ev-premium"] .sidebar-body {
  min-height: 0;
  padding: 10px 10px 14px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--ev-border-strong) transparent;
}
body.app-shell[data-design-system="ev-premium"] .sidebar-body::-webkit-scrollbar { width: 7px; }
body.app-shell[data-design-system="ev-premium"] .sidebar-body::-webkit-scrollbar-thumb { background: var(--ev-border-strong); border-radius: 999px; }
body.app-shell[data-design-system="ev-premium"] .nav { display: grid; gap: 3px; padding: 0; }
body.app-shell[data-design-system="ev-premium"] .nav-group {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.app-shell[data-design-system="ev-premium"] .nav-group + .nav-group {
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px solid color-mix(in srgb, var(--ev-border) 70%, transparent);
}
body.app-shell[data-design-system="ev-premium"] .nav-group-head,
body.app-shell[data-design-system="ev-premium"] .nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 41px;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ev-text-soft);
  box-shadow: none;
  font-size: .82rem;
  font-weight: 690;
  line-height: 1.2;
  text-align: left;
  transition: background-color .14s ease, color .14s ease, box-shadow .14s ease;
}
body.app-shell[data-design-system="ev-premium"] .nav-group-head:hover,
body.app-shell[data-design-system="ev-premium"] .nav-link:hover {
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  transform: none;
}
body.app-shell[data-design-system="ev-premium"] .nav-group.is-open > .nav-group-head,
body.app-shell[data-design-system="ev-premium"] .nav-link.active,
body.app-shell[data-design-system="ev-premium"] .nav-link.is-active {
  background: linear-gradient(90deg, color-mix(in srgb, var(--ev-primary) 14%, var(--ev-surface-soft)), var(--ev-surface-soft));
  color: var(--ev-primary-deep);
  box-shadow: inset 3px 0 0 var(--ev-primary);
}
body.app-shell[data-design-system="ev-premium"] .nav-group-body {
  display: none;
  gap: 2px;
  margin: 2px 0 4px 24px;
  padding: 3px 0 3px 9px;
  border-left: 1px solid var(--ev-border);
}
body.app-shell[data-design-system="ev-premium"] .nav-group.is-open > .nav-group-body { display: grid; }
body.app-shell[data-design-system="ev-premium"] .nav-group-body .nav-link { min-height: 36px; padding: 7px 9px; font-size: .77rem; }
body.app-shell[data-design-system="ev-premium"] .nav-ico {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: currentColor;
}
body.app-shell[data-design-system="ev-premium"] .nav-ico svg { width: 18px; height: 18px; }
body.app-shell[data-design-system="ev-premium"] .nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-shell[data-design-system="ev-premium"] .nav-text { display: flex; align-items: center; min-width: 0; flex: 1; }
body.app-shell[data-design-system="ev-premium"] .nav-caret { width: 16px; height: 16px; margin-left: auto; color: var(--ev-text-faint); }
body.app-shell[data-design-system="ev-premium"] .nav-caret svg { width: 15px; height: 15px; }
body.app-shell[data-design-system="ev-premium"] .nav-group.is-open > .nav-group-head .nav-caret { transform: rotate(180deg); }
body.app-shell[data-design-system="ev-premium"] .sidebar-footer,
body.app-shell[data-design-system="ev-premium"] .sidebar-footer--neo {
  margin: 0;
  padding: 10px;
  border: 0;
  border-top: 1px solid var(--ev-border);
  border-radius: 0;
  background: var(--ev-surface);
  box-shadow: none;
}
body.app-shell[data-design-system="ev-premium"] .nav-link-logout { color: var(--ev-danger); background: color-mix(in srgb, var(--ev-danger) 6%, transparent); }

/* Top bar */
body.app-shell[data-design-system="ev-premium"] .topbar-left,
body.app-shell[data-design-system="ev-premium"] .topbar-actions { display: flex; align-items: center; gap: 9px; min-width: 0; }
body.app-shell[data-design-system="ev-premium"] .topbar-actions { justify-content: flex-end; }
body.app-shell[data-design-system="ev-premium"] .topbar-center { min-width: 0; }
body.app-shell[data-design-system="ev-premium"] .topbar-context { min-width: 0; }
body.app-shell[data-design-system="ev-premium"] .topbar-kicker {
  color: var(--ev-primary);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.app-shell[data-design-system="ev-premium"] .topbar-title {
  max-width: 250px;
  overflow: hidden;
  color: var(--ev-text);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.app-shell[data-design-system="ev-premium"] .topbar-search {
  position: relative;
  width: min(100%, 760px);
  margin-inline: auto;
}
body.app-shell[data-design-system="ev-premium"] .topbar-search-input {
  width: 100%;
  height: 44px;
  padding: 0 16px 0 42px;
  border: 1px solid var(--ev-border);
  border-radius: 14px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  font-size: .86rem;
  font-weight: 600;
}
body.app-shell[data-design-system="ev-premium"] .topbar-search-input:focus { border-color: var(--ev-primary); background: var(--ev-surface); box-shadow: var(--ev-focus); }
body.app-shell[data-design-system="ev-premium"] .topbar-search-icon { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; color: var(--ev-text-soft); transform: translateY(-50%); }
body.app-shell[data-design-system="ev-premium"] .topbar-search-icon svg { width: 18px; height: 18px; }
body.app-shell[data-design-system="ev-premium"] .topbar-icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  border: 1px solid var(--ev-border);
  border-radius: 12px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: 0 1px 2px rgba(18,46,77,.04);
}
body.app-shell[data-design-system="ev-premium"] .topbar-icon:hover { border-color: var(--ev-border-strong); background: var(--ev-surface-tint); color: var(--ev-primary); transform: translateY(-1px); }
body.app-shell[data-design-system="ev-premium"] .topbar-icon svg { width: 19px; height: 19px; }
body.app-shell[data-design-system="ev-premium"] .topbar-badge { min-width: 17px; height: 17px; padding: 0 4px; font-size: .61rem; }
body.app-shell[data-design-system="ev-premium"] .topbar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 4px 9px 4px 5px;
  border: 1px solid var(--ev-border);
  border-radius: 14px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: none;
}
body.app-shell[data-design-system="ev-premium"] .topbar-user .avatar,
body.app-shell[data-design-system="ev-premium"] .topbar-user .avatar-img { width: 34px; height: 34px; min-width: 34px; border-radius: 11px; }
body.app-shell[data-design-system="ev-premium"] .topbar-user-text { min-width: 0; }
body.app-shell[data-design-system="ev-premium"] .topbar-user-text strong { display: block; font-size: .78rem; line-height: 1.1; }
body.app-shell[data-design-system="ev-premium"] .topbar-user-text small { display: block; font-size: .62rem; line-height: 1.1; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .topbar-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 120;
  width: min(390px, calc(100vw - 24px));
  min-width: 320px;
  max-width: calc(100vw - 24px);
  padding: 12px;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-lg);
  background: var(--ev-surface-raised);
  color: var(--ev-text);
  box-shadow: var(--ev-shadow-float);
}

/* Page structure and Material 3 cards */
body.app-shell[data-design-system="ev-premium"] .page,
body.app-shell[data-design-system="ev-premium"] .asm-modern-page { display: grid; gap: 18px; }
body.app-shell[data-design-system="ev-premium"] .page-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-height: 94px;
  margin: 0;
  padding: 21px 22px;
  overflow: hidden;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-lg);
  background: var(--ev-gradient-hero), var(--ev-surface);
  color: var(--ev-text);
  box-shadow: var(--ev-shadow-card);
}
body.app-shell[data-design-system="ev-premium"] .page-head::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--ev-gradient-primary);
}
body.app-shell[data-design-system="ev-premium"] .page-head h1,
body.app-shell[data-design-system="ev-premium"] .page-head h2 { margin: 0 0 5px; color: var(--ev-text); font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.08; }
body.app-shell[data-design-system="ev-premium"] .page-head .muted { color: var(--ev-text-soft); }
body.app-shell[data-design-system="ev-premium"] .card,
body.app-shell[data-design-system="ev-premium"] .panel,
body.app-shell[data-design-system="ev-premium"] .table-card,
body.app-shell[data-design-system="ev-premium"] .section-card,
body.app-shell[data-design-system="ev-premium"] .dashboard-card,
body.app-shell[data-design-system="ev-premium"] .metric-card,
body.app-shell[data-design-system="ev-premium"] .stat-card,
body.app-shell[data-design-system="ev-premium"] .kpi-card,
body.app-shell[data-design-system="ev-premium"] .entity-card,
body.app-shell[data-design-system="ev-premium"] .station-mini-card,
body.app-shell[data-design-system="ev-premium"] .hero-panel,
body.app-shell[data-design-system="ev-premium"] .station-hero,
body.app-shell[data-design-system="ev-premium"] .modal-card,
body.app-shell[data-design-system="ev-premium"] .sql-import-panel,
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-card,
body.app-shell[data-design-system="ev-premium"] .sql-import-hero {
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-lg);
  background: var(--ev-surface);
  color: var(--ev-text);
  box-shadow: var(--ev-shadow-card);
}
body.app-shell[data-design-system="ev-premium"] .card { padding: 20px; }
body.app-shell[data-design-system="ev-premium"] .card:hover,
body.app-shell[data-design-system="ev-premium"] .entity-card:hover,
body.app-shell[data-design-system="ev-premium"] .station-mini-card:hover { border-color: var(--ev-border-strong); box-shadow: var(--ev-shadow-raised); }
body.app-shell[data-design-system="ev-premium"] .card-title { color: var(--ev-text); font-size: .98rem; font-weight: 800; letter-spacing: -.015em; }
body.app-shell[data-design-system="ev-premium"] .eyebrow,
body.app-shell[data-design-system="ev-premium"] .section-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--ev-primary) 24%, var(--ev-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--ev-primary) 8%, var(--ev-surface));
  color: var(--ev-primary-deep);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.app-shell[data-design-system="ev-premium"] .actions,
body.app-shell[data-design-system="ev-premium"] .queue-head,
body.app-shell[data-design-system="ev-premium"] .station-panel-head,
body.app-shell[data-design-system="ev-premium"] .row-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
body.app-shell[data-design-system="ev-premium"] .queue-head { justify-content: space-between; }
body.app-shell[data-design-system="ev-premium"] .section-gap { margin-top: 14px; }
body.app-shell[data-design-system="ev-premium"] .news-band--spaced { margin-bottom: 0; }

/* Buttons, controls and forms */
body.app-shell[data-design-system="ev-premium"] .btn,
body.app-shell[data-design-system="ev-premium"] button.btn,
body.app-shell[data-design-system="ev-premium"] a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ev-control-height);
  padding: 9px 14px;
  border: 1px solid var(--ev-border);
  border-radius: 12px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: 0 1px 2px rgba(18,46,77,.05);
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none;
  transition: transform .14s ease, background-color .14s ease, border-color .14s ease, box-shadow .14s ease;
}
body.app-shell[data-design-system="ev-premium"] .btn:hover { border-color: var(--ev-border-strong); background: var(--ev-surface-tint); color: var(--ev-primary-deep); transform: translateY(-1px); box-shadow: 0 5px 14px rgba(18,46,77,.08); }
body.app-shell[data-design-system="ev-premium"] .btn.primary,
body.app-shell[data-design-system="ev-premium"] .btn-primary,
body.app-shell[data-design-system="ev-premium"] .btn.btn-primary {
  border-color: transparent;
  background: var(--ev-gradient-primary);
  color: #fff;
  box-shadow: 0 8px 18px rgba(23,105,224,.2);
}
body.app-shell[data-design-system="ev-premium"] .btn.primary:hover,
body.app-shell[data-design-system="ev-premium"] .btn-primary:hover { color: #fff; box-shadow: 0 12px 24px rgba(23,105,224,.25); }
body.app-shell[data-design-system="ev-premium"] .btn.sm { min-height: 34px; padding: 7px 10px; border-radius: 9px; font-size: .72rem; }
body.app-shell[data-design-system="ev-premium"] .btn.xs { min-height: 30px; padding: 5px 9px; border-radius: 8px; font-size: .68rem; }
body.app-shell[data-design-system="ev-premium"] input,
body.app-shell[data-design-system="ev-premium"] select,
body.app-shell[data-design-system="ev-premium"] textarea,
body.app-shell[data-design-system="ev-premium"] .input {
  min-height: var(--ev-control-height);
  padding: 9px 12px;
  border: 1px solid var(--ev-border);
  border-radius: 11px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
body.app-shell[data-design-system="ev-premium"] input:focus,
body.app-shell[data-design-system="ev-premium"] select:focus,
body.app-shell[data-design-system="ev-premium"] textarea:focus,
body.app-shell[data-design-system="ev-premium"] .input:focus { border-color: var(--ev-primary); background: var(--ev-surface); box-shadow: var(--ev-focus); outline: none; }
body.app-shell[data-design-system="ev-premium"] input::placeholder,
body.app-shell[data-design-system="ev-premium"] textarea::placeholder { color: var(--ev-text-faint); }
body.app-shell[data-design-system="ev-premium"] input[type="checkbox"],
body.app-shell[data-design-system="ev-premium"] input[type="radio"] { min-height: auto; accent-color: var(--ev-primary); }

/* Tables */
body.app-shell[data-design-system="ev-premium"] .table-wrap,
body.app-shell[data-design-system="ev-premium"] .responsive-table,
body.app-shell[data-design-system="ev-premium"] .datatable-wrap,
body.app-shell[data-design-system="ev-premium"] .table-scroll {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-md);
  background: var(--ev-surface);
  scrollbar-width: thin;
  scrollbar-color: var(--ev-border-strong) transparent;
}
body.app-shell[data-design-system="ev-premium"] table,
body.app-shell[data-design-system="ev-premium"] .table,
body.app-shell[data-design-system="ev-premium"] table.dataTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--ev-surface);
  color: var(--ev-text);
}
body.app-shell[data-design-system="ev-premium"] table th,
body.app-shell[data-design-system="ev-premium"] .table th,
body.app-shell[data-design-system="ev-premium"] table.dataTable th {
  padding: 11px 12px;
  border-bottom: 1px solid var(--ev-border);
  background: var(--ev-surface-soft);
  color: var(--ev-text-soft);
  font-size: .65rem;
  font-weight: 820;
  letter-spacing: .065em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
body.app-shell[data-design-system="ev-premium"] table td,
body.app-shell[data-design-system="ev-premium"] .table td,
body.app-shell[data-design-system="ev-premium"] table.dataTable td {
  padding: 10px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--ev-border) 75%, transparent);
  color: var(--ev-text);
  font-size: .77rem;
  line-height: 1.35;
  vertical-align: middle;
}
body.app-shell[data-design-system="ev-premium"] table tbody tr:hover td { background: color-mix(in srgb, var(--ev-primary) 4%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] table tbody tr:last-child td { border-bottom: 0; }
body.app-shell[data-design-system="ev-premium"] .table-wide { min-width: 980px; }

/* Status */
body.app-shell[data-design-system="ev-premium"] .pill,
body.app-shell[data-design-system="ev-premium"] .badge,
body.app-shell[data-design-system="ev-premium"] .status-pill,
body.app-shell[data-design-system="ev-premium"] .tag,
body.app-shell[data-design-system="ev-premium"] .chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--ev-border);
  border-radius: 999px;
  background: var(--ev-surface-soft);
  color: var(--ev-text-soft);
  box-shadow: none;
  font-size: .64rem;
  font-weight: 800;
  line-height: 1;
}
body.app-shell[data-design-system="ev-premium"] .pill.ok,
body.app-shell[data-design-system="ev-premium"] .badge.success { border-color: color-mix(in srgb, var(--ev-success) 30%, var(--ev-border)); background: color-mix(in srgb, var(--ev-success) 10%, var(--ev-surface)); color: var(--ev-success); }
body.app-shell[data-design-system="ev-premium"] .pill.warn,
body.app-shell[data-design-system="ev-premium"] .badge.warning { border-color: color-mix(in srgb, var(--ev-warning) 30%, var(--ev-border)); background: color-mix(in srgb, var(--ev-warning) 10%, var(--ev-surface)); color: var(--ev-warning); }
body.app-shell[data-design-system="ev-premium"] .pill.danger,
body.app-shell[data-design-system="ev-premium"] .badge.danger { border-color: color-mix(in srgb, var(--ev-danger) 30%, var(--ev-border)); background: color-mix(in srgb, var(--ev-danger) 10%, var(--ev-surface)); color: var(--ev-danger); }
body.app-shell[data-design-system="ev-premium"] .pill.info,
body.app-shell[data-design-system="ev-premium"] .badge.info { border-color: color-mix(in srgb, var(--ev-info) 30%, var(--ev-border)); background: color-mix(in srgb, var(--ev-info) 10%, var(--ev-surface)); color: var(--ev-info); }

/* Dashboard */
body.app-shell[data-design-system="ev-premium"] .dashboard-top-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr); gap: 18px; }
body.app-shell[data-design-system="ev-premium"] .hero-panel {
  padding: 22px;
  background: var(--ev-gradient-hero), var(--ev-surface);
}
body.app-shell[data-design-system="ev-premium"] .hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
body.app-shell[data-design-system="ev-premium"] .hero-title { margin-top: 10px; color: var(--ev-text); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 850; line-height: 1.1; }
body.app-shell[data-design-system="ev-premium"] .hero-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
body.app-shell[data-design-system="ev-premium"] .metric-card {
  min-height: 116px;
  padding: 15px;
  border-radius: var(--ev-radius-md);
  background: var(--ev-surface);
  box-shadow: 0 1px 2px rgba(18,46,77,.04), inset 0 1px 0 rgba(255,255,255,.55);
  text-align: left;
}
body.app-shell[data-design-system="ev-premium"] .metric-title { color: var(--ev-text-soft); font-size: .64rem; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .metric-value { margin-top: 9px; color: var(--ev-text); font-size: clamp(1.7rem, 2.2vw, 2.35rem); font-weight: 880; line-height: 1; letter-spacing: -.04em; }
body.app-shell[data-design-system="ev-premium"] .metric-sub { margin-top: 7px; color: var(--ev-text-soft); font-size: .66rem; }
body.app-shell[data-design-system="ev-premium"] .attention-list { display: grid; gap: 9px; margin-top: 14px; }
body.app-shell[data-design-system="ev-premium"] .attention-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--ev-border);
  border-radius: 11px;
  background: var(--ev-surface-soft);
  color: var(--ev-text);
  box-shadow: none;
  font-size: .75rem;
}
body.app-shell[data-design-system="ev-premium"] .dashboard-insight-grid { display: grid; grid-template-columns: 1fr 1fr minmax(270px, .72fr); gap: 18px; }
body.app-shell[data-design-system="ev-premium"] .station-compact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
body.app-shell[data-design-system="ev-premium"] .station-mini-card { min-width: 0; padding: 16px; background: linear-gradient(180deg, color-mix(in srgb, var(--ev-primary) 3%, var(--ev-surface)), var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .station-mini-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
body.app-shell[data-design-system="ev-premium"] .station-mini-head > div:first-child > strong { color: var(--ev-text); font-size: 1.1rem; font-weight: 860; letter-spacing: -.025em; }
body.app-shell[data-design-system="ev-premium"] .station-mini-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
body.app-shell[data-design-system="ev-premium"] .stat-box { padding: 11px; border: 1px solid var(--ev-border); border-radius: 11px; background: var(--ev-surface-soft); }
body.app-shell[data-design-system="ev-premium"] .stat-box > span { color: var(--ev-text-soft); font-size: .58rem; font-weight: 820; letter-spacing: .065em; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .count-pair-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-top: 9px; }
body.app-shell[data-design-system="ev-premium"] .count-pair { display: grid; place-items: center; min-height: 50px; border: 1px solid var(--ev-border); border-radius: 10px; background: var(--ev-surface); }
body.app-shell[data-design-system="ev-premium"] .count-pair strong { color: var(--ev-text); font-size: 1rem; font-weight: 850; }
body.app-shell[data-design-system="ev-premium"] .count-pair small { font-size: .56rem; font-weight: 800; }
body.app-shell[data-design-system="ev-premium"] .phase2-quicklinks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
body.app-shell[data-design-system="ev-premium"] .quicklink-card {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 78px;
  padding: 13px;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-md);
  background: var(--ev-surface);
  color: var(--ev-text);
  box-shadow: var(--ev-shadow-card);
}
body.app-shell[data-design-system="ev-premium"] .quicklink-card:hover { border-color: var(--ev-border-strong); box-shadow: var(--ev-shadow-raised); transform: translateY(-1px); }
body.app-shell[data-design-system="ev-premium"] .quicklink-icon { display: grid; place-items: center; width: 36px; height: 36px; min-width: 36px; border-radius: 11px; background: var(--ev-surface-tint); font-size: 1.05rem; }
body.app-shell[data-design-system="ev-premium"] .quicklink-card strong { display: block; font-size: .75rem; }
body.app-shell[data-design-system="ev-premium"] .quicklink-card small { display: block; margin-top: 3px; font-size: .61rem; line-height: 1.25; }

/* Importer */
body.app-shell[data-design-system="ev-premium"] .sql-import-shell { width: min(100%, 1680px); max-width: 1680px; margin-inline: auto; padding: 0; gap: 18px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-hero { padding: 22px; background: var(--ev-gradient-hero), var(--ev-surface); }
body.app-shell[data-design-system="ev-premium"] .sql-import-hero h1 { color: var(--ev-text); }
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-grid { gap: 18px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis { gap: 10px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis div,
body.app-shell[data-design-system="ev-premium"] .sql-import-dropzone,
body.app-shell[data-design-system="ev-premium"] .sql-import-log-row { border-color: var(--ev-border); background: var(--ev-surface-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-track i,
body.app-shell[data-design-system="ev-premium"] .sql-import-mini-track i { background: var(--ev-gradient-primary); }

/* Overlay components */
body.app-shell[data-design-system="ev-premium"] .modal { background: rgba(5, 16, 29, .58); backdrop-filter: blur(4px); }
body.app-shell[data-design-system="ev-premium"] .modal-card { box-shadow: var(--ev-shadow-float); }
body.app-shell[data-design-system="ev-premium"] .toast { border: 1px solid var(--ev-border); border-radius: 12px; background: var(--ev-surface-raised); color: var(--ev-text); box-shadow: var(--ev-shadow-raised); }
body.app-shell[data-design-system="ev-premium"] .ai-launcher { width: 50px; height: 50px; border-radius: 16px; box-shadow: var(--ev-shadow-raised); }
body.app-shell[data-design-system="ev-premium"] .mobile-ev-dock,
body.app-shell[data-design-system="ev-premium"] .mobile-dock-toggle { display: none; }

/* Performance and compatibility: neutralise paint-heavy historical effects. */
body.app-shell[data-design-system="ev-premium"] .sidebar,
body.app-shell[data-design-system="ev-premium"] .topbar,
body.app-shell[data-design-system="ev-premium"] .card,
body.app-shell[data-design-system="ev-premium"] .page-head,
body.app-shell[data-design-system="ev-premium"] .hero-panel,
body.app-shell[data-design-system="ev-premium"] .station-hero,
body.app-shell[data-design-system="ev-premium"] .sticky-form-actions,
body.app-shell[data-design-system="ev-premium"] .modal-footer,
body.app-shell[data-design-system="ev-premium"] .asx-actionbar,
body.app-shell[data-design-system="ev-premium"] .asx-tabs,
body.app-shell[data-design-system="ev-premium"] .access-workspace-tabs {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.app-shell[data-design-system="ev-premium"] .station-pack-card::before,
body.app-shell[data-design-system="ev-premium"] .entity-card::before,
body.app-shell[data-design-system="ev-premium"] .tc257-card-shell::before,
body.app-shell[data-design-system="ev-premium"] .tc269-final-pack-card::before,
body.app-shell[data-design-system="ev-premium"] .fpp255-card::before,
body.app-shell[data-design-system="ev-premium"] .module-card::before,
body.app-shell[data-design-system="ev-premium"] .pack-card::before {
  content: none;
  animation: none;
}
body.app-shell[data-design-system="ev-premium"] .table-wrap { contain: inline-size; }

@media (max-width: 1480px) {
  body.app-shell[data-design-system="ev-premium"] .hero-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.app-shell[data-design-system="ev-premium"] .station-compact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.app-shell[data-design-system="ev-premium"] .phase2-quicklinks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1180px) {
  body.app-shell[data-design-system="ev-premium"] .app-frame { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: var(--ev-topbar-height) minmax(calc(100vh - var(--ev-topbar-height)), auto) auto; }
  body.app-shell[data-design-system="ev-premium"] .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(88vw, 310px);
    height: 100dvh;
    transform: translateX(-104%);
    transition: transform .2s ease;
    box-shadow: var(--ev-shadow-float);
    z-index: 200;
  }
  body.app-shell[data-design-system="ev-premium"].sidebar-open .sidebar,
  body.app-shell[data-design-system="ev-premium"].tc360-sidebar-open .sidebar,
  body.app-shell[data-design-system="ev-premium"].tc361-sidebar-open .sidebar,
  body.app-shell[data-design-system="ev-premium"] .asm360-mobile-nav-state:checked ~ .sidebar { transform: translateX(0); }
  body.app-shell[data-design-system="ev-premium"] .sidebar-close-btn { display: inline-grid; }
  body.app-shell[data-design-system="ev-premium"] .topbar,
  body.app-shell[data-design-system="ev-premium"] .content,
  body.app-shell[data-design-system="ev-premium"] .app-footer { grid-column: 1; }
  body.app-shell[data-design-system="ev-premium"] .topbar { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding-inline: 12px; }
  body.app-shell[data-design-system="ev-premium"] .topbar-context { display: none; }
  body.app-shell[data-design-system="ev-premium"] .topbar-center { grid-column: 2; }
  body.app-shell[data-design-system="ev-premium"] .topbar-desktop-only { display: none; }
  body.app-shell[data-design-system="ev-premium"] .topbar-mobile-menu-wrap { display: block; }
  body.app-shell[data-design-system="ev-premium"] .dashboard-top-grid,
  body.app-shell[data-design-system="ev-premium"] .dashboard-insight-grid { grid-template-columns: 1fr; }
  body.app-shell[data-design-system="ev-premium"] .station-compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.app-shell[data-design-system="ev-premium"] .hero-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  :root { --ev-topbar-height: 64px; }
  body.app-shell[data-design-system="ev-premium"] .topbar { padding: 8px 10px; }
  body.app-shell[data-design-system="ev-premium"] .topbar-search-input { height: 40px; border-radius: 12px; }
  body.app-shell[data-design-system="ev-premium"] .topbar-icon { width: 38px; height: 38px; min-width: 38px; border-radius: 11px; }
  body.app-shell[data-design-system="ev-premium"] .topbar-user { display: none; }
  body.app-shell[data-design-system="ev-premium"] .content { padding: 12px 10px 88px; }
  body.app-shell[data-design-system="ev-premium"] .page,
  body.app-shell[data-design-system="ev-premium"] .asm-modern-page { gap: 12px; }
  body.app-shell[data-design-system="ev-premium"] .page-head { min-height: 0; padding: 16px; border-radius: 15px; }
  body.app-shell[data-design-system="ev-premium"] .page-head .actions { width: 100%; justify-content: flex-start; }
  body.app-shell[data-design-system="ev-premium"] .card { padding: 15px; border-radius: 15px; }
  body.app-shell[data-design-system="ev-premium"] .hero-panel { padding: 16px; }
  body.app-shell[data-design-system="ev-premium"] .hero-head { display: grid; }
  body.app-shell[data-design-system="ev-premium"] .hero-kpis,
  body.app-shell[data-design-system="ev-premium"] .station-compact-grid,
  body.app-shell[data-design-system="ev-premium"] .phase2-quicklinks { grid-template-columns: 1fr; }
  body.app-shell[data-design-system="ev-premium"] .metric-card { min-height: 96px; }
  body.app-shell[data-design-system="ev-premium"] .station-mini-stats { grid-template-columns: 1fr; }
  body.app-shell[data-design-system="ev-premium"] .quicklink-card { min-height: 70px; }
  body.app-shell[data-design-system="ev-premium"] .mobile-ev-dock { display: grid; }
  body.app-shell[data-design-system="ev-premium"] .mobile-dock-toggle { display: inline-flex; }
  body.app-shell[data-design-system="ev-premium"] .app-footer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.app-shell[data-design-system="ev-premium"] *,
  body.app-shell[data-design-system="ev-premium"] *::before,
  body.app-shell[data-design-system="ev-premium"] *::after { animation-duration: .01ms; animation-iteration-count: 1; scroll-behavior: auto; transition-duration: .01ms; }
}

/* Single-file SQL importer — semantic, version-neutral classes */
body.app-shell[data-design-system="ev-premium"] .sql-import-page { width: min(100%, 1680px); margin-inline: auto; }
body.app-shell[data-design-system="ev-premium"] .sql-import-shell { display: grid; gap: 16px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-lg);
  background: var(--ev-gradient-hero), var(--ev-surface);
  box-shadow: var(--ev-shadow-card);
}
body.app-shell[data-design-system="ev-premium"] .sql-import-hero h1 { margin: 8px 0; color: var(--ev-text); font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1; }
body.app-shell[data-design-system="ev-premium"] .sql-import-hero p { max-width: 82ch; margin: 0; color: var(--ev-text-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-chip {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--ev-primary) 24%, var(--ev-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--ev-primary) 8%, var(--ev-surface));
  color: var(--ev-primary-deep);
  font-size: .65rem;
  font-weight: 840;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.app-shell[data-design-system="ev-premium"] .sql-import-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
body.app-shell[data-design-system="ev-premium"] .sql-import-start span { width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.15); }
body.app-shell[data-design-system="ev-premium"] .sql-import-start.is-running span { background: #42d392; animation: sql-import-pulse 1s ease-in-out infinite; }
@keyframes sql-import-pulse { 50% { transform: scale(1.25); opacity: .65; } }
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(390px, .85fr); gap: 16px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-card,
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis,
body.app-shell[data-design-system="ev-premium"] .sql-import-panel {
  padding: 18px;
  border: 1px solid var(--ev-border);
  border-radius: var(--ev-radius-lg);
  background: var(--ev-surface);
  box-shadow: var(--ev-shadow-card);
}
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-title,
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-meta,
body.app-shell[data-design-system="ev-premium"] .sql-import-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
body.app-shell[data-design-system="ev-premium"] .sql-import-progress-title strong { color: var(--ev-primary); font-size: 1.75rem; }
body.app-shell[data-design-system="ev-premium"] .sql-import-track,
body.app-shell[data-design-system="ev-premium"] .sql-import-mini-track { height: 10px; margin: 12px 0; overflow: hidden; border-radius: 999px; background: var(--ev-surface-tint); }
body.app-shell[data-design-system="ev-premium"] .sql-import-track i,
body.app-shell[data-design-system="ev-premium"] .sql-import-mini-track i { display: block; height: 100%; border-radius: inherit; background: var(--ev-gradient-primary); transition: width .24s ease; }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis > div { padding: 11px; border: 1px solid var(--ev-border); border-radius: 11px; background: var(--ev-surface-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis b { display: block; color: var(--ev-text); font-size: 1.28rem; }
body.app-shell[data-design-system="ev-premium"] .sql-import-kpis span { color: var(--ev-text-soft); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .sql-import-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-panel { display: grid; align-content: start; gap: 12px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-panel-head h2 { margin: 0; color: var(--ev-text); font-size: 1.08rem; }
body.app-shell[data-design-system="ev-premium"] .sql-import-panel-head p { margin: 4px 0 0; color: var(--ev-text-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-upload-form,
body.app-shell[data-design-system="ev-premium"] .sql-import-form { display: grid; gap: 10px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-dropzone {
  position: relative;
  display: grid;
  place-items: center;
  gap: 5px;
  min-height: 150px;
  padding: 20px;
  border: 1.5px dashed var(--ev-border-strong);
  border-radius: 14px;
  background: var(--ev-surface-soft);
  text-align: center;
  cursor: pointer;
}
body.app-shell[data-design-system="ev-premium"] .sql-import-dropzone:hover { border-color: var(--ev-primary); background: var(--ev-surface-tint); }
body.app-shell[data-design-system="ev-premium"] .sql-import-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.app-shell[data-design-system="ev-premium"] .sql-import-dropzone em { color: var(--ev-text-soft); font-size: .78rem; font-style: normal; }
body.app-shell[data-design-system="ev-premium"] .sql-import-hint,
body.app-shell[data-design-system="ev-premium"] .sql-import-inline-alert,
body.app-shell[data-design-system="ev-premium"] .sql-import-active-lock {
  padding: 11px 12px;
  border: 1px solid var(--ev-border);
  border-radius: 10px;
  background: var(--ev-surface-soft);
  color: var(--ev-text-soft);
}
body.app-shell[data-design-system="ev-premium"] .sql-import-inline-alert { border-color: color-mix(in srgb, var(--ev-warning) 32%, var(--ev-border)); background: color-mix(in srgb, var(--ev-warning) 7%, var(--ev-surface)); color: var(--ev-warning); }
body.app-shell[data-design-system="ev-premium"] .sql-import-active-lock { display: grid; gap: 3px; border-color: color-mix(in srgb, var(--ev-info) 28%, var(--ev-border)); background: color-mix(in srgb, var(--ev-info) 6%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-safety-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-safety-grid > div { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--ev-border); border-radius: 11px; background: var(--ev-surface-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-safety-grid span { color: var(--ev-text-soft); font-size: .75rem; }
body.app-shell[data-design-system="ev-premium"] .sql-import-console { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid #25445d; border-radius: 11px; background: #071522; color: #d8ecff; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
body.app-shell[data-design-system="ev-premium"] .sql-import-console span { color: #71d9d4; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .sql-import-table-wrap { width: 100%; overflow: auto; border: 1px solid var(--ev-border); border-radius: var(--ev-radius-md); }
body.app-shell[data-design-system="ev-premium"] .sql-import-table { min-width: 980px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-badge { display: inline-flex; padding: 5px 8px; border: 1px solid var(--ev-border); border-radius: 999px; background: var(--ev-surface-soft); color: var(--ev-text-soft); font-size: .62rem; font-weight: 820; }
body.app-shell[data-design-system="ev-premium"] .sql-import-badge--done { color: var(--ev-success); background: color-mix(in srgb, var(--ev-success) 8%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-badge--done-with-warnings { color: var(--ev-warning); background: color-mix(in srgb, var(--ev-warning) 8%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-badge--running { color: var(--ev-info); background: color-mix(in srgb, var(--ev-info) 8%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-badge--failed { color: var(--ev-danger); background: color-mix(in srgb, var(--ev-danger) 8%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-log { display: grid; gap: 8px; max-height: 420px; overflow: auto; }
body.app-shell[data-design-system="ev-premium"] .sql-import-log-row { display: grid; grid-template-columns: 86px 180px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border: 1px solid var(--ev-border); border-radius: 10px; background: var(--ev-surface-soft); }
body.app-shell[data-design-system="ev-premium"] .sql-import-log-row p { margin: 0; }
body.app-shell[data-design-system="ev-premium"] .sql-import-diagnostic { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 16px; border: 1px solid color-mix(in srgb, var(--ev-warning) 34%, var(--ev-border)); border-radius: var(--ev-radius-md); background: color-mix(in srgb, var(--ev-warning) 7%, var(--ev-surface)); box-shadow: var(--ev-shadow-card); }
body.app-shell[data-design-system="ev-premium"] .sql-import-diagnostic.is-error { border-color: color-mix(in srgb, var(--ev-danger) 38%, var(--ev-border)); background: color-mix(in srgb, var(--ev-danger) 6%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-diagnostic-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ev-warning); color: #fff; font-size: 1.2rem; font-weight: 900; }
body.app-shell[data-design-system="ev-premium"] .sql-import-diagnostic.is-error .sql-import-diagnostic-icon { background: var(--ev-danger); }
body.app-shell[data-design-system="ev-premium"] .sql-import-diagnostic-copy p { margin: 6px 0 12px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid > div { padding: 9px 10px; border: 1px solid var(--ev-border); border-radius: 9px; background: var(--ev-surface); }
body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid span,
body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid b { display: block; }
body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid span { color: var(--ev-text-soft); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
body.app-shell[data-design-system="ev-premium"] .sql-import-ready-banner { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--ev-success) 30%, var(--ev-border)); border-radius: 11px; background: color-mix(in srgb, var(--ev-success) 6%, var(--ev-surface)); }
body.app-shell[data-design-system="ev-premium"] .sql-import-ready-banner small { display: block; }
body.app-shell[data-design-system="ev-premium"] .sql-import-ready-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ev-success); box-shadow: 0 0 0 5px color-mix(in srgb, var(--ev-success) 13%, transparent); }
@media (max-width: 1180px) {
  body.app-shell[data-design-system="ev-premium"] .sql-import-progress-grid { grid-template-columns: 1fr; }
  body.app-shell[data-design-system="ev-premium"] .sql-import-source-grid { grid-template-columns: 1fr 1fr; }
  body.app-shell[data-design-system="ev-premium"] .sql-import-safety-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body.app-shell[data-design-system="ev-premium"] .sql-import-hero { display: grid; padding: 16px; }
  body.app-shell[data-design-system="ev-premium"] .sql-import-actions { justify-content: flex-start; }
  body.app-shell[data-design-system="ev-premium"] .sql-import-source-grid,
  body.app-shell[data-design-system="ev-premium"] .sql-import-safety-grid,
  body.app-shell[data-design-system="ev-premium"] .sql-import-health-grid { grid-template-columns: 1fr; }
  body.app-shell[data-design-system="ev-premium"] .sql-import-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.app-shell[data-design-system="ev-premium"] .sql-import-log-row { grid-template-columns: 1fr; gap: 3px; }
}

}


/* TC499 — Stable grid shell
 * Unique structural classes prevent legacy fixed-position shell rules from
 * affecting the application frame. No forced-priority declarations are used.
 */
  :root {
    --ev-shell-sidebar: 292px;
    --ev-shell-sidebar-collapsed: 82px;
    --ev-shell-topbar: 74px;
    --ev-shell-gap: 14px;
    --ev-shell-edge: 14px;
  }

  html,
  body.app-shell[data-shell-layout="stable-grid"] {
    min-height: 100%;
  }

  body.app-shell[data-shell-layout="stable-grid"] {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background: var(--bg);
  }

  body.app-shell[data-shell-layout="stable-grid"]::before {
    display: none;
  }

  .ev-layout {
    display: grid;
    grid-template-columns: var(--ev-shell-sidebar) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: 100%;
    min-height: 100dvh;
    align-items: start;
    background: transparent;
  }

  .ev-nav-state {
    position: fixed;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
  }

  .ev-sidebar-backdrop {
    display: none;
  }

  .ev-sidebar {
    grid-column: 1;
    grid-row: 1 / -1;
    position: sticky;
    inset-block-start: 0;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    z-index: 50;
    border: 0;
    border-inline-end: 1px solid var(--border);
    background: color-mix(in srgb, var(--panel) 94%, var(--bg));
    box-shadow: 12px 0 34px color-mix(in srgb, #07111f 9%, transparent);
  }

  .ev-sidebar-inner {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 14px 12px 12px;
  }

  .ev-sidebar .sidebar-brand-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 72px;
    margin: 0;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--primary) 16%, var(--border));
    border-radius: 18px;
    background: linear-gradient(145deg,
      color-mix(in srgb, var(--primary) 8%, var(--panel)),
      color-mix(in srgb, var(--secondary) 4%, var(--panel)));
    box-shadow: 0 10px 26px color-mix(in srgb, #07111f 8%, transparent);
  }

  .ev-sidebar .brand-core {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0;
  }

  .ev-sidebar .logo {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--border));
    background: linear-gradient(145deg,
      color-mix(in srgb, var(--primary) 18%, var(--panel)),
      color-mix(in srgb, var(--secondary) 12%, var(--panel)));
    color: var(--primary);
    font-size: 1.1rem;
    box-shadow: inset 0 1px 0 color-mix(in srgb, white 32%, transparent),
      0 8px 18px color-mix(in srgb, var(--primary) 14%, transparent);
  }

  .ev-sidebar .brand-copy {
    min-width: 0;
  }

  .ev-sidebar .brand-title {
    display: block;
    overflow: hidden;
    color: var(--text);
    font-size: .93rem;
    font-weight: 780;
    line-height: 1.18;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ev-sidebar .brand-sub {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: var(--text-2);
    font-size: .7rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ev-sidebar .sidebar-brand-actions {
    display: none;
  }

  .ev-sidebar-scroll {
    min-height: 0;
    overflow: hidden auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 2px 4px 8px 0;
  }

  .ev-sidebar-scroll::-webkit-scrollbar {
    width: 7px;
  }

  .ev-sidebar-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .ev-sidebar-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary) 30%, transparent);
  }

  .ev-sidebar .app-nav {
    display: grid;
    gap: 5px;
  }

  .ev-sidebar .nav-group {
    overflow: visible;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 13px;
    background: transparent;
    box-shadow: none;
  }

  .ev-sidebar .nav-group-head,
  .ev-sidebar .nav-link {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--text-2);
    box-shadow: none;
    font-size: .84rem;
    font-weight: 570;
    line-height: 1.25;
    text-align: start;
    transform: none;
  }

  .ev-sidebar .nav-group-head:hover,
  .ev-sidebar .nav-link:hover {
    border-color: color-mix(in srgb, var(--primary) 16%, var(--border));
    background: color-mix(in srgb, var(--primary) 6%, var(--panel));
    color: var(--text);
    box-shadow: none;
    transform: none;
  }

  .ev-sidebar .nav-group.is-open > .nav-group-head,
  .ev-sidebar .nav-group-head.active,
  .ev-sidebar .nav-link.active,
  .ev-sidebar .nav-link.is-active {
    border-color: color-mix(in srgb, var(--primary) 24%, var(--border));
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--primary) 12%, var(--panel)),
      color-mix(in srgb, var(--secondary) 6%, var(--panel)));
    color: var(--text);
    box-shadow: inset 3px 0 0 var(--primary);
    font-weight: 680;
  }

  .ev-sidebar .nav-link.active::before,
  .ev-sidebar .nav-link.is-active::before {
    display: none;
  }

  .ev-sidebar .nav-ico {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: color-mix(in srgb, var(--primary) 72%, var(--text));
    box-shadow: none;
  }

  .ev-sidebar .nav-ico svg {
    display: block;
    width: 18px;
    height: 18px;
  }

  .ev-sidebar .nav-text,
  .ev-sidebar .nav-label {
    min-width: 0;
  }

  .ev-sidebar .nav-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ev-sidebar .nav-caret {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin: 0;
    color: var(--text-3);
    transition: transform .18s ease;
  }

  .ev-sidebar .nav-caret svg {
    width: 16px;
    height: 16px;
  }

  .ev-sidebar .nav-group.is-open > .nav-group-head .nav-caret {
    transform: rotate(180deg);
  }

  .ev-sidebar .nav-group-body {
    display: none;
    gap: 3px;
    margin: 3px 0 5px 13px;
    padding: 3px 0 3px 12px;
    border-inline-start: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
  }

  .ev-sidebar .nav-group.is-open > .nav-group-body,
  .ev-sidebar .nav-group.open > .nav-group-body {
    display: grid;
  }

  .ev-sidebar .nav-group-body .nav-link {
    min-height: 36px;
    padding-block: 7px;
    font-size: .79rem;
  }

  .ev-sidebar .nav-subtitle,
  .ev-sidebar .nav-empty-hint {
    margin: 5px 0 3px;
    padding: 0 10px;
    color: var(--text-3);
    font-size: .65rem;
    font-weight: 720;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .ev-sidebar .nav-badge,
  .ev-sidebar .alert-dot {
    position: static;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--danger) 84%, var(--panel));
    color: white;
    font-size: .66rem;
    font-weight: 760;
  }

  .ev-sidebar-footer {
    min-height: 0;
    margin: 0;
    padding: 8px 0 0;
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .ev-sidebar-footer .nav-link-logout {
    min-height: 42px;
    color: color-mix(in srgb, var(--danger) 80%, var(--text));
  }

  .ev-topbar {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    inset-block-start: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(190px, auto) minmax(280px, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: var(--ev-shell-topbar);
    margin: var(--ev-shell-edge) var(--ev-shell-edge) 0;
    padding: 9px 12px;
    border: 1px solid color-mix(in srgb, var(--primary) 13%, var(--border));
    border-radius: 18px;
    background: color-mix(in srgb, var(--panel) 94%, transparent);
    box-shadow: 0 12px 30px color-mix(in srgb, #07111f 8%, transparent);
  }

  .ev-topbar .topbar-left,
  .ev-topbar .topbar-center,
  .ev-topbar .topbar-actions {
    min-width: 0;
  }

  .ev-topbar .topbar-left {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .ev-topbar .topbar-center {
    width: 100%;
  }

  .ev-topbar .topbar-search {
    width: 100%;
    max-width: none;
  }

  .ev-topbar .topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    overflow: visible;
  }

  .ev-topbar .topbar-icon,
  .ev-topbar .icon-btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 12px;
    box-shadow: none;
  }

  .ev-topbar .topbar-icon svg,
  .ev-topbar .icon-btn svg {
    width: 18px;
    height: 18px;
  }

  .ev-topbar .topbar-user {
    min-height: 42px;
    padding: 4px 9px 4px 5px;
    border-radius: 13px;
    box-shadow: none;
  }

  .ev-content {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    align-content: start;
    gap: 18px;
    width: 100%;
    min-width: 0;
    min-height: calc(100dvh - var(--ev-shell-topbar) - 74px);
    padding: 18px var(--ev-shell-edge) 24px;
    overflow: visible;
    background: transparent;
  }

  .ev-content > .page,
  .ev-content > .dashboard-pro,
  .ev-content > .dashboard-shell,
  .ev-content > .station-page-shell {
    width: min(100%, 1920px);
    min-width: 0;
    margin-inline: auto;
  }

  .ev-content .table-wrap,
  .ev-content .responsive-table,
  .ev-content .table-scroll {
    max-width: 100%;
  }

  .ev-footer {
    grid-column: 2;
    grid-row: 3;
    position: static;
    width: auto;
    margin: 0 var(--ev-shell-edge) var(--ev-shell-edge);
    padding: 0;
    background: transparent;
  }

  .ev-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--panel);
    color: var(--text-2);
    box-shadow: 0 8px 22px color-mix(in srgb, #07111f 6%, transparent);
    font-size: .76rem;
  }

  .ev-footer-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-layout {
    grid-template-columns: var(--ev-shell-sidebar-collapsed) minmax(0, 1fr);
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar-inner {
    padding-inline: 9px;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .sidebar-brand-panel {
    justify-content: center;
    padding-inline: 8px;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .brand-core {
    display: grid;
    grid-template-columns: 42px;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .brand-copy,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-text,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-caret,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-badge,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-subtitle,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-empty-hint {
    display: none;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-group-head,
  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-link {
    display: grid;
    grid-template-columns: 22px;
    justify-content: center;
    padding-inline: 9px;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-group-body {
    display: none;
  }

  body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-sidebar .nav-ico {
    margin-inline: auto;
  }

  @media (max-width: 1180px) {
    :root {
      --ev-shell-topbar: 66px;
      --ev-shell-edge: 10px;
    }

    body.app-shell[data-shell-layout="stable-grid"],
    body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed {
      padding: 0;
    }

    .ev-layout,
    body.app-shell[data-shell-layout="stable-grid"].sidebar-collapsed .ev-layout {
      display: block;
      min-height: 100dvh;
    }

    .ev-sidebar {
      position: fixed;
      inset: 0 auto 0 0;
      width: min(88vw, 322px);
      height: 100dvh;
      transform: translateX(-104%);
      transition: transform .22s ease;
      box-shadow: 24px 0 58px color-mix(in srgb, #07111f 28%, transparent);
    }

    body.app-shell.sidebar-open .ev-sidebar,
    html.sidebar-open .ev-sidebar,
    .ev-nav-state:checked ~ .ev-sidebar {
      transform: translateX(0);
    }

    .ev-sidebar .sidebar-brand-actions {
      display: flex;
    }

    .ev-sidebar-backdrop {
      position: fixed;
      inset: 0;
      z-index: 45;
      display: block;
      visibility: hidden;
      border: 0;
      background: rgba(2, 10, 20, .54);
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s ease, visibility .2s ease;
    }

    body.app-shell.sidebar-open .ev-sidebar-backdrop,
    html.sidebar-open .ev-sidebar-backdrop,
    .ev-nav-state:checked + .ev-sidebar-backdrop {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
    }

    .ev-topbar {
      grid-template-columns: auto minmax(0, 1fr) auto;
      min-height: var(--ev-shell-topbar);
      margin: 8px 8px 0;
      padding: 8px 9px;
      border-radius: 16px;
    }

    .ev-topbar .topbar-center {
      display: none;
    }

    .ev-content {
      min-height: calc(100dvh - var(--ev-shell-topbar));
      padding: 14px 10px 92px;
    }

    .ev-footer {
      display: none;
    }
  }

  @media (max-width: 700px) {
    .ev-topbar {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
    }

    .ev-topbar .topbar-title-wrap {
      min-width: 0;
    }

    .ev-topbar .topbar-kicker {
      display: none;
    }

    .ev-topbar .topbar-title {
      overflow: hidden;
      font-size: 1rem;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .ev-topbar .topbar-actions {
      gap: 5px;
    }

    .ev-topbar .topbar-desktop-only,
    .ev-topbar .topbar-user-text {
      display: none;
    }

    .ev-topbar .topbar-icon,
    .ev-topbar .icon-btn {
      width: 38px;
      height: 38px;
      min-width: 38px;
    }

    .ev-content {
      padding-inline: 8px;
    }
  }

  @media print {
    .ev-sidebar,
    .ev-topbar,
    .ev-footer,
    .ev-sidebar-backdrop {
      display: none;
    }

    .ev-layout,
    .ev-content {
      display: block;
      width: 100%;
      min-height: 0;
      padding: 0;
      margin: 0;
    }
  }

