/* ThinkCharge ASM360 consolidated stylesheet: rev132 */

: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);
}

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: #f3f7fb;
  --border: #d7e2ef;
  --text: #0c1626;
  --text-2: #435770;
  --text-3: #71849b;
  --primary: #00a9cc;
  --primary-hover: #00bfa5;
  --secondary: #2563EB;
  --special: #7C3AED;
  --success: #179c64;
  --warning: #b57a10;
  --danger: #d93c63;
  --info: #2563eb;
  --disabled: #94A3B8;
  --table-head: #eef4f9;
  --overlay: rgba(16,32,51,.18);
  --shadow-sm: 0 10px 24px rgba(15, 23, 42, .06);
  --shadow-md: 0 18px 36px rgba(15, 23, 42, .09);
  --shadow-lg: 0 28px 72px rgba(15, 23, 42, .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%, #f4f8fc 56%, #edf4fb 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;
}

*{
  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);
}

body.modal-open{
  overflow: hidden;
}

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"] .sidebar{
  background: linear-gradient(180deg, rgba(239,246,251,.96), rgba(232,240,247,.95));
  border-color: #d6e1ee;
  box-shadow: 22px 0 42px rgba(8,18,30,.08);
  border-right-color: #d4e0eb;
}

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{
  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 both-edges;
  overflow-x: auto;
  overflow-y: auto;
  max-width: 100%;
}

.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{
  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: grid;
  gap: 12px;
  min-height: 262px;
}

.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-check-list{
  display: grid;
  gap: 12px;
}

.machine-check-row{
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(180px,.7fr) minmax(0,1fr);
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  align-items: start;
}

.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));
}

.entity-card{
  padding: 16px;
  display: grid;
  gap: 14px;
  min-height: 164px;
}

.entity-code{
  font-size: 2rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.04em;
}

.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{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  font-weight: 700;
}

.toggle-switch input{
  appearance: none;
  width: 44px;
  height: 26px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--disabled) 28%, transparent);
  position: relative;
  outline: none;
  cursor: pointer;
  transition: background var(--fast);
  display: none;
}

.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: anywhere;
}

.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;
}

.phase7-print-shell,.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{
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--border) 80%, transparent);
  flex: 0 0 auto;
}

.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{
  background: linear-gradient(90deg,var(--secondary),var(--primary));
}

.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: break-word;
}

.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;
}

#geoLeafletMap,.geo-leaflet-map{
  height: 420px;
  border-radius: 18px;
  border: 1px solid var(--border);
  overflow: hidden;
  background: var(--panel-alt);
}

.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: break-word;
  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: anywhere;
}

.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-module-flags{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.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-group-title{
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 10px;
}

.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: anywhere;
}

.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));
}

.machine-param-stack{
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.machine-param-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.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-selection-note{
  min-width: 180px;
  text-align: 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);
}

.dispatch-pack-tools{
  display: grid;
  gap: 10px;
  margin: 16px 0;
}

.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;
}

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);
}

html,body{
  font-family: var(--ki-font);
  background: var(--ki-page);
  color: var(--ki-text);
  overflow-x: hidden;
  background-color: var(--ev-bg);
}

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{
  font-family: var(--shell-font);
  background: var(--bg);
  color: var(--text);
  padding-left: 0;
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}

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(--primary) 8%, transparent), transparent 180px), var(--sidebar);
  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-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  gap: 10px;
}

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 .sidebar-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 2px 4px 4px 0;
  margin: 0;
  padding-right: 0;
}

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{
  width: 36px;
  min-width: 20px;
  height: 36px;
  display: grid;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--fix-accent) 78%, var(--fix-text));
  filter: drop-shadow(0 0 8px var(--shell-glow));
  flex: 0 0 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--fix-accent) 10%, var(--fix-panel-2));
  border: 1px solid color-mix(in srgb, var(--fix-accent) 22%, var(--fix-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 .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{
  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: hidden;
  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: 1400px;
  padding-top: 4px;
  padding-bottom: 4px;
  display: grid;
}

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 .sidebar-footer{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--shell-border);
}

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));
}

body.app-shell .topbar{
  position: fixed;
  left: var(--fix-sidebar-w);
  right: 0;
  top: var(--hosting-banner-height,0px);
  height: var(--fix-topbar-h);
  padding: 12px 18px;
  gap: 16px;
  background: var(--shell-topbar-bg);
  backdrop-filter: blur(14px);
  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: 0;
  box-shadow: none;
  z-index: 55;
  min-height: var(--fix-topbar-h);
  transition: left .22s ease;
}

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{
  width: 100%;
  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-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 .content{
  min-height: calc(100vh - var(--shell-topbar-h));
  margin-left: var(--fix-sidebar-w);
  padding: calc(var(--fix-topbar-h) + 18px) 20px 28px;
  overflow-x: hidden;
  position: relative;
  transition: margin-left .22s ease;
}

body.app-shell .app-footer{
  margin-left: var(--fix-sidebar-w);
  padding: 0 20px 22px;
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  transition: margin-left .22s ease;
}

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{
  padding: 14px 16px;
  border-radius: 22px;
  background: linear-gradient(90deg,#3a65a8,#72b8d4);
  border: 1px solid rgba(255,255,255,.12);
  gap: 12px;
}

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-panel .eyebrow{
  color: rgba(241,248,255,.92);
}

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-card{
  padding: 18px 18px 16px;
  min-height: 116px;
}

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-wrap{
  border-radius: 18px;
  overflow: auto;
  max-width: 100%;
  border-color: var(--shell-border);
  background: var(--shell-panel);
}

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, 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-2);
  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(--shell-primary) 10%, var(--shell-panel));
  border-color: color-mix(in srgb,var(--shell-primary) 20%, var(--shell-border));
}

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-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  overflow: visible;
}

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 .app-footer-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid var(--shell-border);
  background: var(--shell-panel);
}

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;
}

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);
}

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);
}

body.app-shell .btn{
  border-radius: 14px;
  font-weight: 700;
}

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-quick-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 0 6px 6px;
}

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;
}

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;
}

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(1100px, calc(100vw - 24px));
  max-width: 1100px;
  max-height: min(88vh, 1040px);
  display: flex;
  flex-direction: column;
  overflow: auto;
  border-radius: 22px;
  padding: 18px;
}

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 .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;
}

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 .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: break-word;
}

.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: anywhere;
  word-break: break-word;
}

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: anywhere;
  word-break: break-word;
  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: break-word;
}

.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{
  content-visibility: auto;
  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{
  margin-top: 2px;
  justify-content: flex-end;
}

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{
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
}

body.app-shell .station-mini-stats--dualblocks .count-pair strong{
  font-size: clamp(2.45rem,3.1vw,3.2rem);
  line-height: 1;
  font-weight: 900;
  display: block;
}

body.app-shell .station-mini-stats--dualblocks .count-pair small{
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

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{
  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;
}

.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{
  padding: 18px;
  background: var(--fix-overlay);
  align-items: center;
  justify-content: center;
}

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-head{
  position: sticky;
  top: 0;
  z-index: 3;
  background: inherit;
  border-bottom: 1px solid var(--fix-border);
  padding: 16px 18px 14px;
  margin: 0;
}

body.app-shell .modal-body{
  flex: 1 1 auto;
  overflow: auto;
  padding: 16px 18px 18px;
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
}

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: anywhere;
}

.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;
}

.phase7-ui .page.phase7-page{
  gap: 16px;
}

.phase7-ui .page.phase7-page .page-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}

.phase7-ui .page.phase7-page .card, .phase7-ui .page.phase7-page .glass-card, .phase7-ui .page.phase7-page .table-card, .phase7-ui .page.phase7-page .metric-card{
  border-radius: 24px;
}

.phase7-ui .phase7-auth-shell .auth-modern-panel, .phase7-ui .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));
}

.phase7-ui .phase7-auth-shell .auth-modern-panel::after, .phase7-ui .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;
}

.phase7-ui .phase7-auth-shell .auth-form-head-modern h2, .phase7-ui .phase7-state-shell h2{
  letter-spacing: -.02em;
}

.phase7-ui .phase7-auth-shell .auth-footer-links, .phase7-ui .phase7-auth-shell .auth-form-foot-grid{
  position: relative;
  z-index: 1;
}

.phase7-ui .phase7-state-shell .state-card-phase7{
  max-width: 760px;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}

.phase7-ui .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;
}

