/* 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(180deg, rgba(255,255,255,0), rgba(255,255,255,.95) 28%, #fff 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;}
}
