:root {
  --bg: #06101d;
  --bg-2: #091524;
  --panel: #0e1a2a;
  --panel-2: #111f31;
  --panel-3: #15243a;
  --line: #24344a;
  --line-soft: rgba(111, 142, 178, 0.15);
  --text: #f4f7fb;
  --muted: #9aa9bb;
  --green: #29dd63;
  --blue: #2d93ff;
  --cyan: #25bdf0;
  --purple: #9553ed;
  --yellow: #ffc400;
  --red: #ff4c4c;
  --amber: #ffb000;
  --scheduled: #93a3b5;
  --shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
  --radius: 12px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); color-scheme: dark; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 80% -20%, rgba(31, 122, 255, 0.1), transparent 32%),
    linear-gradient(180deg, #06101d 0%, #081321 60%, #07111e 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.45;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, select { cursor: pointer; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.app-shell { display: flex; min-height: 100vh; }
.sidebar {
  width: 214px;
  min-width: 214px;
  min-height: 100vh;
  position: fixed;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #07111e 0%, #091524 50%, #08121f 100%);
  border-right: 1px solid var(--line);
  z-index: 40;
  transition: width .2s ease, min-width .2s ease, transform .2s ease;
}

/* Modern mobile Safari/Chromium use a dynamic viewport while browser chrome
   opens and closes. Keep the application and modals inside the visible area,
   including iPad/iPhone safe areas when ClearRivet is installed as a PWA. */
@supports (height: 100dvh) {
  .app-shell, .sidebar, .auth-screen, .auth-card { min-height: 100dvh; }
  .modal { max-height: calc(100dvh - 36px); }
  .scoreboard-view { min-height: calc(100dvh - 115px); }
}
@supports (padding: max(0px)) {
  @media (max-width: 960px) {
    .topbar {
      padding-top: max(11px, env(safe-area-inset-top));
      padding-right: max(13px, env(safe-area-inset-right));
    }
    .main-content {
      padding-right: max(14px, env(safe-area-inset-right));
      padding-bottom: max(18px, env(safe-area-inset-bottom));
      padding-left: max(14px, env(safe-area-inset-left));
    }
    .sidebar { padding-left: env(safe-area-inset-left); }
  }
}
@media (pointer: coarse) {
  input, select, textarea { font-size: 16px !important; }
  .mobile-menu, .user-menu-button, .nav-item,
  button.primary-button, button.secondary-button, button.remove-button {
    min-height: 44px;
  }
}
.sidebar.collapsed { width: 70px; min-width: 70px; }
.sidebar.collapsed .brand-text,
.sidebar.collapsed .nav-item > span:not(.nav-icon):not(.nav-badge),
.sidebar.collapsed .collapse-button span,
.sidebar.collapsed .customer-brand-card { display: none; }
.sidebar.collapsed .brand-row { justify-content: center; padding-inline: 0; }
.sidebar.collapsed .nav-item { justify-content: center; padding-inline: 8px; }
.sidebar.collapsed .nav-badge { position: absolute; right: 7px; top: 5px; }
.sidebar.collapsed .collapse-button { justify-content: center; }

.brand-row {
  height: 79px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-bottom: 1px solid var(--line-soft);
}
.brand-mark { position: relative; width: 28px; height: 31px; transform: rotate(-1deg); flex: 0 0 auto; }
.brand-mark span { position: absolute; display: block; background: linear-gradient(135deg, #278ef7, #1ec0ef); border-radius: 3px; }
.brand-mark span:nth-child(1) { width: 19px; height: 8px; left: 4px; top: 2px; transform: skewY(-26deg); }
.brand-mark span:nth-child(2) { width: 8px; height: 22px; left: 3px; top: 5px; transform: skewY(-26deg); }
.brand-mark span:nth-child(3) { width: 16px; height: 8px; left: 9px; top: 15px; transform: skewY(-26deg); }
.brand-text { font-size: 17px; font-weight: 800; letter-spacing: .3px; white-space: nowrap; }
.brand-text span { color: var(--blue); }

.nav-list { padding: 18px 10px; display: grid; gap: 5px; }
.nav-item {
  position: relative;
  width: 100%;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 13px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #e4ebf5;
  text-align: left;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.nav-item:hover { background: rgba(41, 145, 255, 0.08); color: #fff; transform: translateX(2px); }
.nav-item.active { background: linear-gradient(90deg, #12417a, #173a69); box-shadow: inset 0 0 0 1px rgba(68, 145, 235, .16); }
.nav-icon { width: 19px; display: inline-grid; place-items: center; font-size: 20px; color: #b8c6d7; }
.nav-item.active .nav-icon { color: #43a8ff; }
.nav-badge { margin-left: auto; width: 28px; height: 28px; border-radius: 50%; background: var(--red); display: inline-grid; place-items: center; font-size: 12px; font-weight: 700; }

.sidebar-bottom { margin-top: auto; padding: 10px; display: grid; gap: 13px; }
.collapse-button {
  border: 0;
  background: transparent;
  color: #d7e0ea;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .4px;
}
.customer-brand-card {
  min-height: 86px;
  position: relative;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  background: linear-gradient(135deg, #111e30, #0c1827);
  overflow: hidden;
}
.customer-brand-card img { width: 100%; max-height: 52px; object-fit: contain; object-position: left center; }
#logoPlaceholder strong { display: block; color: #ff615d; font-size: 24px; line-height: 1; font-style: italic; letter-spacing: -1px; }
#logoPlaceholder small { display: block; font-weight: 700; margin-top: 4px; letter-spacing: .7px; }
body.sidebar-collapsed .page-title-wrap { padding-left: 8px; }
.logo-upload-hint { position: absolute; right: 8px; bottom: 7px; opacity: 0; font-size: 9px; color: var(--muted); transition: opacity .15s; }
.customer-brand-card:hover .logo-upload-hint { opacity: 1; }

.main-content { min-width: 0; flex: 1; margin-left: 214px; transition: margin-left .2s ease; }
body.sidebar-collapsed .main-content { margin-left: 70px; }
.topbar {
  height: 79px;
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(360px, auto) auto auto;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  background: rgba(6, 16, 29, .93);
  border-bottom: 1px solid var(--line-soft);
  backdrop-filter: blur(14px);
}
.page-title-wrap { display: flex; align-items: center; gap: 12px; }
.page-title-wrap h1 { margin: 0; font-size: 22px; letter-spacing: -.4px; }
.page-title-wrap p { margin: 2px 0 0; color: #c5d0dd; font-size: 12px; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 22px; }
.topbar-controls { display: flex; gap: 10px; align-items: center; }
.select-control, .date-control {
  min-height: 41px;
  display: flex;
  align-items: center;
  background: #0d1928;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.select-control { padding-left: 12px; color: #bbc8d9; }
.select-control select {
  min-width: 140px;
  height: 39px;
  padding: 0 33px 0 10px;
  border: 0;
  outline: 0;
  color: var(--text);
  background: transparent;
}
.date-control button { width: 40px; height: 39px; border: 0; background: transparent; color: #8798ac; font-size: 20px; }
.date-control button:hover { background: rgba(255,255,255,.03); }
.date-control span { min-width: 132px; text-align: center; font-weight: 700; font-size: 12px; }
.topbar-user { position: relative; grid-column: -2 / -1; justify-self: end; margin-left: auto; display: flex; align-items: center; gap: 10px; }
.notification-button { position: relative; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #0e1a2a; font-size: 19px; }
.notification-button span { position: absolute; width: 18px; height: 18px; top: -3px; right: -3px; display: grid; place-items: center; background: var(--red); border-radius: 50%; font-size: 9px; font-weight: 800; }
.avatar { width: 41px; height: 41px; display: grid; place-items: center; background: linear-gradient(135deg, #264c70, #a45c49); border: 2px solid #f3f7fb; border-radius: 50%; font-weight: 800; }
.user-copy { display: grid; }
.user-copy strong { font-size: 12px; }
.user-copy small { color: var(--muted); font-size: 10px; }
.live-strip { height: 23px; display: flex; justify-content: flex-end; gap: 25px; padding: 4px 30px 0; color: var(--muted); font-size: 10px; }
.live-strip span:first-child { color: #b9c5d5; }
.live-strip i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 12px rgba(41, 221, 99, .7); }
.demo-banner{margin:0 30px 10px;padding:9px 14px;border:1px solid rgba(45,147,255,.38);background:linear-gradient(90deg,rgba(45,147,255,.15),rgba(10,24,40,.72));border-radius:8px;color:#cfe8ff;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-banner strong{color:#fff}.demo-banner small{color:#8fa9c3}.demo-banner .demo-start-button{min-height:36px;padding:0 12px;border:1px solid #3798ff;border-radius:7px;background:#123b63;color:#fff;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.demo-watermark{position:fixed;right:18px;bottom:14px;z-index:25;pointer-events:none;opacity:.42;color:#9eb4ca;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sales-demo-form{display:grid;grid-template-columns:1fr 1fr 1.2fr 120px;gap:10px;align-items:end}.sales-demo-form label{display:grid;gap:5px;color:#8799ae;font-size:9px;text-transform:uppercase;font-weight:800}.sales-demo-form input{width:100%;height:39px;padding:0 10px;border:1px solid #2a3e57;border-radius:7px;background:#0b1727;color:#fff}.sales-demo-form .sales-demo-checkbox{display:flex;align-items:center;gap:8px;height:39px;text-transform:none;font-size:10px}.sales-demo-result{margin-top:12px;padding:12px;border:1px solid rgba(41,221,99,.3);background:rgba(41,221,99,.06);border-radius:8px;display:grid;gap:8px}.sales-demo-link{display:flex;gap:8px}.sales-demo-link input{flex:1;height:38px;padding:0 10px;border:1px solid #2a3e57;border-radius:7px;background:#08121f;color:#b9d9ff}.sales-demo-table td{vertical-align:middle}.sales-demo-actions{display:flex;gap:6px;flex-wrap:wrap}.status-pill.demo-active{color:#65ec88}.status-pill.demo-expired,.status-pill.demo-revoked,.status-pill.demo-rejected{color:#ff8b8b}.status-pill.demo-pending{color:#ffd36a}.status-pill.demo-approved{color:#65ec88}.demo-risk-badge{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid rgba(255,180,70,.35);border-radius:999px;color:#ffcb72;font-size:8px;font-weight:800;text-transform:uppercase}.demo-request-table small{display:block;color:#8094aa;margin-top:3px}.blocked-domain-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.blocked-domain-chip{display:flex;align-items:center;gap:8px;border:1px solid #2a3e57;border-radius:999px;padding:5px 8px 5px 10px;background:#0b1727;color:#b8c8d9;font-size:9px}.blocked-domain-chip button{border:0;background:none;color:#7fc3ff;cursor:pointer;font-size:9px}@media(max-width:900px){.sales-demo-form{grid-template-columns:1fr 1fr}.demo-banner{margin-left:14px;margin-right:14px}}@media(max-width:560px){.sales-demo-form{grid-template-columns:1fr}.sales-demo-link{flex-direction:column}}

.tenant-scope-pill{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid #29425f;border-radius:999px;background:#0b1727;color:#b9cee5;font-size:9px;font-weight:800;white-space:nowrap}.tenant-scope-pill strong{color:#eef7ff}.tenant-scope-pill.platform{border-color:#2d73b8;background:rgba(45,147,255,.09);color:#8cc9ff}.platform-security-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:16px;border:1px solid rgba(45,147,255,.3);border-radius:10px;background:rgba(45,147,255,.06)}.platform-security-banner strong{display:block;color:#eaf5ff;font-size:12px;margin-bottom:4px}.platform-security-banner p{margin:0;color:#8fa5bb;font-size:9.5px;line-height:1.5}.platform-customer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.platform-customer-card{padding:14px 15px;border:1px solid #233a55;border-radius:10px;background:#0b1727;cursor:pointer;text-align:left;color:#dfeeff}.platform-customer-card:hover{border-color:#2d93ff;background:#0e1d30}.platform-customer-card strong{display:block;font-size:13px;margin-bottom:5px}.platform-customer-card small{display:block;color:#8199b2;line-height:1.45}.platform-customer-card .status-pill{margin-top:10px}.platform-customer-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.platform-customer-actions{display:flex;gap:8px;flex-wrap:wrap}.platform-structure{display:grid;gap:12px}.platform-site-card{border:1px solid #233a55;border-radius:10px;padding:14px;background:rgba(255,255,255,.018)}.platform-site-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.platform-machine-list{display:grid;gap:7px;margin-top:10px}.platform-machine-row{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #1d3047;border-radius:8px;background:#08131f;font-size:10px}.platform-admin-list{display:grid;gap:8px}.platform-admin-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;border:1px solid #1d3047;border-radius:8px}.security-scope-note{padding:12px 14px;border-left:3px solid #2d93ff;background:rgba(45,147,255,.06);color:#9bb1c8;font-size:9.5px;line-height:1.55;margin:10px 0}.security-scope-note strong{color:#dcedff}.one-time-password{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;padding:10px;border:1px solid #355473;border-radius:8px;background:#07111d;color:#fff;word-break:break-all}@media(max-width:1050px){.platform-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.platform-customer-grid{grid-template-columns:1fr}.tenant-scope-pill{display:none}.platform-security-banner{flex-direction:column}}

.dashboard { padding: 0 16px 18px; }
.panel {
  background: linear-gradient(180deg, rgba(17, 31, 49, .96), rgba(12, 25, 41, .97));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.015), var(--shadow);
}
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.15fr; gap: 10px; }
.kpi-card { min-height: 128px; padding: 18px 19px; display: flex; justify-content: space-between; align-items: center; overflow: hidden; }
.eyebrow { display: block; margin-bottom: 5px; color: #f3f7fb; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.eyebrow b { color: #788a9f; font-size: 10px; font-weight: 500; }
.kpi-value { display: block; margin: 2px 0 5px; font-size: clamp(25px, 2vw, 37px); line-height: 1; letter-spacing: -.7px; }
.green { color: var(--green); }.blue { color: var(--blue); }.purple { color: var(--purple); }.yellow { color: var(--yellow); }.cyan { color: var(--cyan); }
.trend { font-size: 11px; font-weight: 800; }.trend span { color: var(--muted); font-weight: 500; }.trend.up { color: var(--green); }.trend.down { color: #ff6961; }.purple-text { color: var(--purple) !important; }
.ring {
  --size: 74px;
  width: var(--size); height: var(--size);
  display: grid; place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--ring) calc(var(--value) * 1%), #2b394a 0);
  position: relative;
  transform: rotate(15deg);
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.23));
}
.ring::before { content: ""; position: absolute; inset: 13px; background: #101e30; border-radius: 50%; }
.ring span { position: relative; transform: rotate(-15deg); color: transparent; user-select: none; font-size: 0; }
.output-card { display: block; }
.output-card .kpi-value { font-size: 38px; margin-top: 7px; }
.output-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }
.output-meta strong { color: #fff; }
.progress { height: 8px; margin-top: 8px; background: #2b3949; border-radius: 999px; overflow: hidden; }
.progress span { display: block; height: 100%; background: linear-gradient(90deg, #25aee8, #3ac7f5); border-radius: 999px; transition: width .35s ease; }

.machine-section { margin-top: 10px; padding: 11px 12px 13px; }
.panel-heading { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.panel-heading h2 { margin: 0; font-size: 12px; letter-spacing: -.1px; text-transform: uppercase; }
.panel-heading select { height: 29px; padding: 0 29px 0 11px; color: #e8eef7; background: #111f30; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.ghost-button { height: 31px; padding: 0 11px; border: 1px solid var(--line); border-radius: 7px; background: #111e2f; font-size: 10px; }
.link-button { border: 0; background: transparent; color: #5eb4ff; font-size: 10px; }
.machine-grid { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 9px; }
.machine-card {
  min-width: 0;
  min-height: 211px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: linear-gradient(155deg, rgba(19, 35, 55, .96), rgba(12, 25, 41, .95));
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.machine-card:hover { transform: translateY(-2px); border-color: #3a5575; box-shadow: 0 16px 32px rgba(0,0,0,.18); }
.machine-card.selected { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(45,147,255,.12); }
.machine-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.machine-name { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 800; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--status); box-shadow: 0 0 10px color-mix(in srgb, var(--status) 70%, transparent); }
.status-label { color: var(--status); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.machine-card-main { display: grid; grid-template-columns: 96px 1fr; gap: 10px; align-items: center; }
.machine-ring { --value: 80; --status: var(--green); width: 90px; height: 90px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--status) calc(var(--value) * 1%), #26364a 0); position: relative; }
.machine-ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #122135; box-shadow: inset 0 0 14px rgba(0,0,0,.22); }
.machine-ring-content { position: relative; text-align: center; }
.machine-ring-content small { display: block; color: #d2dce7; font-size: 11px; }
.machine-ring-content strong { display: block; margin-top: -1px; color: var(--status); font-size: 23px; line-height: 1.05; }
.machine-meta { display: grid; gap: 7px; min-width: 0; }
.machine-meta div { min-width: 0; }
.machine-meta span { display: block; color: var(--muted); font-size: 9px; }
.machine-meta strong { display: block; margin-top: 1px; font-size: 14px; line-height: 1.1; overflow-wrap: anywhere; }
.machine-progress-label { margin-top: 14px; display: flex; justify-content: space-between; font-size: 10px; }
.machine-progress { height: 5px; margin-top: 6px; background: #2b3949; border-radius: 999px; overflow: hidden; }
.machine-progress span { display: block; height: 100%; background: var(--status); border-radius: 999px; }

.middle-grid { display: grid; grid-template-columns: 1.45fr 1.15fr 1.2fr; gap: 10px; margin-top: 10px; }
.bottom-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(280px,1fr); gap: 10px; margin-top: 10px; }
.chart-panel, .breakdown-panel, .alerts-panel, .timeline-panel, .reasons-panel, .quick-actions-panel { min-height: 250px; padding: 12px 14px; }
.legend { display: flex; gap: 16px; margin: 6px 0 4px 18px; color: #c1ccda; font-size: 9px; }
.legend span { display: flex; align-items: center; gap: 6px; }
.dot { width: 8px; height: 8px; border-radius: 50%; }.cyan-dot { background: var(--blue); }.dash { width: 16px; border-top: 2px dashed #d2dae3; }
.production-chart { position: relative; height: 190px; margin-top: 4px; }
.production-chart svg { width: 100%; height: 100%; overflow: visible; }
.chart-grid-line { stroke: #2a3b50; stroke-width: 1; opacity: .62; }
.chart-axis-label { fill: #9cacbd; font-size: 9px; }
.chart-target { fill: none; stroke: #d6e0eb; stroke-width: 1.6; stroke-dasharray: 5 5; }
.chart-actual { fill: url(#actualGradient); stroke: #2d93ff; stroke-width: 2; }
.chart-bar { fill: #2d93ff; opacity: .84; }
.chart-current-line { stroke: #43556d; stroke-width: 1; stroke-dasharray: 3 4; }

.breakdown-content { display: grid; grid-template-columns: 45% 1fr; gap: 12px; align-items: center; min-height: 204px; }
.donut-chart { width: 142px; height: 142px; margin: 0 auto; border-radius: 50%; background: conic-gradient(#2d78dd 0 58.7%, #ffc400 58.7% 81.8%, #2c91ff 81.8% 89.2%, #8c4ce8 89.2% 95%, #5bc2d9 95% 98.3%, #8f9cac 98.3% 100%); position: relative; filter: drop-shadow(0 10px 20px rgba(0,0,0,.28)); }
.donut-chart::before { content: ""; position: absolute; inset: 25px; background: #112034; border-radius: 50%; }
.donut-chart > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.donut-chart strong { font-size: 24px; line-height: 1; }.donut-chart span { font-size: 11px; }.donut-chart small { color: var(--muted); font-size: 10px; }
.breakdown-list { padding: 0; margin: 0; list-style: none; display: grid; gap: 8px; }
.breakdown-list li { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; font-size: 9px; }
.breakdown-list i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.breakdown-list strong { font-size: 9px; white-space: nowrap; }

.alerts-list { display: grid; gap: 1px; margin-top: 4px; }
.alert-row { min-height: 42px; display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 7px; border-bottom: 1px solid rgba(99,130,165,.08); }
.alert-row:last-child { border-bottom: 0; }
.alert-icon { width: 25px; height: 25px; display: grid; place-items: center; color: #07111e; background: var(--alert-color); clip-path: polygon(50% 0, 100% 100%, 0 100%); padding-top: 7px; font-weight: 900; font-size: 10px; }
.alert-icon.info { border-radius: 50%; clip-path: none; padding: 0; color: white; }
.alert-copy strong { display: block; font-size: 9.5px; }.alert-copy small { display: block; margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.alert-time { color: var(--muted); font-size: 8px; }

.timeline-list { display: grid; gap: 10px; margin-top: 7px; }
.timeline-row { display: grid; grid-template-columns: 48px 1fr; gap: 10px; align-items: center; }
.timeline-row > span { font-size: 10px; color: #d6dfeb; }
.timeline-track { height: 12px; display: flex; overflow: hidden; background: #273648; border-radius: 2px; }
.timeline-segment { display:block; height:100%; min-width:1px; background:var(--segment); opacity:.92; border-right:1px solid rgba(6,16,29,.25); cursor:help; transition:filter .15s ease,opacity .15s ease,transform .15s ease; }
.timeline-segment.is-clickable { cursor:pointer; }
.timeline-segment.is-clickable:hover,.timeline-segment.is-clickable:focus-visible { transform:scaleY(1.35); z-index:2; }
.timeline-segment:hover,.timeline-segment:focus-visible{filter:brightness(1.22);opacity:1;outline:1px solid rgba(255,255,255,.6);outline-offset:-1px}
.timeline-tooltip{position:fixed;z-index:1200;max-width:300px;padding:9px 11px;border:1px solid #355473;border-radius:8px;background:#071321;color:#e7f0fa;box-shadow:0 12px 30px rgba(0,0,0,.45);font-size:10px;line-height:1.45;pointer-events:none}
.timeline-tooltip strong{display:block;font-size:11px;color:#fff;margin-bottom:2px}.timeline-tooltip small{display:block;color:#9eb1c7;font-size:9px}
.timeline-axis { display: flex; justify-content: space-between; margin: 7px 0 0 58px; color: #9aaabd; font-size: 8px; }
.timeline-legend { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 18px; color: #a8b6c8; font-size: 8.5px; }
.timeline-legend span { display: flex; align-items: center; gap: 5px; }
.state { width: 10px; height: 7px; border-radius: 1px; }.state.running { background: var(--green); }.state.stopped { background: var(--red); }.state.starved { background: var(--yellow); }.state.changeover { background: var(--blue); }.state.scheduled { background: var(--scheduled); }

.reason-bars { display: grid; gap: 12px; margin-top: 8px; }
.reason-row { display: grid; grid-template-columns: 75px 1fr 43px; align-items: center; gap: 8px; font-size: 9px; }
.reason-track { height: 10px; background: #26364a; border-radius: 2px; overflow: hidden; }
.reason-track span { display: block; height: 100%; border-radius: 2px; background: var(--bar-color); }
.reason-time { white-space: nowrap; color: #dce4ed; }

.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 7px; }
.quick-actions button { min-height: 52px; display: flex; align-items: center; gap: 11px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(145deg, #18273b, #111d2e); text-align: left; font-size: 10px; transition: transform .15s ease, background .15s ease; }
.quick-actions button:hover { transform: translateY(-1px); background: linear-gradient(145deg, #1d3049, #132237); }
.action-icon { width: 29px; height: 29px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-size: 15px; }.red-outline { color: var(--red); }.yellow-outline { color: var(--yellow); }.blue-outline { color: var(--blue); }.purple-outline { color: var(--purple); }.green-outline { color: var(--green); }

.placeholder-view { min-height: calc(100vh - 102px); padding: 24px; display: grid; place-items: center; }
.empty-state { width: min(560px, 100%); min-height: 310px; display: grid; place-items: center; align-content: center; text-align: center; padding: 35px; }
.empty-icon { font-size: 58px; color: var(--blue); }.empty-state h2 { margin: 8px 0 4px; }.empty-state p { color: var(--muted); max-width: 420px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 18px; background: rgba(2, 8, 16, .76); backdrop-filter: blur(8px); }
.modal-backdrop[hidden] { display: none; }
.modal { width: min(600px, 100%); max-height: calc(100vh - 36px); overflow: auto; position: relative; padding: 27px; background: linear-gradient(165deg, #14243a, #0b1727); border: 1px solid #314966; border-radius: 17px; box-shadow: 0 30px 90px rgba(0,0,0,.5); animation: modalIn .18s ease; }
.compact-modal { width: min(520px, 100%); }.settings-modal { width: min(740px, 100%); }
@keyframes modalIn { from { transform: translateY(12px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.modal-close { position: absolute; right: 17px; top: 14px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.05); font-size: 23px; line-height: 1; }
.modal-status-icon { width: 45px; height: 45px; display: grid; place-items: center; background: rgba(255,76,76,.16); color: var(--red); border: 1px solid rgba(255,76,76,.4); border-radius: 50%; font-weight: 900; font-size: 22px; }
.modal-kicker { margin: 15px 0 4px; color: var(--red); font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.modal h2 { margin: 0 0 8px; font-size: 24px; }.stop-timer { margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.reason-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.reason-choice { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 14px; background: #111f31; border: 1px solid var(--line); border-radius: 9px; text-align: left; }
.reason-choice:hover { border-color: #4d6787; }.reason-choice.selected { border-color: var(--blue); background: rgba(45,147,255,.12); box-shadow: 0 0 0 2px rgba(45,147,255,.08); }
.reason-choice i { width: 11px; height: 11px; border-radius: 50%; background: var(--reason-color); }
.field-label { display: grid; gap: 6px; margin-top: 18px; color: #d7e1ec; font-size: 11px; font-weight: 700; }.field-label span { color: var(--muted); font-weight: 400; }
.field-label input, .field-label select, .field-label textarea { width: 100%; color: #fff; background: #0d1928; border: 1px solid var(--line); border-radius: 8px; padding: 11px; outline: 0; }.field-label textarea { min-height: 83px; resize: vertical; }.field-label input:focus, .field-label select:focus, .field-label textarea:focus { border-color: var(--blue); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.primary-button, .secondary-button { min-height: 41px; padding: 0 17px; border-radius: 8px; font-weight: 800; font-size: 11px; }
.primary-button { border: 1px solid #3798ff; background: linear-gradient(135deg, #1682ec, #36a7ff); color: #fff; }.primary-button:disabled { cursor: not-allowed; opacity: .4; }
.secondary-button { border: 1px solid var(--line); background: #111f31; color: #dae4ee; }
.settings-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0 14px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.settings-tab { height: 34px; padding: 0 13px; border: 1px solid var(--line); border-radius: 8px; background: #111e2f; color: #b8c6d7; font-size: 10px; }
.settings-tab.active { color: #fff; background: rgba(45,147,255,.17); border-color: var(--blue); }
.settings-content { min-height: 250px; }
.settings-row { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 10px; align-items: end; padding: 10px 0; border-bottom: 1px solid rgba(109,138,171,.11); }.settings-row .field-label { margin: 0; }
.remove-button { height: 39px; width: 39px; border: 1px solid rgba(255,76,76,.3); background: rgba(255,76,76,.08); color: var(--red); border-radius: 8px; }
.settings-add { margin-top: 12px; }.checkbox-row { display: flex; align-items: center; gap: 9px; margin: 11px 0; color: #d6e0ea; font-size: 11px; }.checkbox-row input { accent-color: var(--blue); }
.reason-settings-list { display: grid; gap: 8px; }.reason-setting-row { display: grid; grid-template-columns: 15px 1fr 145px 80px 40px; gap: 8px; align-items: center; }.reason-setting-row input, .reason-setting-row select { height: 38px; padding: 0 9px; color: #fff; background: #0d1928; border: 1px solid var(--line); border-radius: 7px; }.reason-color { width: 13px; height: 13px; border-radius: 50%; }

.toast-stack { position: fixed; right: 18px; bottom: 18px; z-index: 150; display: grid; gap: 9px; }
.toast { min-width: 280px; max-width: 390px; display: grid; grid-template-columns: 29px 1fr 22px; gap: 9px; align-items: center; padding: 12px 13px; border: 1px solid #324b68; border-radius: 10px; background: #102036; box-shadow: 0 18px 50px rgba(0,0,0,.35); animation: toastIn .2s ease; pointer-events: none; }
.toast.success { border-color: rgba(41,221,99,.35); }.toast.warning { border-color: rgba(255,196,0,.4); }.toast strong { display: block; font-size: 11px; }.toast small { color: var(--muted); font-size: 9px; }.toast button { border: 0; background: transparent; font-size: 17px; color: var(--muted); pointer-events: auto; }
@keyframes toastIn { from { transform: translateX(20px); opacity: 0; } to { transform: none; opacity: 1; } }

@media (max-width: 1320px) {
  .topbar { grid-template-columns: minmax(150px, .7fr) minmax(320px, auto) auto auto; gap: 12px; padding-inline: 18px; }
  .user-copy { display: none; }
  .machine-grid { grid-template-columns: repeat(3, minmax(210px, 1fr)); }
  .middle-grid { grid-template-columns: 1.3fr 1fr; }.alerts-panel { grid-column: 1 / -1; min-height: auto; }
  .bottom-grid { grid-template-columns: 1.35fr 1fr; }
  .quick-actions { grid-template-columns: repeat(6, 1fr); }
  .quick-actions button { flex-direction: column; justify-content: center; text-align: center; }
}

@media (max-width: 1080px) {
  .topbar { grid-template-columns: minmax(150px, .7fr) minmax(300px, auto) auto; }
  .tenant-scope-pill { display: none; }
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }.output-card { grid-column: span 2; }
  .topbar-controls .select-control:first-child { display: none; }
  .machine-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .middle-grid, .bottom-grid { grid-template-columns: 1fr; }.alerts-panel, .quick-actions-panel { grid-column: auto; }
  .quick-actions { grid-template-columns: repeat(3, 1fr); }.quick-actions button { flex-direction: row; text-align: left; }
}

@media (max-width: 820px) {
  .sidebar { transform: translateX(-100%); box-shadow: 16px 0 50px rgba(0,0,0,.4); }
  .sidebar.mobile-open { transform: translateX(0); }
  .main-content, body.sidebar-collapsed .main-content { margin-left: 0; transition: none; }
  .topbar { height: auto; min-height: 73px; grid-template-columns: 1fr auto; padding: 11px 13px; }.mobile-menu { display: block; }.topbar-controls { grid-column: 1 / -1; order: 3; width: 100%; }.topbar-controls .select-control { flex: 1; }.topbar-controls .select-control:first-child { display: flex; }.select-control select { min-width: 0; width: 100%; }.date-control { flex: 1.2; }.date-control span { min-width: 0; flex: 1; }.topbar-user .avatar, .topbar-user > span { display: none; }
  .live-strip { padding-right: 14px; }
  .dashboard { padding-inline: 9px; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }.output-card { grid-column: span 2; }.kpi-card { min-height: 112px; padding: 14px; }.ring { --size: 61px; }.ring::before { inset: 11px; }
  .machine-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 5px; }.machine-card { min-width: 267px; scroll-snap-align: start; }
  .breakdown-content { grid-template-columns: 1fr; }.breakdown-list { grid-template-columns: 1fr 1fr; }
  .quick-actions { grid-template-columns: repeat(2, 1fr); }
  .timeline-axis { margin-left: 0; }.timeline-row { grid-template-columns: 40px 1fr; }
  .reason-grid { grid-template-columns: 1fr; }.form-grid { grid-template-columns: 1fr; }
  .settings-row { grid-template-columns: 1fr 1fr; }.settings-row .remove-button { grid-column: 2; justify-self: end; }.reason-setting-row { grid-template-columns: 15px 1fr 90px 38px; }.reason-setting-row select:nth-of-type(2) { display: none; }
}

@media (max-width: 470px) {
  .page-title-wrap h1 { font-size: 18px; }.page-title-wrap p { display: none; }
  .topbar-controls { flex-wrap: wrap; }.topbar-controls .select-control { min-width: calc(50% - 5px); }.date-control { min-width: 100%; }
  .kpi-grid { grid-template-columns: 1fr; }.output-card { grid-column: auto; }.kpi-card { min-height: 105px; }
  .quick-actions { grid-template-columns: 1fr 1fr; }.quick-actions button { padding-inline: 9px; }.action-icon { width: 25px; height: 25px; font-size: 12px; }
  .breakdown-list { grid-template-columns: 1fr; }
  .modal { padding: 22px 16px; }.modal h2 { font-size: 20px; }.toast { min-width: 0; width: calc(100vw - 32px); }
}


/* ClearRivet application shell */
.auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% -10%, rgba(45,147,255,.2), transparent 36%),
    radial-gradient(circle at 10% 90%, rgba(149,83,237,.11), transparent 30%),
    linear-gradient(145deg, #030a14, #071421 56%, #06101c);
}
.auth-grid-glow { position: absolute; inset: 0; opacity: .25; pointer-events: none; background-image: linear-gradient(rgba(61,111,165,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(61,111,165,.14) 1px, transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at center, #000, transparent 72%); }
.auth-card { width: min(520px, 100%); min-height: 680px; position: relative; z-index: 1; display: flex; flex-direction: column; padding: 38px 42px 24px; border: 1px solid #2b4059; border-radius: 20px; background: linear-gradient(165deg, rgba(11,27,45,.98), rgba(5,16,29,.98)); box-shadow: 0 35px 100px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.035); }
.auth-brand { display: flex; justify-content: center; align-items: center; gap: 14px; margin: 12px 0 50px; }
.brand-mark.large { width: 42px; height: 46px; transform: scale(1.35); transform-origin: center; }
.auth-brand-text { font-size: 26px; }
.auth-heading { text-align: center; margin-bottom: 28px; }
.auth-heading h1 { margin: 4px 0 8px; font-size: 30px; letter-spacing: -.7px; }
.auth-heading p { margin: 0; color: var(--muted); }
.auth-kicker { color: var(--blue) !important; text-transform: uppercase; font-size: 10px; font-weight: 900; letter-spacing: 1.2px; }
.auth-link{display:block;width:100%;margin-top:12px;background:none;border:0;color:#8fc4ff;font-size:12px;font-weight:600;cursor:pointer;padding:6px;text-align:center}
.auth-link:hover{text-decoration:underline}
.auth-hint{font-size:10px;color:#93a3b5;margin:-6px 0 2px}
.auth-demo-note.is-error{border-color:rgba(255,107,94,.45);background:rgba(255,107,94,.10);color:#ff9d92}
.auth-demo-note.is-success{border-color:rgba(98,227,60,.42);background:rgba(98,227,60,.09);color:#a4f088}
.auth-form { display: grid; gap: 18px; }
.auth-form label { display: grid; gap: 8px; color: #d7e1ed; font-size: 12px; font-weight: 700; }
.auth-form input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #30435b; border-radius: 9px; background: #0b192a; color: var(--text); }
.password-wrap { position: relative; }
.password-wrap button { position: absolute; right: 8px; top: 6px; width: 36px; height: 36px; border: 0; background: transparent; color: var(--muted); }
.auth-submit { width: 100%; min-height: 48px; margin-top: 4px; }
.auth-demo-note { margin-top: 20px; text-align: center; color: #728399; font-size: 11px; }
.auth-security-row { margin-top: auto; display: flex; justify-content: space-between; gap: 18px; padding-top: 20px; border-top: 1px solid var(--line-soft); color: #74859a; font-size: 10px; }
.site-card-list { display: grid; gap: 12px; }
.site-select-card { width: 100%; min-height: 91px; display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; padding: 15px; border: 1px solid #2a405b; border-radius: 11px; background: #0b1a2c; text-align: left; transition: .16s ease; }
.site-select-card:hover { border-color: var(--blue); transform: translateY(-2px); background: #10243a; }
.site-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--blue); background: rgba(45,147,255,.1); border: 1px solid rgba(45,147,255,.3); border-radius: 9px; font-size: 22px; }
.site-select-card strong { display: block; font-size: 14px; }
.site-select-card small { color: var(--muted); }
.site-meta { text-align: right; }
.site-meta b { display: block; color: var(--green); font-size: 10px; }
.site-meta span { color: var(--muted); font-size: 10px; }
.auth-back { margin-top: 18px; width: 100%; }

.user-menu-button { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0; text-align: left; }
.user-menu { position: absolute; right: 0; top: calc(100% + 10px); width: 145px; z-index: 60; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: #0d1928; box-shadow: var(--shadow); }
.user-menu button { width: 100%; padding: 10px; border: 0; border-radius: 6px; background: transparent; text-align: left; }
.user-menu button:hover { background: rgba(255,255,255,.05); }

.ring { flex: 0 0 var(--size); min-width: var(--size); aspect-ratio: 1 / 1; border-radius: 50%; }
.ring::after { width: calc(var(--size) - 18px); height: calc(var(--size) - 18px); }
.kpi-card { gap: 10px; }
.kpi-copy { min-width: 0; }
.kpi-compare { display: flex; align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 10px; }
.kpi-compare select { min-width: 112px; height: 27px; padding: 0 22px 0 8px; color: #dce5ef; background: #0b1727; border: 1px solid #273b54; border-radius: 6px; font-size: 10px; }
.machine-heading-actions { display: flex; align-items: center; gap: 10px; }
.compact-select { display: flex; align-items: center; gap: 8px; color: #b9c6d5; font-size: 11px; }
.compact-select select { height: 32px; min-width: 63px; padding: 0 24px 0 9px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: #0d1928; }
.machine-card { cursor: pointer; }
.machine-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--status), #31445b 65%); }
.machine-open-hint { display: inline-flex; margin-top: 8px; color: #7caad4; font-size: 9px; text-transform: uppercase; letter-spacing: .6px; }

.page-toolbar, .settings-page-header, .detail-title-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 4px 0 16px; }
.page-toolbar h2, .settings-page-header h2, .detail-title-row h2 { margin: 0; font-size: 24px; }
.page-toolbar p, .settings-page-header p { margin: 3px 0 0; color: var(--muted); }
.search-box { min-width: 260px; display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #0d1928; color: var(--muted); }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); }
.all-machines-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.all-machines-grid .machine-card { min-height: 275px; }

.detail-navigation { display:flex; align-items:center; gap:12px; margin:2px 0 12px; flex-wrap:wrap; }
.back-overview-button { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:9px 14px; border:1px solid rgba(78,205,255,.48); border-radius:9px; background:rgba(31,160,255,.12); color:#c9efff; font-weight:900; font-size:11px; letter-spacing:.01em; }
.back-overview-button:hover { background:rgba(31,160,255,.22); border-color:rgba(78,205,255,.78); transform:translateY(-1px); }
.back-overview-button .back-arrow { font-size:17px; line-height:1; }
.detail-breadcrumb { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 11px; }
.detail-breadcrumb button { border: 0; background: transparent; padding: 0; color: #78b7ee; }
.detail-title-row > div:first-child { display: flex; align-items: center; gap: 12px; }
.detail-status { padding: 7px 10px; border-radius: 7px; font-size: 10px; font-weight: 900; background: rgba(41,221,99,.12); color: var(--green); }
.detail-state-duration{font-size:15px;font-weight:900;letter-spacing:.02em;color:#fff;font-variant-numeric:tabular-nums;min-width:72px}.detail-state-duration[hidden]{display:none}.detail-validation-badge{padding:5px 8px;border:1px solid rgba(255,196,0,.45);border-radius:999px;background:rgba(255,196,0,.09);color:#ffd36b;font-size:9px;font-weight:800;cursor:pointer}.detail-validation-badge[hidden]{display:none}.ecm-setup-card{margin:0 0 16px;border:1px solid rgba(45,147,255,.35);background:linear-gradient(135deg,rgba(45,147,255,.09),rgba(31,214,152,.04))}.ecm-setup-card .panel-heading{align-items:flex-start}.ecm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.ecm-step{padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(255,255,255,.018)}.ecm-step b{display:block;color:#fff;margin-bottom:3px}.ecm-step small{color:var(--muted);line-height:1.35}.wifi-network-list{display:grid;gap:7px;max-height:240px;overflow:auto;margin:8px 0}.wifi-network-button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:#0b1727;color:#fff;border:1px solid #2a3e57;border-radius:8px;padding:10px 12px}.wifi-network-button.selected{border-color:#2d93ff;background:rgba(45,147,255,.12)}.wifi-network-button strong{display:block}.wifi-network-button small{display:block;margin-top:3px;color:var(--muted);font-size:8px;letter-spacing:.02em}.ecm-privacy{padding:10px;border:1px solid rgba(120,238,148,.25);background:rgba(120,238,148,.06);border-radius:8px;color:#bde8c8;font-size:10px}.ecm-device-status{padding:10px;border-radius:8px;background:rgba(255,255,255,.03);color:var(--muted);margin:8px 0}.ecm-diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0}.ecm-diag-card{border:1px solid var(--line-soft);border-radius:9px;padding:11px;background:rgba(255,255,255,.025)}.ecm-diag-card span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.ecm-diag-card strong{display:block;color:#fff;font-size:18px;margin:4px 0}.ecm-diag-card small{display:block;color:var(--muted);line-height:1.35}.ecm-diag-card.good{border-color:rgba(120,238,148,.35);background:rgba(120,238,148,.05)}.ecm-diag-card.review{border-color:rgba(255,196,0,.38);background:rgba(255,196,0,.05)}.ecm-diag-card.bad{border-color:rgba(255,76,76,.42);background:rgba(255,76,76,.05)}.ecm-test-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}.ecm-test-status{padding:8px 10px;border-radius:7px;background:rgba(255,255,255,.03);color:var(--muted);font-size:9px;line-height:1.4}.ecm-test-status.pass{color:#bde8c8;border:1px solid rgba(120,238,148,.25)}.ecm-test-status.review{color:#ffd36b;border:1px solid rgba(255,196,0,.25)}@media(max-width:760px){.ecm-diagnostic-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.ecm-diagnostic-grid{grid-template-columns:1fr}}@media(max-width:800px){.ecm-steps{grid-template-columns:1fr 1fr}}@media(max-width:500px){.ecm-steps{grid-template-columns:1fr}}
.detail-actions { display: flex; gap: 8px; }
.detail-bottom-actions { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 17px; }
.detail-bottom-actions div { display:flex; flex-direction:column; gap:3px; }
.detail-bottom-actions small { color:var(--muted); }
.machine-progress-label.simplified { justify-content:flex-end; margin-top:10px; }
.display-settings-intro { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.display-settings-intro h3 { margin:0 0 4px; }
.display-settings-intro p { margin:0; color:var(--muted); }
.visibility-options { display:grid; gap:8px; margin-top:14px; }
.visibility-option { display:flex; align-items:flex-start; gap:11px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:rgba(14,27,42,.72); cursor:pointer; }
.visibility-option:hover { border-color:#355471; }
.visibility-option input { margin-top:3px; accent-color:var(--blue); }
.visibility-option span { display:flex; flex-direction:column; gap:3px; }
.visibility-option small { color:var(--muted); line-height:1.35; }
.detail-kpi-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 10px; }
.detail-kpi-card { min-height: 126px; padding: 15px; display: grid; align-items: start; justify-items: center; text-align: center; }
.detail-kpi-card>div{width:100%;display:flex;flex-direction:column;align-items:center}
.machine-ring-content strong.setup-required{font-size:15px;line-height:1.05;max-width:68px;overflow-wrap:normal;word-break:normal}
.detail-kpi-card .machine-ring { --size: 82px; }
.detail-kpi-card .machine-ring-content strong { font-size: 22px; }
.detail-kpi-label { margin-top: 8px; color: #dbe5f0; font-size: 11px; font-weight: 800; }
.detail-rate-card { min-height: 126px; padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: center; }
.detail-rate-card div { display: grid; gap: 3px; }
.detail-rate-card span { color: var(--muted); font-size: 10px; }
.detail-rate-card strong { font-size: 16px; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.35fr); gap: 10px; }
.detail-grid > * { min-width: 0; }
.detail-current-card, .detail-progress-card, .detail-timeline-card, .detail-quality-card, .detail-events-card { padding: 17px; }
.detail-current-card h3 { margin: 0 0 5px; font-size: 13px; color: var(--muted); }
.detail-current-card strong { display: block; font-size: 25px; }
.detail-current-card p { color: var(--muted); margin: 5px 0; }
.detail-current-card small { color: #c4ced9; }
.detail-progress-card .progress { height: 13px; margin: 16px 0 18px; }
.detail-progress-head { display: flex; justify-content: space-between; align-items: center; }
.detail-progress-head strong { font-size: 23px; color: var(--green); }
.detail-stat-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.detail-stat-row span { display: block; color: var(--muted); font-size: 10px; }
.detail-stat-row strong { font-size: 17px; }
.detail-state-timeline { display: grid; gap: 10px; margin-top: 8px; }
.detail-state-row { display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: center; font-size: 10px; color: var(--muted); }
.detail-state-bar { height: 10px; overflow: hidden; display: flex; border-radius: 4px; background: #233246; }
.detail-quality-wrap { min-height: 180px; display: flex; align-items: center; justify-content: space-around; gap: 20px; }
.quality-ring { --size: 128px; width: var(--size); height: var(--size); position: relative; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) 0 98%, var(--red) 98% 100%); }
.quality-ring::after { content:""; position:absolute; width: 91px; height:91px; border-radius:50%; background:#0f1d2e; }
.quality-ring div { position:relative; z-index:1; display:grid; text-align:center; }
.quality-ring strong { font-size: 27px; }
.quality-ring span { color: var(--muted); font-size: 10px; }
.quality-legend { display: grid; gap: 12px; }
.quality-legend div { display: grid; grid-template-columns: 10px 1fr auto; gap: 8px; align-items:center; font-size: 11px; }
.quality-legend i { width:8px;height:8px;border-radius:50%; }
.detail-events-card { grid-column: 1 / -1; }
.table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--line-soft); border-radius: 9px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th { text-align: left; padding: 10px 12px; color: #8191a5; background: #0d1928; font-size: 9px; text-transform: uppercase; letter-spacing: .4px; }
.data-table td { padding: 11px 12px; border-top: 1px solid var(--line-soft); color: #d6dfeb; font-size: 11px; }
.data-table tbody tr:hover { background: rgba(45,147,255,.04); }
.table-edit { border: 0; color: #76b9f4; background: transparent; }

.settings-page-tabs { display: flex; gap: 4px; overflow: auto; padding-bottom: 1px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.settings-page-tabs button { padding: 12px 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #9aabbd; white-space: nowrap; }
.settings-page-tabs button.active { color: #fff; border-bottom-color: var(--blue); }
.settings-layout { display: grid; grid-template-columns: 1.45fr 1fr; gap: 12px; }
.settings-panel { padding: 18px; }
.settings-panel h3 { margin: 0 0 3px; }
.settings-panel > p { margin: 0 0 18px; color: var(--muted); }
.settings-table { display: grid; gap: 8px; }
.settings-table-head, .settings-table-row { display: grid; grid-template-columns: 1.2fr .8fr .8fr .55fr 36px; gap: 8px; align-items: center; }
.settings-table-head { padding: 0 8px; color: #78899d; font-size: 9px; text-transform: uppercase; }
.settings-table-row { min-height: 48px; padding: 6px 8px; border: 1px solid var(--line-soft); border-radius: 8px; background: #0d1a2b; }
.settings-table-row input, .settings-table-row select, .settings-form input, .settings-form select { width: 100%; height: 34px; padding: 0 9px; border: 1px solid #2a3e57; border-radius: 6px; background: #0b1727; color: var(--text); }
.status-pill { padding: 5px 8px; border-radius: 12px; background: rgba(41,221,99,.1); color: var(--green); font-size: 9px; text-align: center; }
.operator-outbox-status{padding:3px 7px;border:1px solid rgba(255,196,0,.45);border-radius:999px;color:#ffd36a;font-weight:800}
.settings-form { display: grid; gap: 12px; }
.settings-form label { display: grid; gap: 6px; color: #aab8c9; font-size: 10px; }
.settings-card-link { display: flex; justify-content: space-between; align-items: center; min-height: 67px; padding: 13px; border: 1px solid var(--line-soft); border-radius: 8px; background: #0d1a2b; }
.settings-card-link strong { display: block; }
.settings-card-link small { color: var(--muted); }
.brand-upload-box { min-height: 130px; display: grid; place-items: center; border: 1px dashed #3c516b; border-radius: 9px; background: #0b1727; text-align: center; color: var(--muted); }
.product-upload-zone { padding: 28px; border: 1px dashed #3a5069; border-radius: 10px; text-align: center; background: #0b1727; }
.product-upload-zone strong { display:block; font-size:15px; }
.product-upload-zone p { color:var(--muted); }
.product-table { margin-top: 16px; }

@media (max-width: 1250px) {
  .all-machines-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .detail-rate-card { grid-column: span 2; }
}
@media (max-width: 1000px) {
  .detail-grid, .settings-layout { grid-template-columns: 1fr; }
  .detail-events-card { grid-column: auto; }
  .topbar-user .user-copy { display:none; }
}
@media (max-width: 820px) {
  .auth-screen { padding: 0; }
  .auth-card { min-height: 100vh; width:100%; border:0; border-radius:0; padding: 30px 22px 20px; }
  .auth-security-row { flex-direction:column; }
  .machine-heading { align-items:flex-start; }
  .machine-heading-actions { flex-wrap:wrap; justify-content:flex-end; }
  .all-machines-grid { grid-template-columns: 1fr; }
  .detail-title-row, .page-toolbar, .settings-page-header { align-items:flex-start; flex-direction:column; }
  .detail-actions { width:100%; }
  .detail-actions button { flex:1; }
  .detail-bottom-actions, .display-settings-intro { align-items:stretch; flex-direction:column; }
  .detail-bottom-actions button { width:100%; }
  .detail-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-rate-card { grid-column: span 2; }
  .detail-stat-row { grid-template-columns:1fr; }
  .search-box { width:100%; min-width:0; }
  .settings-table-head { display:none; }
  .settings-table-row { grid-template-columns: 1fr 1fr; }
  .settings-table-row > :first-child { grid-column:1/-1; }
  .kpi-compare { flex-wrap:wrap; }
}
.detail-kpi-card .machine-ring { width: 82px; height: 82px; }
.detail-kpi-substat{margin-top:7px;color:var(--muted);font-size:10px;line-height:1.35;max-width:150px;text-align:center}
.machine-compare-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:9px;background:#0c1929}.machine-compare-strip>div strong{display:block;font-size:11px}.machine-compare-strip>div small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.machine-compare-strip label{display:flex;align-items:center;gap:8px;color:#8da1b6;font-size:9px;font-weight:800;text-transform:uppercase}.machine-compare-strip select{height:32px;min-width:150px;padding:0 26px 0 9px;border:1px solid #2a3e57;border-radius:6px;background:#0b1727;color:var(--text)}.operator-live-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border:1px solid rgba(41,221,99,.28);border-radius:9px;background:rgba(41,221,99,.06)}.operator-live-context .live-now{display:inline-flex;align-items:center;gap:6px;color:#5df18a;font-size:10px;font-weight:900;letter-spacing:.08em}.operator-live-context .live-now i{width:7px;height:7px;border-radius:50%;background:#29dd63;box-shadow:0 0 0 4px rgba(41,221,99,.12)}.operator-live-context strong{font-size:11px}.operator-live-context small{color:var(--muted);font-size:9px}.operator-live-context[hidden]{display:none!important}.detail-kpi-comparison{margin-top:5px;font-size:9px;font-weight:800}.detail-kpi-comparison.positive{color:#43df77}.detail-kpi-comparison.negative{color:#ff6961}.detail-kpi-comparison.neutral{color:#8da1b6}.settings-table--shifts .settings-table-head,.settings-table--shifts .settings-table-row{grid-template-columns:1.15fr .72fr .72fr .9fr .55fr 36px}@media(max-width:700px){.machine-compare-strip{align-items:flex-start;flex-direction:column}.machine-compare-strip label,.machine-compare-strip select{width:100%}.settings-table--shifts .settings-table-row{grid-template-columns:1fr 1fr}}

/* V3 workflow refinements */
.date-control button:disabled { opacity: .32; cursor: not-allowed; }
.downtime-machine-field { margin: 0 0 16px; padding: 12px; border: 1px solid rgba(45,147,255,.28); border-radius: 10px; background: rgba(45,147,255,.07); }
.downtime-machine-field[hidden] { display: none; }
/* V7 access, quality, export and input settings */
.access-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#0d1a2b;color:#b8c7d9;font-size:10px}.access-grid{display:grid;grid-template-columns:1fr 150px 1.2fr 1.2fr 72px;gap:8px;align-items:center}.access-row{padding:9px;border:1px solid var(--line-soft);border-radius:8px;background:#0d1a2b}.access-row input,.access-row select{width:100%;height:34px;padding:0 8px;border:1px solid #2a3e57;border-radius:6px;background:#0b1727;color:#fff}
.barcode-overlay{position:fixed;inset:0;z-index:9999;background:rgba(3,9,16,.94);display:flex;align-items:center;justify-content:center;padding:20px}.barcode-card{width:min(720px,96vw);background:#0b1727;border:1px solid #2a3e57;border-radius:14px;padding:16px}.barcode-video-wrap{position:relative;aspect-ratio:4/3;background:#02070d;border-radius:10px;overflow:hidden;margin:12px 0}.barcode-video-wrap video{width:100%;height:100%;object-fit:cover}.barcode-target{position:absolute;left:12%;right:12%;top:35%;height:30%;border:2px solid #6ebcff;border-radius:10px;box-shadow:0 0 0 9999px rgba(0,0,0,.2)}.barcode-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.barcode-card-head small{display:block;color:var(--muted);margin-top:3px}.barcode-scan-status{color:#b8c7d9;font-size:10px}
.operator-scope-note{display:flex;gap:10px;align-items:baseline;margin:8px 0 10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(45,147,255,.055)}.operator-scope-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#b9dbff;white-space:nowrap}.operator-scope-note span{font-size:9px;color:var(--muted)}
.user-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.user-admin-list{display:grid;gap:9px}.user-admin-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 140px minmax(170px,1fr) minmax(180px,1.1fr) 120px auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line-soft);border-radius:9px;background:#0d1a2b}.user-admin-row small{display:block;color:var(--muted);margin-top:3px}.user-admin-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.user-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#29dd63}.user-status-dot.off{background:#8190a3}.user-access-summary{font-size:9px;color:#b9c9db}.password-strength-note{font-size:9px;color:var(--muted);margin-top:5px}.readiness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.readiness-item{border:1px solid var(--line-soft);border-radius:8px;padding:9px;background:#0d1a2b}.readiness-item strong{display:block;font-size:10px}.readiness-item small{display:block;color:var(--muted);margin-top:4px}.readiness-item.pass{border-color:rgba(41,221,99,.35)}.readiness-item.review{border-color:rgba(255,196,0,.38)}.security-posture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:1050px){.user-admin-grid{grid-template-columns:1fr 1fr}.user-admin-row{grid-template-columns:1fr 1fr}.user-admin-actions{justify-content:flex-start}.readiness-grid,.security-posture-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.user-admin-grid,.readiness-grid,.security-posture-grid{grid-template-columns:1fr}.user-admin-row{grid-template-columns:1fr}}
.quality-history{margin-top:14px}.quality-history h3{margin:0 0 8px;font-size:13px}.quality-code-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,196,0,.12);color:#ffd44a;font-size:9px}.input-option{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px;border:1px solid var(--line-soft);border-radius:8px;background:#0d1a2b}.input-option small{display:block;color:var(--muted);margin-top:3px}.output-group-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:9px;align-items:center;margin-bottom:8px}.output-group-row input,.output-group-row select{height:36px;padding:0 9px;border:1px solid #2a3e57;border-radius:6px;background:#0b1727;color:#fff}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.machine-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:190px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px}.machine-check-grid label{display:flex;gap:7px;align-items:center;color:#d4dfeb;font-size:10px}.product-scan-row{display:grid;grid-template-columns:1fr auto;gap:8px}.role-note{padding:10px;border-left:3px solid var(--blue);background:rgba(45,147,255,.07);color:#b9c9db;font-size:10px}.hidden-by-access{display:none!important}@media(max-width:820px){.access-grid{grid-template-columns:1fr}.export-grid,.machine-check-grid{grid-template-columns:1fr}.output-group-row{grid-template-columns:1fr}}

.empty-table-cell { padding: 28px 16px !important; text-align: center; color: var(--muted); }


/* V4 workflow refinements */
.panel-subtext { margin: 3px 0 0; color: var(--muted); font-size: 9px; font-weight: 500; }
.locked-label { display: inline-flex; margin-left: 4px; padding: 2px 5px; border: 1px solid rgba(147,163,181,.3); border-radius: 999px; color: #aebbc8; font-size: 7px; text-transform: uppercase; letter-spacing: .5px; vertical-align: middle; }
.locked-duration-card { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; align-items: center; margin: 12px 0 18px; padding: 12px 14px; border: 1px solid rgba(147,163,181,.24); border-radius: 10px; background: rgba(147,163,181,.07); }
.locked-duration-card span { color: var(--muted); font-size: 10px; font-weight: 700; }
.locked-duration-card strong { grid-row: 1 / span 2; grid-column: 2; color: #edf6ff; font-size: 22px; font-variant-numeric: tabular-nums; }
.locked-duration-card small { color: #8798aa; font-size: 8px; }
.downtime-rebind-notice { margin: -8px 0 16px; padding: 10px 12px; border: 1px solid rgba(255,176,32,.42); border-radius: 8px; background: rgba(255,176,32,.10); color: #ffc760; font-size: 10px; line-height: 1.55; }
.plant-output-panel .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.period-switch { display: flex; flex-wrap: wrap; gap: 6px; }
.period-switch button { height: 30px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; background: #111e2f; color: #b8c6d7; font-size: 10px; cursor: pointer; }
.period-switch button.active { border-color: var(--blue); background: rgba(45,147,255,.17); color: #fff; }
.output-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-top: 16px; }
.output-tile { padding: 13px 14px; border: 1px solid var(--line-soft); border-radius: 9px; background: #0d1a2b; }
.output-tile span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.output-tile strong { display: block; margin: 6px 0 3px; color: #edf6ff; font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; }
.output-tile small { color: #8798aa; font-size: 9px; }
.output-tile.behind strong { color: #ff6b6b; }
.output-tile.ahead strong { color: #43df77; }
.output-bar { position: relative; height: 12px; margin-top: 18px; border-radius: 999px; background: rgba(147,163,181,.16); overflow: hidden; }
.output-bar-fill { height: 100%; border-radius: 999px; background: var(--blue); }
.output-bar-marker { position: absolute; top: -3px; width: 2px; height: 18px; border-radius: 1px; background: #ffb020; }
.output-bar-legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 10px; color: var(--muted); font-size: 9px; }
.output-bar-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 2px; vertical-align: middle; }
.output-bar-legend .swatch-made { background: var(--blue); }
.output-bar-legend .swatch-expected { background: #ffb020; }
.output-mixed-note { margin: 14px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.settings-warning { margin: 0 0 14px; padding: 11px 13px; border: 1px solid rgba(255,176,32,.42); border-radius: 8px; background: rgba(255,176,32,.09); color: #ffc760; font-size: 10px; line-height: 1.55; }
.settings-warning strong { color: #ffd98a; }
.targets-strip { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.targets-strip h4 { margin: 0; color: #edf6ff; font-size: 11px; }
.targets-strip p { margin: 3px 0 12px; color: var(--muted); font-size: 9px; }
.settings-form--targets { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
@media (max-width: 700px) { .settings-form--targets { grid-template-columns: 1fr; } }
.plant-oee-panel .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.plant-oee-value { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; }
.plant-oee-value.good { color: #43df77; }
.plant-oee-value.low { color: #ffb020; }
.plant-oee-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: 10px; }
.plant-oee-table th[scope="col"] { padding: 0 12px 8px 0; border-bottom: 1px solid rgba(147,163,181,.22); color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-align: left; }
.plant-oee-table th[scope="col"]:last-child, .plant-oee-table .plant-oee-component { text-align: right; }
.plant-oee-table td, .plant-oee-table th[scope="row"] { padding: 11px 12px 11px 0; border-bottom: 1px solid rgba(147,163,181,.12); color: #b9c7d6; text-align: left; }
.plant-oee-table th[scope="row"] { color: #edf6ff; font-weight: 700; }
.plant-oee-formula em { color: #dce8f5; font-style: italic; }
.plant-oee-component { color: #edf6ff; font-size: 12px; font-variant-numeric: tabular-nums; }
.plant-oee-note { margin-top: 12px; padding: 10px 12px; border-left: 2px solid rgba(45,147,255,.55); border-radius: 0 6px 6px 0; background: rgba(45,147,255,.06); color: #a9b9c9; font-size: 9px; line-height: 1.6; }
.plant-oee-note strong { color: #edf6ff; }
.completion-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.completion-head strong { display: block; color: #edf6ff; font-size: 12px; }
.completion-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.completion-score-value { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.completion-score-value.good { color: #43df77; }
.completion-score-value.review { color: #ffb020; }
.completion-score-value.low { color: #ff6b6b; }
.completion-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.completion-table th[scope="col"] { padding: 0 10px 8px 0; border-bottom: 1px solid rgba(147,163,181,.22); color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-align: left; }
.completion-table td, .completion-table th[scope="row"] { padding: 10px 10px 10px 0; border-bottom: 1px solid rgba(147,163,181,.12); color: #dce8f5; text-align: left; }
.completion-table th[scope="row"] { color: #edf6ff; font-weight: 700; }
.completion-row { cursor: pointer; transition: background .12s ease; }
.completion-row:hover, .completion-row:focus-visible { background: rgba(45,147,255,.10); outline: none; }
.completion-flag { display: inline-block; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.completion-flag.bad { border: 1px solid rgba(255,107,107,.45); background: rgba(255,107,107,.14); color: #ff8b8b; }
.completion-flag.warn { border: 1px solid rgba(255,176,32,.45); background: rgba(255,176,32,.14); color: #ffc760; }
.completion-none { color: #55636f; }
.completion-footnote { display: block; margin-top: 12px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.completion-clear { margin: 0; padding: 12px 0 4px; color: #43df77; font-size: 10px; }
.comparison-intro { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.comparison-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.comparison-table th[scope="col"] { padding: 0 10px 8px 0; border-bottom: 1px solid rgba(147,163,181,.22); color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-align: left; }
.comparison-table th[scope="col"]:last-child, .comparison-table .comparison-change { text-align: right; }
.comparison-table td, .comparison-table th[scope="row"] { padding: 11px 10px 11px 0; border-bottom: 1px solid rgba(147,163,181,.12); text-align: left; vertical-align: top; }
.comparison-table th[scope="row"] strong { display: block; color: #edf6ff; font-size: 11px; }
.comparison-table th[scope="row"] small, .comparison-table .comparison-window-note { display: block; color: var(--muted); font-size: 9px; font-weight: 500; }
.comparison-window-label { display: block; color: #dce8f5; }
.comparison-table td small { display: block; color: #8798aa; font-size: 9px; }
.comparison-table .comparison-window-note { color: #ffc760; }
.comparison-change strong { font-size: 12px; }
.comparison-change.positive strong { color: #43df77; }
.comparison-change.negative strong { color: #ff6b6b; }
.comparison-note { margin: 10px 0 0; padding: 8px 10px; border-left: 2px solid rgba(255,176,32,.5); color: #b9a271; font-size: 9px; line-height: 1.5; }
.schedule-modal { width: min(820px, 100%); }
.schedule-intro { margin: 0 0 16px; padding: 10px 12px; border-left: 3px solid var(--blue); border-radius: 5px; color: #aebccc; background: rgba(45,147,255,.07); font-size: 10px; line-height: 1.5; }
.schedule-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.schedule-list-heading { display: flex; justify-content: space-between; align-items: end; margin: 18px 0 8px; }
.schedule-list-heading h3 { margin: 0; font-size: 13px; }
.schedule-list-heading p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.schedule-list { display: grid; gap: 7px; max-height: 230px; overflow: auto; padding-right: 2px; }
.schedule-row { display: grid; grid-template-columns: 1.1fr 1.3fr auto; align-items: center; gap: 12px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.025); }
.schedule-row.editing { border-color: rgba(45,147,255,.7); background: rgba(45,147,255,.08); }
.schedule-row > div { display: grid; gap: 2px; }
.schedule-row strong { font-size: 10px; }
.schedule-row span, .schedule-row small { color: var(--muted); font-size: 8px; }
.schedule-row-actions { display: flex !important; grid-auto-flow: column; gap: 6px !important; }
.schedule-row-actions button { border: 1px solid rgba(45,147,255,.35); border-radius: 6px; padding: 6px 9px; color: #75baff; background: rgba(45,147,255,.08); font-size: 8px; }
.schedule-row-actions .remove-schedule { border-color: rgba(255,76,76,.28); color: #ff8d88; background: rgba(255,76,76,.06); }
.empty-schedule { padding: 18px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); text-align: center; font-size: 9px; }
@media (max-width: 640px) {
  .schedule-form-grid { grid-template-columns: 1fr; }
  .schedule-row { grid-template-columns: 1fr; }
  .schedule-row-actions { justify-content: start; }
  .locked-duration-card { grid-template-columns: 1fr; }
  .locked-duration-card strong { grid-row: auto; grid-column: auto; }
}




/* V8.9 professional data-health and traceability layer */
.manager-data-quality { display:block; margin-top:4px; padding:0; border:0; background:transparent; color:#8fb6d9; font:inherit; font-size:10px; text-align:left; cursor:pointer; text-decoration:underline; text-decoration-color:rgba(143,182,217,.35); text-underline-offset:2px; }
.manager-data-quality:hover { color:#d8ecff; }
.system-page-toolbar { align-items:flex-end; gap:18px; }
.system-health-badge { padding:8px 12px; border-radius:999px; font-size:10px; font-weight:800; border:1px solid rgba(147,163,181,.25); color:#c8d5e3; background:rgba(147,163,181,.08); white-space:nowrap; }
.system-health-badge.healthy { color:#6be88a; border-color:rgba(41,221,99,.28); background:rgba(41,221,99,.08); }
.system-health-badge.attention { color:#ffd05b; border-color:rgba(255,196,0,.28); background:rgba(255,196,0,.08); }
.system-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0; }
.system-metrics .metric-card { min-height:96px; padding:14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); }
.system-metrics .metric-card span { color:#91a5b9; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.system-metrics .metric-card .viz-stat-value { display:block; margin-top:5px; font-size:24px; color:#e8f2fb; }
.system-metrics .metric-card small { display:block; color:#7f93a8; margin-top:5px; font-size:8px; line-height:1.4; }
.connection-panel,.audit-panel { margin-top:12px; }
.connection-guidance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
.connection-guide { padding:16px; }
.connection-guide h3 { margin:7px 0 8px; font-size:12px; }
.connection-guide p,.connection-guide li { color:#93a7ba; font-size:9px; line-height:1.55; }
.connection-guide ul { margin:9px 0 0; padding-left:17px; }
.ecm-input-filter-list{display:grid;gap:10px;margin-top:12px}.ecm-input-filter-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.7fr) minmax(220px,1.5fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #203449;border-radius:12px;background:#0d1722}.ecm-input-filter-row strong{display:block}.ecm-input-filter-row small{display:block;color:#8fa4b8;margin-top:4px;line-height:1.45}.ecm-input-filter-row label{font-size:10px;color:#9fb2c5}.ecm-input-filter-row input{width:100%;margin-top:6px}.ecm-filter-guidance{font-size:9px;color:#8fa4b8;line-height:1.55}.ecm-filter-guidance b{color:#d8e5ef}@media(max-width:900px){.ecm-input-filter-row{grid-template-columns:1fr 1fr}.ecm-filter-guidance{grid-column:1/-1}}
.guide-kicker { color:#65b5ff; font-size:8px; font-weight:900; letter-spacing:.08em; }
.connection-state { display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:9px; }
.connection-state i { width:7px; height:7px; border-radius:50%; background:#93a3b5; box-shadow:0 0 0 3px rgba(147,163,181,.08); }
.connection-state.healthy { color:#65df83; }.connection-state.healthy i{background:#29dd63;}
.connection-state.attention { color:#ffd05b; }.connection-state.attention i{background:#ffc400;}
.connection-state.planned { color:#9fb1c3; }
.protocol-chip,.audit-type,.confidence { display:inline-flex; padding:3px 6px; border-radius:6px; background:rgba(45,147,255,.09); color:#a9d4ff; border:1px solid rgba(45,147,255,.16); font-size:8px; font-weight:800; }
.confidence.good { color:#76e690; background:rgba(41,221,99,.07); border-color:rgba(41,221,99,.16); }
.confidence.warn { color:#ffd05b; background:rgba(255,196,0,.07); border-color:rgba(255,196,0,.16); }
.table-subline { display:block; color:#71879c; margin-top:3px; font-size:8px; }
.audit-filters { display:flex; gap:8px; flex-wrap:wrap; }
.audit-table td { vertical-align:top; }
@media (max-width: 1000px) { .system-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.connection-guidance-grid{grid-template-columns:1fr;} }
@media (max-width: 620px) { .system-metrics{grid-template-columns:1fr 1fr;}.system-page-toolbar{align-items:stretch;}.system-health-badge{white-space:normal;}.audit-filters{width:100%;}.audit-filters label{flex:1;min-width:140px;} }


.operator-language-switch{display:flex;align-items:center;gap:7px;margin-left:auto;padding:6px 7px;border:1px solid var(--line-soft);border-radius:9px;background:rgba(255,255,255,.025)}.operator-language-switch>span{font-size:15px}.operator-language-switch select{height:32px;min-width:190px;padding:0 28px 0 9px;border:1px solid #2a3e57;border-radius:6px;background:#0b1727;color:var(--text);font-weight:800}.operator-language-switch button{height:32px;padding:0 11px;border:1px solid rgba(45,147,255,.55);border-radius:6px;background:rgba(45,147,255,.09);color:#9ed0ff;font-weight:900}.operator-language-switch button:hover{background:rgba(45,147,255,.16)}#machineDetailView[dir="rtl"] .operator-language-switch{margin-left:0;margin-right:auto}#machineDetailView[dir="rtl"] .operator-input-note,#machineDetailView[dir="rtl"] .operator-action-copy,#machineDetailView[dir="rtl"] .panel-heading{text-align:right}@media(max-width:700px){.detail-title-row{gap:10px;flex-wrap:wrap}.operator-language-switch{width:100%;margin-left:0}.operator-language-switch select{flex:1;min-width:0}}

/* V8 manager go-to-market dashboard and operator production job */
.manager-context-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:13px 16px;border:1px solid rgba(45,147,255,.22);border-radius:10px;background:linear-gradient(100deg,rgba(45,147,255,.12),rgba(21,35,54,.92) 58%,rgba(41,221,99,.05));}
.manager-context-strip strong{display:block;font-size:14px}.manager-context-strip span,.manager-context-strip small{color:var(--muted);font-size:10px}.manager-context-strip .context-live{display:flex;align-items:center;gap:8px;color:#bff7ce;font-weight:800;white-space:nowrap}.manager-context-strip .context-live i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(41,221,99,.75)}

/* v9.7.3 go-to-market execution + verified-history hardening */
.clearrivet-ai-panel{margin:10px 0;padding:16px;border:1px solid rgba(45,147,255,.34);background:linear-gradient(145deg,rgba(13,32,52,.98),rgba(8,20,34,.98));box-shadow:var(--shadow)}
.ai-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ai-head h2{margin:0;font-size:14px}.ai-head p{margin:4px 0 0;color:var(--muted);font-size:10px;max-width:760px}.ai-badge{padding:5px 8px;border:1px solid rgba(41,221,99,.28);border-radius:999px;background:rgba(41,221,99,.08);color:#7fee9d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap}
.ai-prompt-row{display:flex;gap:8px;margin-top:12px}.ai-prompt-row input{flex:1;height:42px;padding:0 12px;border:1px solid #2a3e57;border-radius:8px;background:#081522;color:#f5f8fb;font-size:12px}.ai-prompt-row input:focus{outline:2px solid rgba(45,147,255,.35);border-color:#2d93ff}.ai-prompt-row button{min-width:112px}.ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.ai-suggestion{border:1px solid #2a4059;background:#0b1b2d;color:#a9c8e7;border-radius:999px;padding:6px 9px;font-size:9px;cursor:pointer}.ai-suggestion:hover{border-color:#2d93ff;color:#fff}.ai-answer{margin-top:12px;padding:12px 13px;border-left:3px solid #2d93ff;border-radius:6px;background:rgba(45,147,255,.07);color:#d8e7f4;font-size:11px;line-height:1.55;white-space:pre-wrap}.ai-answer strong{color:#fff}.ai-answer small{display:block;margin-top:8px;color:#7f96ad;font-size:8px}.ai-answer.loading{color:#9fb4c8}.ai-readonly{color:#7890a7;font-size:8px;margin-top:8px;display:block}.demo-banner+.demo-watermark{}
@media(max-width:700px){.ai-head{flex-direction:column}.ai-prompt-row{flex-direction:column}.ai-prompt-row button{width:100%}}

.manager-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.manager-status-card{width:100%;min-height:86px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(15,31,50,.98),rgba(9,22,37,.98));color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,background .16s ease}.manager-status-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--status-color) 58%,#314966);background:linear-gradient(160deg,rgba(19,39,62,.99),rgba(10,25,42,.99))}.manager-status-card:focus-visible{outline:2px solid var(--status-color);outline-offset:2px}.manager-status-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.manager-status-card strong{display:block;margin-top:4px;font-size:26px}.manager-status-card small{display:block;margin-top:2px;color:#a9b8c9;font-size:9px}.manager-status-card .manager-card-hint{margin-top:7px;color:#78b7ee;font-size:8px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}.manager-status-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--status-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--status-color) 30%,transparent);color:var(--status-color);font-size:18px;font-weight:900}
.manager-loss-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:10px}.manager-loss-panel,.manager-reason-panel{padding:14px}.manager-loss-table{width:100%;border-collapse:collapse;margin-top:8px}.manager-loss-table th{text-align:left;color:#7f91a6;font-size:9px;text-transform:uppercase;padding:8px;border-bottom:1px solid var(--line)}.manager-loss-table td{padding:10px 8px;border-bottom:1px solid var(--line-soft);font-size:10px;vertical-align:middle}.manager-loss-table tbody tr:last-child td{border-bottom:0}.manager-loss-machine{display:flex;align-items:center;gap:7px;font-weight:800}.manager-loss-machine i{width:7px;height:7px;border-radius:50%;background:var(--loss-color)}.manager-loss-reason strong{display:block;font-size:11px}.manager-loss-reason small{display:block;color:var(--muted);margin-top:2px}.manager-open-button{height:28px;padding:0 9px;border:1px solid #315377;border-radius:6px;background:#10243a;color:#8bc7ff;font-size:9px;font-weight:800}.manager-open-button:hover{border-color:var(--blue);background:#15304d}.manager-empty{padding:26px;text-align:center;color:var(--muted)}
.manager-reason-list{display:grid;gap:9px;margin-top:10px}.manager-reason-row{width:100%;padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:#0d1929;color:var(--text);text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.manager-reason-row:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--reason-color) 58%,#314966);background:#102039}.manager-reason-row:focus-visible{outline:2px solid var(--reason-color);outline-offset:2px}.manager-reason-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.manager-reason-name{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.manager-reason-name i{width:8px;height:8px;border-radius:50%;background:var(--reason-color)}.manager-reason-top strong{font-size:12px}.manager-reason-machines{margin:5px 0 7px;color:#9fb0c3;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-reason-track{height:5px;border-radius:999px;background:#243449;overflow:hidden}.manager-reason-track i{display:block;height:100%;border-radius:999px;background:var(--reason-color)}
.manager-drilldown-modal{width:min(760px,100%)}
.manager-drilldown-intro{margin:0 0 16px;color:var(--muted);line-height:1.55}
.manager-machine-list{display:grid;gap:9px;margin-top:14px}
.manager-machine-row{width:100%;display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(150px,1fr) 82px 96px;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#0b192a;color:var(--text);text-align:left;cursor:pointer;transition:.15s ease}
.manager-machine-row:hover{transform:translateX(2px);border-color:#3d6b96;background:#10233a}.manager-machine-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.manager-machine-main{display:flex;align-items:center;gap:9px}.manager-machine-main i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--machine-color)}.manager-machine-main strong,.manager-machine-state strong{display:block;font-size:12px}.manager-machine-main small,.manager-machine-state small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.manager-machine-metric span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.manager-machine-metric strong{display:block;margin-top:3px;font-size:13px}.manager-machine-open{justify-self:end;color:#8bc7ff;font-size:9px;font-weight:900;text-transform:uppercase}
.reason-pareto-summary{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:9px;background:rgba(255,255,255,.025);color:#b8c6d6;font-size:10px}.reason-pareto-summary strong{color:var(--text)}
.reason-pareto-list{display:grid;gap:10px}.reason-pareto-row{width:100%;display:grid;grid-template-columns:120px minmax(170px,1fr) 92px;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0b192a;color:var(--text);text-align:left;cursor:pointer;transition:.15s ease}.reason-pareto-row:hover{transform:translateX(2px);border-color:var(--pareto-color);background:#10233a}.reason-pareto-row:focus-visible{outline:2px solid var(--pareto-color);outline-offset:2px}.reason-pareto-machine strong{display:block;font-size:12px}.reason-pareto-machine small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.reason-pareto-track{height:18px;position:relative;overflow:hidden;border-radius:5px;background:#213248}.reason-pareto-track i{display:block;height:100%;min-width:4px;border-radius:5px;background:var(--pareto-color)}.reason-pareto-track span{position:absolute;inset:0;display:flex;align-items:center;padding:0 7px;color:#f3f8fc;font-size:8px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.65)}.reason-pareto-value{text-align:right}.reason-pareto-value strong{display:block;font-size:12px}.reason-pareto-value small{display:block;margin-top:3px;color:#8bc7ff;font-size:8px;font-weight:900;text-transform:uppercase}
.overview-export-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 0;padding:15px 17px}.overview-export-footer h2{margin:0 0 4px;font-size:14px}.overview-export-footer p{margin:0;color:var(--muted);font-size:10px}.overview-export-footer button{min-width:110px}.export-format-note{margin-top:7px;color:#8fa2b7;font-size:9px;line-height:1.45}

/* V8.8 manager performance trend */
.manager-trend-panel{margin-top:10px;padding:14px 16px 12px}.manager-trend-heading{align-items:flex-start}.manager-trend-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.manager-trend-controls label{display:grid;gap:4px;color:#8295aa;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}.manager-trend-controls select{height:31px;min-width:120px;padding:0 28px 0 9px;border:1px solid var(--line);border-radius:6px;background:#0b192a;color:var(--text);font-size:9px}.manager-trend-controls label:nth-child(2) select{min-width:140px}.manager-trend-chart{height:250px;margin-top:8px}.manager-trend-chart svg{display:block;width:100%;height:100%;overflow:visible}.trend-grid{stroke:#213248;stroke-width:1}.trend-axis-label{fill:#7e91a7;font-size:9px}.trend-line{fill:none;stroke:#2d93ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-area{fill:url(#trendAreaGradient);opacity:.28}.trend-point{fill:#0b192a;stroke:#65b5ff;stroke-width:2}.trend-point-current{fill:#2d93ff;stroke:#b8ddff;stroke-width:2.5}.trend-reference{stroke:#ffc400;stroke-width:1.5;stroke-dasharray:5 5;opacity:.8}.trend-reference-label{fill:#d4ad38;font-size:8px}.manager-trend-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:5px}.trend-stat{padding:9px 10px;border:1px solid var(--line-soft);border-radius:8px;background:#0c1929}.trend-stat span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:800}.trend-stat strong{display:block;margin-top:3px;font-size:14px}.trend-stat small{display:block;margin-top:2px;color:#91a4b8;font-size:8px}.trend-stat .positive{color:#43df77}.trend-stat .negative{color:#ff6961}.manager-data-quality{display:block;margin-top:3px!important;color:#8da1b6!important;font-size:8px!important;text-align:right}.context-live>div{display:grid}.manager-context-strip .context-live.historical i{background:#8497aa;box-shadow:none}.manager-context-strip .context-live.historical .manager-data-quality{color:#8497aa!important}
@media(max-width:820px){.manager-trend-heading{flex-direction:column;gap:10px}.manager-trend-controls{width:100%;justify-content:flex-start}.manager-trend-controls label{flex:1 1 130px}.manager-trend-controls select{width:100%;min-width:0}.manager-trend-summary{grid-template-columns:1fr 1fr}.manager-data-quality{text-align:left}}
@media(max-width:520px){.manager-trend-summary{grid-template-columns:1fr}.manager-trend-chart{height:220px}}

@media(max-width:700px){.manager-machine-row{grid-template-columns:1fr 76px}.manager-machine-state{grid-column:1/2}.manager-machine-open{grid-column:2;grid-row:1/3}.reason-pareto-row{grid-template-columns:90px 1fr}.reason-pareto-value{grid-column:2}.overview-export-footer{align-items:flex-start;flex-direction:column}.overview-export-footer button{width:100%}}

.manager-loss-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.loss-filter-control{display:flex;align-items:center;gap:6px;color:#9eb0c4;font-size:9px;white-space:nowrap}.loss-filter-control input{width:58px;height:29px;padding:0 8px;border:1px solid #30465e;border-radius:6px;background:#0c1928;color:#f0f6fc;font-weight:800;text-align:center}.period-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #2b4867;border-radius:999px;background:#0c1c2f;color:#9bc9f5;font-size:9px;font-weight:800}.manager-loss-table tr.filtered-highlight td{background:rgba(45,147,255,.035)}
.context-live.historical i,#periodStatus.historical i{background:#2d93ff;box-shadow:0 0 10px rgba(45,147,255,.55)}
#periodStatus.historical{color:#9bc9f5}
.breakdown-total-number{font-size:27px!important}.reason-bar-row{grid-template-columns:minmax(90px,1fr) 1.5fr auto}.reason-bar-row>span small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.production-job-card{grid-column:1/-1;padding:16px}.production-job-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.production-job-head h3{margin:0;font-size:14px}.production-job-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.production-job-badge{padding:5px 8px;border:1px solid rgba(45,147,255,.35);border-radius:999px;background:rgba(45,147,255,.1);color:#8ec9ff;font-size:9px;font-weight:800;white-space:nowrap}.production-job-form{display:grid;grid-template-columns:1.15fr 1fr .65fr auto;gap:9px;align-items:end}.production-job-form label{display:grid;gap:5px;color:#8799ae;font-size:9px;text-transform:uppercase;font-weight:800}.production-job-form input,.production-job-form select{width:100%;height:39px;padding:0 10px;border:1px solid #2a3e57;border-radius:7px;background:#0b1727;color:#fff;font-size:11px}.production-job-form button{height:39px;min-width:110px}.production-job-meta{margin-top:9px;color:#8496aa;font-size:9px}.production-job-meta strong{color:#c8d6e6}
.machine-open-hint{opacity:.78}.manager-overview .machine-card{min-height:218px}.manager-overview .machine-grid{grid-template-columns:repeat(5,minmax(190px,1fr))}
@media(max-width:1180px){.manager-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-loss-grid{grid-template-columns:1fr}.manager-overview .machine-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}.production-job-form{grid-template-columns:1fr 1fr}.production-job-form button{width:100%}}
@media(max-width:820px){.manager-context-strip{align-items:flex-start;flex-direction:column}.manager-status-grid{grid-template-columns:1fr 1fr}.manager-overview .machine-grid{display:flex}.manager-loss-table{min-width:670px}.manager-loss-panel{overflow:auto}.production-job-form{grid-template-columns:1fr}.production-job-head{flex-direction:column}.production-job-form button{min-width:0}}
@media(max-width:470px){.manager-status-grid{grid-template-columns:1fr}.manager-status-card{min-height:76px}}


/* v9.2 restored Production Foundation v0.7.3 operator screen */
.detail-timeline-card,.detail-events-card,.detail-downtime-pareto-card{grid-column:1 / -1!important}
.detail-downtime-pareto-card{padding:17px}
.event-log-heading{align-items:flex-start;gap:14px}.event-log-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.event-log-action-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.event-filter-group{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.event-filter-chip{border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--muted);border-radius:999px;padding:7px 11px;font-weight:700;cursor:pointer}.event-filter-chip[aria-pressed="true"]{border-color:var(--accent);background:rgba(45,147,255,.16);color:var(--text)}.event-filter-chip:hover{border-color:var(--accent)}.history-limit-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.history-limit-control select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 9px}.event-type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.event-type-badge.runtime{background:rgba(41,221,99,.14);color:#61ef86}.event-type-badge.downtime{background:rgba(255,76,76,.14);color:#ff7777}.event-type-badge.product{background:rgba(45,147,255,.16);color:#70b7ff}.event-type-badge.quality{background:rgba(255,196,0,.14);color:#ffd84d}.event-type-badge.help{background:rgba(149,83,237,.17);color:#bd87ff}.event-type-badge.check{background:rgba(67,223,119,.14);color:#7af19e}.event-type-badge.comment{background:rgba(91,194,217,.15);color:#83d9eb}.event-type-badge.handover{background:rgba(91,194,217,.15);color:#83d9eb}.event-log-details{min-width:220px}.event-log-details strong{display:block}.event-log-details small{display:block;color:var(--muted);margin-top:3px}.event-production-value,.event-speed-value{white-space:nowrap}.event-production-value strong,.event-speed-value strong{display:block}.event-production-value small,.event-speed-value small{display:block;color:var(--muted);margin-top:2px}.event-log-empty-filter{padding:24px;text-align:center;color:var(--muted)}
.order-shift-divider{margin:16px 0 11px;border-top:1px solid var(--line-soft);padding-top:11px}.order-shift-divider strong{display:block;font-size:11px}.order-shift-divider small{display:block;color:var(--muted);margin-top:3px}.shift-total-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.shift-total-grid>div{border:1px solid var(--line-soft);border-radius:9px;padding:10px;background:rgba(255,255,255,.025)}.shift-total-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.shift-total-grid strong{display:block;margin-top:4px;font-size:14px}.order-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.order-live-summary>div{border:1px solid var(--line-soft);border-radius:9px;padding:10px;background:rgba(255,255,255,.025)}.order-live-summary span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.order-live-summary strong{display:block;margin-top:4px;font-size:14px}.operator-restored-note{color:var(--muted);font-size:10px;margin-top:8px}
@media(max-width:700px){.event-log-controls{justify-content:flex-start}.shift-total-grid,.order-live-summary{grid-template-columns:1fr 1fr}.event-log-table{min-width:980px}}


/* ClearRivet customer-facing brand */
.clearrivet-auth-brand{display:flex!important;flex-direction:column;gap:2px!important;margin:0 0 38px!important}
.clearrivet-logo-image{background-image:url('/static/assets/clearrivet-logo.png');background-repeat:no-repeat;background-position:center;background-size:205% auto;border-radius:10px}
.clearrivet-logo-auth{width:360px;max-width:88vw;height:92px}
.clearrivet-tagline{margin-top:-5px;color:#a9b7c7;font-size:11px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase}
.clearrivet-brand-row{padding:16px 14px 10px!important}
.clearrivet-logo-sidebar{width:205px;height:54px;background-size:215% auto;background-position:center}
.sidebar.collapsed .clearrivet-logo-sidebar{width:42px;height:42px;background-size:900% auto;background-position:33% 50%;border-radius:50%}
@media(max-width:620px){.clearrivet-logo-auth{width:290px;height:78px}.clearrivet-logo-sidebar{width:190px}}

/* v9.6.4 restored operator action workflow */
.operator-input-card{grid-column:1/-1!important;padding:17px}.operator-input-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.operator-input-head h3{margin:0;font-size:15px}.operator-input-head p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.operator-input-current{display:grid;grid-template-columns:1fr;gap:14px}.operator-input-note{display:grid;gap:8px}.operator-input-note textarea{min-height:112px;resize:vertical}.operator-input-note-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.operator-input-note-actions small{color:var(--muted);max-width:520px}.operator-input-summary{border:1px solid var(--line-soft);border-radius:10px;padding:12px;background:rgba(255,255,255,.02)}.operator-input-summary h4{margin:0;font-size:12px}.operator-input-summary>p{margin:4px 0 10px;color:var(--muted);font-size:10px}.operator-input-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operator-input-metrics>div,.operator-input-mini>div{border:1px solid var(--line-soft);border-radius:8px;padding:9px;background:rgba(255,255,255,.022)}.operator-input-metrics span,.operator-input-mini span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:800}.operator-input-metrics strong,.operator-input-mini strong{display:block;margin-top:4px;font-size:13px}.operator-input-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.operator-input-list{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operator-input-list>div{border-top:1px solid var(--line-soft);padding-top:8px;min-width:0}.operator-input-list strong{display:block;font-size:9px;text-transform:uppercase;color:#a9bbcf}.operator-input-list small{display:block;color:var(--muted);margin-top:4px;line-height:1.4;overflow-wrap:anywhere}.operator-input-previous-note{margin-top:10px;border-left:3px solid var(--accent);padding:8px 10px;background:rgba(45,147,255,.06);border-radius:0 8px 8px 0}.operator-input-previous-note span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.operator-input-previous-note p{margin:4px 0 0;font-size:11px;white-space:pre-wrap}.operator-input-empty{color:var(--muted);font-size:10px;padding:12px;border:1px dashed var(--line-soft);border-radius:9px}.help-routing-status{font-size:9px;color:var(--muted)}@media(max-width:900px){.operator-input-current{grid-template-columns:1fr}.operator-input-list{grid-template-columns:1fr 1fr}}@media(max-width:600px){.operator-input-metrics,.operator-input-mini,.operator-input-list{grid-template-columns:1fr 1fr}.operator-input-head{flex-direction:column}}
.operator-action-strip{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(220px,1fr);gap:12px;margin:14px 0}.operator-action-panel{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.operator-action-copy span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.operator-action-copy strong{display:block;margin-top:4px;font-size:18px}.operator-action-copy small{display:block;color:var(--muted);margin-top:4px}.operator-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.operator-action-buttons button{white-space:nowrap}.operator-open-warning strong{color:#ff8f84}.operator-open-clear strong{color:#78ee94}.operator-help-panel strong{font-size:14px}.open-downtime-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;flex-wrap:wrap}.open-downtime-list{display:grid;gap:8px;max-height:48vh;overflow:auto}.open-downtime-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--line-soft);border-radius:9px;padding:10px;background:rgba(255,255,255,.025)}.open-downtime-row input{width:17px;height:17px}.open-downtime-row strong{display:block}.open-downtime-row small{display:block;color:var(--muted);margin-top:2px}.open-downtime-duration{font-weight:800;white-space:nowrap}.open-downtime-row button{white-space:nowrap}.open-downtime-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);flex-wrap:wrap}.bulk-downtime-note{font-size:10px;color:var(--muted);line-height:1.45}.event-type-badge.help{background:rgba(149,83,237,.17);color:#bd87ff}.event-type-badge.check{background:rgba(67,223,119,.14);color:#7af19e}@media(max-width:850px){.operator-action-strip{grid-template-columns:1fr}.operator-action-panel{align-items:flex-start;flex-direction:column}.operator-action-buttons{justify-content:flex-start}}@media(max-width:600px){.open-downtime-row{grid-template-columns:auto 1fr auto}.open-downtime-row button{grid-column:2/-1;justify-self:start}}

.target-editor-list{display:grid;gap:7px;margin-top:12px;max-height:48vh;overflow:auto}.target-editor-row{display:grid;grid-template-columns:1fr 130px;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line-soft);border-radius:8px}.target-editor-row span strong,.target-editor-row span small{display:block}.target-editor-row span small{color:var(--muted);margin-top:2px}.target-editor-row input{height:36px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#0b1727;color:#fff}.target-editor-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}.target-editor-total strong{font-size:20px;color:#78ee94}
/* v9.7.3 manager/operator/demo regression hardening */
.live-strip{align-items:center;height:auto;min-height:27px;padding-top:3px;padding-bottom:3px}.live-view-button{height:24px;padding:0 10px;border:1px solid #355473;border-radius:999px;background:#0d1b2a;color:#8ec9ff;font-size:9px;font-weight:800;cursor:pointer}.live-view-button:hover{border-color:#2d93ff;color:#fff}.live-view-button.is-live{border-color:rgba(41,221,99,.35);color:#78ee94;background:rgba(41,221,99,.07)}
.kpi-card{gap:12px}.kpi-copy{min-width:0;flex:1 1 auto}.kpi-card .ring{flex:0 0 var(--size)}.trend{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;line-height:1.25;max-width:100%}.trend>span{display:block;flex-basis:100%;white-space:normal}.kpi-compare{margin-top:8px}.editable-target-button{appearance:none;border:0;background:transparent;padding:0;color:#8ec9ff;font:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.editable-target-button:hover{color:#fff}.editable-target-button:disabled{color:var(--muted);text-decoration:none;cursor:default}
.state.maintenance{background:var(--purple)}
.reason-bar-row{display:grid!important;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) auto!important;align-items:center;gap:10px;min-width:0}.reason-bar-row>span{min-width:0;overflow-wrap:break-word}.reason-bar-row>div{height:12px;background:#26364a;border-radius:999px;overflow:hidden;min-width:80px}.reason-bar-row>div>i{display:block;height:100%;min-width:4px;border-radius:999px;box-shadow:0 0 10px rgba(255,255,255,.08)}.reason-bar-row>strong{white-space:nowrap}
.manager-overview .machine-card{display:flex;flex-direction:column}.manager-overview .machine-card-main{flex:1;grid-template-columns:82px minmax(0,1fr);gap:9px}.manager-overview .machine-ring{width:78px;height:78px}.manager-overview .machine-meta strong{font-size:12px;overflow-wrap:normal;word-break:normal}.manager-overview .machine-card-header{min-height:28px;margin-bottom:10px}.manager-overview .machine-progress-label{margin-top:auto;padding-top:12px}.machine-card.historical-completed .status-label,.machine-card.historical-completed .machine-ring-content strong{color:#eef4fb}.machine-card.historical-completed .status-dot{background:#eef4fb;box-shadow:none}.machine-card.historical-completed .machine-ring{background:conic-gradient(#eef4fb calc(var(--value) * 1%),#334255 0)}.machine-card.historical-completed .machine-progress span{background:#d7e2ee!important}
.manager-trend-controls input[type="date"]{height:31px;min-width:128px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#0b192a;color:var(--text);font-size:9px;color-scheme:dark}.trend-date-apply{height:31px;align-self:flex-end}.trend-date-control{transition:opacity .15s}.trend-date-control.inactive{opacity:.45}
.production-job-live{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}.production-order-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.production-order-summary>div{border:1px solid var(--line-soft);border-radius:8px;padding:10px;background:rgba(255,255,255,.02);min-width:0}.production-order-summary span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:800}.production-order-summary strong{display:block;margin-top:4px;font-size:14px;overflow-wrap:break-word}.production-order-progress{margin-top:11px}.production-order-progress-head{display:flex;justify-content:space-between;align-items:end;gap:10px}.production-order-progress-head strong{font-size:20px;color:#78ee94}.production-order-shift-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.production-order-shift-totals>div{border-top:1px solid var(--line-soft);padding-top:8px}.production-order-shift-totals span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.production-order-shift-totals strong{display:block;margin-top:3px}.production-job-history{margin-top:14px}.production-job-history h4{margin:0 0 7px;font-size:11px}.order-history-table{width:100%;border-collapse:collapse}.order-history-table th,.order-history-table td{padding:7px 8px;border-top:1px solid var(--line-soft);font-size:9px;text-align:left}.order-history-table th{color:var(--muted);text-transform:uppercase;font-size:8px}.order-history-empty{color:var(--muted);font-size:9px;padding:8px 0}
.operator-input-summary.live-summary{border-color:rgba(41,221,99,.28);background:rgba(41,221,99,.025)}.operator-input-summary.live-summary h4{color:#78ee94}.operator-input-completed{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:11px}.operator-input-completed>summary{cursor:pointer;color:#9fc7ee;font-size:10px;font-weight:800}.operator-input-completed-body{margin-top:10px}.operator-input-summary .summary-state{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:2px 6px;border-radius:999px;background:rgba(41,221,99,.08);color:#78ee94;font-size:8px;text-transform:uppercase}.operator-input-summary .summary-state.completed{background:rgba(220,232,244,.08);color:#dce8f4}
@media(max-width:1100px){.production-order-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.production-order-summary,.production-order-shift-totals{grid-template-columns:1fr 1fr}.reason-bar-row{grid-template-columns:minmax(90px,1fr) minmax(100px,1.5fr) auto!important}}


.operator-execution-grid{display:grid;grid-template-columns:1.35fr 1fr .8fr;gap:12px;margin:12px 0}.execution-card{padding:14px 16px;min-width:0}.execution-kicker{display:block;font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}.pace-main{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pace-main small{display:block;color:var(--muted);font-size:9px}.pace-main strong{display:block;font-size:19px;margin-top:3px}.pace-status{font-weight:900;font-size:13px;margin:10px 0 7px}.pace-status.ahead{color:#78ee94}.pace-status.behind{color:#ff8f84}.pace-detail{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:9px}.setup-provisional{color:#ffd36b;font-weight:800;border-left:2px solid #ffc400;padding-left:7px}.confidence-card>strong,.checklist-card>strong{display:block;font-size:19px;margin:2px 0 5px}.confidence-card.healthy>strong{color:#78ee94}.confidence-card.review>strong{color:#ffc400}.confidence-card ul{padding-left:18px;margin:7px 0 0;color:#ffd589;font-size:9px;line-height:1.45}.checklist-card button{margin-top:10px;width:100%}.ecm-progress{margin:12px 0;padding:12px 14px;border-radius:9px;background:rgba(47,127,224,.1);border:1px solid rgba(47,127,224,.35)}.ecm-progress-row{display:flex;gap:10px;align-items:flex-start}.ecm-progress-row strong{font-size:11px;color:#edf6ff;display:block}.ecm-progress-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.ecm-progress-dot{flex:0 0 9px;height:9px;border-radius:50%;background:#5aa0f0;margin-top:3px;animation:ecmPulse 1.1s ease-in-out infinite}@keyframes ecmPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.ecm-progress-note{margin:8px 0 0;font-size:8.5px;color:var(--muted);line-height:1.5}.ecm-guidance{margin-top:11px;padding:11px 13px;border-radius:8px;background:rgba(255,193,71,.09);border:1px solid rgba(255,193,71,.32)}.ecm-guidance strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#ffcf76}.ecm-guidance ol{margin:7px 0 0;padding-left:18px}.ecm-guidance li{font-size:10px;line-height:1.55;color:#edf6ff;margin:5px 0}.trend-cal-host{margin:0 0 14px}#managerTrendDatesToggle.is-active{border-color:#2f7fe0;color:#8cc3ff}.shift-machines{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 2px 12px;color:var(--muted);font-size:9px;border-bottom:1px solid var(--line-soft);margin-bottom:10px}.shift-machines label{display:flex;gap:4px;align-items:center}.shift-machines-all{font-weight:800;color:#cfe0f2}.shift-machine-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.shift-machine-list.is-muted{opacity:.4}.shift-machines small{flex-basis:100%;color:var(--muted);font-size:8.5px;line-height:1.5;margin-top:2px}.shift-working-days{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 2px 11px;color:var(--muted);font-size:9px}.shift-working-days label{display:flex;gap:4px;align-items:center}.calendar-exception-list,.workflow-list{display:grid;gap:8px}.calendar-exception-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(255,255,255,.02)}.calendar-exception-row small{display:block;color:var(--muted);margin-top:4px}.calendar-exception-row>div:last-child{display:flex;gap:7px}.inline-unit-select{min-width:105px;background:#0b1727;color:#fff;border:1px solid #2a3e57;border-radius:6px;padding:6px}.troubleshoot-panel{margin-top:16px}.ts-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ts-chip{font-size:9px;font-weight:900;padding:4px 11px;border-radius:999px;letter-spacing:.04em;white-space:nowrap}.ts-chip.blocked{background:rgba(255,107,107,.14);border:1px solid rgba(255,107,107,.4);color:#ff9893}.ts-chip.degraded{background:rgba(255,193,71,.13);border:1px solid rgba(255,193,71,.38);color:#ffcf76}.ts-chip.healthy{background:rgba(67,223,119,.13);border:1px solid rgba(67,223,119,.36);color:#7af19e}.ts-machine{border:1px solid var(--line-soft);border-radius:10px;padding:12px 15px;margin-bottom:10px;background:rgba(255,255,255,.02)}.ts-machine.blocked{border-left:4px solid #ff6b6b}.ts-machine.degraded{border-left:4px solid #ffc147}.ts-machine.healthy{border-left:4px solid #43df77}.ts-machine summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ts-machine summary small{color:var(--muted);font-size:9px}.ts-headline{margin:11px 0 0;font-size:11.5px;color:#edf6ff}.ts-action{margin-top:11px;padding:11px 13px;border-radius:8px;background:rgba(47,127,224,.12);border:1px solid rgba(47,127,224,.4)}.ts-action strong{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#8cc3ff}.ts-action p{margin:5px 0 0;font-size:11px;line-height:1.55;color:#edf6ff}.ts-steps{list-style:none;padding:0;margin:13px 0 0}.ts-step{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line-soft)}.ts-step small{display:block;color:var(--muted);font-size:9px;margin-top:2px;line-height:1.5}.ts-step strong{font-size:10.5px}.ts-step-icon{flex:0 0 18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:900}.ts-step.pass .ts-step-icon{background:rgba(67,223,119,.16);color:#7af19e}.ts-step.fail .ts-step-icon{background:rgba(255,107,107,.18);color:#ff9893}.ts-step.warn .ts-step-icon{background:rgba(255,193,71,.18);color:#ffcf76}.ts-step.blocked .ts-step-icon{background:rgba(255,255,255,.07);color:var(--muted)}.ts-step.blocked strong,.ts-step.blocked small{opacity:.55}.ts-bundle{margin-top:12px}.ts-bundle-text{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.5;background:rgba(0,0,0,.32);border:1px solid var(--line-soft);border-radius:8px;padding:12px;max-height:340px;overflow:auto;color:#dce9f7}.cr-cal-host{margin:14px 0}.cr-cal{border:1px solid var(--line-soft);border-radius:11px;padding:14px;background:rgba(255,255,255,.02)}.cr-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cr-cal-range{font-size:12px;color:#edf6ff}.cr-cal-nav{background:rgba(255,255,255,.05);border:1px solid var(--line-soft);color:#cfe0f2;border-radius:7px;width:30px;height:30px;font-size:16px;cursor:pointer}.cr-cal-nav:hover{background:rgba(255,255,255,.11)}.cr-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cr-cal-months.one-month{grid-template-columns:minmax(0,440px);justify-content:center}.date-range-box{width:100%;min-height:38px;text-align:left;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:7px;background:#0b1727;color:#edf6ff;cursor:pointer;position:relative}.date-range-box:after{content:'▾';position:absolute;right:12px;color:var(--muted)}.date-range-box.is-open{border-color:#2f7fe0;box-shadow:0 0 0 2px rgba(47,127,224,.12)}.compact-range-host{max-width:470px;margin:8px 0 14px}.events-filter-grid{display:grid;grid-template-columns:minmax(240px,1fr) 140px auto;gap:12px;align-items:end}.events-filter-actions{display:flex;align-items:end}.events-filter-block{margin-top:14px}.events-machine-grid{margin-top:7px}.events-type-filters{margin-top:7px}.events-results-panel{min-height:280px}.events-table{min-width:1320px}.events-table td{vertical-align:top}.events-user{white-space:nowrap}.dt-line-chart{height:150px;margin-top:10px;border-bottom:1px solid var(--line-soft)}.dt-line-chart svg{display:block;width:100%;height:100%;overflow:visible}.dt-line-grid{stroke:#20354d;stroke-width:1}.dt-line-path{fill:none;stroke:#5aa0f0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dt-line-point{fill:#0b1727;stroke:#8cc3ff;stroke-width:2}.dt-line-point.is-partial{opacity:.45;stroke-dasharray:2 2}.dt-line-zero{stroke:#31465f;stroke-width:1}.dt-line-label{fill:#7f95ab;font-size:8px}.check-delete-zone{display:flex;justify-content:flex-start;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft)}.danger-button{border:1px solid rgba(255,105,97,.55);background:rgba(255,105,97,.08);color:#ff8f84;border-radius:7px;padding:8px 12px;font-weight:800;cursor:pointer}.danger-button:hover{background:rgba(255,105,97,.16)}@media(max-width:760px){.events-filter-grid{grid-template-columns:1fr}.events-filter-actions button{width:100%}.compact-range-host{max-width:none}}.cr-cal-month-name{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--muted);text-align:center;margin-bottom:7px}.cr-cal-dow,.cr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cr-cal-dow span{text-align:center;font-size:8px;color:var(--muted);padding-bottom:4px}.cr-cal-day{border:0;background:transparent;color:#dce9f7;border-radius:6px;padding:6px 0;font-size:10.5px;cursor:pointer}.cr-cal-day:hover:not(:disabled){background:rgba(255,255,255,.1)}.cr-cal-day.is-today{outline:1px solid rgba(120,238,148,.5)}.cr-cal-day.in-range{background:rgba(90,160,240,.19);border-radius:0}.cr-cal-day.is-start,.cr-cal-day.is-end{background:#2f7fe0;color:#fff;font-weight:800}.cr-cal-day.is-start{border-radius:6px 0 0 6px}.cr-cal-day.is-end{border-radius:0 6px 6px 0}.cr-cal-day.is-future{opacity:.25;cursor:not-allowed}.cr-cal-pad{display:block}.cr-cal-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft)}.cr-cal-preset{background:rgba(255,255,255,.05);border:1px solid var(--line-soft);color:#cfe0f2;border-radius:999px;padding:5px 12px;font-size:9px;cursor:pointer}.cr-cal-preset:hover{background:rgba(255,255,255,.12)}.dt-reason-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.dt-reason-chip{background:rgba(255,255,255,.04);border:1px solid var(--line-soft);color:#cfe0f2;border-radius:999px;padding:6px 13px;font-size:9.5px;cursor:pointer}.dt-reason-chip.is-on{background:#2f7fe0;border-color:#2f7fe0;color:#fff;font-weight:800}.dt-trend-reasons{margin:12px 0}.dt-trend-series{border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:rgba(255,255,255,.02)}.dt-trend-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:11px}.dt-trend-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.dt-verdict{font-size:9.5px;font-weight:900;padding:5px 11px;border-radius:999px;white-space:nowrap}.dt-verdict.improving{background:rgba(67,223,119,.13);border:1px solid rgba(67,223,119,.36);color:#7af19e}.dt-verdict.worsening{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.36);color:#ff9893}.dt-verdict.flat{background:rgba(255,255,255,.06);border:1px solid var(--line-soft);color:var(--muted)}.dt-trend-bars{display:flex;align-items:flex-end;gap:2px;height:96px;padding:5px 0;border-bottom:1px solid var(--line-soft)}.dt-bar{flex:1;min-width:2px;background:linear-gradient(180deg,#5aa0f0,#2f7fe0);border-radius:2px 2px 0 0}.dt-bar.is-partial{opacity:.42;background:repeating-linear-gradient(45deg,#5aa0f0,#5aa0f0 3px,transparent 3px,transparent 6px)}.dt-trend-foot{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:8.5px;margin-top:7px}.dt-trend-note{margin-top:10px}@media(max-width:720px){.cr-cal-months{grid-template-columns:1fr}.dt-trend-head{flex-direction:column}}.checklist-run{display:grid;gap:10px}.checklist-run label{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--line-soft);border-radius:8px}.checklist-run input{width:20px;height:20px;flex:0 0 auto}@media(max-width:900px){.operator-execution-grid{grid-template-columns:1fr 1fr}.pace-card{grid-column:1/-1}}@media(max-width:600px){.operator-execution-grid{grid-template-columns:1fr}.pace-card{grid-column:auto}.pace-main{grid-template-columns:1fr 1fr}.execution-card{padding:12px}.calendar-exception-row{align-items:flex-start;flex-direction:column}.calendar-exception-row>div:last-child{width:100%}.calendar-exception-row button{flex:1}.settings-page-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-kpi-grid{grid-template-columns:1fr 1fr!important}.production-job-form input,.production-job-form select,.settings-form input,.settings-form select,#genericModal input,#genericModal select,#genericModal textarea{font-size:16px}}

.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.action-list{display:grid;gap:9px}.action-row{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:rgba(255,255,255,.02)}.action-row strong,.action-row small{display:block}.action-row small{color:var(--muted);margin-top:3px}.action-row p{margin:7px 0 0;color:#c7d5e4;font-size:10px}.action-row-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.action-row-controls select{height:38px;border:1px solid var(--line);border-radius:7px;background:#0b1727;color:#fff;padding:0 8px}.action-alert{display:inline-block;margin-top:7px;color:#ff8f84;font-size:9px;font-weight:800;text-transform:uppercase}.action-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;color:#8fa8c0;font-size:9px}.action-source{display:inline-block;margin-top:6px;padding:3px 6px;border-radius:5px;background:rgba(45,147,255,.1);color:#9bc8ff;font-size:9px}.scoreboard-view{min-height:calc(100vh - 115px);background:#07111d}.scoreboard-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.scoreboard-toolbar>div{display:flex;align-items:baseline;gap:12px}.scoreboard-toolbar strong{font-size:24px}.scoreboard-toolbar small{color:var(--muted)}.scoreboard-live{color:#78ee94;font-size:10px;font-weight:900;letter-spacing:.08em}.scoreboard-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#29dd63;margin-right:5px}.scoreboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.scoreboard-kpis article{padding:20px;border:1px solid var(--line-soft);border-radius:12px;background:#0b1727}.scoreboard-kpis span,.scoreboard-machine span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.scoreboard-kpis strong{display:block;font-size:34px;margin-top:6px}.scoreboard-machines{display:grid;gap:9px}.scoreboard-machine{cursor:pointer;transition:transform .12s,border-color .12s;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;align-items:center;padding:14px 18px;border:1px solid var(--line-soft);border-radius:10px;background:#0b1727}.scoreboard-machine>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.scoreboard-machine>div:first-child small{grid-column:2;color:var(--muted)}.scoreboard-machine>div>strong{font-size:20px}.machine-status-dot{width:10px;height:10px;border-radius:50%}.pace-ahead{color:#78ee94}.pace-behind{color:#ff8f84}@media(max-width:900px){.actions-grid{grid-template-columns:1fr}.scoreboard-kpis{grid-template-columns:1fr 1fr}.scoreboard-machine{grid-template-columns:1.5fr 1fr 1fr 1fr}}@media(max-width:600px){.action-row{flex-direction:column}.action-row-controls{width:100%}.action-row-controls button,.action-row-controls select{flex:1;min-height:44px}.scoreboard-toolbar{align-items:flex-start;gap:10px}.scoreboard-toolbar>div{display:grid;gap:4px}.scoreboard-toolbar strong{font-size:19px}.scoreboard-kpis article{padding:13px}.scoreboard-kpis strong{font-size:25px}.scoreboard-machine{grid-template-columns:1.3fr 1fr;padding:12px}.scoreboard-machine>div>strong{font-size:16px}.scoreboard-machine>div:nth-child(4){display:none}.scoreboard-view{padding-left:12px!important;padding-right:12px!important}}

/* v9.7 go-to-market hardening */
.demo-control-card{grid-column:1/-1;border-color:rgba(45,147,255,.42);background:linear-gradient(100deg,rgba(45,147,255,.12),rgba(8,20,34,.94))}.demo-control-card .demo-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.demo-control-card .demo-control-actions button{min-width:105px}.demo-control-card .demo-guide{color:#a7bdd3;font-size:10px;line-height:1.5;margin-top:7px}.enterprise-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enterprise-list{display:grid;gap:8px;margin-top:10px}.enterprise-row{border:1px solid var(--line-soft);border-radius:8px;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.enterprise-row small{display:block;color:var(--muted);margin-top:3px}.commission-steps{display:grid;gap:12px}.commission-step{border:1px solid var(--line-soft);border-radius:9px;padding:12px}.commission-step h4{margin:0 0 9px}.andon-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.andon-metrics>div{border:1px solid var(--line-soft);border-radius:8px;padding:9px}.andon-metrics span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.andon-metrics strong{display:block;font-size:16px;margin-top:3px}.action-impact{margin-top:7px;padding:7px 9px;border-left:3px solid #2d93ff;background:rgba(45,147,255,.06);border-radius:0 6px 6px 0;font-size:9px;color:#a9c8e7}.check-field{display:grid!important;gap:6px!important}.check-field input[type=number],.check-field input[type=text],.check-field textarea{width:100%;font-size:16px}.check-fail{color:#ff9a90;font-size:9px}.auth-sso{width:100%;margin-top:8px}@media(max-width:700px){.enterprise-grid{grid-template-columns:1fr}.andon-metrics{grid-template-columns:1fr 1fr}.demo-control-card .demo-control-actions button{flex:1 1 42%}}

/* v9.7.3 manager execution / adoption hardening */
.mobile-manager-pulse{display:none}.manager-insight-grid{display:grid;grid-template-columns:.82fr 1.18fr 1.25fr;gap:10px;margin:10px 0}.manager-insight-panel{padding:14px 15px;min-width:0}.manager-insight-panel h2{margin:0;font-size:12px;text-transform:uppercase}.manager-insight-panel .panel-subtext{margin-top:4px}.completion-score{display:flex;align-items:flex-end;gap:8px;margin:12px 0 8px}.completion-score strong{font-size:34px;line-height:1}.completion-score span{padding-bottom:4px;color:var(--muted);font-size:9px}.completion-score.good strong{color:#43df77}.completion-score.review strong{color:#ffc400}.completion-score.low strong{color:#ff6961}.completion-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.completion-breakdown div{padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:#0b1828}.completion-breakdown span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.completion-breakdown strong{display:block;margin-top:2px;font-size:13px}.completion-reasons{margin:8px 0 0;padding-left:16px;color:#ffc400;font-size:9px}.comparison-row{padding:9px 0;border-bottom:1px solid var(--line-soft)}.comparison-row:last-child{border-bottom:0}.comparison-row-head{display:flex;justify-content:space-between;gap:10px}.comparison-row strong{font-size:11px}.comparison-row .delta{font-weight:900}.comparison-row .positive{color:#43df77}.comparison-row .negative{color:#ff6961}.comparison-row small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.compare-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.compare-mini{padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:#0b1828}.compare-mini span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.compare-mini strong{display:block;margin-top:3px;font-size:11px}.order-progress-list{display:grid;gap:7px;margin-top:9px}.order-progress-row{padding:9px;border:1px solid var(--line-soft);border-radius:8px;background:#0b1828}.order-progress-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.order-progress-top strong{font-size:11px}.order-progress-top span{font-size:10px;font-weight:900}.order-progress-row small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.order-progress-row .progress{margin-top:7px}.order-progress-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:#9eb0c2;font-size:8px}.mixed-unit-note{color:#ffc400;font-size:9px;margin-top:5px}.mixed-attainment-list{display:grid;gap:8px;padding:8px 2px}.mixed-attainment-row{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 50px;gap:8px;align-items:center;font-size:9px}.mixed-attainment-track{height:9px;border-radius:999px;background:#15283d;overflow:hidden}.mixed-attainment-track i{display:block;height:100%;border-radius:inherit;background:#2d93ff}
@media(max-width:980px){.manager-insight-grid{grid-template-columns:1fr 1fr}.manager-insight-panel.orders-insight{grid-column:1/-1}}
@media(max-width:700px){.mobile-manager-pulse{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}.mobile-pulse-card{min-height:82px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0c1929;text-align:left;color:var(--text)}.mobile-pulse-card span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.mobile-pulse-card strong{display:block;margin-top:5px;font-size:18px}.mobile-pulse-card small{display:block;margin-top:3px;color:#9fb0c3;font-size:8px}.mobile-pulse-card.attention strong{color:#ff6961}.mobile-pulse-card.good strong{color:#43df77}.manager-insight-grid{grid-template-columns:1fr}.manager-insight-panel.orders-insight{grid-column:auto}.completion-breakdown{grid-template-columns:repeat(3,1fr)}.compare-mini-grid{grid-template-columns:1fr}.manager-overview .clearrivet-ai-panel{margin-top:14px}.manager-overview .manager-status-grid{margin-top:8px}.order-progress-meta{flex-direction:column;gap:2px}.mixed-attainment-row{grid-template-columns:80px 1fr 42px}}

/* v9.7.3 final visual/readability audit */
.settings-page-tabs{flex-wrap:wrap;overflow:visible;row-gap:2px}.settings-page-tabs button{min-height:40px}
.alert-empty-state{min-height:118px;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;color:#a9bdd1;text-align:left}.alert-empty-state strong{display:block;color:#d9e8f5;font-size:12px}.alert-empty-state small{display:block;margin-top:4px;max-width:430px;color:#8399af;font-size:10px;line-height:1.45}.alert-empty-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(41,221,99,.35);background:rgba(41,221,99,.09);color:#59e47d;font-weight:900}.breakdown-empty{grid-column:1/-1!important;color:#879aaf!important}.breakdown-empty span{color:#879aaf!important}
@media(max-width:960px){
  /* iOS/iPadOS Safari can zoom focused controls below 16px. The width fallback
     also protects Playwright/tablet profiles where coarse-pointer media
     emulation is not exposed by the host WebKit build. */
  input,select,textarea{font-size:16px!important}
  .sidebar{transform:translateX(-100%);box-shadow:16px 0 50px rgba(0,0,0,.4)}.sidebar.mobile-open{transform:translateX(0)}
  .main-content,body.sidebar-collapsed .main-content{margin-left:0;transition:none}
  .topbar{height:auto;min-height:73px;grid-template-columns:1fr auto;padding:11px 13px}.mobile-menu{display:block}.topbar-controls{grid-column:1/-1;order:3;width:100%}.topbar-controls .select-control{flex:1}.topbar-controls .select-control:first-child{display:flex}.select-control select{min-width:0;width:100%}.date-control{flex:1.2}.date-control span{min-width:0;flex:1}.topbar-user .avatar,.topbar-user>span{display:none}
}
@media(max-width:700px){
  .mobile-pulse-card span,.mobile-pulse-card small,.execution-kicker,.pace-detail span,.trend-stat span,.trend-stat small,.operator-input-metrics span,.operator-input-mini span,.order-progress-row small,.order-progress-meta,.compare-mini span,.completion-breakdown span,.panel-subtext,.detail-kpi-comparison,.detail-kpi-substat,.machine-progress-label,.ai-suggestion{font-size:10px!important}
  .manager-data-quality{min-height:36px!important;padding:7px 10px!important;border:1px solid #30465f!important;border-radius:999px!important;text-decoration:none!important;background:#0b192a!important;font-size:10px!important;display:inline-flex!important;align-items:center!important;width:max-content;max-width:100%;text-align:left!important}
  .kpi-compare select,.manager-trend-controls select,.event-filter-chip,.ai-suggestion,.manager-open-button{min-height:36px!important;font-size:11px!important}#eventLogLimit{min-height:36px!important;font-size:16px!important}
  .editable-target-button{min-height:32px;padding:5px 8px!important;border-radius:6px}
  .history-limit-control{min-height:36px;align-items:center}.operator-input-list strong{font-size:10px}.operator-input-list small{font-size:10px}
  .trend-axis-label,.trend-reference-label{font-size:10px}.demo-guide{font-size:11px!important}.action-meta,.action-source,.action-impact{font-size:10px!important}
}
@media(max-width:470px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.kpi-card{display:block;min-height:118px!important;padding:11px 12px!important}.kpi-card .ring{display:none}.output-card{grid-column:1/-1!important;min-height:100px!important}.kpi-card .eyebrow{font-size:10px}.kpi-card .kpi-value{font-size:26px}.kpi-card .trend{font-size:10px}.kpi-compare{display:grid;grid-template-columns:1fr;margin-top:6px;gap:3px}.kpi-compare select{width:100%;min-width:0!important;height:34px!important}.output-card .kpi-value{font-size:30px}
}

.scoreboard-machine:hover{transform:translateY(-2px);border-color:#2d93ff}
.scoreboard-machine:focus-visible{outline:2px solid #2d93ff;outline-offset:2px}
.context-live.awaiting-data i{background:#ffc400}
.context-live.awaiting-data span{color:#ffc400}

/* v9.8 operations polish */
.plant-oee-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plant-oee-mini{padding:14px 16px;border:1px solid rgba(125,154,184,.18);border-radius:12px;background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:space-between}.plant-oee-mini span{color:var(--muted);font-size:12px;font-weight:700}.plant-oee-mini strong{font-size:22px}.plant-oee-health{margin-top:12px;width:100%;text-align:left}
.overview-order-list{display:grid;gap:0}.overview-order-head,.overview-order-row{display:grid;grid-template-columns:1.05fr 1.4fr 1.55fr 1.25fr auto;gap:14px;align-items:center}.overview-order-head{padding:0 12px 8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.overview-order-row{padding:12px;border-top:1px solid rgba(140,161,184,.14)}.overview-order-row:first-of-type{border-top:0}.overview-order-machine,.overview-order-job,.overview-order-eta{display:flex;gap:8px;align-items:center;min-width:0}.overview-order-machine>div,.overview-order-job,.overview-order-eta{flex-direction:column;align-items:flex-start}.overview-order-machine strong,.overview-order-job strong,.overview-order-eta strong{font-size:12px}.overview-order-machine small,.overview-order-job small,.overview-order-eta span{font-size:10px;color:var(--muted)}.overview-order-progress{min-width:150px}.overview-order-progress .progress{margin-top:5px;height:7px}.machine-state-dot{width:9px;height:9px;border-radius:50%;background:#8294a8;flex:0 0 auto}.machine-state-dot.running{background:#61da6e}.machine-state-dot.down,.machine-state-dot.blocked,.machine-state-dot.starved{background:#ffb35b}
.report-exec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.report-exec-grid article,.action-summary-card{padding:16px;border:1px solid rgba(129,155,183,.18);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015))}.report-exec-grid span,.action-summary-card>span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.report-exec-grid strong,.action-summary-card strong{display:block;font-size:24px;margin:5px 0}.report-exec-grid small,.action-summary-card small{color:var(--muted);font-size:10px}.report-management-summary{padding:18px;border-radius:14px;background:rgba(55,126,227,.09);border:1px solid rgba(75,142,236,.2);margin-bottom:16px}.report-management-summary>span{font-size:10px;letter-spacing:.12em;color:#7bb8ff;font-weight:900}.report-management-summary p{margin:8px 0;line-height:1.55}.report-management-summary ul{margin:8px 0 0;padding-left:20px;color:var(--muted)}.report-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.report-analysis-card{padding:16px;border:1px solid rgba(129,155,183,.18);border-radius:14px;background:rgba(255,255,255,.018)}.report-pareto{display:grid;gap:10px}.report-pareto-row{display:flex;gap:10px;align-items:center}.report-pareto-rank{width:20px;color:var(--muted);font-size:10px}.report-pareto-main{flex:1;min-width:0}.report-pareto-head{display:flex;justify-content:space-between;gap:8px;font-size:10px}.report-pareto-head strong{font-size:11px}.report-pareto-head span{color:var(--muted);white-space:nowrap}.report-pareto-track{height:7px;border-radius:99px;background:rgba(138,157,179,.15);overflow:hidden;margin-top:5px}.report-pareto-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2e7de9,#60a9ff)}.report-ranking-list{display:grid;gap:8px}.report-ranking-list>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(125,154,184,.1)}.report-ranking-list span{font-size:11px}.report-ranking-list strong{font-size:11px}.report-exec-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}.report-analysis-card--wide{min-width:0}.loss-intelligence-list{display:grid;gap:12px}.loss-intelligence-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.loss-intelligence-rank{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(52,141,255,.12);color:#8ac1ff;font-weight:900}.loss-intelligence-head{display:flex;justify-content:space-between;gap:10px}.loss-intelligence-head span,.loss-intelligence-main small{color:var(--muted);font-size:10px}.loss-intelligence-main small{display:block;margin-top:5px}.report-mini-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-mini-kpis>div{padding:12px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(129,155,183,.13)}.report-mini-kpis span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}.report-mini-kpis strong{display:block;font-size:20px;margin:4px 0}.report-mini-kpis small{font-size:9px;color:var(--muted)}.danger-text{color:#ff7169}.report-action-list{display:grid;gap:7px;margin-top:10px}.report-action-list>div{padding:9px 0;border-top:1px solid rgba(129,155,183,.1)}.report-action-list strong,.report-action-list span{display:block}.report-action-list span{color:var(--muted);font-size:10px;margin-top:2px}.report-two-rankings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-two-rankings h4{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.confidence-banner{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:13px;border:1px solid rgba(83,229,125,.24);background:rgba(40,190,91,.065);margin-bottom:16px}.confidence-banner.review,.confidence-banner.low,.confidence-banner.no-data{border-color:rgba(255,176,32,.25);background:rgba(255,176,32,.07)}.confidence-banner span{display:block;font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:900}.confidence-banner strong{display:block;font-size:18px;margin:4px 0}.confidence-banner small,.confidence-banner p,.confidence-banner li{color:var(--muted);font-size:10px}.confidence-banner ul{margin:0;padding-left:18px;max-width:55%}.report-traceability-note{padding:11px 13px;border-radius:10px;background:rgba(68,129,194,.075);border:1px solid rgba(100,163,230,.16);font-size:10px;color:#afc2d7;line-height:1.5}.report-priority-list{margin:10px 0 0;padding-left:22px}.report-priority-list li{margin:5px 0}.site-benchmark-list{display:grid;gap:8px}.site-benchmark-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:10px;border:1px solid rgba(129,155,183,.12)}.site-benchmark-row.current{border-color:rgba(63,223,119,.35);background:rgba(63,223,119,.055)}.site-benchmark-rank{font-weight:900;color:#78b7ff}.site-benchmark-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.report-compact-table{max-height:420px}.compact-empty{padding:12px}.ai-evidence-footer{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(129,155,183,.14);font-size:10px}.ai-evidence-footer span{color:var(--muted)}.ai-evidence-details{margin-top:8px;font-size:10px;color:var(--muted)}.ai-evidence-details summary{cursor:pointer;color:#8fc3ff;font-weight:700}.ai-evidence-details ul{padding-left:18px;max-height:160px;overflow:auto}
.action-summary-grid,.check-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.check-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-summary-card.attention{border-color:rgba(255,169,70,.42);background:linear-gradient(145deg,rgba(255,169,70,.09),rgba(255,255,255,.015))}.action-row--work,.action-row--completed{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center}.action-machine-badge{font-size:10px;font-weight:900;letter-spacing:.05em;padding:7px 9px;border-radius:9px;background:rgba(72,137,226,.12);border:1px solid rgba(72,137,226,.22);text-align:center}.action-machine-badge.completed{background:rgba(83,190,117,.1);border-color:rgba(83,190,117,.22)}.action-main{min-width:0}.matched-action-controls{min-width:200px;justify-content:flex-end}.action-command{min-width:92px}.action-overdue{box-shadow:inset 3px 0 0 #ffad4d}
.check-definition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:12px}.check-definition-card{padding:16px;border-radius:14px;border:1px solid rgba(129,155,183,.18);background:rgba(255,255,255,.018);display:grid;gap:8px}.check-definition-card.inactive{opacity:.58}.check-definition-head{display:flex;justify-content:space-between;align-items:center}.check-kind{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#79b8ff;font-weight:900}.check-definition-card h3{margin:0;font-size:14px}.check-definition-card p,.check-definition-card small{margin:0;color:var(--muted);font-size:11px}.check-definition-card button{margin-top:4px}
@media(max-width:1100px){.report-exec-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-order-head{display:none}.overview-order-row{grid-template-columns:1fr 1fr}.overview-order-progress{grid-column:1/-1}.overview-order-eta{display:none}.report-exec-grid,.action-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.plant-oee-mini-grid,.report-exec-grid,.report-analysis-grid,.action-summary-grid,.check-summary-grid,.report-exec-grid--six,.report-mini-kpis,.report-two-rankings{grid-template-columns:1fr}.confidence-banner{display:block}.confidence-banner ul{max-width:none;margin-top:8px}.site-benchmark-row{grid-template-columns:32px 1fr}.site-benchmark-row>div:last-child{grid-column:2}.overview-order-row{grid-template-columns:1fr}.action-row--work,.action-row--completed{grid-template-columns:1fr}.matched-action-controls{min-width:0;justify-content:flex-start}.report-pareto-head{align-items:flex-start;flex-direction:column}}


.check-exception-list{display:grid;gap:8px}.check-exception-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:rgba(10,25,43,.72);border:1px solid rgba(145,166,189,.18);border-radius:10px;padding:12px 14px;color:#edf6ff;cursor:pointer}.check-exception-row:hover{border-color:#55aefc;transform:translateY(-1px)}.check-exception-row.failed{border-left:4px solid #ff6262}.check-exception-row.due{border-left:4px solid #ffb020}.check-exception-row small{display:block;color:#9fb0c2;margin-top:4px}.good-empty{border-color:rgba(67,223,119,.22)!important;color:#b9e9c8!important}

.gateway-fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.gateway-fleet-card{border:1px solid rgba(145,166,189,.18);border-left:4px solid #4c6075;border-radius:12px;padding:14px;background:rgba(9,24,42,.78);min-width:0}.gateway-fleet-card.healthy{border-left-color:#43df77}.gateway-fleet-card.attention{border-left-color:#ffb020}.gateway-fleet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.gateway-fleet-head>div{min-width:0}.gateway-fleet-head small{display:block;color:#90a4b9;margin-top:3px;overflow-wrap:anywhere}.gateway-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));align-items:stretch;gap:8px}.gateway-card-actions button{min-width:0;width:100%;white-space:normal;line-height:1.25;padding:8px 10px}.gateway-version-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.gateway-version-grid div{padding:9px;border:1px solid rgba(145,166,189,.14);border-radius:8px;min-width:0}.gateway-version-grid span{display:block;color:#8195aa;font-size:10px;text-transform:uppercase}.gateway-version-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}.gateway-error{margin:8px 0;padding:9px;border-radius:8px;background:rgba(255,91,82,.1);color:#ff9b95}.gateway-rollback-button{min-height:36px;padding:0 12px}.machine-source-list{display:grid;gap:8px}.machine-source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(255,255,255,.025)}.machine-source-row small{display:block;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.machine-source-row button{min-width:122px}@media(max-width:560px){.gateway-fleet-grid{grid-template-columns:minmax(0,1fr)}.gateway-fleet-head{align-items:flex-start}.gateway-card-actions{grid-template-columns:1fr 1fr}.machine-source-row{grid-template-columns:1fr}.machine-source-row button{width:100%}}
/* v9.10 customer-acceptance refinements */
.manager-insight-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0}.manager-insight-panel{width:100%}
.manager-orders-wide{margin:0 0 14px;padding:16px 18px;overflow:hidden}.manager-orders-heading{margin-bottom:8px}
.overview-order-list{display:grid;gap:0;width:100%}.overview-order-head,.overview-order-row{display:grid;grid-template-columns:minmax(145px,1.05fr) minmax(220px,1.6fr) minmax(240px,1.8fr) minmax(170px,1.1fr) 92px;gap:18px;align-items:center}
.overview-order-head{padding:5px 14px 10px;border-bottom:1px solid rgba(140,161,184,.18);color:#9fb0c3}.overview-order-row{min-height:78px;padding:13px 14px;border-top:1px solid rgba(140,161,184,.13)}
.overview-order-row:first-of-type{border-top:0}.overview-order-machine strong,.overview-order-job strong,.overview-order-eta strong{font-size:13px;line-height:1.25}.overview-order-machine small,.overview-order-job small,.overview-order-eta span{font-size:9px;line-height:1.35}.overview-order-progress{min-width:0}.overview-order-progress strong{display:block;color:#edf6ff;font-size:12px}.overview-order-progress small{display:block;margin-top:4px;color:#9fb0c3;font-size:9px}.overview-order-progress .progress{height:9px;margin-top:7px}
.chart-label{fill:#f4f8fc!important;color:#f4f8fc!important;font-size:9px;font-weight:700}.production-chart svg{overflow:visible}.production-chart .chart-grid{stroke:rgba(178,196,215,.16)}
.calendar-exception-list{gap:10px}.calendar-exception-row.calendar-card{padding:14px 16px;border-color:#263c55;border-radius:11px;background:linear-gradient(120deg,rgba(18,35,54,.94),rgba(11,25,42,.96));box-shadow:0 8px 22px rgba(0,0,0,.10)}.calendar-card-main{display:flex;gap:12px;align-items:flex-start;min-width:0}.calendar-mode-badge{min-width:94px;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;text-align:center;letter-spacing:.06em}.calendar-mode-badge.off{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.34);color:#ff9893}.calendar-mode-badge.on{background:rgba(67,223,119,.12);border:1px solid rgba(67,223,119,.34);color:#7af19e}.calendar-card-copy strong{display:block;font-size:12px;color:#edf6ff}.calendar-card-copy small{font-size:9px;line-height:1.55}.calendar-card-actions{display:flex;gap:8px!important;flex:0 0 auto}.calendar-delete-button{border:1px solid rgba(255,107,107,.45)!important;background:rgba(255,107,107,.08)!important;color:#ff8585!important;border-radius:7px!important;padding:7px 11px!important;font-size:9px!important;font-weight:800!important}.calendar-delete-button:hover{background:rgba(255,107,107,.16)!important}.calendar-duplicate-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,176,32,.35);border-radius:9px;background:rgba(255,176,32,.07);color:#ffc760;font-size:9px}
.check-editor-stack{display:grid;gap:10px}.check-editor-card{padding:14px;border:1px solid #29415d;border-radius:11px;background:#0d1c2f}.check-editor-head{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;gap:12px;align-items:end}.check-editor-options{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(145,166,189,.14)}.check-editor-options label{display:flex;gap:7px;align-items:center;color:#b9c9da;font-size:9px}.check-number-limits{display:grid;grid-template-columns:120px 120px;gap:10px}.check-editor-card .remove-button{min-width:86px;align-self:end}.check-run-item{display:grid;grid-template-columns:1fr minmax(180px,.9fr);gap:14px;align-items:center;padding:14px 15px;border:1px solid #29415d;border-radius:10px;background:#0d1c2f}.check-run-copy strong{display:block;font-size:12px}.check-run-copy small{display:block;margin-top:4px;color:#91a6bc;font-size:9px}.check-run-control input[type=checkbox]{appearance:none;width:30px!important;height:30px!important;border:2px solid #5c7897;border-radius:7px;background:#081624;cursor:pointer;display:grid;place-content:center}.check-run-control input[type=checkbox]::before{content:'✓';font-size:22px;font-weight:900;color:#081624;transform:scale(0)}.check-run-control input[type=checkbox]:checked{background:#43df77;border-color:#43df77}.check-run-control input[type=checkbox]:checked::before{transform:scale(1)}.check-run-control select,.check-run-control input[type=number],.check-run-control input[type=text],.check-run-control textarea{width:100%;min-height:42px}.check-run-comment{grid-column:1/-1;margin-top:8px}.check-trigger-value[hidden]{display:none!important}
.operator-comment-stream{display:grid;gap:8px;margin-top:12px}.operator-comment-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 12px;border:1px solid rgba(145,166,189,.16);border-radius:8px;background:rgba(255,255,255,.025)}.operator-comment-row p{margin:3px 0 0;color:#dbe7f3;font-size:10px;line-height:1.5}.operator-comment-row small{color:#8297ac;font-size:8px}.operator-comment-edit{padding:5px 9px!important;height:auto!important;font-size:8px!important}.operator-comment-compose{margin-top:12px;padding-top:12px;border-top:1px solid rgba(145,166,189,.16)}.operator-comment-compose textarea{min-height:72px}.operator-comment-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.operator-comment-compose-actions small{color:#8297ac;font-size:8px}
.action-impact.verified{border-left-color:#43df77;background:rgba(67,223,119,.07);color:#bceccb}.verified-improvement-card{padding:13px;border:1px solid rgba(67,223,119,.22);border-radius:10px;background:linear-gradient(110deg,rgba(67,223,119,.055),rgba(11,25,42,.98))}.verified-improvement-metrics{display:grid;grid-template-columns:repeat(4,minmax(95px,1fr));gap:8px;margin-top:9px}.verified-improvement-metrics div{padding:8px;border:1px solid rgba(145,166,189,.13);border-radius:7px}.verified-improvement-metrics span{display:block;color:#8094aa;font-size:7px;text-transform:uppercase}.verified-improvement-metrics strong{display:block;margin-top:3px;font-size:11px;color:#edf6ff}
@media(max-width:1100px){.report-exec-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-order-head{display:none}.overview-order-row{grid-template-columns:1fr 1fr}.overview-order-progress{grid-column:1/-1}.overview-order-eta{display:flex}.manager-insight-grid{grid-template-columns:1fr}}
@media(max-width:720px){.overview-order-row{grid-template-columns:1fr}.overview-order-progress{grid-column:auto}.check-editor-head,.check-run-item{grid-template-columns:1fr}.check-number-limits{grid-template-columns:1fr 1fr}.verified-improvement-metrics{grid-template-columns:1fr 1fr}.calendar-exception-row.calendar-card{align-items:stretch}.calendar-card-actions{width:100%;justify-content:flex-end}}


.scoreboard-review-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.scoreboard-review-controls label{display:grid;gap:3px;color:var(--muted);font-size:9px;text-transform:uppercase}.scoreboard-review-controls input,.scoreboard-review-controls select{height:38px;border:1px solid var(--line);border-radius:7px;background:#0b1727;color:#fff;padding:0 9px}.comparison-builder{display:grid;grid-template-columns:minmax(150px,.8fr) repeat(4,minmax(180px,1fr)) auto;gap:8px;align-items:end;margin-top:12px}.comparison-builder label{display:grid;gap:4px;color:var(--muted);font-size:8px;text-transform:uppercase}.comparison-builder input,.comparison-builder select{height:38px;border:1px solid var(--line);border-radius:7px;background:#0b1727;color:#fff;padding:0 8px}.custom-compare-result{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.custom-compare-result>div{padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:#0b1828}.custom-compare-result span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.custom-compare-result strong{display:block;margin-top:4px;font-size:15px}.comparison-help{color:#9eb0c2;font-size:9px;margin-top:6px}.comparison-help b{color:#fff}@media(max-width:1200px){.comparison-builder{grid-template-columns:1fr 1fr}.custom-compare-result{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.scoreboard-review-controls{width:100%}.comparison-builder{grid-template-columns:1fr}.custom-compare-result{grid-template-columns:1fr}}

/* ---- v0.9.53 (U1/U2) Shop-floor display scale -------------------------------
   ~193 of the ~300 font-size declarations in this file were 10px or smaller,
   including the TV Scoreboard's own KPI labels at 9px. Nine pixels on a wall
   panel read from five metres is not small, it is absent; and 30px controls
   are not operable through a work glove, where the effective contact patch is
   nearer 15-20mm.

   Rather than rewrite every declaration, everything is multiplied by --ui-scale
   and floored at a readable minimum. Desk is 1.0 so existing desktop layouts are
   unchanged; Panel is for shop-floor touch screens; Wall is for overhead TVs.
------------------------------------------------------------------------------ */
:root{ --ui-scale:1; --tap-min:36px; --type-floor:11px }
html[data-display="panel"]{ --ui-scale:1.35; --tap-min:64px; --type-floor:14px }
html[data-display="wall"]{  --ui-scale:2.6;  --tap-min:72px; --type-floor:22px }

html[data-display="panel"] body,
html[data-display="wall"] body{ font-size:calc(16px * var(--ui-scale)) }

/* Lift the sub-11px type off the floor without disturbing the visual hierarchy. */
html[data-display="panel"] [class], html[data-display="wall"] [class]{
  font-size:max(calc(1em * var(--ui-scale)), var(--type-floor));
}

/* Any control an operator touches. Gaps matter as much as size: adjacent
   targets closer than 12px are one target to a gloved hand. */
html[data-display="panel"] button,
html[data-display="panel"] select,
html[data-display="panel"] input:not([type=color]):not([type=checkbox]):not([type=radio]),
html[data-display="wall"] button{
  min-height:var(--tap-min); min-width:var(--tap-min);
  font-size:max(15px, calc(1em * var(--ui-scale)));
}
html[data-display="panel"] .reason-grid,
html[data-display="panel"] .event-filter-group,
html[data-display="panel"] .action-row-controls{ gap:12px }

/* The TV wants the pacer and the KPI, not the chrome. */
html[data-display="wall"] .scoreboard-kpis span,
html[data-display="wall"] .scoreboard-machine span{ font-size:28px; letter-spacing:.06em }
html[data-display="wall"] .scoreboard-kpis strong{ font-size:96px; line-height:1 }
html[data-display="wall"] .scoreboard-machine>div>strong{ font-size:52px }
html[data-display="wall"] .scoreboard-toolbar strong{ font-size:44px }
html[data-display="wall"] .app-sidebar,
html[data-display="wall"] .page-toolbar button{ display:none }

/* Sunlit and dusty panels. Zero occurrences of either query existed before. */
@media (prefers-contrast: more){
  :root{ --line:#000; --line-soft:#333; --muted:#d9e4ee }
}
html[data-contrast="high"]{ --muted:#e6eef6; --line:#ffffff; --line-soft:#9fb4c6 }
html[data-contrast="high"] .panel{ background:#000; border-color:#fff }
html[data-contrast="high"] button{ border-width:2px }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important }
}

/* v0.9.53 (C4/C5) */
.perf-context{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.perf-note{display:inline-block;padding:3px 8px;border-radius:5px;font-size:max(11px,calc(9px * var(--ui-scale)));font-weight:700;letter-spacing:.02em}
.perf-note--micro{background:rgba(180,112,10,.16);color:#e0a341;border:1px solid rgba(180,112,10,.4)}
.perf-note--capped{background:rgba(45,147,255,.12);color:#8fc2ff;border:1px solid rgba(45,147,255,.4)}

/* R38: persistent operator warning when an active order materially overruns. */
.production-job-live.order-overrun{margin-top:12px;padding:14px;border:2px solid #ff5d57;border-radius:11px;background:linear-gradient(135deg,rgba(255,75,69,.16),rgba(255,75,69,.035));box-shadow:0 0 0 3px rgba(255,75,69,.07)}
.order-overrun-warning{margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#b52f2a;color:#fff;font-size:11px;font-weight:900;line-height:1.45}
.order-overrun-warning[hidden]{display:none}
.production-job-live.order-overrun .production-order-progress-head strong{color:#ff8a84}
.production-job-live.order-overrun #liveOrderProgressFill{background:linear-gradient(90deg,#ff766f,#e33f38)!important}

/* R39.1 seamless ECM50A commissioning */
.ecm-advanced{margin-top:12px;border:1px solid var(--line-soft);border-radius:9px;padding:10px 12px;background:rgba(255,255,255,.018)}
.ecm-advanced summary{cursor:pointer;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.03em}
.ecm-big-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.ecm-big-actions button{min-height:52px;font-size:12px}
.ecm-simple-proof .commission-step{border-color:rgba(45,147,255,.2)}
.text-button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;font-weight:700;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.text-button:hover{color:#fff}
@media(max-width:620px){.ecm-big-actions{grid-template-columns:1fr}}

/* R39.1: keep the normal ECM50A path visually dominant; technical tools are optional. */
.connection-toolbar-primary{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.connection-toolbar-advanced{position:relative}
.connection-toolbar-advanced>summary{cursor:pointer;list-style:none;border:1px solid rgba(126,171,215,.28);border-radius:10px;padding:10px 13px;color:var(--muted);font-weight:700;background:rgba(10,29,48,.55)}
.connection-toolbar-advanced>summary::-webkit-details-marker{display:none}
.connection-toolbar-advanced[open]>summary{color:#fff;border-color:rgba(110,188,255,.5)}
.connection-toolbar-advanced-actions{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:260px;padding:10px;display:grid;gap:8px;border:1px solid rgba(126,171,215,.25);border-radius:12px;background:#0c2135;box-shadow:0 18px 44px rgba(0,0,0,.38)}
.connection-toolbar-advanced-actions .secondary-button{width:100%;justify-content:flex-start}
@media(max-width:760px){.connection-toolbar-primary{justify-content:flex-start}.connection-toolbar-advanced-actions{left:0;right:auto;max-width:min(90vw,320px)}}

/* R42.2.9 — Andon response-time visibility and history */
.andon-request-card{align-items:stretch}.andon-request-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.andon-operator-comment{margin:9px 0!important;padding:9px 11px;border-left:3px solid #5aa0f0;background:rgba(90,160,240,.08);border-radius:0 7px 7px 0}.andon-operator-comment span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8cc3ff;font-weight:900;margin-bottom:3px}.andon-live-timer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:9px 11px;border-radius:8px;border:1px solid var(--line-soft);background:rgba(255,255,255,.025)}.andon-live-timer span{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.andon-live-timer strong{font-variant-numeric:tabular-nums;font-size:20px;letter-spacing:.04em}.andon-live-timer.waiting strong{color:#ffcf76}.andon-live-timer.acknowledged strong{color:#7af19e}.andon-live-timer small{display:block;flex-basis:100%;color:var(--muted)}.andon-live-timer small b{color:#8cc3ff;font-variant-numeric:tabular-nums}.andon-history-table{min-width:1180px}.andon-history-table td{vertical-align:top}.andon-history-table td small{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}.andon-id{color:#8cc3ff;white-space:nowrap}.andon-comment-cell{min-width:240px;max-width:420px;white-space:normal;line-height:1.45}.andon-live-cell{color:#ffcf76;font-variant-numeric:tabular-nums;white-space:nowrap}.status-pill.andon-waiting{border-color:rgba(255,193,71,.45);color:#ffcf76;background:rgba(255,193,71,.09)}.output-trust-note{margin-top:10px;padding:9px 11px;border:1px solid rgba(255,193,71,.3);border-radius:8px;background:rgba(255,193,71,.07);color:#ffd589;font-size:9px;line-height:1.5}

/* R42.2.10 — navigation visibility / touchscreen ergonomics */
.sidebar{
  height:100vh;
  min-height:0;
  overflow:hidden;
}
@supports (height:100dvh){.sidebar{height:100dvh;min-height:0}}
.nav-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding-bottom:14px;
}
.sidebar-bottom{
  flex:0 0 auto;
  margin-top:0;
  border-top:1px solid var(--line-soft);
  background:linear-gradient(180deg,rgba(8,18,31,.96),#08121f);
  padding-bottom:max(10px,env(safe-area-inset-bottom));
}
.sidebar-rail-toggle{
  margin-left:auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#0f1d2e;
  color:#dce8f7;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.sidebar-rail-toggle:hover{border-color:var(--blue);background:#132842}
.sidebar.collapsed .sidebar-rail-toggle{position:absolute;right:-15px;top:23px;z-index:2;background:#10233a}
.sidebar.collapsed .brand-row{position:relative;overflow:visible}
.sidebar.collapsed .sidebar-bottom .customer-brand-card{display:none}
.import-template-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}

/* Optional ClearRivet on-screen keyboard for touch-only terminals. */
.cr-virtual-keyboard{
  position:fixed;
  left:50%;
  bottom:max(10px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:120;
  width:min(920px,calc(100vw - 24px));
  padding:12px;
  border:1px solid #35516f;
  border-radius:14px;
  background:rgba(7,17,30,.98);
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  backdrop-filter:blur(18px);
}
.cr-vk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#aebdd0;font-size:12px}
.cr-vk-row{display:flex;justify-content:center;gap:6px;margin:6px 0}
.cr-vk-key{
  min-width:48px;
  min-height:46px;
  padding:8px 12px;
  border:1px solid #314763;
  border-radius:8px;
  background:#14243a;
  color:#fff;
  font-weight:750;
  font-size:16px;
  touch-action:manipulation;
}
.cr-vk-key:hover,.cr-vk-key:active{background:#1c3d65;border-color:#4aa6ff}
.cr-vk-key.is-wide{min-width:92px}.cr-vk-key.is-space{flex:0 1 340px}.cr-vk-key.is-primary{background:#177fe0;border-color:#399cff}
@media(max-width:620px){.cr-vk-key{min-width:34px;min-height:42px;padding:6px 8px;font-size:14px}.cr-vk-row{gap:4px}.cr-virtual-keyboard{padding:8px}}
body.cr-vk-open .modal{padding-bottom:260px}

/* R42.2.12 — Andon lifecycle filters and at-machine closure */
.andon-filter-bar{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;padding:12px 0 14px;align-items:end}.andon-filter-bar label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.andon-filter-bar input,.andon-filter-bar select{width:100%;min-height:38px}.andon-filter-search{grid-column:span 2}.machine-andon-active{margin-top:10px;padding:10px 12px;border:1px solid rgba(255,193,71,.35);border-radius:9px;background:rgba(255,193,71,.06)}.machine-andon-active.acknowledged{border-color:rgba(90,160,240,.38);background:rgba(90,160,240,.06)}.machine-andon-active-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.machine-andon-active p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.machine-andon-active .operator-action-buttons{margin-top:9px}.andon-cancelled{border-color:rgba(150,163,181,.42)!important;color:#b8c2ce!important;background:rgba(150,163,181,.08)!important}@media(max-width:1100px){.andon-filter-bar{grid-template-columns:repeat(3,minmax(140px,1fr))}.andon-filter-search{grid-column:span 2}}@media(max-width:700px){.andon-filter-bar{grid-template-columns:1fr 1fr}.andon-filter-search{grid-column:1/-1}}

/* R42.2.14 — Andon cards stay readable at normal laptop/desktop widths.
   The live-response controls sit below the message rather than stealing a
   fixed 200px column from the operator comment and timer. */
.andon-request-card{grid-template-columns:minmax(96px,120px) minmax(0,1fr);align-items:start}
.andon-request-card .action-main{overflow-wrap:anywhere}
.andon-request-card .matched-action-controls{grid-column:2;min-width:0;justify-content:flex-start;margin-top:-2px}
.andon-request-card .matched-action-controls .action-command{min-width:0;flex:0 1 auto}
.andon-request-heading{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.andon-operator-comment{overflow-wrap:anywhere}
@media(max-width:1180px){.actions-grid{grid-template-columns:1fr}.andon-request-card .matched-action-controls{grid-column:2}}
@media(max-width:720px){.andon-request-card{grid-template-columns:1fr}.andon-request-card .matched-action-controls{grid-column:1;margin-top:0}.andon-request-card .matched-action-controls .action-command{flex:1 1 120px}}

/* R42.2.14 — make the Excel dependency order explicit instead of failing mysteriously. */
.import-sequence-note{display:grid;gap:4px;margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(45,147,255,.28);border-radius:8px;background:rgba(45,147,255,.06);color:#d8e8f8}.import-sequence-note strong{font-size:10px}.import-sequence-note span{font-size:10px;font-weight:750}.import-sequence-note small{color:var(--muted);line-height:1.45}.production-import-note{margin-top:0;margin-bottom:18px}