.phase7-ui .phase7-state-shell .state-list{
  margin: 14px 0 0;
  padding-left: 18px;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

.phase7-ui .phase7-state-shell .state-actions{
  position: relative;
  z-index: 1;
}

.phase7-ui .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.phase7-print-shell{
  margin: 0;
  padding: 16px;
  background: #edf2f7;
  color: #111;
  font-family: Arial,sans-serif;
}

.phase7-print-shell .page.phase7-page{
  display: block;
  max-width: 1180px;
  margin: 0 auto;
}

.phase7-print-shell .print-sheet{
  background: #fff;
  border: 1px solid #cfd7e3;
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
  padding: 24px;
}

.phase7-print-shell .print-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.phase7-print-shell .print-kicker{
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 700;
  color: #475467;
  margin-bottom: 4px;
}

.phase7-print-shell .print-title{
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}

.phase7-print-shell .print-meta{
  font-size: 12px;
  line-height: 1.65;
  color: #475467;
  margin: 10px 0 14px;
}

.phase7-print-shell .print-section{
  margin-top: 16px;
}

.phase7-print-shell .print-pill,.phase7-print-shell .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;
}

.phase7-print-shell .print-note,.phase7-print-shell .small{
  color: #667085;
}

.phase7-print-shell table{
  width: 100%;
  border-collapse: collapse;
}

.phase7-print-shell th,.phase7-print-shell td{
  border: 1px solid #cfd7e3;
  padding: 8px 10px;
  font-size: 12px;
  vertical-align: top;
}

.phase7-print-shell th{
  background: #f6f8fb;
  text-align: left;
}

.phase7-print-shell .right{
  text-align: right;
}

.phase7-print-shell .sign{
  height: 44px;
}

.phase7-print-shell .row{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.phase7-print-shell .box{
  flex: 1 1 320px;
  border: 1px solid #cfd7e3;
  border-radius: 16px;
  padding: 12px;
  background: #fbfcfe;
}

.phase7-print-shell .sheet{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.phase7-print-shell .sheet .label{
  background: #fff;
}

.phase7-print-shell .noprint{
  margin-bottom: 10px;
}

html, body{
  background-color: var(--bg);
  color: var(--text);
}

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);
}

.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;
}

.sidebar-backdrop{
  background: rgba(2,6,12,.36);
}

.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{
  padding-left: 0;
}

.sidebar{
  transform: translateX(-106%);
  transition: transform var(--normal), box-shadow var(--normal);
  width: min(92vw,340px);
  z-index: 70;
}

.app-shell.sidebar-open .sidebar,.sidebar-open .sidebar{
  transform: translateX(0);
  box-shadow: var(--shadow-lg);
}

.content{
  padding: 12px;
}

.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%);
  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){
.phase7-print-shell .print-sheet{
  padding: 18px;
}

.phase7-print-shell .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.phase7-print-shell{
  padding: 0;
  background: #fff;
}

.phase7-print-shell .page.phase7-page{
  max-width: none;
}

.phase7-print-shell .print-sheet{
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.phase7-print-shell .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{
  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;}
}


/* ===== Rev136 dual-theme shell refresh ===== */
html[data-theme="dark"]{
  --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;
  --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;
  --overlay: rgba(12,22,38,.18);
  --ev-hero-gradient: linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 54%, #EAF3FB 100%);
  --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);
}

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{
  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%);
}

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{
  color: var(--text);
}

body.app-shell .nav-group-head:hover,
body.app-shell .nav-link:hover{
  background: color-mix(in srgb, var(--primary) 8%, var(--panel));
  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{
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
}

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);
}


/* ===== Rev142 mobile audit fixes ===== */
:root{
  --mobile-dock-height: 98px;
}

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;
}

body.app-shell .topbar-theme-mobile{
  display:none;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:0;
  flex:0 0 auto;
}

.sidebar-backdrop{
  position:fixed;
  inset:0;
  z-index:1498;
  border:0;
  padding:0;
  margin:0;
  background:rgba(2, 8, 18, .58);
  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:anywhere;
    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;
  }
}


/* ===== Rev143 mobile page-family polish ===== */
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;
}

body.app-shell .sidebar-close-btn{
  display:inline-flex;
  visibility:visible;
}

body.app-shell .topbar-theme-mobile{
  display:inline-flex;
}

@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:anywhere;
    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-mobile-menu-wrap{
    display:block;
  }

  body.app-shell .topbar-theme-mobile{
    display:inline-flex;
    order:1;
  }

  body.app-shell .topbar-mobile-menu-wrap{
    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;
  }
}


/* ===== Rev144 final responsive cleanup ===== */
body.app-shell .sidebar-theme-toggle{
  display:none;
}

body.app-shell .topbar-theme-mobile{
  display:none;
}

body.app-shell .sidebar-close-btn{
  display:none;
}

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%;
}

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-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

body.app-shell .table-tools,
body.app-shell .compact-tools{
  width:min(100%, 380px);
  margin-left:auto;
}

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-pane-inner{
  width:min(100%, 460px);
}

body.auth-shell .login-form-v2{
  gap:12px;
}

body.auth-shell .login-label{
  margin-top:2px;
  margin-bottom:-4px;
}

body.auth-shell .login-field{
  position:relative;
}

body.auth-shell .login-field .login-input{
  width:100%;
  min-height:54px;
  padding-left:56px;
  padding-right:54px;
  line-height:1.3;
  font-size:1rem;
}

body.auth-shell .login-field .field-icon{
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  z-index:2;
  pointer-events:none;
}

body.auth-shell .login-field .field-icon svg,
body.auth-shell .login-field .password-toggle--icon svg{
  width:18px;
  height:18px;
}

body.auth-shell .login-field .password-toggle--icon{
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}

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;
  }
}

/* ===== Rev145 UI polish (no workflow logic changes) ===== */

/* Light mode: remove teal/green glow wash on station + metric cards while keeping a subtle EV-blue accent. */
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;
}

/* Kiosk tool row: was inline-styled; keep layout consistent across viewports without !important. */
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;
}

/* Ensure modals never fight the iOS home indicator and keep bottom actions reachable. */
@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);
  }
}

/* Kiosk: tighter mobile layout + prevent cart button from colliding with the dock. */
@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);
  }
}

/* Dispatch: keep pick cards + checklist usable on phones without clipping action rows. */
@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;
  }
}

/* Inprocess + Reports: date/filter toolbars should stack cleanly on small screens. */
@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%;
  }
}


/* ===== Rev146 responsive audit cleanup ===== */
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{
  display:grid;
  gap:14px;
}
body.auth-shell .login-field{
  position:relative;
  display:block;
}
body.auth-shell .login-field .login-input{
  width:100%;
  min-height:52px;
  padding:15px 54px 15px 56px;
  border-radius:16px;
  line-height:1.2;
}
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;
  pointer-events:none;
}
body.auth-shell .login-field .password-toggle--icon{
  right:12px;
  width:32px;
  height:32px;
  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-span-two{ grid-column:1 / span 2; }
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-row-blocks{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.96fr) minmax(0,1.22fr);
  gap:14px;
  align-items:stretch;
}
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;
}
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 .issue-setup-row{
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(0,1.28fr) minmax(220px,280px);
  gap:12px;
  align-items:stretch;
}
body.app-shell .store-kiosk-page .issue-setup-row-bottom{ margin-top:12px; align-items:start; }
body.app-shell .store-kiosk-page .kiosk-mode-switch{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; align-items:stretch; }
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 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:anywhere; word-break:break-word; }
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 .issue-setup-row > div{ min-width:0; }
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!important; 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{ display:flex; flex-direction:column; gap:4px; padding:10px 12px; border:1px solid var(--border); border-radius:14px; background:var(--panel); }
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; }
}


/* ===== Rev147 sidebar collapsed/peek hardening + dispatch print safety ===== */
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;
  }
}

/* ===== Production Calendar ===== */
.calendar-board-page{display:flex;flex-direction:column;gap:14px}
.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-board-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:14px;align-items:start}
.calendar-main-card{overflow:hidden}
.calendar-grid-wrap{overflow:auto;padding-bottom:4px}
.calendar-grid-head,.calendar-grid{min-width:920px}
.calendar-grid-head{display:grid;grid-template-columns:repeat(7,minmax(124px,1fr));gap:12px;margin-bottom:12px}
.calendar-dow{padding:10px 12px;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}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(124px,1fr));gap:12px}
.calendar-day{position:relative;display:flex;flex-direction:column;gap:10px;min-height:146px;padding:12px;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}
.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-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;align-content:flex-start;min-height:58px}
.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!important}
.calendar-modal{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:24px}
.calendar-modal-backdrop{position:absolute;inset:0;background:rgba(11,18,35,.48);backdrop-filter:blur(4px)}
.calendar-modal-card{position:relative;width:min(1120px,calc(100vw - 28px));max-height:min(88vh,920px);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}
.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))}
}
/* ===== Rev160 stability refresh ===== */
:root{
  --shell-inline-pad: clamp(16px, 2vw, 24px);
}
body.modal-open{overflow:hidden}
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{
  padding:10px 16px;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.app-shell .content{
  padding:calc(var(--fix-topbar-h) + 14px) var(--shell-inline-pad) 22px;
  overflow-x:hidden;
}
body.app-shell .app-footer{
  padding:0 var(--shell-inline-pad) 18px;
}
body.app-shell .app-footer-inner{
  padding:12px 16px;
  border-radius:16px;
}
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{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
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-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:anywhere;
}
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;
}
body.app-shell .station-mini-stats--dualblocks .count-pair small{
  font-size:.72rem;
}
body.app-shell .station-mini-stats--dualblocks .count-pair{
  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)!important}
.text-warn{color:var(--warning)!important}
.inventory-insights-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
body.auth-shell.auth-login-refresh{
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:14px;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width:min(980px,100%);
  max-width:980px;
  height:min(640px,calc(100svh - 28px));
  min-height:600px;
  margin-inline:auto;
}
body.auth-shell.auth-login-refresh .login-pane--form{
  align-items:center;
  justify-content:center;
}
body.auth-shell.auth-login-refresh .login-pane-inner{
  width:min(100%,360px);
  gap:12px;
  padding:18px 16px;
  margin-inline:auto;
}
body.auth-shell.auth-login-refresh .login-form-copy h1{
  font-size:clamp(1.68rem,2vw,2.1rem);
}
body.auth-shell.auth-login-refresh .login-input,
body.auth-shell.auth-login-refresh .login-submit-v2{
  min-height:46px;
}
body.auth-shell.auth-login-refresh .login-field .login-input{
  padding:13px 46px 13px 52px;
}
body.auth-shell.auth-login-refresh .login-footnote-v2{
  margin-top:10px;
}
@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{overflow:hidden}
.calendar-board-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);
  gap:12px;
  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{gap:8px}
.calendar-grid{gap:8px}
.calendar-dow{
  min-width:0;
  padding:9px 6px;
}
.calendar-day{
  min-width:0;
  min-height:118px;
  padding:9px;
  overflow:hidden;
}
.calendar-day-summary,
.calendar-day-top,
.calendar-day-note{min-width:0}
.calendar-day-summary{gap:4px;min-height:0}
.calendar-day-note,
.calendar-mini-pill{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-modal{
  z-index:2400;
  padding:calc(var(--asm360-topbar-h,74px) + 10px) 12px 12px;
  place-items:start center;
  overflow:hidden;
}
.calendar-modal-card{
  width:min(1100px,calc(100vw - 24px));
  max-height:calc(100dvh - var(--asm360-topbar-h,74px) - 22px);
}
.calendar-modal-head{top:0}
@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)}
}


/* rev161 assets and user workspace */
.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}}


/* ===== Rev162 stability: schema-safe assets + mobile section scrolling ===== */
@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);
  }
}


/* ===== Rev163 root responsive viewport recovery ===== */
html,
body{
  min-height:100%;
}

body.app-shell{
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;
}

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}

/* rev166 root audit stability overrides */
html,body{max-width:100%;}
body.app-shell{overflow-x:hidden;}
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 .content{overscroll-behavior:auto;}
body.app-shell .topbar-dropdown-list,
body.app-shell .sidebar-body{overscroll-behavior:contain;}
body.app-shell .table-wrap{
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
}
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 .modal-card,
body.app-shell .modal-card.lg,
body.app-shell .modal-card.xl{max-width:min(1180px,calc(100vw - 20px));max-height:calc(100dvh - var(--asm360-topbar-h,74px) - 20px);}
body.app-shell .page-head .actions,
body.app-shell .actions,
body.app-shell .row-actions{flex-wrap:wrap;}
body.app-shell .table th,
body.app-shell .table td{vertical-align:top;}
@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;}
}


/* rev167 dashboard schema fallback + main-content wheel/scroll recovery */
body.app-shell.shell-scroll-locked{
  overflow:hidden !important;
}

body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  overflow-y:auto !important;
}

body.app-shell:not(.shell-scroll-locked):not(.modal-open) .content{
  overflow:visible !important;
  overflow-x:hidden !important;
}

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{
  overflow:visible !important;
}

@media (min-width:1181px){
  html, body{
    overflow-y:auto;
  }

  body.app-shell:not(.shell-scroll-locked):not(.modal-open){
    height:auto;
    min-height:100vh;
    min-height:100dvh;
  }

  body.app-shell:not(.shell-scroll-locked):not(.modal-open) .content{
    min-height:calc(100vh - var(--asm360-topbar-h, 74px));
    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 !important;
  }
}

/* rev167 live-feed schema fallback + main-shell wheel scroll recovery */
html,
body{
  height:auto;
}

body.app-shell,
body.app-shell:not(.shell-scroll-locked):not(.modal-open){
  overflow-y:auto !important;
}

body.app-shell .content{
  position:relative;
  overflow:visible;
  overflow-x:hidden;
}

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(100vh - var(--asm360-topbar-h, 74px));
    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 !important;
  }
}

.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{
  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(10,20,34,.92);
  color:var(--text);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}
.fullscreen-resume-btn:hover{transform:translateY(-1px)}
body.app-shell .content{overflow-y:visible}
@media (max-width:767px){
  .fullscreen-resume-btn{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
}


/* ===== Rev173 root stabilization: table wheel scroll chaining ===== */
body.app-shell .table-wrap{
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
}

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;
}

/* ===== Rev172 root stabilization: login fit + QC numeric input stability ===== */
body.auth-shell.auth-login-refresh{
  min-height:100svh;
  overflow:auto;
  align-items:center;
  padding:18px;
}
body.auth-shell.auth-login-refresh .auth-login-layout.login-split-v2{
  width:min(980px,100%);
  max-width:980px;
  min-height:min(700px,calc(100svh - 36px));
  max-height:calc(100svh - 36px);
  height:auto;
  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{
  overflow:auto;
  align-items:center;
  justify-content:center;
}
body.auth-shell.auth-login-refresh .login-pane-inner{
  width:min(100%,384px);
  min-height:100%;
  gap:14px;
  padding:24px 22px;
  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{
  margin:0;
  line-height:1.02;
  font-size:clamp(1.78rem,2.1vw,2.4rem);
}
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{
  min-height:50px;
  padding:14px 50px 14px 52px;
}
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;
  }
}


/* Root validation feedback */
.input.is-invalid,
select.input.is-invalid,
textarea.input.is-invalid,
.form-control.is-invalid {
  border-color: rgba(239,68,68,.92) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.16) !important;
  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 connected blocks */
.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 refresh */
.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; }
}


/* rev175 toolbar alignment + table filter layout */
body.app-shell .table-summary{
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
body.app-shell .table-tools,
body.app-shell .compact-tools{
  width:auto;
  max-width:100%;
  margin-left:auto;
  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;
  }
}


/* rev175 part2 DPR auto-ready + news marquee polish */
body.app-shell .news-band-track{ position:relative; }
body.app-shell .news-band-text{
  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-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
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; }
}


/* rev175 part3 global validation + toolbar polish */
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 !important;}
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) !important;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;}}


/* rev175 part5 delivery + machine action polish */
.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;}
}


/* rev175 part6 final toolbar + print helpers */
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%;}}


/* rev175 part7 diagnostics + copy helpers */
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; }
}



/* rev175 part8 delivery observability + popup ergonomics */
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;}
}


/* rev175 part9 runtime + diagnostics polish */
.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;}
}


/* rev175 part10 recipient chips */
.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:anywhere;
}


/* rev175 part11 guide nav + dpr observability */
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:break-word;
}
@media (max-width: 900px){
  body.app-shell .guide-quick-nav{
    position:static;
  }
  body.app-shell .guide-anchor-row{
    width:100%;
    justify-content:flex-start;
  }
}


/* rev176 diagnostics + email settings alignment */
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;}
}


/* rev177 diagnostics + email hub + DPR iso patch */
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{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;}
}



/* rev178 audience delivery hub */
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 .checkbox-line{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:6px 0;
}
body.app-shell .checkbox-line input{
  margin-top:3px;
}
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);
}


/* rev194 light-mode diagnostics + kiosk alignment */
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{
  grid-template-columns:minmax(180px,220px) minmax(360px,1.45fr) minmax(220px,260px);
}
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;
}


/* rev195 audience modal + monitor polish */
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;
}

/* rev203e admin + qms responsiveness */
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% !important;
}
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) !important;
}
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);
  }
}

/* rev205 schema-safe + responsive shell hardening */
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{
  overflow-x: auto;
  overflow-y: visible;
}

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);
}

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: anywhere;
}

@media (max-width: 1180px){
  body.app-shell .topbar{
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    min-height: 64px;
    padding: 12px 14px !important;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 12px;
  }
  body.app-shell .topbar-center{
    display: none !important;
  }
  body.app-shell .topbar-actions{
    gap: 8px;
  }
  body.app-shell .content{
    margin-left: 0 !important;
    padding: calc(var(--fix-topbar-h) + 12px) 16px 110px !important;
  }
  body.app-shell .app-footer{
    margin-left: 0 !important;
    padding: 0 16px 104px !important;
  }
  body.app-shell .sidebar{
    width: min(92vw, 360px) !important;
    max-width: min(92vw, 360px) !important;
  }
  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 !important;
    gap: 14px;
  }
  body.app-shell .page{
    gap: 14px;
  }
  body.app-shell .page-head{
    padding: 16px !important;
    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 !important;
    left: 10px !important;
    right: 10px !important;
    padding: 10px 12px !important;
  }
  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 !important;
  }
  body.app-shell .app-footer{
    padding: 0 10px 98px !important;
  }
  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;
  }
}


/* rev206 QMS layout and responsive export fixes */
.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%!important;min-width:100%!important;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;}
}


/* rev207 responsive/QMS cleanup */
.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;}
}

/* rev210 generic table date range controls */
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;
  }
}

/* rev213 ISO QMS customer feedback and incident forms */
.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 !important; }
  .filter-action-cell .btn { width: 100%; }
}

/* rev215 as-on table export helpers */
.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}

/* rev217 table date toolbar consolidation: hide duplicate internal date controls when page already has From/To filters */
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!important;
}
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;
}

/* rev221 OEE Monitoring Chart */
.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!important}.page{padding:0!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}.oee-monitoring-page .compact-scroll{max-height:none;overflow:visible}}

/* rev222 audit hardening: mobile touch targets and compact accessibility polish */
@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;}
}

/* rev223 OEE monitoring layout consolidation: prevent vertical filter/card/table stacking on desktop */
body.app-shell .oee-monitoring-page .page-head{
  display:grid!important;
  grid-template-columns:minmax(260px,.9fr) minmax(620px,1.45fr)!important;
  align-items:end!important;
  gap:18px!important;
  overflow:visible!important;
}
body.app-shell .oee-monitoring-page .page-head > .actions{
  width:100%!important;
  justify-content:flex-end!important;
  min-width:0!important;
}
body.app-shell .oee-monitoring-page .report-filter-bar{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(128px,.72fr) minmax(128px,.72fr) minmax(128px,.72fr) minmax(210px,1.18fr) auto auto auto!important;
  gap:10px!important;
  align-items:end!important;
  justify-content:stretch!important;
  margin:0!important;
}
body.app-shell .oee-monitoring-page .report-filter-bar > div{
  min-width:0!important;
}
body.app-shell .oee-monitoring-page .report-filter-bar .input,
body.app-shell .oee-monitoring-page .report-filter-bar select.input{
  min-width:0!important;
  width:100%!important;
}
body.app-shell .oee-monitoring-page .report-filter-bar .btn{
  width:auto!important;
  min-width:max-content!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
body.app-shell .oee-monitoring-page .oee-kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-bottom:16px!important;
}
body.app-shell .oee-monitoring-page .oee-kpi-grid .metric-card{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
body.app-shell .oee-monitoring-page .oee-panel-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  margin-top:16px!important;
}
body.app-shell .oee-monitoring-page .card{
  min-width:0!important;
  overflow:hidden!important;
}
body.app-shell .oee-monitoring-page .form-grid.compact{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:end!important;
}
body.app-shell .oee-monitoring-page .form-grid.compact .span-2{
  grid-column:1 / -1!important;
}
body.app-shell .oee-monitoring-page .compact-scroll{
  width:100%!important;
  max-height:420px!important;
  min-height:220px!important;
  overflow:auto!important;
  border-radius:16px!important;
}
body.app-shell .oee-monitoring-page .compact-scroll table{
  min-width:760px!important;
}
body.app-shell .oee-monitoring-page .compact-scroll table thead th{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
}
/* OEE page has its own date filters/export; hide duplicated table-enhancer date/as-on controls here. */
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!important;
}
@media(max-width:1320px){
  body.app-shell .oee-monitoring-page .page-head{grid-template-columns:1fr!important;align-items:start!important;}
  body.app-shell .oee-monitoring-page .page-head > .actions{justify-content:flex-start!important;}
  body.app-shell .oee-monitoring-page .report-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body.app-shell .oee-monitoring-page .report-filter-bar .btn{min-width:0!important;width:100%!important;}
}
@media(max-width:980px){
  body.app-shell .oee-monitoring-page .oee-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.app-shell .oee-monitoring-page .oee-panel-grid{grid-template-columns:1fr!important;}
  body.app-shell .oee-monitoring-page .report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@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!important;}
  body.app-shell .oee-monitoring-page .compact-scroll table{min-width:680px!important;}
}

/* rev224 OEE monitoring production polish: denser aligned cards/forms/tables without redesigning workflow */
body.app-shell .oee-monitoring-page .oee-filter-card{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
body.app-shell .oee-monitoring-page .oee-entry-card h3,
body.app-shell .oee-monitoring-page .card h3{margin-bottom:12px!important;line-height:1.2!important;}
body.app-shell .oee-monitoring-page .oee-entry-card .input{min-height:40px!important;}
body.app-shell .oee-monitoring-page textarea.input{resize:vertical;min-height:74px;}
body.app-shell .oee-monitoring-page .table-enhancer{gap:10px!important;align-items:center!important;}
body.app-shell .oee-monitoring-page .table-enhancer-right{flex-wrap:wrap!important;gap:8px!important;}
body.app-shell .oee-monitoring-page .table-enhancer .btn.sm{min-height:32px!important;padding:6px 10px!important;}
body.app-shell .oee-monitoring-page .compact-scroll{background:rgba(15,23,42,.02)!important;}
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))!important;}body.app-shell .oee-monitoring-page .report-filter-bar .btn{width:100%!important;}}
@media(max-width:760px){body.app-shell .oee-monitoring-page .table-enhancer-top{align-items:stretch!important;}body.app-shell .oee-monitoring-page .table-enhancer-left,body.app-shell .oee-monitoring-page .table-enhancer-right{width:100%!important;justify-content:flex-start!important;}body.app-shell .oee-monitoring-page .table-enhancer-right .btn{flex:1 1 auto!important;}body.app-shell .oee-monitoring-page .metric-value{font-size:1.35rem!important;}}

/* rev227 navigation, table strip, charts and alignment refinements */
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;margin-top:10px;}
body.app-shell .topbar-mobile-action{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-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:stretch;}
body.app-shell .news-public-page .news-card{width:100%;min-height:150px;text-align:left;display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,var(--panel),var(--panel-alt));color:inherit;box-shadow:0 14px 34px rgba(0,0,0,.10);cursor:pointer;}
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-public-page .news-card-type{align-self:flex-start;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);}
body.app-shell .news-public-page .news-card strong{font-size:1.04rem;line-height:1.25;}
body.app-shell .news-public-page .news-card-short{color:var(--shell-text-soft);font-size:.9rem;line-height:1.38;}
body.app-shell .news-public-page .news-card-meta{margin-top:auto;font-size:.78rem;color:var(--muted);}
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{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--panel-alt),color-mix(in srgb,var(--panel-alt) 78%,var(--panel) 22%));}
body.app-shell .table-enhancer-date-strip[hidden]{display:none!important;}
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-date-strip .table-enhancer-date-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
body.app-shell .table-enhancer-date-strip .btn{white-space:nowrap;}
body.app-shell .table-enhancer-top .table-enhancer-date-range{display:none!important;}

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{overflow:hidden;}
body.app-shell .store-kiosk-page .issue-setup-row{grid-template-columns:minmax(170px,220px) minmax(0,1.5fr) minmax(220px,280px);align-items:stretch;}
body.app-shell .store-kiosk-page .issue-setup-row-bottom{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-switch{grid-template-columns:repeat(2,minmax(0,1fr));}
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;}
}

/* ===== rev229 UI refinement: kiosk, news, date insights strip, single-row KPIs ===== */
@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{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) !important;
  gap:16px;
}
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) !important;
  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) !important;
}
body.app-shell .store-kiosk-page .kiosk-mode-switch{grid-template-columns:repeat(2,minmax(220px,1fr)) !important;}
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{
  word-break:normal !important;
  overflow-wrap:break-word !important;
  white-space:normal !important;
}
body.app-shell .store-kiosk-page .kiosk-static-note{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 !important;
  }
}

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;}
body.app-shell .news-public-page .news-card{min-height:210px;border-radius:24px;padding:18px;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel-alt) 86%,var(--primary) 14%));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-card-short{font-size:.94rem;line-height:1.48;}
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;}
@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{
  display:grid; grid-template-columns:repeat(8,minmax(120px,1fr)); gap:12px; align-items:end;
  margin:12px 0 14px; padding:14px 18px; border-radius:22px;
  background:linear-gradient(180deg,var(--panel),var(--panel-alt)); box-shadow:0 18px 46px rgba(15,23,42,.08);
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-strip-title{display:none;}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-range{display:contents !important;}
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);}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{display:flex;gap:10px;align-items:end;grid-column:auto / span 2;}
body.app-shell .table-enhancer-date-strip .btn{min-height:44px;}
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!important;}
@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;}}


/* ===== Rev230 unified production shell: sidebar + content as one responsive frame ===== */
:root{
  --rev230-frame-gap: 12px;
  --rev230-frame-pad: 12px;
  --rev230-sidebar-w: 308px;
  --rev230-sidebar-collapsed-w: 88px;
  --rev230-topbar-min-h: 72px;
}
html, body{width:100%;max-width:100%;overflow-x:hidden;}
body.app-shell{padding:0!important;min-height:100vh;min-height:100dvh;background:var(--bg);}
body.app-shell .app-frame{
  width:100%;min-height:100vh;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!important;inset:auto!important;top:var(--rev230-frame-pad)!important;left:auto!important;bottom:auto!important;
  width:100%!important;height:calc(100vh - (var(--rev230-frame-pad) * 2));height:calc(100dvh - (var(--rev230-frame-pad) * 2));max-height:calc(100dvh - (var(--rev230-frame-pad) * 2));
  transform:none!important;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{height:100%;min-height:0;}
body.app-shell .sidebar-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:14px;}
body.app-shell .topbar{
  grid-area:topbar;position:sticky!important;top:var(--rev230-frame-pad)!important;left:auto!important;right:auto!important;width:100%!important;min-width:0;height:auto!important;
  min-height:var(--rev230-topbar-min-h);margin:0!important;border-radius:24px;z-index:35;box-shadow:0 14px 34px rgba(15,23,42,.08);
}
body.app-shell .content{
  grid-area:content;width:100%;min-width:0;max-width:100%;margin:0!important;padding:0 0 16px 0!important;
  min-height:calc(100vh - var(--rev230-topbar-min-h) - 72px);min-height:calc(100dvh - var(--rev230-topbar-min-h) - 72px);
  overflow:visible!important;overflow-x:hidden!important;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{grid-area:footer;width:100%;max-width:100%;margin:0!important;padding:0 0 2px 0!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;}
body.app-shell .app-footer-inner{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)!important;}
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)!important;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{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{overflow-x:auto!important;overflow-y:auto;-webkit-overflow-scrolling:touch;}
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{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!important;top:10px!important;left:10px!important;bottom:10px!important;width:min(92vw,360px)!important;max-width:360px;height:auto!important;max-height:calc(100dvh - 20px);transform:translateX(-112%)!important;border-radius:24px;z-index:1510;}
  body.app-shell.sidebar-open .sidebar.sidebar--neo,body.app-shell.sidebar-open .sidebar{transform:translateX(0)!important;}
  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)!important;}
  body.app-shell .topbar{position:sticky!important;top:var(--hosting-banner-height,0px)!important;left:0!important;right:0!important;width:100%!important;border-radius:0 0 22px 22px;min-height:var(--asm360-topbar-h,var(--rev230-topbar-min-h));margin:0!important;}
  body.app-shell .content{margin:0!important;padding:calc(var(--asm360-topbar-h,74px) + var(--hosting-banner-height,0px) + 14px) 14px calc(var(--mobile-dock-height,96px) + 34px)!important;min-height:calc(100dvh - var(--asm360-topbar-h,74px));overflow:visible!important;}
  body.app-shell .app-footer{display:none;}
}
@media (max-width:767px){
  body.app-shell .content{padding-left:10px!important;padding-right:10px!important;padding-bottom:calc(var(--mobile-dock-height,96px) + 28px)!important;}
  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!important;padding-right:8px!important;}
  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!important;}
  body.app-shell .content{padding:0!important;margin:0!important;min-height:auto;}
}

/* ===== Rev231 patch: fixed full-height desktop sidebar =====
   Purpose: keep sidebar fixed and visible while the right content scrolls.
   This overrides the rev230 desktop sticky-shell rule only on wide screens.
*/
@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!important;
    top:var(--rev230-frame-pad)!important;
    left:var(--rev230-frame-pad)!important;
    bottom:auto!important;
    right:auto!important;
    width:var(--rev230-sidebar-w)!important;
    height:calc(100vh - (var(--rev230-frame-pad) * 2))!important;
    height:calc(100dvh - (var(--rev230-frame-pad) * 2))!important;
    max-height:calc(100vh - (var(--rev230-frame-pad) * 2))!important;
    max-height:calc(100dvh - (var(--rev230-frame-pad) * 2))!important;
    transform:none!important;
    align-self:auto!important;
    overflow:hidden!important;
    z-index:90!important;
    will-change:auto;
  }
  body.app-shell .sidebar-inner{
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
  }
  body.app-shell .sidebar-body{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
  }
  body.app-shell.sidebar-collapsed .sidebar.sidebar--neo,
  body.app-shell.sidebar-collapsed .sidebar{
    width:var(--rev230-sidebar-collapsed-w)!important;
  }
  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)!important;
    z-index:120!important;
  }
}


/* ===== Rev236 mobile shell refinement + touch target audit patch ===== */
@media (max-width:575px){
  body.app-shell .topbar{
    grid-template-columns:auto minmax(0,1fr) auto auto !important;
  }
  body.app-shell .topbar-mobile-menu-wrap{
    display:block !important;
  }
  body.app-shell .topbar-theme-mobile{
    display:inline-flex !important;
  }
}

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))) !important;
    opacity:.98;
    pointer-events:none;
  }
  body.app-shell.mobile-dock-open .mobile-ev-dock{
    transform:translateY(0) !important;
    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 !important;
    pointer-events:none !important;
    transform:translateY(18px) !important;
  }
  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) !important;
    max-width:min(94vw,440px) !important;
    right:8px !important;
    left:auto !important;
  }
  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 !important;
  }
}

/* More resilient table/action rows after sidebar audit */
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;
}


/* ===== Rev237 role/grid alignment hardening ===== */
@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 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
  }
  body.app-shell .grid.three,
  body.app-shell .three-col,
  body.app-shell .compact-hero-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  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 !important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
    gap:16px !important;
  }
  body.app-shell .grid.five,
  body.app-shell .five-col{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
    gap:14px !important;
  }
}
@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)) !important;
  }
}
@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 !important;
  }
}
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;
}


/* ===== Final delivery CSS alignment: requested hero/fullscreen tweaks ===== */
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);
}


/* ===== Rev240 production compaction, report modals, validation ===== */
body.app-shell .page-head .muted{
  max-width: 820px;
}
body.app-shell .page-head .muted.is-brief,
body.app-shell .production-brief{
  display:none;
}

/* Keep filter/search forms as compact strips instead of large stacked blocks */
body.app-shell .filter-card,
body.app-shell .table-card > form.toolbar-form,
body.app-shell form.report-filter-strip{
  padding:12px 14px !important;
  margin-bottom:14px !important;
}
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 !important;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr)) !important;
  gap:10px !important;
  align-items:end !important;
}
@media (min-width:1200px){
  body.app-shell .filter-card .grid.six.report-filter-grid{grid-template-columns:1fr 1fr 1fr 1fr 1.5fr auto !important;}
  body.app-shell .filter-card .grid.seven.report-filter-grid{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1.6fr auto !important;}
}
body.app-shell .filter-card .label,
body.app-shell form.report-filter-strip .label{
  font-size:.68rem !important;
  margin-bottom:4px !important;
  letter-spacing:.12em !important;
}
body.app-shell .filter-card .input,
body.app-shell form.report-filter-strip .input{
  min-height:38px !important;
  padding:8px 12px !important;
}
body.app-shell .filter-card .btn,
body.app-shell form.report-filter-strip .btn{
  min-height:38px !important;
  padding:8px 14px !important;
}
body.app-shell .filter-action-cell{
  display:flex;
  align-items:end;
}

/* Compact production tables: table row shows essential fields; modal carries the full story */
body.app-shell .compact-register-table{
  min-width:980px !important;
}
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;
}

/* Dashboard micro charts */
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;}
}

/* User-friendly required field validation */
body.app-shell .field-invalid,
body.app-shell form.was-validated :invalid{
  border-color:var(--danger) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%, transparent) !important;
}
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);
}

/* ===== Rev241 root-level UI sanity pass: compact filters, connected blocks, table alignment ===== */
body.app-shell .toolbar-form.filter-card,
body.app-shell form.report-filter-strip,
body.app-shell .card.toolbar-form.filter-card{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  padding:12px 14px !important;
  overflow:visible !important;
}
body.app-shell .toolbar-form.filter-card > .grid,
body.app-shell form.report-filter-strip > .grid,
body.app-shell .compact-filter-grid{
  width:100% !important;
  display:grid !important;
  align-items:end !important;
  gap:10px !important;
}
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 !important;
}
body.app-shell .report-filter-grid .input,
body.app-shell .compact-filter-grid .input{
  min-height:40px !important;
  padding:8px 12px !important;
  width:100% !important;
  max-width:none !important;
}
body.app-shell .report-filter-grid .btn,
body.app-shell .compact-filter-grid .btn{
  min-height:40px !important;
  white-space:nowrap !important;
}
body.app-shell .report-filter-grid .label,
body.app-shell .compact-filter-grid .label{
  margin-bottom:5px !important;
  font-size:.68rem !important;
  letter-spacing:.12em !important;
}
body.app-shell .table-summary.sticky-tools,
body.app-shell .card > .table-summary.sticky-tools{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-bottom:10px !important;
}
body.app-shell .table-summary.sticky-tools > div:first-child{
  flex:1 1 260px !important;
  min-width:220px !important;
}
body.app-shell .table-summary.sticky-tools .table-tools,
body.app-shell .table-tools.toolbar-compact-ready{
  width:auto !important;
  max-width:100% !important;
  margin-left:auto !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:10px !important;
}
body.app-shell .table-summary.sticky-tools .table-tools > .input,
body.app-shell .table-tools.toolbar-compact-ready > .input{
  width:min(280px,100%) !important;
  min-width:220px !important;
  max-width:280px !important;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form,
body.app-shell .table-summary.sticky-tools .inline-form{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-end !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  width:auto !important;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form .input,
body.app-shell .table-summary.sticky-tools .inline-form .input{
  width:180px !important;
  max-width:180px !important;
  min-width:160px !important;
}
body.app-shell .table-tools.toolbar-compact-ready .inline-form .btn,
body.app-shell .table-summary.sticky-tools .inline-form .btn{
  width:auto !important;
  white-space:nowrap !important;
}
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)) !important;
}
body.app-shell .debit-notes-page .debit-note-card{
  overflow:hidden !important;
}
body.app-shell .debit-notes-page .table-action-form{
  justify-content:flex-end !important;
  margin:0 !important;
}
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 !important;
  overflow-y:visible !important;
}
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);
}
body.app-shell .hero-panel .eyebrow { color: rgb(124 137 151 / 92%); }
@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)) !important;
  }
}
@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 !important;
  }
  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% !important;
    margin-left:0 !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  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% !important;
    max-width:none !important;
  }
}

/* REV244 production route/page audit hardening: compact legacy filter cards and table toolbars */
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 !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:10px !important;
  width:auto !important;
  max-width:100% !important;
  margin-left:auto !important;
}
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%) !important;
  max-width:280px !important;
  min-width:200px !important;
  min-height:40px !important;
}
body.app-shell .filter-card-compact{
  min-height:0 !important;
  padding:16px !important;
  overflow:visible !important;
}
body.app-shell form.compact-filter-auto{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(155px, 1fr)) auto !important;
  align-items:end !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
}
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 !important;
  margin:0 !important;
}
body.app-shell form.compact-filter-auto .label,
body.app-shell form.compact-filter-auto label{
  margin-bottom:5px !important;
  font-size:.68rem !important;
  letter-spacing:.12em !important;
}
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% !important;
  max-width:none !important;
  min-height:40px !important;
  padding:8px 12px !important;
}
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 !important;
  white-space:nowrap !important;
}
body.app-shell .page > .card:empty,
body.app-shell .card > .table-wrap:empty{
  display:none !important;
}
body.app-shell .table-wrap{
  max-width:100%;
}
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% !important;
    justify-content:flex-start !important;
    margin-left:0 !important;
  }
  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% !important;
    max-width:none !important;
  }
  body.app-shell form.compact-filter-auto{
    grid-template-columns:1fr !important;
  }
}


/* rev245 go-live UAT readiness desk */
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;
  }
}

/* rev246: compact reset-SQL profile cards on Go-Live UAT page */
.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}}


/* ===== rev250 operational fixes: takt start, kiosk BOM, news cards, geoboard electric icons ===== */
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!important;}
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{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{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{background:linear-gradient(180deg,#ecfeff 0%,#dbeafe 100%);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);}


/* rev251 dashboard/calendar and upstream takt refinements */
.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;}

/* ===== Rev252 mobile/tablet shell accessibility + responsive recovery ===== */
:root{--rev252-mobile-dock-height:82px;}
body.app-shell .sidebar-backdrop{z-index:3990!important;background:rgba(2,8,18,.42)!important;opacity:1!important;}
body.app-shell.sidebar-open .sidebar,body.app-shell.sidebar-open .sidebar.sidebar--neo{z-index:4000!important;opacity:1!important;pointer-events:auto!important;filter:none!important;}
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!important;}
 body.app-shell .app-frame{display:block!important;width:100%;min-height:100dvh;padding:0!important;overflow:visible!important;}
 body.app-shell .topbar{position:sticky!important;top:var(--hosting-banner-height,0px)!important;left:0!important;right:0!important;width:100%!important;min-height:60px!important;margin:0!important;border-radius:0 0 20px 20px!important;padding:10px max(10px,env(safe-area-inset-right,0px)) 10px max(10px,env(safe-area-inset-left,0px))!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;z-index:3200!important;box-shadow:0 12px 28px rgba(15,23,42,.12)!important;background:color-mix(in srgb,var(--panel) 94%,transparent)!important;backdrop-filter:saturate(140%) blur(14px)!important;}
 body.app-shell .topbar-left{min-width:0!important;gap:10px!important;}
 body.app-shell .topbar-context{min-width:0!important;display:grid!important;gap:2px!important;}
 body.app-shell .topbar-kicker{font-size:.66rem!important;letter-spacing:.1em!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:58vw!important;}
 body.app-shell .topbar-title{font-size:clamp(.98rem,3.6vw,1.22rem)!important;line-height:1.15!important;max-width:58vw!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
 body.app-shell .topbar-center,body.app-shell .topbar-desktop-only,body.app-shell .topbar-user{display:none!important;}
 body.app-shell .topbar-actions{justify-content:flex-end!important;overflow:visible!important;gap:6px!important;min-width:0!important;padding:0!important;}
 body.app-shell .topbar-mobile-menu-wrap,body.app-shell .topbar-theme-mobile{display:inline-flex!important;}
 body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:15px!important;padding:0!important;flex:0 0 auto!important;}
 body.app-shell .topbar-dropdown.topbar-mobile-menu{position:fixed!important;top:calc(var(--asm360-topbar-h,64px) + var(--hosting-banner-height,0px) + 8px)!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - var(--asm360-topbar-h,64px) - 28px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;z-index:4100!important;}
 body.app-shell .sidebar.sidebar--neo,body.app-shell .sidebar{position:fixed!important;top:max(8px,env(safe-area-inset-top,0px))!important;left:max(8px,env(safe-area-inset-left,0px))!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;width:min(88vw,350px)!important;max-width:350px!important;height:auto!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;padding:10px!important;border-radius:24px!important;transform:translate3d(-112%,0,0)!important;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease!important;overflow:hidden!important;box-shadow:24px 0 60px rgba(2,8,18,.34)!important;touch-action:pan-y!important;overscroll-behavior:contain!important;}
 body.app-shell.sidebar-open .sidebar.sidebar--neo,body.app-shell.sidebar-open .sidebar{transform:translate3d(0,0,0)!important;}
 body.app-shell .sidebar-inner{height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
 body.app-shell .sidebar-brand-panel,body.app-shell .brand-panel{flex:0 0 auto!important;}
 body.app-shell .sidebar-body{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;padding-right:6px!important;margin-right:-6px!important;}
 body.app-shell .sidebar-footer{flex:0 0 auto!important;position:relative!important;bottom:auto!important;margin-top:0!important;z-index:2!important;}
 body.app-shell .sidebar .nav-link,body.app-shell .sidebar .nav-group-head{min-height:50px!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
 body.app-shell .sidebar .nav-text,body.app-shell .sidebar .nav-label{overflow:hidden!important;text-overflow:ellipsis!important;}
 body.app-shell.shell-scroll-locked,body.app-shell.sidebar-open{overflow:hidden!important;touch-action:none!important;}
 body.app-shell.sidebar-open .sidebar,body.app-shell.sidebar-open .sidebar-body{touch-action:pan-y!important;}
 body.app-shell .content{width:100%!important;min-width:0!important;margin:0!important;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)!important;overflow:visible!important;overflow-x:hidden!important;}
 body.app-shell .mobile-dock-toggle{display:none!important;}
 body.app-shell .mobile-ev-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;position:fixed!important;left:max(8px,env(safe-area-inset-left,0px))!important;right:max(8px,env(safe-area-inset-right,0px))!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;min-height:68px!important;height:auto!important;padding:8px!important;border-radius:22px!important;z-index:3150!important;transform:none!important;opacity:1!important;pointer-events:auto!important;background:color-mix(in srgb,var(--panel) 94%,transparent)!important;border:1px solid color-mix(in srgb,var(--border) 86%,transparent)!important;box-shadow:0 16px 34px rgba(15,23,42,.18)!important;backdrop-filter:saturate(145%) blur(14px)!important;}
 body.app-shell .mobile-ev-dock a,body.app-shell .mobile-ev-dock button{pointer-events:auto!important;min-height:52px!important;border-radius:16px!important;}
 body.app-shell:not(.mobile-dock-open) .mobile-ev-dock,body.app-shell.mobile-dock-collapsed .mobile-ev-dock{transform:none!important;pointer-events:auto!important;}
 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!important;}
 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!important;pointer-events:none!important;transform:translateY(12px)!important;}
}
@media(min-width:768px) and (max-width:1180px){
 body.app-shell .topbar{min-height:68px!important;padding:12px 16px!important;grid-template-columns:auto minmax(0,1fr) auto!important;}
 body.app-shell .topbar-title,body.app-shell .topbar-kicker{max-width:62vw!important;}
 body.app-shell .content{padding-left:18px!important;padding-right:18px!important;padding-bottom:calc(var(--rev252-mobile-dock-height) + 28px)!important;}
 body.app-shell .mobile-ev-dock{left:18px!important;right:18px!important;max-width:720px!important;margin-inline:auto!important;}
}
@media(max-width:480px){
 body.app-shell .topbar{min-height:58px!important;padding:8px!important;gap:7px!important;}
 body.app-shell .topbar-icon,body.app-shell .topbar-theme-mobile,body.app-shell .topbar-mobile-menu-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:14px!important;}
 body.app-shell .topbar-kicker{font-size:.61rem!important;max-width:50vw!important;}
 body.app-shell .topbar-title{font-size:.98rem!important;max-width:50vw!important;}
 body.app-shell .content{padding-left:9px!important;padding-right:9px!important;}
 body.app-shell .mobile-ev-dock{left:7px!important;right:7px!important;padding:7px!important;}
 body.app-shell .mobile-ev-dock a{font-size:.72rem!important;gap:3px!important;}
 body.app-shell .mobile-ev-dock svg{width:19px!important;height:19px!important;}
}
@media(prefers-reduced-motion:reduce){body.app-shell .sidebar,body.app-shell .mobile-ev-dock,body.app-shell .topbar-dropdown{transition:none!important;animation:none!important;}}
/* Rev252 final touch-action correction: lock background without blocking sidebar scrolling */
@media(max-width:1180px){
  body.app-shell.sidebar-open,
  body.app-shell.shell-scroll-locked{overflow:hidden!important;touch-action:auto!important;}
  body.app-shell.sidebar-open .sidebar,
  body.app-shell.sidebar-open .sidebar-inner,
  body.app-shell.sidebar-open .sidebar-body{touch-action:pan-y!important;}
}

/* rev253: dashboard recent activity moved out of dashboard */
.dashboard-mid-grid--single{grid-template-columns:1fr !important;}
.dashboard-mid-grid--single .phase4-table-card{min-width:0;}

/* ===== Rev257 mobile sidebar backdrop hotfix =====
   Keep the dimmed close area OUTSIDE the mobile sidebar so it cannot sit above
   menu links and block tap/scroll. The sidebar itself stays above all overlays. */
@media(max-width:1180px){
  body.app-shell .sidebar.sidebar--neo,
  body.app-shell .sidebar{
    z-index:10010!important;
    isolation:isolate!important;
    pointer-events:auto!important;
  }
  body.app-shell.sidebar-open .sidebar.sidebar--neo,
  body.app-shell.sidebar-open .sidebar{
    z-index:10010!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.app-shell.sidebar-open .sidebar *,
  body.app-shell.sidebar-open .sidebar.sidebar--neo *{
    pointer-events:auto!important;
  }
  body.app-shell .sidebar-backdrop{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:calc(max(8px, env(safe-area-inset-left, 0px)) + min(88vw, 350px) + 8px)!important;
    width:auto!important;
    height:auto!important;
    z-index:10000!important;
    opacity:1!important;
    background:rgba(2,8,18,.42)!important;
    pointer-events:auto!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    touch-action:manipulation!important;
  }
  body.app-shell .sidebar-backdrop[hidden]{
    display:none!important;
    pointer-events:none!important;
  }
  body.app-shell.sidebar-open,
  body.app-shell.shell-scroll-locked{
    overflow:hidden!important;
    touch-action:auto!important;
  }
  body.app-shell.sidebar-open .sidebar,
  body.app-shell.sidebar-open .sidebar-inner,
  body.app-shell.sidebar-open .sidebar-body{
    overflow:hidden!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.app-shell.sidebar-open .sidebar-body{
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
}
@media(max-width:400px){
  body.app-shell .sidebar-backdrop{
    left:calc(max(6px, env(safe-area-inset-left, 0px)) + min(86vw, 340px) + 6px)!important;
  }
}

/* Rev262: Preassembly station layout cleanup */
.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!important}.preassembly-overview-page .preassembly-production-form-card{padding:12px;border-radius:16px}}
/* Rev263: Pre-assembly station layout + mini-BOM quantity editor */
.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!important}.assigned-chip-qty{width:100%;justify-content:space-between}.chip-qty-input{width:120px}}


/* Rev264 logic + compact UI corrections */
.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!important;grid-template-columns:repeat(2,minmax(180px,220px)) auto!important;align-items:end!important;gap:10px!important;padding:10px 12px!important;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!important}.machine-image-card-grid{grid-template-columns:1fr}.station-history-panel .detail-list.compact{grid-template-columns:1fr}}

/* Rev265b: inline Store Kiosk BOM form */
.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;}


/* Rev267: stack isolated form + table layouts vertically to avoid cramped side-by-side admin pages. */
@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 !important;
  }
}

/* Rev267: clearer FIFO/flush action presentation inside station mini-inventory cards. */
.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;
}


/* Rev267: popup sticky footer/button background visibility fix.
   Avoid white-on-white sticky action strips in light theme; use primary gradient. */
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%) !important;
  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);
}

/* Rev267: stack form/table two-column pages when the page is a detail-only form+table combination. */
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 !important;
}

/* Rev267: Store Kiosk BOM panel is intentionally always visible, even in manual mode. */
body.app-shell .kiosk-bom-inline-panel[hidden]{
  display: block !important;
}
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));
}

/* ===== Rev271 clean-start responsive polish ===== */
body.app-shell .dashboard-ev-redo .calendar-mini-actions .btn[data-open-modal="dashboardCalendarEventModal"]{display:none!important;}

/* Force simple vertical stacking where the page only has a form and a table/list. */
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!important;
}
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!important;}

/* Compact date/filter strips on desktop and mobile. */
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!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
}
body.app-shell .table-enhancer-date-strip .table-enhancer-date-range{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:flex-end!important;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{min-width:128px;max-width:180px;flex:1 1 140px;}
body.app-shell .table-enhancer-date-strip .table-enhancer-actions{display:flex!important;gap:8px!important;flex:0 0 auto!important;grid-column:auto!important;}
body.app-shell .table-enhancer-date-strip .input{min-height:38px!important;}
body.app-shell .table-enhancer-date-strip .btn{min-height:38px!important;padding:8px 12px!important;}

/* Mobile table cards: preserve desktop tables, but make phone rows readable and consistent. */
@media (max-width: 760px){
  body.app-shell .table-wrap{overflow-x:visible!important;}
  body.app-shell .table-wrap > table.table:not(.desktop-table-only){min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important;}
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) thead{display:none!important;}
  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!important;width:100%!important;}
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) tr{border:1px solid var(--border)!important;border-radius:18px!important;background:var(--panel)!important;box-shadow:0 10px 26px rgba(15,23,42,.08)!important;overflow:hidden!important;margin-bottom:10px!important;}
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) td{display:grid!important;grid-template-columns:minmax(112px,38%) minmax(0,1fr)!important;gap:8px!important;align-items:start!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)!important;padding:10px 12px!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;}
  body.app-shell .table-wrap > table.table:not(.desktop-table-only) td:last-child{border-bottom:0!important;}
  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!important;}
  body.app-shell .table-enhancer{align-items:stretch!important;gap:8px!important;}
  body.app-shell .table-enhancer-top{display:grid!important;grid-template-columns:1fr!important;}
  body.app-shell .table-enhancer-right,
  body.app-shell .table-enhancer-left{width:100%!important;justify-content:stretch!important;}
  body.app-shell .table-enhancer-search{width:100%!important;max-width:none!important;}
  body.app-shell .table-enhancer-date-strip{display:grid!important;grid-template-columns:1fr!important;padding:10px!important;}
  body.app-shell .table-enhancer-date-strip .table-enhancer-date-range{display:grid!important;grid-template-columns:1fr!important;}
  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!important;min-width:0!important;width:100%!important;}
  body.app-shell .table-enhancer-date-strip .table-enhancer-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;width:100%!important;}
  body.app-shell .table-enhancer-date-strip .table-enhancer-actions .btn{width:100%!important;}
  body.app-shell .profile-password-form .form-grid.three{grid-template-columns:1fr!important;}
}


/* REV282 debit-note toolbar/table overlap fix */
body.app-shell .debit-notes-page .table-summary.sticky-tools{position:relative !important;z-index:1 !important;align-items:flex-start !important;gap:14px !important;}
body.app-shell .debit-notes-page .table-enhancer-top{position:relative !important;z-index:0 !important;margin:8px 0 12px !important;clear:both !important;}
body.app-shell .debit-notes-page .table-enhancer-left,body.app-shell .debit-notes-page .table-enhancer-right{min-width:0 !important;flex-wrap:wrap !important;}
body.app-shell .debit-notes-page .table-enhancer-size{display:inline-flex !important;align-items:center !important;gap:8px !important;white-space:nowrap !important;}
body.app-shell .debit-notes-page .table-wrap{clear:both !important;margin-top:8px !important;}


/* REV283: button-card navigation for inprocess module; avoids bare text links. */
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;}}

/* REV283: stronger debit-note toolbar/header overlap guard across enhanced tables. */
body.app-shell .debit-notes-page .card.table-card{overflow:visible !important;}
body.app-shell .debit-notes-page .table-summary,
body.app-shell .debit-notes-page .table-summary.sticky-tools{position:relative !important;top:auto !important;z-index:2 !important;display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:14px !important;flex-wrap:wrap !important;margin-bottom:10px !important;}
body.app-shell .debit-notes-page .table-enhancer-top{position:relative !important;top:auto !important;z-index:1 !important;clear:both !important;margin:10px 0 14px !important;display:flex !important;flex-wrap:wrap !important;gap:10px !important;}
body.app-shell .debit-notes-page .table-wrap{clear:both !important;margin-top:8px !important;position:relative !important;z-index:0 !important;}
body.app-shell .debit-notes-page table thead th{top:0 !important;z-index:1 !important;}


/* REV284: debit-note toolbar/header no-overlap hardening. Keeps selector, search, export buttons and sticky table header in separate flow rows. */
body.app-shell .debit-notes-page .card.table-card,
body.app-shell .debit-notes-page .debit-note-card{overflow:visible!important;isolation:isolate;}
body.app-shell .debit-notes-page .table-summary.sticky-tools{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,380px)!important;align-items:start!important;gap:12px!important;position:relative!important;z-index:4!important;margin:0 0 12px!important;top:auto!important;}
body.app-shell .debit-notes-page .table-summary.sticky-tools>div:first-child{min-width:0!important;}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools{width:100%!important;margin-left:0!important;justify-content:flex-end!important;align-items:center!important;position:relative!important;z-index:5!important;}
body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools .input{width:100%!important;max-width:380px!important;min-width:0!important;}
body.app-shell .debit-notes-page .table-enhancer-top{position:relative!important;top:auto!important;z-index:3!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;clear:both!important;margin:12px 0 14px!important;padding:8px 10px!important;border-radius:14px!important;}
body.app-shell .debit-notes-page .table-enhancer-left,
body.app-shell .debit-notes-page .table-enhancer-right{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;}
body.app-shell .debit-notes-page .table-enhancer-size{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;}
body.app-shell .debit-notes-page .table-wrap{position:relative!important;z-index:1!important;clear:both!important;margin-top:8px!important;overflow:auto!important;}
body.app-shell .debit-notes-page .table thead th{position:sticky!important;top:0!important;z-index:2!important;}
@media (max-width:900px){body.app-shell .debit-notes-page .table-summary.sticky-tools{grid-template-columns:1fr!important;}body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools{justify-content:flex-start!important;}body.app-shell .debit-notes-page .table-summary.sticky-tools .table-tools .input{max-width:none!important;}body.app-shell .debit-notes-page .table-enhancer-top{align-items:stretch!important;}body.app-shell .debit-notes-page .table-enhancer-left,body.app-shell .debit-notes-page .table-enhancer-right{width:100%!important;justify-content:flex-start!important;}}

/* REV284: Inprocess inspection template quick actions are displayed as action cards/buttons instead of plain text links. */
body.app-shell .inprocess-action-strip{display:grid!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important;gap:12px!important;margin:0 0 16px!important;}
body.app-shell .inprocess-action-strip .module-action-btn{display:flex!important;align-items:center!important;gap:12px!important;min-height:74px!important;padding:14px 16px!important;border-radius:18px!important;text-decoration:none!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;box-shadow:0 12px 26px rgba(15,23,42,.10)!important;}
body.app-shell .inprocess-action-strip .module-action-btn.active{border-color:rgba(16,185,129,.45)!important;box-shadow:0 16px 34px rgba(16,185,129,.14)!important;}
body.app-shell .inprocess-action-strip .module-action-icon{display:inline-grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;border-radius:14px!important;background:rgba(16,185,129,.12)!important;font-size:18px!important;}
body.app-shell .inprocess-action-strip strong{display:block!important;line-height:1.15!important;}
body.app-shell .inprocess-action-strip small{display:block!important;margin-top:4px!important;color:var(--muted)!important;line-height:1.25!important;}
@media (max-width:900px){body.app-shell .inprocess-action-strip{grid-template-columns:1fr!important;}}


/* Rev284 final scroll hardening: normal pages use page-level vertical scroll, not table-captured wheel scroll. */
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 .row-actions{ white-space: nowrap; }
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; align-items:center; gap:8px; min-height:42px; }
body.app-shell .checkbox-line input{ width:auto; }
body.app-shell .form-help.warn{ color:#f59e0b; }

/* Rev285 functional restore / UI hardening */
.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{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.old-final-packs-page form{margin:0;}
.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!important;}

.row-actions form{display:inline-flex;margin:0;}

/* Rev287 functional polish: bind checkbox text with input and improve approval/stat cards */
.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 !important; 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; }
body.app-shell .table-wrap table{ transform: translateZ(0); }
@media (max-width: 980px){ .dispatch-checklist-template-page .dispatch-checklist-editor-grid{ grid-template-columns:1fr; } }


/* Rev289 stability patch: bound labels, table scroll hardening, restored page spacing */
.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{overscroll-behavior:contain;scrollbar-gutter:stable;will-change:scroll-position;-webkit-overflow-scrolling:touch;}
.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;}

/* Rev291 station/preassembly restore */
.entity-card-grid,.station-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.entity-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:18px;padding:14px;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-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{display:flex;flex-direction:column;gap:12px}.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%}}


/* ===== Rev294 checkbox/toggle and map/table polish ===== */
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!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:32px!important;
  line-height:1.25!important;
  cursor:pointer!important;
  white-space:normal!important;
}
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!important;
  -webkit-appearance:checkbox!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  margin:0!important;
  position:static!important;
}
body.app-shell label.checkbox span,
body.app-shell label.check span,
body.app-shell .checkbox-line span{
  flex:0 1 auto!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
}
.toggle-field{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  background:var(--panel-alt)!important;
  cursor:pointer!important;
}
.toggle-field.compact{width:max-content!important;min-width:260px!important;}
.toggle-switch{position:relative;display:inline-flex;align-items:center;flex:0 0 46px;width:46px;height:26px;}
.toggle-switch input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-width:1px!important;margin:0!important;}
.toggle-slider{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--text-2) 22%,transparent);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))!important;}
.geoboard-page .geo-map-card{overflow:hidden;}
#geoLeafletMap,.geo-leaflet-map{min-height:460px;height:clamp(420px,52vh,620px)!important;width:100%!important;display:block!important;}
.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!important;}
.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%!important;min-width:0!important}}

/* rev294p4: compact checkbox/toggle alignment and fixed single-card sizing */
body.app-shell input[type="checkbox"]:not(.toggle-input):not(.switch-input):not([role="switch"]){
  width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;
  inline-size:16px!important;block-size:16px!important;margin:0 8px 0 0!important;vertical-align:middle!important;flex:0 0 16px!important;
}
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!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;max-width:100%;line-height:1.25!important;text-align:left!important;
}
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!important;white-space:normal!important;overflow-wrap:anywhere!important;}
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!important;align-items:stretch!important;
}
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))!important;
}
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 .station-protocol-check-sheet{margin-top:12px;border-top:1px solid var(--border);padding-top:12px;}
body.app-shell .compact-input{min-height:38px!important;}
@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!important;}
}


/* rev294p4 final: force all remaining checkbox labels to compact inline alignment */
body.app-shell input[type="checkbox"]{box-sizing:border-box!important;}
body.app-shell input[type="checkbox"]:not(.toggle-switch input):not(.toggle-input):not(.switch-input):not([role="switch"]){width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;flex:0 0 16px!important;margin:0!important;display:inline-block!important;vertical-align:middle!important;}
body.app-shell label:has(> input[type="checkbox"]),
body.app-shell label:has(input[type="checkbox"]){display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:auto!important;max-width:100%!important;text-align:left!important;line-height:1.25!important;}
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!important;min-width:0!important;width:auto!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;}
body.app-shell td label:has(input[type="checkbox"]),
body.app-shell .form label:has(input[type="checkbox"]){min-height:28px!important;}

/* Rev294p4f: stable station protocol clock-in checks and master parameter editor */
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:anywhere;}
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%;}
}


/* Rev294p4h proportional consumable costing */
.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;}

/* PAfix4: fixed one-part preassembly output display */
.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;}
