:root {
  --grass-900: #173d24;
  --grass-800: #20552f;
  --grass-700: #2d7141;
  --grass-600: #3f8c4f;
  --grass-500: #58ad65;
  --grass-100: #e8f6e9;
  --mint-50: #f5fbf4;
  --line: #dce8dd;
  --text: #18231b;
  --muted: #667368;
  --panel: #ffffff;
  --warn: #ba6a18;
  --blue: #246b91;
  --shadow: 0 18px 45px rgba(23, 61, 36, .12);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  background: #eef5ef;
  color: var(--text);
  font-family: "Segoe UI", Arial, sans-serif;
}

button,
input,
select {
  font: inherit;
}

.app-shell {
  display: none;
  grid-template-columns: 268px minmax(0, 1fr);
  min-height: 100vh;
}

body.authenticated .app-shell {
  display: grid;
}

body.authenticated .login-screen {
  display: none;
}

/* Prevent the unauthenticated screen from flashing while a saved session is
   being restored during the first application paint. */
html.has-session .login-screen { display:none!important; }
html.has-session .app-shell { display:grid; }

.login-screen {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  padding: 30px clamp(24px, 5vw, 96px) 24px;
  color: #e8f2ed;
  background: #031e15;
}
.login-screen::before,.login-screen::after,.login-production-flow { display: none; }
.orinera-background-host { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.login-topbar,.login-layout,.login-bottom { position: relative; z-index: 1; }
.login-production-flow { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; opacity:.42; }
.flow-line { position:absolute; height:1px; width:58vw; background:linear-gradient(90deg,transparent,#82c88a55 18%,#b4e58b90 50%,transparent 82%); transform-origin:left center; animation:flow-line-drift 16s ease-in-out infinite; }
.flow-line-one { left:5%; top:29%; transform:rotate(-9deg); }
.flow-line-two { left:16%; top:67%; transform:rotate(7deg); animation-delay:-8s; }
.flow-node { position:absolute; width:12px; height:12px; border:1px solid #a8dc8b80; border-radius:3px; background:#7fca7350; box-shadow:0 0 22px #8ed67a55; animation:flow-node-pulse 6s ease-in-out infinite; }
.node-raw { left:13%; top:27%; }
.node-mix { left:28%; top:23%; animation-delay:-1.2s; }
.node-extrude { left:42%; top:19%; animation-delay:-2.4s; }
.node-mill { left:57%; top:15%; animation-delay:-3.6s; }
.node-finished { left:70%; top:12%; animation-delay:-4.8s; }
.flow-passport { position:absolute; left:74%; top:10%; padding:8px 11px; border:1px solid #a8dc8b35; border-radius:5px; color:#b5de9b65; font-size:8px; letter-spacing:.18em; transform:rotate(-8deg); animation:flow-passport-float 9s ease-in-out infinite; }
@keyframes flow-line-drift { 0%,100% { opacity:.25; transform:translateX(-2%) rotate(-9deg); } 50% { opacity:.8; transform:translateX(7%) rotate(-7deg); } }
@keyframes flow-node-pulse { 0%,100% { opacity:.25; transform:translateY(4px) scale(.85); } 50% { opacity:.8; transform:translateY(-4px) scale(1); } }
@keyframes flow-passport-float { 0%,100% { opacity:.25; transform:translate(0,4px) rotate(-8deg); } 50% { opacity:.75; transform:translate(8px,-5px) rotate(-5deg); } }
.login-topbar, .login-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.login-product { font-size: 25px; font-weight: 700; letter-spacing: 1px; }
.login-product b { margin: 0 7px; color: #739f83; font-weight: 400; }
.login-product span { display: inline-block; vertical-align: middle; margin-left: 2px; padding: 4px 9px; border: 1px solid #8ccf5966; border-radius: 6px; font-size: 11px; letter-spacing: 1.4px; color: #b7eb8f; box-shadow: inset 0 0 12px #8ccf5912; }
.login-top-caption, .login-bottom { font-size: 12px; color: #96b4a6; }
.login-layout { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: clamp(40px, 7vw, 120px); align-items: center; width: 100%; max-width: 1240px; margin: 54px auto; }
.login-intro { padding: 16px 0; }
.login-eyebrow { display: flex; align-items: center; gap: 10px; color: #b9d7c6; font-size: 10px; letter-spacing: 2px; font-weight: 600; }
.login-eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #a5d975; box-shadow: 0 0 16px #a5d97550; }
.login-intro h2 { margin: 26px 0 18px; font-size: clamp(42px, 4.2vw, 70px); line-height: 1.08; font-weight: 500; letter-spacing: -2.4px; text-wrap: balance; }
.login-intro h2 span { color: #b2df91; }
.login-philosophy { display: grid; gap: 7px; max-width: 520px; margin-top: 22px; padding-left: 18px; border-left: 2px solid #8ccf5988; }
.login-philosophy p, .login-philosophy strong { margin: 0; font-size: 15px; line-height: 1.5; }
.login-philosophy p { color: #a8beb2; }
.login-philosophy strong { color: #c4f29a; font-weight: 600; }
.login-description { color: #b7cbc0; font-size: 16px; line-height: 1.8; margin: 0; }
.login-process { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; font-size: 12px; color: #d0dfd7; }
.login-process i { font-style: normal; color: #769989; }
.login-summary { margin-top: 62px; border-top: 1px solid #c7e9d720; padding-top: 22px; }
.login-summary-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #e0eae4; }
.login-summary-heading > span { font-size: 11px; color: #8da99b; }
.login-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; margin-top: 25px; }
.login-stat { display: flex; flex-direction: column; align-items: start; gap: 8px; min-width: 0; }
.login-stat small { font-size: 12px; color: #b4c9bd; }
.login-stat strong { font-size: 27px; font-weight: 500; line-height: 1.2; letter-spacing: -.5px; }
.login-stat em { font-size: 12px; color: #a7bfb1; font-style: normal; letter-spacing: 0; }
.login-stat > span { font-size: 10px; color: #91ac9e; }
.stat-current strong { font-size: 24px; min-height: 32px; display: flex; align-items: center; }
.stat-shifts strong { max-width: 235px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:18px; }
.mini-bars { display: flex; align-items: end; gap: 5px; }
.mini-bars:empty { display: none; }
.mini-bars span { width: 19px; border-radius: 3px 3px 0 0; background: linear-gradient(#afd786, #548b67); }
.login-card { position: relative; overflow: hidden; width: 100%; margin: 0; padding: 38px 40px 25px; background: linear-gradient(145deg, rgba(42, 91, 68, .34), rgba(7, 31, 24, .40)); color: #eff8f1; border: 1px solid rgba(211, 255, 220, .34); border-radius: 20px; box-shadow: 0 32px 100px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 42px rgba(156, 239, 154, .08); backdrop-filter: blur(22px) saturate(135%); -webkit-backdrop-filter: blur(22px) saturate(135%); animation: login-card-appear .75s cubic-bezier(.2,.8,.2,1) both; }
.login-card::before { content: ""; position: absolute; inset: 1px; border-radius: inherit; pointer-events: none; background: linear-gradient(135deg, rgba(255, 255, 255, .16), transparent 28%, transparent 72%, rgba(154, 239, 153, .08)); }
@keyframes login-card-appear { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.login-inner { position: relative; z-index: 1; display: grid; gap: 20px; }
.login-logo { position: relative; overflow: visible; display: grid; justify-items: center; gap: 3px; justify-self: center; width: 145px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; line-height: 1; }
.login-logo img { display: block; width: 84px; height: auto; filter: drop-shadow(0 9px 16px rgba(0, 0, 0, .30)); }
.login-logo strong { color: #fff; font-size: 34px; font-weight: 600; letter-spacing: -1.5px; text-shadow: 0 3px 12px rgba(0, 0, 0, .32); }
.login-logo-shine { position: absolute; inset: -15% auto -15% -60%; width: 40%; background: linear-gradient(90deg, transparent, #ffffff90, transparent); transform: skewX(-18deg); opacity: 0; pointer-events: none; animation: nexis-logo-shine 5s linear infinite; animation-delay: .9s; }
@keyframes nexis-logo-shine { 0%, 36% { left: -60%; opacity: 0; } 39% { opacity: .8; } 49% { opacity: .8; } 53%, 100% { left: 140%; opacity: 0; } }
.login-heading { text-align: center; margin-bottom: 7px; }
.login-heading h1 { margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -.7px; }
.login-heading p { margin: 10px 0 0; color: #b8d6c2; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.login-card label:not(.remember-row) { display: grid; gap: 9px; color: #cfe2d5; font-size: 12px; font-weight: 600; }
.login-account-field { position:relative; }
.login-card select, .login-card input[type="password"], .login-card input[type="text"] { width: 100%; min-width: 0; height: 48px; padding: 0 13px; border: 1px solid #b7d9c055; border-radius: 9px; background: #081d178c; color: #f0f8f1; outline: none; font-size: 14px; box-shadow: inset 0 1px 12px #00000012; }
.login-card select option { background: #173d2d; color: #f0f8f1; }
.login-suggestions { position:absolute; z-index:5; top:76px; left:0; right:0; display:grid; max-height:220px; overflow:auto; padding:5px; border:1px solid #b7d9c055; border-radius:10px; background:#173d2df2; box-shadow:0 12px 30px #00000044; }
.login-suggestions[hidden] { display:none!important; }
.login-suggestion { min-height:38px; padding:8px 10px; border:0; border-radius:7px; background:transparent; color:#e7f3e9; text-align:left; cursor:pointer; font-size:13px; }
.login-suggestion:hover,.login-suggestion:focus-visible { background:#8ccf5920; outline:none; }
.login-card input::placeholder { color: #8fa99a; }
.login-card select:focus-visible, .login-card input:focus-visible { border-color: #8ccf59; box-shadow: 0 0 0 3px #8ccf5935; }
.login-password-field { position: relative; display: block; }
.login-password-field input { padding-right: 83px !important; }
.login-password-field button { position: absolute; right: 7px; top: 7px; height: 34px; padding: 0 7px; border: 0; border-radius: 5px; background: transparent; color: #b7d9c2; font-size: 11px; cursor: pointer; }
.login-password-field button:hover { background: #8ccf5918; }
.remember-row { display: flex; align-items: center; gap: 8px; color: #b0c7b7; font-size: 12px; cursor: pointer; }
.remember-row input { width: 16px; height: 16px; margin: 0; accent-color: #8ccf59; }
.login-submit { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 49px; padding: 0 19px; border: 1px solid #a9e47d99; border-radius: 9px; background: linear-gradient(105deg, #8ccf59, #48bc68); color: #0a291b; font-size: 13px; font-weight: 800; letter-spacing: .08em; cursor: pointer; box-shadow: 0 6px 20px #8ccf5938; transition: background .18s, box-shadow .18s, transform .18s; }
.login-submit:hover { background: linear-gradient(105deg, #b0e976, #56d17a); box-shadow: 0 8px 26px #8ccf5955; transform: translateY(-1px); }
.login-submit:disabled { cursor: wait; opacity: .65; }
.login-card button:focus-visible { outline: 3px solid #91bd7c; outline-offset: 3px; }
.login-message { min-height: 18px; margin-top: -7px; color: #a8c4b2; text-align: center; font-size: 12px; line-height: 1.5; }
.login-message.error { color: #ffb2a5; }
.login-message.ok { color: #b7eb8f; }
.login-access-note { margin: -3px 0 0; text-align: center; color: #9eb9a8; font-size: 11px; line-height: 1.7; }
.login-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #b7d9c02b; padding-top: 17px; font-size: 10px; color: #9eb9a8; }
.login-footer strong { font-weight: 500; }
.login-footer strong::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; background: #aaa; }
.login-footer strong[data-state="connected"]::before { background: #8ccf59; box-shadow: 0 0 8px #8ccf59; }
.login-footer strong[data-state="error"]::before { background: #c18448; }
.login-bottom { padding-top: 12px; border-top: 1px solid #c7e9d715; font-size: 10px; }
@media (max-width: 1000px) { .login-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 36px; } .login-card { padding: 30px; } .login-intro h2 { font-size: 44px; } .login-process { gap: 8px; font-size: 11px; } }
@media (max-width: 760px) { .login-screen { padding: 20px; } .login-layout { grid-template-columns: minmax(0, 430px); justify-content: center; margin: 32px auto; } .login-intro { display: none; } .login-top-caption { font-size: 10px; } .login-bottom span:last-child { display: none; } .login-card { padding: 30px 26px 22px; } }
@media (max-height: 850px) and (min-width: 761px) { .login-layout { margin: 30px auto; } .login-summary { margin-top: 38px; } .login-card { padding: 26px 32px 20px; } .login-inner { gap: 14px; } .login-logo { width: 124px; padding: 7px 13px; } }
@media (prefers-reduced-motion: reduce) { .login-screen::before,.login-screen::after,.login-logo-shine,.flow-line,.flow-node,.flow-passport,.login-card { animation: none; } .login-submit { transition: none; } }
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px 14px;
  background: var(--grass-900);
  color: #fff;
}

.brand,
.account,
.run-row,
.panel-head,
.section-card,
.nav-button {
  display: flex;
  align-items: center;
}

.brand {
  gap: 12px;
  padding: 8px 8px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.brand-mark,
.avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: var(--grass-500);
  color: #fff;
  font-weight: 800;
}

.brand-title {
  font-size: 18px;
  font-weight: 800;
}

.brand-subtitle,
.crumbs span,
.account span,
.metric span,
.section-meta,
.eyebrow,
.run-row span,
.access-box span {
  color: var(--muted);
  font-size: 12px;
}

.brand-subtitle {
  color: rgba(255, 255, 255, .62);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.root-nav {
  display: grid;
  gap: 6px;
}

.nav-button {
  width: 100%;
  min-height: 42px;
  gap: 10px;
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(255, 255, 255, .82);
  text-align: left;
  cursor: pointer;
}

.nav-button:hover,
.nav-button.active {
  background: rgba(255, 255, 255, .12);
  color: #fff;
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .12);
  font-size: 12px;
  font-weight: 800;
}

.sidebar-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #84dd74;
}

.workspace {
  min-width: 0;
  padding: 18px;
}

.topbar {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(220px, 420px) auto auto auto auto;
  align-items: center;
  gap: 16px;
  min-height: 66px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.crumbs,
.account > div:first-child {
  display: grid;
  gap: 3px;
}

.crumbs strong {
  font-size: 20px;
}

.search {
  display: grid;
  gap: 4px;
}

.search span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.search input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  outline: none;
}

.search input:focus {
  border-color: var(--grass-500);
  box-shadow: 0 0 0 3px rgba(88, 173, 101, .18);
}

.account {
  justify-content: end;
  gap: 10px;
  text-align: right;
}

.realtime-status {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-width: 132px;
  color: #718075;
  font-size: 10px;
  white-space: nowrap;
}

.realtime-status i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #aab6ad;
}

.realtime-status[data-state="connected"] i { background: #65b85d; box-shadow: 0 0 0 4px rgba(101, 184, 93, .12); }
.realtime-status[data-state="connecting"] i,
.realtime-status[data-state="reconnecting"] i { background: #d09d45; animation: realtime-pulse 1.2s ease-in-out infinite; }
.realtime-status[data-state="offline"] i { background: #b97865; }

.app-update-notice {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #c8dfbb;
  border-radius: 8px;
  background: #eff8ea;
  color: #397343;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}

@keyframes realtime-pulse { 50% { opacity: .45; } }

.auth-switch {
  display: flex;
  align-items: center;
  gap: 6px;
}

.auth-switch select,
.auth-switch input {
  min-height: 30px;
  max-width: 132px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 5px 8px;
  background: #fff;
}

.overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.metric,
.module-panel,
.detail-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.metric {
  display: grid;
  gap: 4px;
  padding: 14px;
}

.metric strong {
  font-size: 22px;
}

.work-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
  margin-top: 14px;
}

.module-panel,
.detail-panel {
  padding: 16px;
}

.panel-head {
  justify-content: space-between;
  gap: 12px;
}

.panel-head h1,
.panel-head h2 {
  margin: 2px 0 0;
  font-size: 22px;
}

.panel-head.compact h2 {
  font-size: 18px;
}

.eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.primary-action,
.ghost-action,
.tool,
.stage-list button {
  border: 1px solid var(--line);
  border-radius: 8px;
  min-height: 34px;
  padding: 7px 11px;
  background: #fff;
  color: var(--text);
  cursor: pointer;
}

.primary-action {
  border-color: var(--grass-700);
  background: var(--grass-700);
  color: #fff;
  font-weight: 700;
}

.service-action {
  border: 0;
  border-radius: 8px;
  min-height: 34px;
  padding: 7px 11px;
  background: transparent;
  color: #1fd35a;
  cursor: pointer;
  font-weight: 800;
}

.ghost-action {
  border-color: var(--grass-200);
  background: var(--grass-50);
  color: var(--grass-800);
  font-weight: 700;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hidden {
  display: none !important;
}

.check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--mint-50);
}

.check-row span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 22px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 900;
}

.check-row.ok span {
  background: var(--grass-100);
  color: var(--grass-800);
}

.check-row.warn span {
  background: #ffe7e7;
  color: #a42424;
}

.section-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 12px;
}

.tool.active {
  border-color: var(--grass-600);
  background: var(--grass-100);
  color: var(--grass-800);
}

.sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.section-card {
  min-height: 74px;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--mint-50);
  cursor: pointer;
}

.section-card:hover,
.section-card.active {
  border-color: var(--grass-500);
  background: #f0faf0;
  box-shadow: 0 0 0 3px rgba(88, 173, 101, .14);
}

.section-card.hidden-by-search {
  display: none;
}

.section-index {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #d6efd7;
  color: var(--grass-800);
  font-weight: 800;
}

.section-card h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.section-meta {
  display: block;
}

.detail-panel {
  align-self: start;
  display: grid;
  gap: 14px;
}

.access-box {
  display: grid;
  gap: 8px;
  padding: 13px;
  border-radius: 8px;
  background: var(--grass-100);
  border: 1px solid #cbe8ce;
}

.access-box p {
  margin: 0;
  color: #3d4d40;
  line-height: 1.45;
  font-size: 13px;
}

.run-board {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.run-row {
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}

.run-row:last-child {
  border-bottom: 0;
}

.pill {
  padding: 4px 8px;
  border-radius: 999px;
  background: #e9f2ff;
  color: var(--blue);
  font-size: 12px;
}

.stage-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.stage-list button {
  min-height: 38px;
  text-align: left;
  background: #fff;
}

.data-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.page-workbench {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.workbench-head,
.recipe-filters,
.calculator-grid,
.recipe-detail-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.workbench-head {
  justify-content: space-between;
  min-height: 52px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: #fafdfa;
}

.workbench-head h2,
.recipe-detail-head h3 {
  margin: 0;
  font-size: 18px;
}

.workbench-body {
  padding: 12px;
}

.recipe-filters {
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.segmented {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf6;
}

.segmented button {
  min-height: 30px;
  border: 0;
  border-radius: 6px;
  padding: 5px 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.segmented button.active {
  background: var(--grass-700);
  color: #fff;
}

.compact-input,
.calculator-grid input,
.calculator-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 10px;
  outline: none;
}

.compact-input:focus,
.calculator-grid input:focus,
.calculator-grid select:focus {
  border-color: var(--grass-500);
  box-shadow: 0 0 0 3px rgba(88, 173, 101, .14);
}

.recipe-layout {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 12px;
}

.recipe-list {
  display: grid;
  gap: 8px;
  max-height: 480px;
  overflow: auto;
  padding-right: 4px;
}

.recipe-item {
  display: grid;
  gap: 4px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.recipe-item.active,
.recipe-item:hover {
  border-color: var(--grass-500);
  background: var(--grass-100);
}

.recipe-item strong {
  font-size: 14px;
}

.recipe-item span,
.muted {
  color: var(--muted);
  font-size: 12px;
}

.recipe-detail {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.recipe-detail-head {
  justify-content: space-between;
}

.recipe-editor-tabs {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 12px;
  border: 12px solid #fff;
  border-radius: 12px;
  background: #fff;
}

.recipe-editor-tabs button {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 18px;
  background: #edf4ee;
  color: #2f3d34;
  cursor: pointer;
  font-weight: 800;
}

.recipe-editor-tabs button.active {
  background: var(--grass-100);
  border-color: #d4e8d5;
}

.recipe-editor-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 14px;
  min-height: 760px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.recipe-editor-top {
  grid-column: 1 / 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  align-items: end;
  gap: 10px;
}

.recipe-editor-top label,
.recipe-side-selectors label {
  display: grid;
  gap: 6px;
  color: #334038;
  font-size: 12px;
  font-weight: 800;
}

.recipe-side-selectors {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  background: #fbfdfb;
}

.recipe-lines-split {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-self: start;
}

.recipe-line-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.recipe-line-head,
.recipe-line-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 140px;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 7px 10px;
  border-bottom: 1px solid #edf2ed;
}

.recipe-line-head {
  min-height: 34px;
  background: #fafdfa;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.recipe-line-row:last-child {
  border-bottom: 0;
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 3px 8px;
  background: #edf4ee;
  color: #37513b;
  font-size: 12px;
}

.badge.warn {
  background: #fff1dd;
  color: var(--warn);
}

.calculator {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.operation-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.operation-form {
  grid-template-columns: repeat(4, minmax(120px, 1fr)) auto;
  align-items: end;
}

.operation-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}

.mill-container-row { display: grid; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line, #e1e9e2); }
.button-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* Operator-first production station */
.station-screen { --station-green:#56b947; --station-deep:#0d3025; --station-ink:#15241d; --station-muted:#6f7c74; color:var(--station-ink); background:linear-gradient(145deg,#0b291f 0%,#123b2c 100%); border-radius:18px; padding:clamp(18px,2.2vw,34px); min-height:calc(100vh - 210px); position:relative; overflow:hidden; }
.station-screen::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 88% 5%,rgba(107,191,79,.16),transparent 35%); pointer-events:none; }
.station-header,.mill-selector,.mill-workspace,.mill-empty-state { position:relative; z-index:1; }
.station-header { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#f5faf5; margin-bottom:24px; }
.station-header h2 { margin:4px 0 5px; font-size:clamp(24px,2.4vw,34px); letter-spacing:-.03em; }
.station-header p { margin:0; color:#b6cec0; }
.station-header .eyebrow,.station-kicker { font-size:10px; letter-spacing:.13em; font-weight:750; color:#79ca61; }
.station-date { border:1px solid rgba(255,255,255,.17); border-radius:999px; padding:8px 13px; color:#d6e8da; font-size:13px; }
.station-header-actions { display:flex; align-items:center; gap:12px; }
.shift-live { display:inline-flex; align-items:center; gap:8px; color:#d4ebd0; font-size:13px; }
.shift-live i { width:8px;height:8px;border-radius:50%;background:#66cc54;box-shadow:0 0 0 5px rgba(102,204,84,.12); }
.station-header-actions .tool { color:#f5faf5; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); }
.mill-selector { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.mill-tile { display:flex; align-items:center; gap:12px; min-width:0; text-align:left; border:1px solid rgba(231,246,235,.15); border-radius:13px; padding:13px; background:rgba(247,251,248,.96); color:var(--station-ink); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.mill-tile:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(0,0,0,.2); }
.mill-tile.selected { outline:2px solid #70ce5e; outline-offset:1px; }
.mill-tile-number { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#eaf5e8;color:#328e35;font-size:20px;font-weight:800; }
.mill-tile-copy { display:grid; min-width:0; gap:3px; }
.mill-tile-copy strong { font-size:13px; }
.mill-tile-copy small { color:#758078; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px; }
.mill-tile-mark { margin-left:auto;color:#48a43d;font-size:17px; }
.mill-ready .mill-tile-mark { display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#56b947;color:white; }
.mill-active { border-color:#86ce76; }
.mill-active .mill-tile-number { background:#dff3dc; }
.mill-paused .mill-tile-number,.mill-stopped .mill-tile-number { background:#fff1d7;color:#a06a19; }
.mill-workspace { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(340px,.87fr); gap:14px; align-items:stretch; }
.mill-workspace-main,.mill-container-list,.mill-empty-state { background:#f7faf7; border-radius:15px; padding:clamp(18px,2vw,28px); box-shadow:0 10px 28px rgba(0,0,0,.12); }
.mill-run-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e4ece5; }
.mill-run-heading h3 { margin:7px 0 4px;font-size:26px;letter-spacing:-.025em; }
.mill-run-heading p { margin:0;color:#67746b;font-size:14px; }
.session-state,.container-status { display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#e7f5e4;color:#398f31;font-size:11px;font-weight:700;white-space:nowrap; }
.session-state.paused,.session-state.stopped { background:#fff1d7;color:#9a681c; }
.station-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0; }
.station-metrics>div { padding:12px 14px;border:1px solid #e6ece6;border-radius:11px;background:#fff; }
.station-metrics span,.station-metrics strong { display:block; }
.station-metrics span { color:#748077;font-size:11px; }
.station-metrics strong { margin-top:5px;font-size:20px; }
.station-metrics strong small { font-size:12px;color:#748077; }
.mill-primary-actions { display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:17px;border-bottom:1px solid #e6ece6; }
.mill-primary-actions .primary-action { min-height:42px;padding-inline:18px; }
.mill-primary-actions .tool { min-height:39px; }
.mill-scrap-block { margin-top:17px;padding-top:16px;border-top:1px solid #e6ece6; }
.mill-scrap-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px; }
.mill-scrap-heading strong { display:block;margin-top:4px;font-size:16px;color:#26382c; }
.mill-scrap-total { color:#3d9536;font-size:14px;font-weight:800; }
.mill-scrap { display:flex;align-items:end;gap:10px; }
.mill-scrap label,.container-finish-form label { display:grid;gap:6px;color:#66736a;font-size:11px;font-weight:650; }
.mill-scrap input,.container-finish-form input,.container-finish-form select { min-width:0;width:100%;height:38px;border:1px solid #dfe8df;border-radius:8px;background:#fff;padding:0 10px;color:#203126;font:inherit; }
.mill-scrap button { height:38px;white-space:nowrap; }
.mill-scrap-journal { margin-top:14px;border:1px solid #e4ece5;border-radius:10px;background:#fff;overflow:hidden; }
.mill-scrap-journal-heading { display:flex;justify-content:space-between;gap:10px;padding:9px 11px;background:#f1f7f0;color:#526258;font-size:11px;font-weight:750; }
.mill-scrap-journal-heading small { color:#7a887e;font-weight:600; }
.mill-scrap-entry { display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:10px;padding:9px 11px;border-top:1px solid #edf1ed;color:#33483a;font-size:12px; }
.mill-scrap-entry time,.mill-scrap-entry small { color:#7a887e;font-size:10px; }
.mill-scrap-entry span { font-weight:650; }
.mill-scrap-empty { padding:12px;color:#89958c;font-size:11px; }
.mill-container-list { min-height:280px; }
.container-list-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px; }
.container-list-heading h3 { margin:5px 0 0;font-size:18px; }
.container-total { display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f5e7;color:#3c9b37;font-weight:800; }
.station-container-card { border:1px solid #e3ebe3;border-radius:12px;background:white;padding:14px;margin-top:10px;animation:stationIn .22s ease both; }
.station-container-card.in-progress { border-color:#9dd493;box-shadow:0 0 0 2px rgba(86,185,71,.08); }
.station-container-top { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.station-container-top h4 { margin:4px 0 0;font-size:19px; }
.container-origin { color:#778279;font-size:11px;margin:9px 0 12px; }
.container-finish-form { display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end; }
.container-save-button { height:38px;min-width:44px;border:0;border-radius:9px;background:#153e2e;color:white;font-weight:800;font-size:17px;cursor:pointer;padding:0 12px; }
.container-save-button span { font-size:11px; }
.container-result { display:flex;align-items:center;gap:14px;color:#617067;font-size:12px; }
.container-result strong { margin-left:auto;color:#27382d;font-size:15px; }
.container-list-empty { display:grid;place-items:center;text-align:center;gap:7px;min-height:190px;color:#7a887d; }
.container-list-empty>span { display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#ecf5eb;color:#54a845;font-size:21px; }
.container-list-empty strong { color:#34463a; }
.container-list-empty small { color:#839087; }
.mill-empty-state { min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }
.mill-empty-state h3 { margin:9px 0 5px;font-size:25px; }
.mill-empty-state p { max-width:450px;color:#718077;line-height:1.55; }
.mill-empty-state .primary-action { margin:10px 0;min-height:44px;padding-inline:22px; }
.mill-empty-state>small { color:#9a6c30; }
.station-shift-screen { min-height:calc(100vh - 210px); }
.shift-choice-grid { position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(240px,390px));justify-content:center;gap:16px;margin:8vh auto 0; }
.shift-choice-card { background:#f8fbf8;border-radius:17px;padding:26px;box-shadow:0 12px 35px rgba(0,0,0,.2); }
.shift-index { color:#6bc457;font-size:12px;font-weight:800;letter-spacing:.15em; }
.shift-choice-card h3 { margin:10px 0;font-size:23px; }
.shift-choice-card p { min-height:40px;color:#728076;font-size:13px; }
.shift-choice-card .primary-action { margin-top:12px;min-height:42px; }
.station-dialog-backdrop { position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(4,22,15,.58);backdrop-filter:blur(5px);animation:stationFade .18s ease both; }
.station-dialog { width:min(480px,100%);max-height:min(88vh,700px);overflow:auto;background:#f9fbf9;border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.32);animation:stationDialogIn .22s cubic-bezier(.2,.8,.2,1) both; }
.station-dialog h3 { margin:7px 0;font-size:23px; }
.station-dialog>p { margin:0 0 18px;color:#718077;font-size:13px;line-height:1.5; }
.station-dialog form>label { display:grid;gap:7px;margin:12px 0;color:#617067;font-size:12px;font-weight:650; }
.station-dialog select { width:100%;height:43px;border:1px solid #dce7dc;border-radius:9px;background:white;padding:0 11px;color:#203126;font:inherit; }
.extrusion-source-selected { display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:-2px 0 14px;padding:10px 12px;border:1px solid #dce7dc;border-radius:9px;background:#f2f7f1; }
.extrusion-source-selected strong { color:#1f3426;font-size:16px; }
.extrusion-source-selected span { color:#6d7d72;font-size:12px;text-align:right; }
.selected-run-summary { display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:13px;border-radius:10px;background:#edf6eb;color:#738078;font-size:11px; }
.selected-run-summary strong { color:#2b4130;font-size:13px; }
.station-dialog-actions { display:flex;justify-content:flex-end;gap:9px;margin-top:21px; }
.station-dialog-error { margin:14px 0 0!important;padding:10px;border-radius:9px;background:#fff0ed;color:#a03f30!important; }
.station-shortage-kicker { color:#a96b13!important; }
.mixing-shortage-list { display:grid;gap:9px;margin:16px 0; }
.mixing-shortage-row { display:grid;gap:4px;padding:12px 13px;border:1px solid #efd9aa;border-radius:11px;background:#fffaf0;color:#6e6048;font-size:12px;line-height:1.35; }
.mixing-shortage-row strong { color:#26382b;font-size:14px; }
.mixing-shortage-deficit { color:#a35e12; }
.mixing-shortage-note { margin-bottom:0!important;padding:11px 12px;border-left:3px solid #d49a32;background:#f7f2e6;color:#6e6048!important; }
.station-loading { padding:30px;border-radius:14px;background:#f7faf7;color:#506357; }
@keyframes stationIn { from {opacity:0;transform:translateY(5px)} to {opacity:1;transform:translateY(0)} }
@keyframes stationFade { from {opacity:0} to {opacity:1} }
@keyframes stationDialogIn { from {opacity:0;transform:translateY(10px) scale(.985)} to {opacity:1;transform:translateY(0) scale(1)} }
@media(max-width:1100px) { .mill-selector { grid-template-columns:repeat(3,minmax(0,1fr)); } .mill-workspace { grid-template-columns:1fr; } }
@media(max-width:680px) { .station-screen { padding:14px;min-height:70vh; } .station-header { align-items:flex-start;flex-direction:column; } .station-header-actions { width:100%;justify-content:space-between; } .mill-selector { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; } .mill-tile { padding:9px;gap:7px; } .mill-tile-number { width:31px;height:31px; } .station-metrics { grid-template-columns:1fr; } .mill-scrap { align-items:stretch;flex-direction:column; } .mill-scrap-entry { grid-template-columns:1fr auto; } .mill-scrap-entry span { grid-column:1/-1;grid-row:1; } .mill-scrap-entry time { grid-column:1;grid-row:2; } .mill-scrap-entry small { grid-column:2;grid-row:2; } .container-finish-form { grid-template-columns:1fr 1fr; } .shift-choice-grid { grid-template-columns:1fr;margin-top:24px; } }

.pallet-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.pallet-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.pallet-form textarea,
.service-note-panel textarea {
  resize: vertical;
}

.pallet-wide {
  grid-column: 1 / -1;
}

.service-label {
  color: var(--grass-600) !important;
}

.pallet-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 8px;
}

.pallet-actions .muted {
  margin-right: auto;
}

.warehouse-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 12px;
}

.stock-toolbar {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.stock-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.stock-export-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.stock-export-toggle input,
.service-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--grass-700);
}

.stock-export-toggle small {
  margin-left: 8px;
  color: var(--muted);
}

.danger-tool {
  border-color: #f0c7c4;
  background: #fff7f6;
  color: #b3261e;
  font-weight: 700;
}

.stock-table-scroll {
  max-height: 680px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.stock-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef5f8;
}

.stock-table tbody tr {
  cursor: pointer;
}

.record-info-drawer,
.record-editor-drawer {
  width: min(100vw, 860px);
  overflow-y: auto;
  padding-bottom: 110px;
}

.drawer-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.metric-tile,
.value-tile,
.record-section,
.muted-box {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f5f8f5;
}

.metric-tile {
  display: grid;
  gap: 4px;
  min-height: 86px;
  padding: 12px;
  text-align: center;
}

.metric-tile span,
.value-tile span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.metric-tile strong {
  align-self: center;
  color: #4f647a;
  font-size: 22px;
}

.record-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #fff;
}

.record-section h3 {
  margin: 0;
  font-size: 18px;
}

.details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.value-tile,
.muted-box {
  display: grid;
  gap: 5px;
  min-height: 58px;
  padding: 12px;
}

.value-tile strong,
.muted-box {
  color: #334038;
  font-weight: 600;
}

.record-editor-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 14px;
}

.record-editor-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.service-check {
  grid-column: 1 / -1;
  display: flex !important;
  align-items: center;
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fbfdfb;
  color: #334038 !important;
}

.journal-toolbar {
  display: grid;
  grid-template-columns: 150px 110px 150px 150px 170px repeat(6, auto);
  align-items: end;
  gap: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.journal-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.journal-counter {
  align-self: center;
  min-height: 44px;
}

.journal-search-line {
  margin-bottom: 10px;
}

.journal-table-scroll {
  max-height: 690px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.journal-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef5f8;
}

.journal-table tbody tr {
  cursor: pointer;
}

.numeric-cell {
  text-align: center;
  min-width: 46px;
}

.journal-editor-drawer {
  width: min(100vw, 900px);
  overflow-y: auto;
  padding-bottom: 110px;
}

.journal-editor-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 14px;
}

.journal-editor-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.journal-corrections-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(8, minmax(70px, 1fr));
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.service-note-panel {
  display: grid;
  align-self: start;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.service-note-panel h3 {
  margin: 2px 0 0;
}

.note-list {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
}

.note-item {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: var(--mint-50);
}

.note-item span {
  color: var(--muted);
  font-size: 12px;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(5, 16, 10, .64);
}

.side-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 91;
  display: grid;
  align-content: start;
  gap: 14px;
  width: min(100vw, 420px);
  padding: 28px;
  border-radius: 20px 0 0 20px;
  background: #fff;
  box-shadow: -10px 0 32px rgba(0, 0, 0, .18);
}

.service-record-drawer {
  width: min(100vw, 1040px);
}

.drawer-close {
  position: absolute;
  top: 22px;
  right: 22px;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 18px;
}

.drawer-logo {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #dff7cb 0%, #50b344 45%, #f4fff2 46%, #15934b 100%);
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  font-style: italic;
}

.side-drawer h2 {
  margin: 4px 0 0;
  font-size: 24px;
}

/* Container journal editor: a focused Nexus modal instead of a cramped side drawer. */
.journal-editor-modal {
  position: fixed;
  inset: 50% auto auto 50%;
  z-index: 91;
  display: grid;
  gap: 18px;
  width: min(920px, calc(100vw - 36px));
  max-height: min(840px, calc(100vh - 36px));
  overflow: auto;
  padding: 30px 32px 24px;
  transform: translate(-50%, -47%);
  border: 1px solid #dfe6df;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(8, 34, 22, .3);
  animation: journal-modal-in .18s ease-out forwards;
}
.accounting-journal-page { display: grid; gap: 14px; padding: 4px 0 10px; }
.accounting-journal-page > .workbench-head { padding: 4px 2px 16px; border-bottom: 1px solid #dfe6df; background: transparent; }
.accounting-journal-page > .workbench-head h2 { color: #173d2b; font-size: 28px; letter-spacing: -.04em; }
.accounting-journal-page > .workbench-head .eyebrow { color: #6b9b5e; }
.accounting-journal-page > .workbench-head > .badge { display: inline-flex; align-items: center; border: 1px solid #dfe6df; border-radius: 999px; background: #f4faf2; color: #4c8f40; }
.accounting-journal-page > .workbench-body { display: grid; gap: 12px; padding: 0; }
.accounting-journal-page .journal-toolbar { grid-template-columns: repeat(5, minmax(120px, 1fr)) auto auto auto auto auto; gap: 9px; margin: 0; padding: 13px; border-color: #dfe6df; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(18,58,39,.04); }
.accounting-journal-page .journal-toolbar label { color: #718077; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.accounting-journal-page .journal-toolbar .compact-input { min-height: 38px; background: #fbfdfb; }
.accounting-journal-page .journal-search-line { margin: 0; }
.accounting-journal-page .journal-search-line .compact-input { width: min(390px, 100%); min-height: 38px; border-radius: 9px; background: #fff; }
.accounting-journal-page .journal-table-scroll { max-height: calc(100vh - 355px); min-height: 360px; border-color: #dfe6df; border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(18,58,39,.04); }
.accounting-journal-page .journal-table th { background: #f2f7f2; color: #52685a; font-size: 10px; text-transform: uppercase; letter-spacing: .035em; }
.accounting-journal-page .journal-table td { border-color: #edf1ed; color: #30483a; font-size: 12px; }
.accounting-journal-page .journal-table tbody tr:hover { background: #f4faf2; }
.accounting-journal-page .journal-table tbody tr.selected-row { background: #eaf7e6; box-shadow: inset 3px 0 #8ccf59; }
.journal-editor-modal { overflow-x: hidden; }
.journal-editor-modal .journal-editor-form, .journal-editor-modal .journal-editor-form > label, .journal-editor-modal .journal-corrections-grid { min-width: 0; }
.journal-editor-modal .journal-editor-form .compact-input { width: 100%; min-width: 0; }
#journalDrawerHost:has(.journal-editor-modal) .drawer-backdrop { animation: journal-backdrop-in .16s ease-out forwards; }
.journal-modal-heading { display: grid; gap: 6px; padding-right: 32px; }
.journal-modal-heading h2 { margin: 0; color: #173d2b; font-size: 26px; letter-spacing: -.04em; }
.journal-modal-heading p { margin: 0; color: #718077; font-size: 12px; }
.journal-editor-modal .drawer-close { top: 20px; right: 22px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dfe6df; border-radius: 50%; background: #f7faf7; color: #496254; font-size: 16px; transition: background .15s ease, color .15s ease, transform .15s ease; }
.journal-editor-modal .drawer-close:hover { background: #e9f5e5; color: #276d38; transform: rotate(90deg); }
.journal-editor-modal .journal-editor-form { gap: 14px; }
.journal-editor-modal .journal-editor-form label { color: #53675a; font-size: 11px; }
.journal-editor-modal .compact-input { min-height: 40px; border-color: #dfe6df; border-radius: 9px; background: #fbfdfb; color: #1c3027; }
.journal-editor-modal .compact-input:focus { border-color: #86c977; box-shadow: 0 0 0 3px #8ccf5924; outline: 0; }
.journal-corrections-grid { grid-template-columns: repeat(8, minmax(64px, 1fr)); gap: 9px; border-color: #dfe6df; border-radius: 11px; background: #f7faf7; }
.journal-corrections-grid::before { content: "Количество контейнеров по сменам"; grid-column: 1 / -1; color: #53675a; font-size: 11px; font-weight: 700; }
.journal-editor-modal .drawer-error { grid-column: 1 / -1; }
.journal-editor-modal .drawer-footer { position: sticky; inset: auto; bottom: -24px; z-index: 1; display: flex; justify-content: flex-end; gap: 9px; width: calc(100% + 64px); margin: 0 -32px -24px; padding: 14px 32px; border-top: 1px solid #e5ece5; background: rgba(255,255,255,.96); }
@keyframes journal-modal-in { from { opacity: 0; transform: translate(-50%, -44%) scale(.98); } to { opacity: 1; transform: translate(-50%, -47%) scale(1); } }
@keyframes journal-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .journal-editor-modal { animation: none; } }
@media (max-width: 760px) { .journal-editor-modal { width: calc(100vw - 20px); max-height: calc(100vh - 20px); padding: 24px 20px 20px; border-radius: 14px; } .journal-editor-modal .journal-editor-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journal-corrections-grid { grid-template-columns: repeat(4, minmax(58px, 1fr)); } .journal-editor-modal .drawer-footer { margin: 0 -20px -20px; padding-left: 20px; padding-right: 20px; } }

.drawer-form {
  display: grid;
  gap: 14px;
}

.drawer-form label,
.service-record-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.drawer-error {
  min-height: 18px;
  color: #b3261e;
  font-size: 13px;
  font-weight: 700;
}

.drawer-footer {
  position: absolute;
  inset: auto 28px 24px;
  display: flex;
  justify-content: end;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #eff2ee;
}

.service-record-form {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 16px;
  padding-bottom: 92px;
}

.calculator-grid {
  flex-wrap: wrap;
}

.calculator-grid label {
  display: grid;
  gap: 4px;
  min-width: 140px;
  color: var(--muted);
  font-size: 12px;
}

.calc-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.calc-summary div {
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: #fff;
}

.calc-summary span {
  color: var(--muted);
  font-size: 12px;
}

.calc-summary strong {
  font-size: 18px;
}

.access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.access-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 62px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  cursor: pointer;
}

.access-toggle.active {
  border-color: var(--grass-500);
  background: var(--grass-100);
}

.access-toggle input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--grass-700);
}

.access-toggle span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.access-toggle strong,
.access-toggle small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-toggle small {
  color: var(--muted);
  font-size: 12px;
}

.table-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.table-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}

.table-title span {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-scroll {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

th,
td {
  padding: 9px 10px;
  border-bottom: 1px solid #edf2ed;
  text-align: left;
  white-space: nowrap;
}

th {
  color: var(--muted);
  font-weight: 700;
  background: #fafdfa;
}

td {
  color: #2a362d;
}

tbody tr:last-child td {
  border-bottom: 0;
}

tbody tr {
  cursor: default;
}

tbody tr.selected-row td {
  background: var(--grass-100);
  color: var(--grass-900);
  font-weight: 700;
}

@media (max-width: 1040px) {
  .app-shell {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .brand div:not(.brand-mark),
  .nav-button span:not(.nav-icon),
  .sidebar-footer span {
    display: none;
  }

  .nav-button {
    justify-content: center;
  }

  .work-grid,
  .topbar {
    grid-template-columns: 1fr;
  }

  .account {
    justify-content: start;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .root-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .overview,
  .sections,
  .data-strip,
  .recipe-layout,
  .recipe-editor-panel,
  .recipe-editor-top,
  .recipe-lines-split,
  .recipe-line-head,
  .recipe-line-row,
  .operation-form,
  .pallet-form,
  .warehouse-split,
  .stock-search-row,
  .drawer-summary-grid,
  .details-grid,
  .record-editor-form,
  .journal-toolbar,
  .journal-editor-form,
  .journal-corrections-grid,
  .calc-summary,
  .access-grid {
    grid-template-columns: 1fr;
  }

  .recipe-side-selectors,
  .recipe-editor-top,
  .recipe-lines-split {
    grid-column: 1 / -1;
  }

  .workspace {
    padding: 12px;
  }
}


/* Nexis 2 workspace: navigation and layout only. */
.app-shell { --line: #e0e7e1; --shadow: 0 4px 20px #163d2405; grid-template-columns: 242px minmax(0, 1fr); background: #f2f5f1; }
.app-shell .sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 26px 14px 18px; gap: 24px; background: linear-gradient(170deg, #153e2e, #0d291f); }
.app-shell .brand { padding: 0 10px; gap: 12px; }
.app-shell .brand-mark { width: 36px; height: 36px; object-fit: contain; background: transparent; border-radius: 0; }
.app-shell .brand-title { font-size: 21px; letter-spacing: -.6px; }
.app-shell .brand-subtitle { color: #a7c2b1; font-size: 9px; line-height: 1.5; max-width: 145px; margin-top: 3px; }
.sidebar-toggle { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid #bdd9c524; border-radius: 8px; background: transparent; color: #b7cfc0; cursor: pointer; text-align: left; font-size: 11px; }
.sidebar-toggle > span:first-child { font-size: 18px; }
.app-shell .root-nav { gap: 7px; }
.app-shell .nav-button { min-height: 47px; padding: 10px 12px; gap: 12px; color: #bfd1c6; border: 1px solid transparent; background: transparent; border-radius: 8px; text-align: left; }
.app-shell .nav-button:hover { background: #ffffff0a; color: #fff; }
.app-shell .nav-button.active { background: #daefc914; color: #d9efc9; border-color: #bde39f25; box-shadow: inset 3px 0 #b2d990; }
.app-shell .nav-icon { display: flex; align-items: center; justify-content: center; width: 23px; height: 23px; flex: 0 0 23px; background: transparent; }
.nav-icon svg { width: 22px; height: 22px; }
.app-shell .nav-label { font-size: 12px; line-height: 1.4; font-weight: 500; }
.app-shell .nav-count { margin-left: auto; font-size: 10px; opacity: .55; }
.app-shell .sidebar-footer { margin-top: auto; color: #95b19f; padding: 18px 10px 0; border-top: 1px solid #ffffff12; font-size: 10px; }
.app-shell .workspace { padding: 0 28px 28px; min-width: 0; }
.app-shell .topbar { grid-template-columns: minmax(150px, 1fr) minmax(180px, 300px) auto auto auto auto; min-height: 90px; padding: 18px 0; border: 0; border-bottom: 1px solid #dce5dc; border-radius: 0; background: transparent; box-shadow: none; gap: 24px; }
.app-shell .crumbs span { font-size: 10px; color: #849287; }
.app-shell .crumbs strong { font-size: 17px; font-weight: 600; }
.app-shell .search input { background: #ffffffa8; height: 38px; font-size: 12px; }
.app-shell .account strong { font-size: 12px; font-weight: 600; }
.app-shell .account span { font-size: 10px; color: #849287; }
.app-shell .avatar { width: 34px; height: 34px; background: #deead9; color: #396643; font-size: 13px; border-radius: 50%; }
.app-shell .work-grid { grid-template-columns: minmax(0, 1fr); margin-top: 22px; }
.app-shell .module-panel { padding: 0; border: 0; background: transparent; box-shadow: none; min-width: 0; }
.app-shell .module-panel > .panel-head { padding: 0 0 8px; }
.app-shell .module-panel > .panel-head h1 { font-size: 26px; font-weight: 600; letter-spacing: -.7px; }
.app-shell .module-panel > .panel-head .eyebrow { display: none; }
.shell-module-caption { font-size: 11px; color: #89958b; }
.app-shell .section-toolbar { gap: 5px; margin: 5px 0 12px; }
.app-shell .section-toolbar .tool { padding: 5px 11px; min-height: 28px; font-size: 11px; background: transparent; border-color: transparent; color: #758379; }
.app-shell .section-toolbar .tool.active { background: #e2ecdF; color: #326542; }
.app-shell .sections { display: flex; gap: 22px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; border-bottom: 1px solid #d9e2d9; padding: 0 2px; }
.app-shell .section-card { display: block; flex: 0 0 auto; min-height: 45px; padding: 10px 0 13px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #718075; background: transparent; font-size: 12px; font-weight: 500; box-shadow: none; white-space: nowrap; }
.app-shell .section-card.active { border-bottom-color: #39784a; color: #225d37; background: transparent; box-shadow: none; }
.app-shell .section-card:hover { color: #225d37; background: transparent; box-shadow: none; }
.app-shell .section-card.hidden-by-search { display: none; }
.app-shell:not(.station-immersive) .module-panel > .panel-head,
.app-shell:not(.station-immersive) .module-panel > .section-toolbar,
.app-shell:not(.station-immersive) .module-panel > .sections { display:none!important; }
.app-shell.shell-control:not(.station-immersive) .module-panel > .panel-head { display:flex!important; }
.app-shell.shell-control:not(.station-immersive) .module-panel > .section-toolbar { display:flex!important; }
.app-shell.shell-control:not(.station-immersive) .module-panel > .sections { display:flex!important; }
.app-shell.shell-warehouse:not(.station-immersive) .module-panel > .sections { display:flex!important; }
.app-shell:not(.station-immersive) .module-panel > .page-workbench { margin-top:0!important; }
.navigation-empty { padding: 14px; color: #778579; font-size: 12px; }
.app-shell .page-workbench { margin-top: 22px; border: 1px solid #e0e7dd; border-radius: 12px; background: #fff; overflow: hidden; }
.app-shell .workbench-head { padding: 20px 22px; background: #fff; border-bottom: 1px solid #edf0ea; }
.app-shell .workbench-head h2 { font-size: 20px; letter-spacing: -.4px; }
.app-shell .workbench-body { padding: 20px 22px; }
.app-shell .workbench-head > .badge { display: none; }
.app-shell:not(.shell-home) .overview, .app-shell:not(.shell-home) .detail-panel, .app-shell:not(.shell-home) .data-strip { display: none; }
.app-shell.shell-home .work-grid { grid-template-columns: minmax(0, 1fr) 270px; }
.app-shell.shell-home .overview { margin-top: 24px; gap: 16px; }
.app-shell .metric { padding: 18px 20px; border-radius: 10px; box-shadow: none; }
.app-shell .metric span { font-size: 11px; }
.app-shell .metric strong { font-size: 27px; font-weight: 500; margin-top: 6px; }
.app-shell .detail-panel { padding: 20px; border-radius: 12px; box-shadow: none; }
.app-shell .detail-panel h2 { font-size: 17px; }
.app-shell .stage-list button[hidden] { display: none; }
.app-shell .data-strip { grid-template-columns: minmax(0, 1fr); margin-top: 20px; }
.home-welcome { padding: 30px; background: linear-gradient(115deg, #f6f9f1, #fff); }
.home-welcome h2 { font-size: clamp(24px, 2.3vw, 34px); line-height: 1.25; letter-spacing: -1px; color: #254b32; margin: 12px 0; font-weight: 500; }
.home-welcome > p:not(.eyebrow) { font-size: 12px; color: #7a877a; line-height: 1.7; }
.app-shell.shell-home > .workspace > .overview,.app-shell.shell-home .detail-panel { display:none!important; }
.app-shell.shell-home .work-grid { grid-template-columns:1fr; margin-top:0; }
.home-dashboard { display:grid; gap:16px; padding:4px 0 28px; }
.home-dashboard .home-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; border:1px solid #dfe8df; border-radius:14px; background:linear-gradient(115deg,#f4faef,#fff); }
.home-dashboard .home-welcome h2 { margin:0; font-size:clamp(24px,2.6vw,34px); }
.home-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.home-links button { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 12px; border:1px solid #d7e5d6; border-radius:9px; background:#fff; color:#3f7450; cursor:pointer; font-size:11px; }
.home-links button:hover { border-color:#83bd78; background:#eff8ec; }
.home-links button svg { width:16px; height:16px; }
.home-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.home-metrics article { display:grid; gap:4px; min-height:92px; padding:15px 17px; border:1px solid #dfe8df; border-radius:11px; background:#fff; }
.home-metrics span,.home-metrics small { color:#77847a; font-size:10px; }
.home-metrics strong { color:#203b29; font-size:25px; line-height:1.1; }
.home-metrics strong small { color:#4b7651; font-size:12px; }
.home-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:12px; }
.home-production-summary,.home-recent { min-width:0; padding:17px; border:1px solid #dfe8df; border-radius:13px; background:#fff; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:8px; }
.home-section-heading h3 { margin:4px 0 0; color:#23412c; font-size:17px; }
.home-section-heading>span { color:#6b846f; font-size:10px; }
.home-run-row,.home-recent-row { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; padding:10px 0; border:0; border-top:1px solid #edf1ec; background:transparent; text-align:left; }
.home-run-row { cursor:pointer; }
.home-run-row:hover { background:#f5faf3; }
.home-run-row>div,.home-recent-row>div { display:grid; gap:3px; min-width:0; }
.home-run-row strong,.home-recent-row strong { color:#29422f; font-size:12px; }
.home-run-row span,.home-recent-row span { overflow:hidden; color:#7b887e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.home-run-row b { flex:0 0 auto; border-radius:999px; padding:5px 8px; background:#e8f5e6; color:#438148; font-size:9px; font-weight:600; }
.home-recent-row>div:last-child { justify-items:end; text-align:right; }
.home-recent-row b { color:#2d5536; font-size:11px; }
.home-status { color:#4c8d4e!important; }
.home-status.closed { color:#879188!important; }
.home-empty { margin:16px 0 4px; color:#829086; font-size:12px; }
.passport-run-code { display:block; margin-top:5px; color:#718078; font-size:12px; }
.run-code-subtitle { display:block; margin-top:4px; color:#718078; font-size:11px; }
@media(max-width:900px){.home-dashboard .home-welcome{align-items:flex-start;flex-direction:column}.home-links{justify-content:flex-start}.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.home-dashboard-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.home-metrics{grid-template-columns:1fr}.home-dashboard .home-welcome{padding:18px}.home-production-summary,.home-recent{padding:14px;}}
.home-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.home-links button { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #dde7d8; border-radius: 8px; background: #fff; color: #396343; font-size: 12px; cursor: pointer; }
.home-links button:hover { border-color: #8caf7b; background: #f6f9f1; }
.home-links svg { width: 19px; height: 19px; }
.app-shell button:focus-visible { outline: 2px solid #82a96b; outline-offset: 3px; }
.app-shell.sidebar-collapsed { grid-template-columns: 64px minmax(0, 1fr); }
.app-shell.sidebar-collapsed .brand > div, .app-shell.sidebar-collapsed .nav-label, .app-shell.sidebar-collapsed .nav-count, .app-shell.sidebar-collapsed .sidebar-toggle-label, .app-shell.sidebar-collapsed .sidebar-footer span { display: none; }
.app-shell.sidebar-collapsed .brand { padding: 0; justify-content: center; }
.app-shell.sidebar-collapsed .nav-button, .app-shell.sidebar-collapsed .sidebar-toggle { justify-content: center; padding: 10px 0; }
@media (min-width: 761px) and (max-width: 1100px) {
  .app-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .app-shell .brand > div, .app-shell .sidebar-footer span, .app-shell .nav-button .nav-label { display: block; }
  .app-shell .nav-button { justify-content: start; }
  .app-shell .nav-count { display: none; }
  .app-shell .workspace { padding: 0 20px 20px; }
  .app-shell .topbar { grid-template-columns: minmax(0, 1fr) auto auto auto auto; gap: 14px; }
  .app-shell .search { grid-row: 2; grid-column: 1 / -1; }
  .app-shell .account { justify-content: end; text-align: right; }
  .app-shell.shell-home .work-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .app-shell, .app-shell.sidebar-collapsed { grid-template-columns: minmax(0, 1fr); }
  .app-shell .sidebar { position: relative; height: auto; padding: 14px; gap: 12px; }
  .app-shell .brand { justify-content: start; padding: 0; }
  .app-shell .brand > div { display: block; }
  .app-shell .sidebar-toggle, .app-shell .sidebar-footer { display: none; }
  .app-shell .root-nav { display: flex; overflow-x: auto; gap: 7px; }
  .app-shell .nav-button, .app-shell.sidebar-collapsed .nav-button { flex: 0 0 auto; padding: 8px 10px; min-height: 38px; }
  .app-shell .nav-button .nav-label, .app-shell.sidebar-collapsed .nav-button .nav-label { display: block; font-size: 11px; }
  .app-shell .nav-count { display: none; }
  .app-shell .workspace { padding: 0 14px 20px; }
  .app-shell .topbar { grid-template-columns: 1fr; gap: 14px; padding: 17px 0; }
  .app-shell .account { justify-content: start; text-align: left; }
  .app-shell .account .avatar { order: -1; }
  .app-shell.shell-home .work-grid { grid-template-columns: 1fr; }
  .app-shell .overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shell-module-caption { display: none; }
  .home-welcome { padding: 22px; }
  .app-shell .workbench-head, .app-shell .workbench-body { padding: 16px; }
}
.accounts-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 26px; }
.accounts-layout > aside { display: grid; align-content: start; gap: 12px; }
.accounts-layout .recipe-list { max-height: 70vh; overflow: auto; }
.account-editor { display: grid; gap: 26px; min-width: 0; }
.account-editor-heading { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.account-editor h3 { margin: 0; font-size: 16px; }
.account-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.account-fields label:not(.remember-row), .account-start { display: grid; gap: 8px; font-size: 12px; color: #66786b; }
.account-fields input { width: 100%; }
.account-permissions > p { color: #7a887d; font-size: 12px; }
.account-page-group { margin: 14px 0; padding: 16px; border: 1px solid #e0e7dd; border-radius: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.account-page-group legend { padding: 0 8px; color: #497153; font-size: 12px; }
.account-check { display: flex; align-items: start; gap: 9px; font-size: 12px; line-height: 1.5; cursor: pointer; }
.account-check input { accent-color: #367347; margin-top: 3px; flex: 0 0 auto; }
.account-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 16px; background: #f6f9f3; border-radius: 9px; }
.account-savebar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 0; border-top: 1px solid #e0e7dd; }
.account-savebar span { font-size: 12px; color: #55755b; }
@media (max-width: 1000px) { .accounts-layout { grid-template-columns: 1fr; } .accounts-layout .recipe-list { max-height: 220px; } }
@media (max-width: 600px) { .account-fields, .account-page-group, .account-action-grid { grid-template-columns: 1fr; } .account-savebar { flex-direction: column; align-items: stretch; } }
.passport-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 26px; }
.passport-layout > aside { display: grid; align-content: start; gap: 12px; }
.passport-layout .recipe-list { max-height: 72vh; overflow: auto; }
.passport-title,.passport-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.passport-title h2 { margin: 6px 0 20px; font-size: 24px; letter-spacing: -.7px; }
.passport-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.passport-metrics > div { display: grid; gap: 8px; background: #f6f8f3; border-radius: 9px; padding: 16px; }
.passport-metrics span,.passport-metrics small { font-size: 11px; color: #7a887c; }
.passport-metrics strong { font-size: 15px; font-weight: 600; }
.passport-stages { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); padding: 0; margin: 26px 0; gap: 10px; }
.passport-stages li { display: grid; gap: 8px; color: #879087; font-size: 11px; border-top: 2px solid #e4e9df; padding-top: 12px; }
.passport-stages li.done { border-color: #649147; color: #32673d; }
.passport-stages span { font-size: 18px; font-weight: 600; }
.passport-section { margin: 25px 0; }
.passport-section h3 { font-size: 16px; margin: 0 0 10px; }
.passport-section .muted,.passport-note { font-size: 12px; line-height: 1.7; }
.passport-recipe { border: 1px solid #e0e7dc; border-radius: 8px; margin: 8px 0; overflow: hidden; }
.passport-recipe summary { display: flex; justify-content: space-between; padding: 14px; cursor: pointer; font-size: 13px; background: #f9fbf6; }
.passport-recipe summary::before { content: '+'; margin-right: 10px; color: #649147; }
.passport-recipe summary span { margin-left: auto; }
.passport-recipe-add { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.passport-layout-line { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid #edf0e9; font-size: 12px; }
.passport-history { border-left: 2px solid #dfe9d7; padding-left: 18px; }
.passport-history > div { display: grid; gap: 5px; margin: 16px 0; font-size: 12px; }
.passport-history span { color: #81907e; font-size: 11px; }
.passport-list-item { display:grid; gap:6px; }
.passport-list-item .recipe-item { width:100%; }
.passport-list-item.active .recipe-item { border-color:#78b86f; }
.passport-list-passport { justify-self:end; padding:6px 9px; font-size:11px; }
.run-passport-dialog { width:min(1180px,calc(100vw - 34px)); max-width:none; height:min(88vh,980px); padding:0; border:0; border-radius:18px; overflow:hidden; color:#24422b; box-shadow:0 28px 100px #09291e55; animation:runPassportIn .28s cubic-bezier(.2,.8,.2,1) both; }
.run-passport-dialog::backdrop { background:#08251b99; backdrop-filter:blur(6px); }
@keyframes runPassportIn { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:none; } }
.run-passport-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:23px 28px; color:#edf8ed; background:radial-gradient(circle at 86% 0%,#69bd6850,transparent 30%),linear-gradient(135deg,#092e21,#1a5839); }
.run-passport-dialog-head h2 { margin:6px 0 0; color:#fff; font-size:25px; }
.run-passport-dialog-head .eyebrow { color:#b5dea1; }
.run-passport-dialog-body { height:calc(100% - 82px); overflow:auto; padding:22px 28px 32px; background:#f1f5f0; }
.run-passport-tabs { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 17px; }
.run-passport-tabs button { border:1px solid #d7e4d4; border-radius:999px; padding:9px 13px; color:#4e6b54; background:#fff; cursor:pointer; font:inherit; font-size:12px; transition:all .18s ease; }
.run-passport-tabs button:hover { transform:translateY(-1px); border-color:#7bb677; }
.run-passport-tabs button.active { color:#fff; border-color:#317e45; background:#317e45; box-shadow:0 5px 15px #317e4535; }
.run-passport-tab-panel { display:none; animation:runPassportPanelIn .2s ease both; }
.run-passport-tab-panel.active { display:grid; gap:15px; }
@keyframes runPassportPanelIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.run-passport-panel { padding:20px; border:1px solid #dfe9dd; border-radius:14px; background:#fff; box-shadow:0 5px 18px #21482b08; }
.run-passport-panel h3 { margin:0 0 15px; font-size:17px; color:#203b29; }
.run-passport-panel h4 { margin:20px 0 9px; color:#355c3d; font-size:13px; }
.run-passport-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:4px 0 20px; border-bottom:1px solid #e6eee4; }
.run-passport-kicker { color:#639e5c; font-size:10px; font-weight:800; letter-spacing:.16em; }
.run-passport-hero h2 { margin:8px 0 5px; color:#1d3b29; font-size:31px; letter-spacing:-.04em; }
.run-passport-hero p { margin:0 0 7px; font-size:15px; font-weight:650; }
.run-passport-hero small { color:#7c8e7d; font-size:11px; }
.run-passport-status { padding:7px 11px; border-radius:999px; font-size:11px; font-weight:750; white-space:nowrap; }
.run-passport-status.active { color:#2c7042; background:#e5f3e1; }
.run-passport-status.closed { color:#68736b; background:#e9ece8; }
.run-passport-kpis,.run-passport-mini-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:17px; }
.run-passport-kpis > div,.run-passport-mini-grid > div { display:grid; gap:6px; min-width:0; padding:12px; border:1px solid #e6eee4; border-radius:10px; background:#f7faf6; }
.run-passport-kpis span,.run-passport-mini-grid span { color:#77887a; font-size:10px; }
.run-passport-kpis strong,.run-passport-mini-grid strong { color:#264b32; font-size:16px; }
.run-passport-kpis small { color:#8b998b; font-size:10px; }
.run-passport-table-wrap { overflow:auto; border:1px solid #e5ece3; border-radius:9px; }
.run-passport-table { width:100%; border-collapse:collapse; min-width:620px; font-size:12px; }
.run-passport-table th { padding:10px 11px; color:#788879; background:#f5f8f4; text-align:left; font-size:10px; font-weight:800; letter-spacing:.04em; }
.run-passport-table td { padding:11px; border-top:1px solid #edf1eb; color:#3d5543; vertical-align:top; }
.run-passport-empty,.run-passport-muted { color:#7f9081; font-size:12px; line-height:1.6; }
.run-passport-warning { border-color:#eadab5; background:#fffbf1; }
.run-passport-warning h3 { color:#86682f; }
.run-passport-warning ul,.run-passport-comments { margin:0; padding-left:20px; color:#76633a; font-size:12px; line-height:1.8; }
.run-passport-recipe { margin-top:9px; border:1px solid #e2e9df; border-radius:9px; overflow:hidden; }
.run-passport-recipe summary { display:flex; justify-content:space-between; padding:12px; background:#f8fbf7; cursor:pointer; font-size:12px; }
.run-passport-recipe summary span { color:#718373; }
.run-passport-recipe .run-passport-table-wrap { margin:0 10px 10px; }
.run-passport-modes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.run-passport-modes > div { padding:14px; border:1px solid #e4ece2; border-radius:10px; background:#f8fbf7; }
.run-passport-modes h4 { margin:0 0 8px; }
.run-passport-modes p { margin:5px 0; color:#526b58; font-size:12px; line-height:1.6; }
.run-passport-source { margin:17px 0 0; color:#9aa69a; font-size:10px; }
.run-passport-error { padding:16px; border:1px solid #edcfcf; border-radius:10px; color:#9a4b4b; background:#fff7f7; }
.passport-filter { display: flex; align-items: center; gap: 8px; color: #718071; font-size: 12px; }
.passport-filter select { min-width: 130px; }
.passport-dialog { width: min(650px,calc(100vw - 32px)); border: 1px solid #dce5d7; border-radius: 16px; padding: 28px; max-height: 90vh; overflow: auto; color: #24422b; }
.passport-dialog::backdrop { background: #0e291f80; }
.passport-dialog form { display: grid; gap: 20px; }
.smart-start-dialog { width:min(680px,calc(100vw - 32px)); border:1px solid rgba(137,184,126,.55); border-radius:20px; padding:0; overflow:hidden; color:#24422b; background:#f7fbf7; box-shadow:0 26px 90px rgba(5,35,20,.36); animation:smart-start-in .28s cubic-bezier(.2,.8,.2,1) both; }
.smart-start-dialog::backdrop { background:rgba(7,31,21,.68); backdrop-filter:blur(5px); animation:smart-start-fade .22s ease both; }
.smart-start-form { display:grid; gap:20px; padding:26px; }
.smart-start-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:4px; }
.smart-start-heading h2 { margin:5px 0 0; color:#1e452d; font-size:24px; }
.smart-start-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px; border:1px solid #dce9dc; border-radius:14px; background:linear-gradient(145deg,#fff,#f0f8f0); }
.smart-start-summary > div { display:grid; gap:4px; padding:9px 10px; border-radius:9px; background:#f8fcf8; }
.smart-start-summary span { color:#78907d; font-size:10px; }
.smart-start-summary strong { color:#244b32; font-size:13px; }
.smart-start-question { margin:0; color:#345541; font-size:15px; font-weight:700; }
.smart-start-input { display:grid; gap:7px; color:#4e6857; font-size:12px; font-weight:700; }
.smart-start-input input,.smart-start-input select { min-height:42px; }
.smart-start-footer { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding-top:5px; border-top:1px solid #e0e9e0; }
.smart-start-message { flex:1; min-height:18px; color:#a35c3c; font-size:12px; }
.smart-start-empty { padding:14px; border:1px dashed #c9dacb; border-radius:11px; color:#6d8072; background:#f5faf5; line-height:1.45; }
.smart-start-success { display:grid; gap:10px; padding:12px 3px 2px; text-align:center; }
.smart-start-success h2 { margin:0; color:#1e452d; font-size:23px; }
.smart-start-success p { margin:0 0 8px; color:#5f7766; }
.smart-start-success-icon { display:grid; place-items:center; width:50px; height:50px; margin:0 auto 3px; border-radius:16px; background:#dff1d9; color:#3a8b4c; font-size:28px; font-weight:800; box-shadow:0 0 0 7px #edf8eb; }
@keyframes smart-start-in { from { opacity:0; transform:translateY(12px) scale(.97); } to { opacity:1; transform:none; } } @keyframes smart-start-fade { from { opacity:0; } to { opacity:1; } }
@media(max-width:600px){.smart-start-form{padding:20px}.smart-start-summary{grid-template-columns:1fr}.smart-start-footer{align-items:stretch; flex-direction:column}.smart-start-message{flex:none}.smart-start-footer button{width:100%;min-height:40px}}
#passportMessage { font-size: 12px; color: #996137; }
.passport-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.passport-bunker-eyebrow { display:block; color:#5a9b58; font-size:10px; font-weight:800; letter-spacing:.14em; }
.passport-bunkers-button { position:relative; overflow:hidden; }
.passport-bunkers-button::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,#ffffff80 48%,transparent 74%); transform:translateX(-120%); animation:passportBunkerShimmer 4.8s ease-in-out infinite; }
.passport-bunkers-button-icon { color:#5a9b58; margin-right:6px; }
.passport-bunker-live { display:inline-flex; align-items:center; gap:7px; color:#478453; font-size:11px; font-weight:700; white-space:nowrap; }
.passport-bunker-live i { width:7px; height:7px; border-radius:50%; background:#65bb63; box-shadow:0 0 0 5px #65bb6320; animation:passportBunkerPulse 2s ease-in-out infinite; }
.passport-bunker-overview { padding:18px; border:1px solid #dcebd8; border-radius:14px; background:linear-gradient(135deg,#fbfdf9,#f2f8ef); }
.passport-bunker-overview > .muted { max-width:760px; margin:8px 0 15px; }
.passport-bunker-overview-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.passport-bunker-overview-grid > div { min-width:0; padding:12px; border-radius:11px; background:#ffffffb8; border:1px solid #e4eee1; }
.passport-bunker-overview-label { display:block; margin-bottom:7px; color:#718271; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.passport-bunker-overview-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #e8efe6; }
.passport-bunker-overview-row:first-of-type { border-top:0; }
.passport-bunker-overview-row span { display:grid; gap:3px; min-width:0; }
.passport-bunker-overview-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.passport-bunker-overview-row small { color:#789078; font-size:10px; }
.passport-bunker-overview-row b { color:#315d3b; font-size:12px; white-space:nowrap; }
.passport-bunker-overview-row.manual b { color:#927345; }
.passport-bunker-empty { padding:12px 0 3px; color:#8a9789; font-size:11px; }
.passport-bunker-dialog { width:min(760px,calc(100vw - 32px)); padding:0; border:0; overflow:hidden; box-shadow:0 26px 80px #0e291f35; animation:passportBunkerIn .32s cubic-bezier(.2,.8,.2,1) both; }
.passport-bunker-dialog::backdrop { background:#08251b88; backdrop-filter:blur(5px); animation:passportBackdropIn .25s ease both; }
.passport-bunker-dialog form { gap:0; }
.passport-bunker-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 30px 24px; color:#edf8ed; background:radial-gradient(circle at 88% 5%,#76c86155,transparent 28%),linear-gradient(135deg,#0a3022,#1b5b3b); }
.passport-bunker-hero h2 { margin:8px 0 6px; color:#fff; font-size:27px; letter-spacing:-.04em; }
.passport-bunker-hero p { max-width:560px; margin:0; color:#c6e0c7; font-size:12px; line-height:1.6; }
.passport-bunker-orbit { display:grid; place-items:center; flex:0 0 68px; width:68px; height:68px; border:1px solid #b9e8ae66; border-radius:50%; color:#b9e8ae; font-size:28px; box-shadow:0 0 0 12px #b9e8ae0b,0 0 30px #80dc6e33; animation:passportBunkerOrbit 4s ease-in-out infinite; }
.passport-bunker-rule { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:14px; padding:15px 30px; border-bottom:1px solid #e8eee6; background:#f7faf5; }
.passport-bunker-rule span { color:#6f806e; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.passport-bunker-rule strong { color:#315e3a; font-size:12px; }
.passport-bunker-rule small { color:#849184; font-size:11px; }
.passport-bunker-config-list { padding:9px 30px 6px; max-height:47vh; overflow:auto; }
.passport-bunker-config-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.78fr); align-items:center; gap:22px; padding:16px 0; border-bottom:1px solid #edf1eb; animation:passportBunkerRowIn .35s ease both; }
.passport-bunker-config-row > div { display:grid; gap:5px; }
.passport-bunker-config-row strong { color:#263c2c; font-size:14px; }
.passport-bunker-config-row small { color:#899588; font-size:11px; }
.passport-bunker-config-row label { display:grid; gap:6px; color:#718070; font-size:10px; font-weight:800; }
.passport-bunker-config-row select { width:100%; box-sizing:border-box; }
.passport-bunker-dialog .account-savebar { padding:18px 30px 24px; margin-top:5px; background:#fbfcfa; }
@keyframes passportBunkerIn { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes passportBackdropIn { from { opacity:0; } to { opacity:1; } }
@keyframes passportBunkerRowIn { from { opacity:0; transform:translateX(-8px); } to { opacity:1; transform:none; } }
@keyframes passportBunkerPulse { 0%,100% { transform:scale(.85); opacity:.7; } 50% { transform:scale(1.2); opacity:1; } }
@keyframes passportBunkerOrbit { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(-5px) rotate(8deg); } }
@keyframes passportBunkerShimmer { 0%,62%,100% { transform:translateX(-120%); } 76% { transform:translateX(120%); } }
@media(max-width:680px){.passport-bunker-overview-grid,.passport-bunker-config-row{grid-template-columns:1fr}.passport-bunker-rule{grid-template-columns:1fr;gap:5px}.passport-bunker-hero{padding:23px}.passport-bunker-config-list{padding-left:23px;padding-right:23px}.passport-bunker-dialog .account-savebar{padding-left:23px;padding-right:23px}.passport-bunker-orbit{flex-basis:52px;width:52px;height:52px;font-size:22px}}
@media(max-width:1000px){.passport-layout{grid-template-columns:1fr;}.passport-layout .recipe-list{max-height:220px;}}
@media(max-width:600px){.passport-stages{grid-template-columns:repeat(2,1fr);}.passport-metrics,.passport-layout-line{grid-template-columns:1fr;}}
@media(max-width:760px){.run-passport-dialog{width:calc(100vw - 14px);height:calc(100vh - 14px);border-radius:12px}.run-passport-dialog-head{padding:18px}.run-passport-dialog-body{padding:16px}.run-passport-kpis,.run-passport-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.run-passport-hero{display:grid}.run-passport-modes{grid-template-columns:1fr}.passport-list-passport{width:100%;justify-self:stretch}}
@media print { body{background:#fff!important;color:#111!important}.sidebar,.topbar,.login-screen,.passport-layout>aside,.passport-tools,#passportMessage,.passport-dialog{display:none!important}.app-shell,.workspace,.page-workbench,.workbench-body{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}.passport-layout{display:block!important}.passport-section,.passport-metrics>div,.passport-recipe{break-inside:avoid;background:#fff!important;border-color:#bbb!important;color:#111!important}.passport-recipe:not([open])>*:not(summary){display:block!important}button{display:none!important}body *{print-color-adjust:exact}}
@media print { .run-passport-dialog:not([open]){display:none!important}.run-passport-dialog[open]{display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}.run-passport-dialog::backdrop,.run-passport-dialog-head .passport-tools,.run-passport-tabs{display:none!important}.run-passport-dialog-head{padding:0 0 16px!important;color:#111!important;background:#fff!important}.run-passport-dialog-head h2{color:#111!important}.run-passport-dialog-body{height:auto!important;overflow:visible!important;padding:0!important;background:#fff!important}.run-passport-tab-panel{display:grid!important}.run-passport-panel{break-inside:avoid;box-shadow:none!important;background:#fff!important;border-color:#bbb!important}.run-passport-table-wrap{overflow:visible!important}.run-passport-table{min-width:0!important} }

.app-shell.station-immersive { display:block; min-height:100vh; height:100vh; overflow:auto; background:#0b291f; }
.app-shell.station-immersive > .sidebar,.app-shell.station-immersive > .workspace > .topbar,.app-shell.station-immersive > .workspace > .overview,.app-shell.station-immersive .module-panel > .panel-head,.app-shell.station-immersive .module-panel > .section-toolbar,.app-shell.station-immersive .module-panel > .sections,.app-shell.station-immersive .module-panel > #navigationEmpty,.app-shell.station-immersive .detail-panel,.app-shell.station-immersive .data-strip { display:none!important; }
.app-shell.station-immersive > .workspace { padding:0!important; min-height:100vh; }
.app-shell.station-immersive .work-grid,.app-shell.station-immersive .module-panel { display:block!important; width:100%; max-width:none; margin:0!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.app-shell.station-immersive .page-workbench { display:block; width:100%; max-width:none; min-height:100vh; margin:0!important; padding:0!important; overflow:visible!important; border:0!important; border-radius:0!important; background:#0b291f!important; }
.station-appbar { position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px clamp(18px,2.2vw,34px);margin:-1px calc(-1 * clamp(18px,2.2vw,34px)) 24px;background:#08251b;color:#f4faf4;border-bottom:1px solid #ffffff12; }
.station-brand,.station-user { display:flex;align-items:center;gap:10px; }
.station-brand img { width:27px;height:27px;object-fit:contain; }
.station-brand strong { font-size:15px; }
.station-brand span,.station-user>span { color:#a9c2b1;font-size:11px; }
.station-exit,.station-logout { border:1px solid #ffffff20;border-radius:8px;background:#ffffff0b;padding:8px 11px;color:#e7f4e9;font:inherit;font-size:11px;cursor:pointer; }
.station-exit:hover,.station-logout:hover { background:#ffffff17; }
.app-shell.station-immersive .station-screen { position:fixed!important; inset:0!important; width:100vw!important; min-width:100vw!important; min-height:100vh!important; height:100vh!important; border-radius:0!important; z-index:50; overflow:auto!important; }
.mixing-station { --station-green:#e3c95b; background:linear-gradient(145deg,#102c23 0%,#173f2e 100%); }
.mixing-station .station-kicker,.mixing-station .station-header .eyebrow,.mixing-station .shift-index { color:#dfca62; }
.mixing-workspace { position:relative;z-index:1;display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:15px;align-items:start; }
.mixing-run-panel,.mixing-containers { background:#f7faf7;border-radius:15px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.12); }
.mixing-run-panel h3 { margin:8px 0 4px;font-size:24px;letter-spacing:-.025em; }
.mixing-run-panel>p { min-height:38px;margin:0 0 20px;color:#6c796f;font-size:13px;line-height:1.45; }
.mixing-run-panel label { display:grid;gap:7px;color:#66736b;font-size:11px;font-weight:700; }
.mixing-run-panel select { width:100%;height:42px;border:1px solid #dfe8df;border-radius:9px;background:#fff;padding:0 10px;color:#203126;font:inherit; }
.mixing-current-recipe { display:grid; gap:10px; margin:16px 0; }
.mixing-current-recipe label { gap:7px; }
.mixing-current-recipe input { width:100%;height:42px;border:1px solid #dfe8df;border-radius:9px;background:#fff;padding:0 10px;color:#203126;font:inherit;box-sizing:border-box; }
.mixing-current-recipe input:focus,.mixing-current-recipe select:focus { outline:2px solid rgba(93,174,67,.25);border-color:#5dae43; }
.mixing-run-metrics { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0; }
.mixing-run-metrics>div { padding:13px;border:1px solid #e5ece4;border-radius:10px;background:#fff; }
.mixing-run-metrics span,.mixing-run-metrics strong { display:block; }
.mixing-run-metrics span { color:#718077;font-size:10px; }
.mixing-run-metrics strong { margin-top:5px;font-size:20px;color:#253a2c; }
.mixing-progress-card { display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid #dcebd9;border-radius:12px;background:linear-gradient(145deg,#f3faef,#fff); }
.mixing-progress-heading,.mixing-progress-values { display:flex;justify-content:space-between;align-items:end;gap:12px; }
.mixing-progress-heading span { display:block;color:#6ba14f;font-size:9px;font-weight:800;letter-spacing:.12em; }
.mixing-progress-heading strong { display:block;margin-top:5px;color:#253a2c;font-size:17px; }
.mixing-progress-heading>b { color:#2d7741;font-size:12px;white-space:nowrap; }
.mixing-progress-track { height:7px;overflow:hidden;border-radius:999px;background:#dfeadb; }
.mixing-progress-track i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5dae43,#2d7741);transition:width .35s ease; }
.mixing-progress-values { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));color:#718077;font-size:10px; }
.mixing-progress-values b { color:#253a2c;font-size:11px; }
.mixing-progress-note { margin:0;color:#8a6d3c;font-size:11px;line-height:1.4; }
.mixing-progress-note.complete { color:#3d8150;font-weight:700; }
@media(max-width:680px){.mixing-progress-values{grid-template-columns:1fr;gap:5px;}}
.mixing-run-panel .primary-action { width:100%;min-height:44px;background:#2d7741; }
.mixing-container-card { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #e4ebe4;animation:stationIn .22s ease both; }
.mixing-container-card:first-of-type { border-top:0; }
.mixing-container-card h4 { margin:4px 0 3px;font-size:20px; }
.mixing-container-card p { margin:0;color:#718078;font-size:12px; }
.mixing-card-side { display:grid;gap:6px;justify-items:end;text-align:right; }
.mixing-card-side strong { font-size:16px;color:#2a4030; }
.mixing-card-side small { max-width:160px;color:#7c897f;font-size:11px; }
.mixing-material-flow { display:grid; gap:4px; margin-top:9px; font-size:10px; line-height:1.45; }
.mixing-material-auto { color:#3d8150; font-weight:700; }
.mixing-material-manual { color:#9a7748; }
.mixing-material-flow.neutral { color:#8b968c; }
.mixing-container-card.cancelled { opacity:.62; border-top-style:dashed; }
.mixing-container-cancelled { display:inline-flex; margin-top:7px; padding:4px 8px; border-radius:999px; background:#a64a381f; color:#a64a38; font-size:10px; font-weight:800; }
.mixing-admin-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; margin-top:8px; }
.mixing-admin-actions .danger { color:#a64a38; }
.mixing-repeat-panel { margin-bottom:18px; padding:15px; border:1px solid #8ccf5966; border-radius:15px; background:linear-gradient(135deg,#8ccf591f,#fff8); }
.mixing-repeat-intro { margin:5px 0 10px; color:#718078; font-size:11px; line-height:1.45; }
.mixing-repeat-card { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid #274a391f; }
.mixing-repeat-card:first-of-type { border-top:0; }
.mixing-repeat-card strong,.mixing-repeat-card p { display:block; margin:4px 0 0; }
.mixing-repeat-card p { color:#718078; font-size:11px; }
@media(max-width:720px){.mixing-repeat-card{align-items:flex-start;flex-direction:column}.mixing-admin-actions{justify-content:flex-start}}
@media(max-width:850px){.mixing-workspace{grid-template-columns:1fr}.mixing-run-panel{order:0}.mixing-containers{order:1}}
@media(max-width:680px){.station-appbar{margin-bottom:15px}.station-brand span,.station-user>span{display:none}.station-exit{font-size:10px;padding:7px 9px}}

/* Loading keeps the same operator-first rhythm: choose a prepared run, then
   register only the fact of loading against its assigned bunker. */
.loading-station { --station-green:#72c75b; background:linear-gradient(145deg,#0a2a20 0%,#154936 100%); }
.loading-workspace { position:relative;z-index:1;display:grid;grid-template-columns:minmax(265px,.68fr) minmax(0,1.32fr);gap:15px;align-items:start; }
.station-screen .station-header>div>p:not(.eyebrow) { display:none; }.loading-station .station-header>.shift-live { display:none; }
.station-screen .station-brand>span { display:none; }.station-screen .station-brand>strong { font-size:0; }.station-screen .station-brand>strong::after { content:"NEXIS ORINERA"; font-size:14px; letter-spacing:.01em; }
.loading-run-panel,.loading-bunker-panel { background:#f7faf7;border-radius:15px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.12); }
.loading-run-panel h3 { margin:8px 0 4px;font-size:24px;letter-spacing:-.025em; }
.loading-run-panel>p { min-height:38px;margin:0 0 20px;color:#6c796f;font-size:13px;line-height:1.45; }
.loading-run-panel label { display:grid;gap:7px;color:#66736b;font-size:11px;font-weight:700; }
.loading-run-panel select { width:100%;height:42px;border:1px solid #dfe8df;border-radius:9px;background:#fff;padding:0 10px;color:#203126;font:inherit; }
.loading-run-metrics { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0; }
.loading-run-metrics>div { padding:13px;border:1px solid #e5ece4;border-radius:10px;background:#fff; }
.loading-run-metrics span,.loading-run-metrics strong { display:block; }
.loading-run-metrics span { color:#718077;font-size:10px; }
.loading-run-metrics strong { margin-top:5px;font-size:18px;color:#253a2c; }
.loading-run-metrics small { font-size:11px;color:#718077; }
.loading-run-panel .primary-action { width:100%;min-height:44px;background:#2d7741; }
.loading-actions { display:flex;gap:8px;flex-wrap:wrap; }
.loading-bunker-grid { display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px; }
.loading-bunker-card { display:grid;gap:10px;border:1px solid #e0e9df;border-radius:12px;padding:15px;background:#fff;animation:stationIn .22s ease both; }
.loading-bunker-head { display:grid;gap:3px; }
.loading-bunker-head span { color:#4fa744;font-size:10px;font-weight:800;letter-spacing:.1em; }
.loading-bunker-head strong { font-size:15px;color:#263b2d; }
.loading-bunker-card p { min-height:34px;margin:0;color:#6f7c73;font-size:12px;line-height:1.4; }
.loading-bunker-card>p { display:none; }
.loading-bunker-card>div:not(.loading-bunker-head) { display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-top:9px;border-top:1px solid #edf1eb; }
.loading-bunker-card>div:not(.loading-bunker-head) span { color:#758177;font-size:10px; }
.loading-bunker-card>div:not(.loading-bunker-head) b { color:#27442f;font-size:16px;white-space:nowrap; }
.loading-bunker-card small { min-height:15px;color:#879187;font-size:10px; }
.loading-bunker-card .tool { justify-self:start;padding:8px 12px;border-color:#d3e3d1;color:#28633a;background:#eff7ed; }
.loading-bunker-alert-summary { display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #e3ca8e;border-radius:999px;background:#fff7df;color:#8b6928;font-size:10px;font-weight:800; }
.loading-bunker-card.shortage { border-color:#d8bd72;background:linear-gradient(160deg,#fffdf5,#fffaf0);box-shadow:0 8px 20px rgba(151,111,34,.12); }
.loading-bunker-alert { display:inline-flex;justify-self:start;padding:5px 8px;border-radius:999px;background:#fff0c8;color:#896522;font-size:10px;font-weight:800; }
.loading-bunker-card.highlighted { border-color:#6fb35f; box-shadow:0 0 0 3px rgba(111,179,95,.22),0 12px 25px rgba(44,114,61,.16); animation:loading-bunker-focus 1.1s ease both; }
.loading-bunker-focus { display:inline-flex;justify-self:start;padding:5px 8px;border-radius:999px;background:#e4f4de;color:#397743;font-size:10px;font-weight:800; }
.loading-bunker-demand { border-color:#ead9ad !important; }
.loading-bunker-demand b { color:#8b6827 !important; }
.loading-bunker-card.shortage .tool.primary-action { border-color:#477d4b;color:#fff;background:#397847; }
@keyframes loading-bunker-focus { 0%,100% { box-shadow:0 0 0 3px rgba(111,179,95,.22),0 12px 25px rgba(44,114,61,.16); } 45% { box-shadow:0 0 0 7px rgba(111,179,95,.34),0 12px 25px rgba(44,114,61,.16); } }
.loading-history { display:grid;gap:0;margin-top:16px;padding-top:17px;border-top:1px solid #e4ebe3; }
.loading-history>div { display:flex;align-items:end;justify-content:space-between;margin-bottom:8px; }
.loading-history h3 { margin:5px 0 0;font-size:17px; }
.loading-history article { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #edf1ec; }
.loading-history article>div:first-child { display:grid;gap:4px;min-width:0; }
.loading-history article>div:first-child strong { color:#2b4031;font-size:12px; }
.loading-history article>div:first-child span { color:#7a867d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.loading-history article>div:last-child { display:flex;align-items:center;gap:12px;white-space:nowrap; }
.loading-history article>div:last-child>strong { color:#314a38;font-size:12px; }
.loading-op { display:inline-flex;border-radius:999px;padding:5px 8px;background:#e8f5e6;color:#397a42;font-size:10px; }
.loading-op.correction { background:#fff2da;color:#916316; }.loading-op.cleanup { background:#edf0ed;color:#637166; }.loading-op.consume { background:#e8efff;color:#466da2; }
.loading-history-empty { margin:5px 0;color:#829086;font-size:12px; }
@media(max-width:1050px){.loading-workspace{grid-template-columns:1fr}.loading-bunker-grid{grid-template-columns:repeat(2,minmax(150px,1fr));}}
@media(max-width:620px){.loading-bunker-grid{grid-template-columns:1fr}.loading-history article{align-items:flex-start;flex-direction:column}.loading-history article>div:last-child{width:100%;justify-content:space-between}}

/* Bunker park: a readable physical level, not a horizontal progress bar. */
.bunker-park { display:grid; gap:17px; padding:2px 0 30px; color:#26342e; }
.bunker-park-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:7px 1px 21px; border-bottom:1px solid #d3ddd5; }
.bunker-park-header h2 { margin:6px 0 7px; font-size:31px; letter-spacing:-.045em; color:#1e342b; }
.bunker-park-header p:not(.eyebrow) { max-width:720px; margin:0; color:#65756c; font-size:13px; line-height:1.52; }
.bunker-header-actions { display:grid; justify-items:end; gap:8px; color:#65756c; font-size:11px; white-space:nowrap; }
.bunker-park-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bunker-park-summary>div { display:grid; gap:6px; min-height:78px; padding:15px 17px; border:1px solid #d7e0d9; border-radius:13px; background:#f5f6f2; }
.bunker-park-summary span { color:#65756c; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bunker-park-summary strong { color:#263c31; font-size:22px; letter-spacing:-.04em; }.bunker-park-summary small { font-size:11px; color:#697a70; }
.bunker-park-note { margin:0; padding:10px 13px; border-left:3px solid #a4d879; background:#f4f7f1; color:#617067; font-size:11px; line-height:1.5; }
.bunker-park-grid { display:grid; grid-template-columns:repeat(12,minmax(100px,1fr)); gap:8px; align-items:stretch; }
.bunker-card { display:grid; grid-template-rows:auto 160px auto auto; gap:6px; min-width:0; padding:8px; border:1px solid #d6dfd8; border-radius:14px; background:#f7f8f5; color:#26342e; text-align:left; cursor:pointer; box-shadow:0 5px 16px #163a2710; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.bunker-card:hover { transform:translateY(-3px); border-color:#9cbd91; box-shadow:0 15px 28px #183b291b; }.bunker-card:focus-visible { outline:3px solid #a4d879; outline-offset:2px; }.bunker-card.shortage { border-color:#d8bd72; background:linear-gradient(160deg,#fbfbf5,#fffaf0); box-shadow:0 7px 19px rgba(151,111,34,.12); }.bunker-card.shortage .bunker-status { background:#fff0c8; color:#896522; }
.bunker-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:7px; }.bunker-card-heading>div { display:grid; gap:3px; min-width:0; }.bunker-code { color:#4d8060; font-size:10px; font-weight:900; letter-spacing:.12em; }.bunker-card-heading strong { overflow:hidden; color:#253c30; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.bunker-status { max-width:82px; padding:4px 6px; border-radius:999px; background:#e5ece5; color:#637168; font-size:9px; font-weight:800; line-height:1.15; text-align:center; }.bunker-card.loaded .bunker-status { background:#dbeedb; color:#3b7544; }.bunker-card.refill .bunker-status { background:#f7edd8; color:#8d6b26; }.bunker-card.verify .bunker-status { background:#f8dfd8; color:#9a4b39; }.bunker-card.offline .bunker-status { background:#e7eaeb; color:#667278; }
.bunker-vessel { position:relative; display:grid; grid-template-columns:23px minmax(0,1fr); align-items:stretch; gap:7px; min-height:0; padding:4px 5px 3px 0; }.bunker-vessel-scale { display:flex; flex-direction:column; justify-content:space-between; padding:3px 0; color:#8c978f; font-size:8px; text-align:right; }
.bunker-vessel-body { position:relative; overflow:hidden; border:2px solid #5e7168; border-radius:10px 10px 15px 15px; background:repeating-linear-gradient(0deg,#eef1ed 0 29px,#e8ece8 30px 31px); box-shadow:inset 0 0 0 4px #ffffff75, inset 8px 0 14px #1933240a; }.bunker-vessel-body::before { position:absolute; z-index:3; top:-2px; right:10%; left:10%; height:7px; border:2px solid #5e7168; border-bottom:0; border-radius:7px 7px 0 0; content:""; }
.bunker-fill-stack { position:absolute; top:3px; right:4px; bottom:3px; left:4px; display:flex; flex-direction:column-reverse; overflow:hidden; border-radius:0 0 10px 10px; }.bunker-fill-layer { display:block; width:100%; min-height:0; flex:0 0 auto; background:linear-gradient(90deg,color-mix(in srgb,var(--bunker-tone),#fff 14%),var(--bunker-tone) 44%,color-mix(in srgb,var(--bunker-tone),#10221d 11%)); border-top:1px solid #ffffff75; transition:height .4s ease; }.bunker-fill-layer:first-child { border-top:0; }
.bunker-vessel-surface { position:absolute; z-index:2; right:3px; left:3px; height:10px; background:radial-gradient(ellipse at 14% 73%,#ffffff78 0 6%,transparent 7%),radial-gradient(ellipse at 45% 29%,#ffffff80 0 4%,transparent 5%),radial-gradient(ellipse at 78% 68%,#ffffff6c 0 5%,transparent 6%); transform:translateY(52%); pointer-events:none; }
.bunker-card-material { display:grid; gap:2px; min-width:0; }.bunker-card-material>strong { min-height:26px; color:#293c32; font-size:12px; line-height:1.28; }.bunker-card-material span,.bunker-card-material small { color:#718077; font-size:10px; }.bunker-card-material b { color:#20382c; font-size:18px; letter-spacing:-.04em; }.bunker-card-material b small { font-size:10px; font-weight:700; }.bunker-card-meta { display:flex; justify-content:space-between; gap:5px; padding-top:7px; border-top:1px solid #e0e7e0; color:#718077; font-size:9px; }.bunker-card-meta b { color:#8d6922; font-size:9px; text-align:right; }
.bunker-detail-panel { display:grid; gap:16px; margin-top:6px; padding:21px; border:1px solid #cfdad1; border-radius:17px; background:#f6f7f3; box-shadow:0 15px 35px #142d2010; }.bunker-detail-panel>header { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }.bunker-detail-panel h3 { margin:5px 0 5px; color:#203a2d; font-size:24px; letter-spacing:-.04em; }.bunker-detail-panel header p { margin:0; color:#66776d; font-size:12px; }.bunker-detail-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.bunker-detail-metrics>div { display:grid; gap:5px; padding:12px; border:1px solid #dce5dc; border-radius:10px; background:#fff; }.bunker-detail-metrics span { color:#7a897e; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.bunker-detail-metrics strong { color:#2a4033; font-size:12px; line-height:1.35; }.bunker-detail-metrics strong.loaded { color:#3e7948; }.bunker-detail-metrics strong.refill { color:#916f2d; }.bunker-detail-metrics strong.verify { color:#a14d3c; }
.bunker-demand { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid #d6e5cb; border-radius:11px; background:linear-gradient(100deg,#f1f7eb,#f8faf5); }.bunker-demand div { display:grid; gap:4px; }.bunker-demand strong { color:#355c38; font-size:14px; }.bunker-demand p { margin:0; color:#65756c; font-size:11px; line-height:1.45; }.bunker-demand>span { padding:6px 8px; border-radius:8px; background:#e6f1df; color:#4d704c; font-size:10px; font-weight:700; text-align:center; }
.bunker-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }.bunker-detail-actions .primary-action { background:#467c48; }.bunker-detail-grid { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr); gap:15px; }.bunker-detail-grid>section { min-width:0; padding:15px; border:1px solid #dce5dc; border-radius:12px; background:#fff; }.bunker-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.bunker-section-head h4 { margin:4px 0 0; color:#2b4034; font-size:15px; }.bunker-section-head>span { color:#64796b; font-size:10px; }.bunker-fifo-note { margin:10px 0; color:#7a877e; font-size:10px; line-height:1.42; }.bunker-table { min-width:590px; }.bunker-table th { color:#6f7d72; font-size:9px; }.bunker-table td { color:#394d40; font-size:10px; }.bunker-movement-list { display:grid; max-height:340px; overflow:auto; }.bunker-movement { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #e7ece7; }.bunker-movement:first-child { border-top:0; }.bunker-movement>div { display:grid; gap:3px; min-width:0; }.bunker-movement>div:first-child { flex:1; }.bunker-movement strong { color:#2c4135; font-size:11px; }.bunker-movement span,.bunker-movement small { overflow:hidden; color:#758278; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.bunker-movement>div:last-child { justify-items:end; text-align:right; }.bunker-movement b { color:#3d7b48; font-size:11px; white-space:nowrap; }.bunker-movement.out b { color:#a15845; }.bunker-movement time { color:#738177; font-size:9px; white-space:nowrap; }.bunker-empty { display:grid; place-items:center; min-height:100px; color:#718077; text-align:center; }.bunker-confirm { display:flex!important; align-items:center; gap:8px; color:#526359!important; font-size:11px!important; }.bunker-confirm input { width:auto!important; height:auto!important; }
@media(max-width:1250px){.bunker-park-grid{grid-template-columns:repeat(6,minmax(115px,1fr));}}@media(max-width:920px){.bunker-park-summary,.bunker-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.bunker-park-grid{grid-template-columns:repeat(4,minmax(130px,1fr));}.bunker-detail-grid{grid-template-columns:1fr;}}@media(max-width:640px){.bunker-park-header,.bunker-demand{align-items:flex-start;flex-direction:column;}.bunker-header-actions{justify-items:start;}.bunker-park-summary,.bunker-detail-metrics,.bunker-park-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bunker-card{grid-template-rows:auto 145px auto auto;}.bunker-detail-panel{padding:15px;}.bunker-detail-panel>header{align-items:flex-start;flex-direction:column;}}@media(max-width:420px){.bunker-park-grid,.bunker-park-summary,.bunker-detail-metrics{grid-template-columns:1fr;}}

.production-hub { min-height:calc(100vh - 180px); padding:8px 0 34px; }
.production-hub-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:4px 0 28px; border-bottom:1px solid #dfe8df; }
.production-hub-intro h2 { margin:5px 0 7px; color:#173d2b; font-size:30px; letter-spacing:-.04em; }
.production-hub-intro p:not(.eyebrow) { margin:0; color:#728177; font-size:13px; }
.hub-live { display:inline-flex; align-items:center; gap:8px; color:#3f7f49; font-size:12px; }
.hub-live i { width:8px; height:8px; border-radius:50%; background:#5cbb4c; box-shadow:0 0 0 5px #5cbb4c1c; }
.production-hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-top:24px; }
.production-hub-card { position:relative; display:grid; align-content:start; min-height:190px; padding:22px; border:1px solid #dfe8df; border-radius:15px; background:#fbfdfb; color:#20372a; text-align:left; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.production-hub-card:hover { transform:translateY(-3px); border-color:#83bd78; box-shadow:0 13px 28px #173f2d18; }
.hub-card-index { color:#62b84f; font-size:11px; font-weight:800; letter-spacing:.14em; }
.hub-card-icon { display:grid; place-items:center; width:42px; height:42px; margin:17px 0 19px; border-radius:12px; background:#e8f5e6; color:#368944; }
.hub-card-icon svg { width:23px; height:23px; }
.production-hub-card strong { font-size:17px; }
.production-hub-card small { max-width:240px; margin-top:7px; color:#758279; font-size:11px; line-height:1.45; }
.hub-card-arrow { position:absolute; right:20px; bottom:20px; color:#3b8d42; font-size:21px; }
@media(max-width:900px){.production-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.production-hub-intro{align-items:flex-start;flex-direction:column}.production-hub-grid{grid-template-columns:1fr;}}

.online-monitor{display:grid;gap:16px;padding:2px 0 12px;color:#1c3027}
.monitor-back-button { display:inline-flex; align-items:center; gap:6px; }
.monitor-back-button span { font-size:16px; line-height:1; }
.monitor-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 2px 16px;border-bottom:1px solid #dfe6df}
.monitor-header h2{margin:4px 0 5px;font-size:28px;letter-spacing:-.04em;color:#173d2b}.monitor-header p:not(.eyebrow){margin:0;color:#718077;font-size:13px}.monitor-header-actions{display:flex;align-items:center;gap:10px}.monitor-updated{font-size:11px;color:#718077}.monitor-filters{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:15px 16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.monitor-filters label{display:grid;gap:6px;min-width:320px}.monitor-filters label span,.monitor-shifts>span{font-size:11px;color:#718077}.monitor-filters select{height:38px;padding:0 12px;border:1px solid #dfe6df;border-radius:8px;background:#fff;color:#1c3027}.monitor-shifts{display:flex;align-items:center;gap:7px}.monitor-shifts>span{margin-right:3px}.monitor-shifts button{height:34px;padding:0 13px;border:1px solid #dfe6df;border-radius:8px;background:#f7faf7;color:#486253;cursor:pointer}.monitor-shifts button.active{background:#143b2d;color:#fff;border-color:#143b2d}.monitor-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.monitor-metrics article{display:grid;gap:5px;min-height:102px;padding:15px 16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.monitor-metrics span{font-size:11px;color:#718077}.monitor-metrics strong{font-size:22px;letter-spacing:-.03em}.monitor-metrics strong em{font-size:12px;font-style:normal}.monitor-metrics small{font-size:11px;color:#8a968e}.monitor-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:12px}.monitor-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.monitor-panel{min-width:0;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.monitor-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.monitor-panel-heading h3{margin:3px 0 0;font-size:16px;letter-spacing:-.02em}.monitor-panel-heading>span:last-child{font-size:12px;color:#718077}.monitor-live{display:flex;align-items:center;gap:6px;color:#4d963e;font-size:11px}.monitor-live i{width:7px;height:7px;border-radius:50%;background:#70bd52;box-shadow:0 0 0 4px #70bd5220}.monitor-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.monitor-process-card{position:relative;display:grid;gap:12px;min-height:102px;padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fbfdfb}.monitor-process-card.active{border-color:#a7d89a;background:#f6fbf4}.monitor-process-card.done{border-color:#a7d89a;background:#edf8e9}.monitor-process-index{font-size:10px;color:#66ad4f;font-weight:700}.monitor-process-card strong{display:block;font-size:12px}.monitor-process-card b{display:block;margin-top:6px;color:#718077;font-size:10px;font-weight:500;line-height:1.3}.monitor-process-card.active b,.monitor-process-card.done b{color:#4a933a}.monitor-process-arrow{position:absolute;right:-12px;top:50%;z-index:1;color:#8bbd7d}.monitor-attention-list{display:grid;gap:8px}.monitor-attention-list div{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e3eae3;border-radius:8px;background:#fbfdfb;font-size:11px;color:#486253}.monitor-attention-list i{width:4px;align-self:stretch;border-radius:4px;background:#8ccf59}.monitor-row-list{display:grid;gap:4px}.monitor-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #edf1ed}.monitor-row:first-child{border-top:0;padding-top:0}.monitor-row div{min-width:0;display:grid;gap:3px}.monitor-row strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-row span{font-size:10px;color:#7d8a81;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-row>b{font-size:11px;color:#508f41;white-space:nowrap}.monitor-empty{padding:12px 0;color:#8a968e;font-size:11px}.monitor-loading,.monitor-error{display:grid;place-items:center;gap:10px;min-height:360px;padding:30px;border:1px solid #dfe6df;border-radius:12px;background:#fff;color:#718077;text-align:center}.monitor-error strong{color:#1c3027}.monitor-error span{font-size:12px}@media(max-width:1050px){.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-process-arrow{display:none}}@media(max-width:760px){.monitor-header,.monitor-filters{align-items:flex-start;flex-direction:column}.monitor-header-actions{width:100%;justify-content:space-between}.monitor-filters label{min-width:0;width:100%}.monitor-shifts{flex-wrap:wrap}.monitor-main-grid,.monitor-data-grid{grid-template-columns:1fr}.monitor-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.production-plan{display:grid;gap:16px;padding:2px 0 20px;color:#1c3027}.production-plan-header{align-items:flex-end}.production-plan-actions{display:flex;align-items:end;gap:10px}.production-plan-actions label{display:grid;gap:5px;color:#718077;font-size:11px}.production-plan-actions input{height:38px;padding:0 10px;border:1px solid #dfe6df;border-radius:8px;background:#fff;color:#1c3027}.production-plan-note{display:flex;justify-content:space-between;gap:18px;padding:11px 14px;border:1px solid #dce8db;border-radius:10px;background:#f6fbf4;color:#55715c;font-size:11px;line-height:1.45}.production-plan-shifts{display:grid;gap:16px}.production-plan-shift{padding:18px;border:1px solid #dfe6df;border-radius:14px;background:#fff}.production-plan-shift>header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #e7ede7}.production-plan-shift h2{margin:3px 0 0;font-size:20px;letter-spacing:-.03em;color:#173d2b}.plan-shift-metrics{display:flex;gap:8px}.plan-shift-metrics>div{display:grid;gap:4px;min-width:94px;padding:9px 11px;border:1px solid #dfe8df;border-radius:9px;background:#f8fbf8;text-align:right}.plan-shift-metrics span{color:#748279;font-size:10px}.plan-shift-metrics strong{font-size:16px;color:#2c6238}.production-plan-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:16px}.production-plan-equipment{min-width:0}.production-plan-equipment>header{display:flex;align-items:baseline;gap:9px;margin:0 0 8px}.production-plan-equipment h3{margin:0;font-size:15px;color:#1f392b}.production-plan-lines{display:grid;gap:7px}.production-plan-line{display:grid;grid-template-columns:126px minmax(110px,1.25fr) minmax(100px,1fr) 72px 90px minmax(100px,1fr) minmax(100px,1fr);gap:6px;align-items:end;padding:8px;border:1px solid #e3ebe3;border-radius:9px;background:#fbfdfb}.plan-equipment{display:grid;gap:3px;min-width:0;padding:0 3px 5px}.plan-equipment span{color:#69ad55;font-size:10px;font-weight:800}.plan-equipment strong{font-size:11px;white-space:nowrap}.production-plan-line label{display:grid;gap:4px;min-width:0}.production-plan-line label span{color:#77867c;font-size:9px;font-weight:700}.production-plan-line input{width:100%;height:32px;min-width:0;padding:0 8px;border:1px solid #dce6dc;border-radius:7px;background:#fff;color:#20372a;font-size:11px}.production-plan-line input:disabled{opacity:1;background:#f2f6f2;color:#5c6e62}.production-plan-line:focus-within{border-color:#91c985;box-shadow:0 0 0 3px #8ccf5917}@media(max-width:1450px){.production-plan-line{grid-template-columns:100px minmax(90px,1fr) minmax(90px,1fr) 64px 76px}.production-plan-line label:nth-last-child(-n+2){grid-column:span 1}.production-plan-equipment-grid{grid-template-columns:1fr}}@media(max-width:760px){.production-plan-header,.production-plan-actions,.production-plan-note,.production-plan-shift>header{align-items:flex-start;flex-direction:column}.production-plan-actions{width:100%}.production-plan-actions label,.production-plan-actions input,.production-plan-actions button{width:100%}.plan-shift-metrics{width:100%}.plan-shift-metrics>div{flex:1}.production-plan-line{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-equipment{grid-column:1/-1}.production-plan-line label{grid-column:auto!important}}

.extrusion-station { background:linear-gradient(145deg,#0b2b22 0%,#164a35 100%); }
.extrusion-toolbar { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; padding:17px 20px; border:1px solid #dfe9df; border-radius:14px; background:#f7faf7; box-shadow:0 9px 24px #061d121c; }
.extrusion-toolbar label { display:grid; gap:7px; min-width:min(520px,100%); color:#647269; font-size:11px; font-weight:700; }
.extrusion-toolbar select { height:42px; border:1px solid #dfe8df; border-radius:9px; background:#fff; padding:0 11px; color:#203126; font:inherit; }
.extrusion-summary { display:flex; gap:16px; color:#728077; font-size:11px; white-space:nowrap; }
.extrusion-summary strong { margin-left:5px; color:#2d4934; font-size:17px; }
.extruder-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.extruder-card { display:grid; align-content:start; gap:13px; min-height:220px; padding:18px; border:1px solid #dfe8df; border-radius:14px; background:#f8fbf8; box-shadow:0 9px 24px #061d121c; animation:stationIn .2s ease both; }
.extruder-card.working { border-color:#8ecb7f; box-shadow:0 0 0 2px #72bf6020,0 9px 24px #061d121c; }
.extruder-card-head { display:flex; justify-content:space-between; align-items:start; gap:10px; padding-bottom:12px; border-bottom:1px solid #e4ece4; }
.extruder-card h3 { margin:5px 0 0; color:#223a2a; font-size:17px; }
.extruder-state { border-radius:999px; padding:6px 8px; background:#edf4eb; color:#518454; font-size:10px; white-space:nowrap; }
.extruder-card.working .extruder-state { background:#dff2db; color:#348b3c; }
.extruder-ready { display:grid; align-content:center; gap:15px; min-height:135px; color:#748178; font-size:12px; }
.extruder-ready p { margin:0; }
.extruder-ready .primary-action { justify-self:start; }
.extruder-active { display:grid; gap:8px; }
.extruder-active>strong { color:#263e2d; font-size:24px; }
.extruder-active p,.extruder-active small { margin:0; color:#738078; font-size:11px; }
.extruder-complete-form { display:grid; gap:7px; margin-top:7px; }
.extruder-complete-form label { display:grid; gap:5px; color:#657269; font-size:10px; font-weight:700; }
.extruder-complete-form input { width:100%; height:38px; border:1px solid #dfe8df; border-radius:8px; background:#fff; padding:0 9px; color:#203126; font:inherit; }
.extruder-complete-actions { display:flex; gap:7px; min-width:0; }
.extruder-complete-actions button { min-height:34px; padding:0 9px; font-size:10px; white-space:nowrap; }
.extruder-complete-actions .primary-action { flex:1; }
@media(max-width:1050px){.extruder-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.extrusion-toolbar{align-items:stretch;flex-direction:column}.extrusion-toolbar label{min-width:0}.extrusion-summary{justify-content:space-between;}}
@media(max-width:650px){.extruder-grid{grid-template-columns:1fr;}.extruder-inline-fields{grid-template-columns:1fr 1fr}.extrusion-summary{gap:8px;flex-wrap:wrap;}}

/* The extrusion operator sees all machines and both journals at a glance. */
.extruder-grid.compact { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.extruder-grid.compact .extruder-card { min-height:178px; padding:13px; gap:9px; border-radius:11px; box-shadow:0 6px 16px #061d1217; }
.extruder-grid.compact .extruder-card-head { padding-bottom:9px; }
.extruder-grid.compact .extruder-card h3 { font-size:15px; }
.extruder-grid.compact .extruder-state { padding:4px 6px; font-size:9px; }
.extruder-grid.compact .extruder-ready { min-height:102px; gap:10px; }
.extruder-grid.compact .extruder-ready .primary-action { padding:8px 10px; font-size:11px; }
.extruder-grid.compact .extruder-active>strong { font-size:18px; }
.extruder-grid.compact .extruder-active p,.extruder-grid.compact .extruder-active small { font-size:10px; }
.extruder-inline-fields { display:grid; grid-template-columns:78px 1fr; gap:6px; }
.extrusion-bottom-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:12px; }
.extrusion-sources,.extrusion-history { min-width:0; padding:17px; border:1px solid #dfe8df; border-radius:14px; background:#f8fbf8; box-shadow:0 8px 20px #061d1217; }
.extrusion-sources .container-list-heading,.extrusion-history .container-list-heading { margin-bottom:8px; }
.extrusion-sources h3,.extrusion-history h3 { margin:4px 0 0; color:#243b2b; font-size:16px; }
.extrusion-list { display:grid; gap:0; max-height:230px; overflow:auto; }
.extrusion-source-row,.extrusion-history-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #e7eee6; }
.extrusion-source-row:first-child,.extrusion-history-row:first-child { border-top:0; }
.extrusion-source-row>div,.extrusion-history-row>div { display:grid; gap:3px; min-width:0; }
.extrusion-source-row strong,.extrusion-history-row strong { color:#2b4031; font-size:12px; }
.extrusion-source-row span,.extrusion-history-row span { overflow:hidden; color:#7b887e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.extrusion-source-row b,.extrusion-history-row b { flex:0 0 auto; border-radius:999px; padding:5px 7px; background:#e5f4e2; color:#3a8243; font-size:9px; white-space:nowrap; }
.extrusion-source-row.used b { background:#edf0ed; color:#6d7b70; }
.extrusion-history-row>div:last-child { justify-items:end; text-align:right; }
.extrusion-history-row>div:last-child b { padding:0; background:transparent; color:#3c7f42; }
.extrusion-history-row>div:last-child span { max-width:130px; }
@media(max-width:1200px){.extruder-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.extruder-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));}.extrusion-bottom-grid{grid-template-columns:1fr;}}
@media(max-width:520px){.extruder-grid.compact{grid-template-columns:1fr;}.extrusion-toolbar{padding:13px}.extrusion-sources,.extrusion-history{padding:13px;}}

/* Home and navigation visual refresh. Scope the workspace treatment to the
   home state so operator and administration pages keep their existing UI. */
.app-shell { grid-template-columns:216px minmax(0,1fr); background:#263a32; font-family:Inter,"Segoe UI",Arial,sans-serif; }
.app-shell .sidebar { background:linear-gradient(180deg,#102d24 0%,#0c241d 100%); padding:20px 12px 16px; gap:20px; }
.app-shell .brand { padding:0 10px 16px; border-bottom:1px solid #ffffff14; gap:10px; }
.app-shell .brand-mark { width:32px; height:32px; }
.app-shell .brand-title { color:#f5fbf5; font-size:19px; letter-spacing:-.5px; }
.app-shell .brand-subtitle { color:#9ebaae; font-size:8px; letter-spacing:.04em; }
.app-shell .sidebar-toggle { min-height:40px; border-color:#ffffff18; background:#ffffff08; color:#c5d8ca; transition:background .15s ease,border-color .15s ease; }
.app-shell .sidebar-toggle:hover { background:#ffffff12; border-color:#8ccf5940; }
.app-shell .root-nav { gap:4px; }
.app-shell .nav-button { min-height:42px; padding:8px 10px; border-radius:9px; gap:10px; color:#b9cdbf; transition:background .15s ease,color .15s ease,transform .15s ease; }
.app-shell .nav-button:hover { background:#ffffff0c; color:#f3faf3; transform:translateX(1px); }
.app-shell .nav-button.active { position:relative; background:#8ccf5918; border-color:#8ccf5926; color:#e8f6dd; box-shadow:none; }
.app-shell .nav-button.active::before { content:""; position:absolute; left:-12px; top:7px; bottom:7px; width:3px; border-radius:0 3px 3px 0; background:#8ccf59; }
.app-shell .nav-icon { width:22px; height:22px; flex-basis:22px; color:#9fceb0; }
.app-shell .nav-button.active .nav-icon { color:#8ccf59; }
.app-shell .nav-icon svg { width:19px; height:19px; }
.app-shell .nav-label { color:inherit; font-size:12px; }
.app-shell .nav-count { color:#a5c0ad; font-size:10px; }
.app-shell .sidebar-footer { padding:13px 10px 0; border-top-color:#ffffff14; color:#9db9a5; }
.app-shell .workspace { padding:0 26px 26px; background:#263a32; }
.app-shell.shell-home .topbar { color:#e9f3ea; border-bottom-color:#ffffff18; }
.app-shell.shell-home .crumbs span { color:#a9c0b0; }
.app-shell.shell-home .crumbs strong { color:#f2f8f2; }
.app-shell.shell-home .search input { border-color:#ffffff18; background:#ffffff0d; color:#eef7ef; }
.app-shell.shell-home .search input::placeholder { color:#adc0b2; }
.app-shell.shell-home .account strong { color:#f2f8f2; }
.app-shell.shell-home .account span { color:#a9c0b0; }
.app-shell.shell-home .account .tool { border-color:#ffffff20; background:#ffffff0b; color:#e7f3e8; }
.app-shell.shell-home .avatar { background:#8ccf5930; color:#d6f0c6; }
.app-shell.shell-home .work-grid { margin-top:20px; padding:20px; border-radius:14px; background:#eef2ef; box-shadow:0 8px 25px #071c1426; }
.app-shell.shell-home .module-panel { background:transparent; }
.app-shell.shell-home .page-workbench { background:transparent; border:0; overflow:visible; }
.app-shell.shell-home .data-strip { margin-top:14px; gap:12px; }
.app-shell.shell-home .data-strip .table-panel { border-color:#dfe6df; border-radius:11px; box-shadow:0 3px 10px #163d2408; }
.app-shell.shell-home .data-strip .table-title { background:#fff; border-bottom-color:#e7ece7; }
.app-shell.shell-home .data-strip th { background:#f5f8f5; color:#718077; }
.app-shell.shell-home .data-strip td { color:#31483a; }
.app-shell.shell-home .data-strip tr:hover td { background:#f5faf3; }
.home-dashboard { gap:12px; padding:0 0 4px; }
.home-dashboard .home-welcome { min-height:92px; padding:20px 22px; border-color:#dfe6df; border-radius:12px; background:linear-gradient(110deg,#f8fbf6,#fff); box-shadow:0 3px 12px #163d2408; }
.home-dashboard .home-welcome h2 { color:#1c3027; font-size:clamp(23px,2.3vw,31px); letter-spacing:-.8px; }
.home-kicker { display:block; margin-bottom:7px; color:#5e9b4c; font-size:10px; font-weight:700; letter-spacing:.12em; }
.home-date { align-self:flex-start; color:#6f8274; font-size:11px; text-transform:capitalize; }
.home-metrics { gap:10px; }
.home-metrics article { min-height:88px; padding:14px 16px; border-color:#dfe6df; border-radius:10px; box-shadow:0 2px 8px #163d2406; }
.home-metrics article::after { content:""; width:22px; height:3px; margin-top:auto; border-radius:3px; background:#8ccf59; }
.home-metrics span { color:#718077; font-size:10px; }
.home-metrics strong { color:#1c3027; font-size:26px; font-weight:600; }
.home-dashboard-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:12px; align-items:start; }
.home-production-summary,.home-recent { padding:16px; border-color:#dfe6df; border-radius:11px; box-shadow:0 2px 8px #163d2406; }
.home-section-heading h3 { color:#1c3027; font-size:16px; }
.home-run-row,.home-recent-row { padding:9px 0; }
.home-run-row:hover { padding-left:6px; padding-right:6px; border-radius:7px; }
.home-run-row strong,.home-recent-row strong { color:#1c3027; font-size:12px; }
.home-run-row b { background:#e6f3df; color:#477e3d; }
@media (min-width:761px) and (max-width:1400px) {
  .app-shell { grid-template-columns:208px minmax(0,1fr); }
  .app-shell .workspace { padding-left:20px; padding-right:20px; }
  .app-shell.shell-home .work-grid { padding:16px; }
}
@media (max-width:760px) {
  .app-shell .workspace { background:#eef2ef; }
  .app-shell.shell-home .topbar { color:#1c3027; border-bottom-color:#dfe6df; }
  .app-shell.shell-home .crumbs span { color:#718077; }
  .app-shell.shell-home .crumbs strong { color:#1c3027; }
  .app-shell.shell-home .account strong { color:#1c3027; }
  .app-shell.shell-home .account span { color:#718077; }
  .app-shell.shell-home .work-grid { padding:12px; border-radius:10px; }
  .home-dashboard .home-welcome { align-items:flex-start; }
  .home-date { align-self:auto; }
}

/* Compact navigation mode for the primary workspace.  The rail stays
   icon-only by default and opens as a temporary hover panel on desktop. */
@media (min-width:761px) {
  .app-shell { grid-template-columns:64px minmax(0,1fr); }
  .app-shell.sidebar-collapsed .brand { justify-content:center; padding-left:0; padding-right:0; }
  .app-shell.sidebar-collapsed .brand > div,
  .app-shell.sidebar-collapsed .nav-label { display:none; }
  .app-shell.sidebar-collapsed .nav-button { justify-content:center; padding:8px 6px; }
  .app-shell .sidebar-toggle,
  .app-shell .sidebar-footer,
  .app-shell .nav-count,
  .app-shell .account #accountMeta { display:none!important; }
  .app-shell.shell-home .data-strip { display:none!important; }
  .app-shell { transition:grid-template-columns .18s ease; }
  .app-shell.sidebar-collapsed.sidebar-hover-expanded { grid-template-columns:216px minmax(0,1fr); }
  .app-shell.sidebar-collapsed.sidebar-hover-expanded .brand > div,
  .app-shell.sidebar-collapsed.sidebar-hover-expanded .nav-label { display:block; }
  .app-shell.sidebar-collapsed.sidebar-hover-expanded .brand { justify-content:flex-start; padding-left:10px; padding-right:10px; }
  .app-shell.sidebar-collapsed.sidebar-hover-expanded .nav-button { justify-content:flex-start; padding:8px 10px; }
}

@media (max-width:760px) {
  .app-shell .sidebar-toggle,
  .app-shell .sidebar-footer,
  .app-shell .nav-count,
  .app-shell .account #accountMeta { display:none!important; }
  .app-shell.shell-home .data-strip { display:none!important; }
}

/* Production hub uses the same dark shell / light canvas relationship as the
   dashboard, while keeping the operator station pages immersive. */
.app-shell.shell-production:not(.station-immersive) .workspace { background:#263a32; padding:0 26px 26px; }
.app-shell.shell-production:not(.station-immersive) .topbar { color:#e9f3ea; border-bottom-color:#ffffff18; }
.app-shell.shell-production:not(.station-immersive) .crumbs span { color:#a9c0b0; }
.app-shell.shell-production:not(.station-immersive) .crumbs strong { color:#f2f8f2; }
.app-shell.shell-production:not(.station-immersive) .search input { border-color:#ffffff18; background:#ffffff0d; color:#eef7ef; }
.app-shell.shell-production:not(.station-immersive) .search input::placeholder { color:#adc0b2; }
.app-shell.shell-production:not(.station-immersive) .account strong { color:#f2f8f2; }
.app-shell.shell-production:not(.station-immersive) .account .tool { border-color:#ffffff20; background:#ffffff0b; color:#e7f3e8; }
.app-shell.shell-production:not(.station-immersive) .avatar { background:#8ccf5930; color:#d6f0c6; }
.app-shell.shell-production:not(.station-immersive) .work-grid { grid-template-columns:1fr; margin-top:20px; padding:18px; border-radius:14px; background:#eef2ef; box-shadow:0 8px 25px #071c1426; }
.app-shell.shell-production:not(.station-immersive) .module-panel { background:transparent; }
.app-shell.shell-production:not(.station-immersive) .page-workbench { background:transparent; border:0; overflow:visible; }
.app-shell.shell-production:not(.station-immersive) .production-hub { min-height:0; padding:0 0 4px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-intro { padding:2px 2px 18px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-intro h2 { font-size:27px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-grid { gap:12px; padding-top:16px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card { min-height:156px; padding:18px; border-radius:12px; }
.app-shell.shell-production:not(.station-immersive) .hub-card-icon { width:36px; height:36px; margin:12px 0 14px; border-radius:10px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card strong { font-size:15px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card small { font-size:10px; }
@media (min-width:761px) and (max-width:1400px) {
  .app-shell.shell-production:not(.station-immersive) .workspace { padding-left:20px; padding-right:20px; }
  .app-shell.shell-production:not(.station-immersive) .work-grid { padding:16px; }
}

/* Рабочие участки: самостоятельная светлая карта на тёмном производственном фоне.
   Внешняя белая подложка больше не склеивает карточки в один контейнер. */
.app-shell.shell-production:not(.station-immersive) .work-grid:has(.production-hub) { padding:0; background:transparent; box-shadow:none; }
.app-shell.shell-production:not(.station-immersive) .work-grid:has(.production-hub) .module-panel { padding:0; }
.app-shell.shell-production:not(.station-immersive) .production-hub { padding:28px; border:1px solid rgba(225,242,226,.18); border-radius:20px; background:linear-gradient(135deg,#173d31 0%,#214a3c 58%,#193c31 100%); box-shadow:0 20px 45px rgba(4,22,15,.22); }
.app-shell.shell-production:not(.station-immersive) .production-hub-intro { padding:0 2px 22px; border-bottom-color:rgba(224,241,226,.2); }
.app-shell.shell-production:not(.station-immersive) .production-hub-intro h2 { margin:6px 0 8px; color:#f4faf2; font-size:clamp(28px,2.5vw,38px); }
.app-shell.shell-production:not(.station-immersive) .production-hub-intro p:not(.eyebrow) { color:#c4d7ca; font-size:14px; }
.production-hub-kicker,.dictionary-kicker { display:block; color:#a8dd73; font-size:10px; font-weight:800; letter-spacing:.14em; }
.app-shell.shell-production:not(.station-immersive) .hub-live { color:#d7ead6; }
.app-shell.shell-production:not(.station-immersive) .production-hub-grid { gap:14px; padding-top:22px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card { min-height:184px; padding:20px; border:1px solid rgba(255,255,255,.64); border-radius:16px; box-shadow:0 8px 18px rgba(5,30,20,.12); }
.app-shell.shell-production:not(.station-immersive) .production-hub-card:hover { transform:translateY(-4px); box-shadow:0 18px 28px rgba(3,23,15,.3); }
.app-shell.shell-production:not(.station-immersive) .hub-card-index { color:#3c8050; }
.app-shell.shell-production:not(.station-immersive) .hub-card-icon { width:40px; height:40px; margin:16px 0 18px; background:rgba(255,255,255,.65); color:#25643b; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card strong { color:#17392a; font-size:17px; }
.app-shell.shell-production:not(.station-immersive) .production-hub-card small { color:#496457; font-size:11px; }
.app-shell.shell-production:not(.station-immersive) .hub-card-arrow { color:#277040; }
.app-shell.shell-production:not(.station-immersive) .hub-card-monitor { background:linear-gradient(135deg,#e9f8de,#cfeac8); }
.app-shell.shell-production:not(.station-immersive) .hub-card-loading { background:linear-gradient(135deg,#fff6d9,#f5e0ae); }
.app-shell.shell-production:not(.station-immersive) .hub-card-bunker { background:linear-gradient(135deg,#e7f5f2,#c9e5dc); }
.app-shell.shell-production:not(.station-immersive) .hub-card-mixing { background:linear-gradient(135deg,#f3eafb,#ddd1ee); }
.app-shell.shell-production:not(.station-immersive) .hub-card-extrusion { background:linear-gradient(135deg,#e5efff,#c9daf2); }
.app-shell.shell-production:not(.station-immersive) .hub-card-milling { background:linear-gradient(135deg,#fbeade,#f1d3bd); }
.app-shell.shell-production:not(.station-immersive) .hub-card-plan { background:linear-gradient(135deg,#f8edf1,#ebd5df); }
.app-shell.shell-production:not(.station-immersive) .hub-card-runs { background:linear-gradient(135deg,#e8f5e8,#c8e5cf); }

/* Единый редактор справочников: без технических кодов и без мнимого "выключения" позиций. */
.dictionary-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:4px 0 2px; }
.dictionary-detail-head h3 { margin:6px 0; font-size:24px; }
.dictionary-detail-head p { max-width:620px; margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.dictionary-editor-form { display:grid; grid-template-columns:minmax(220px,1fr) minmax(240px,1.4fr) auto; gap:12px; align-items:end; padding:15px; border:1px solid #d9e7d9; border-radius:12px; background:linear-gradient(135deg,#f8fcf7,#eef6ed); }
.dictionary-editor-form-head { grid-column:1 / -1; display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.dictionary-editor-form-head strong { color:#254631; font-size:15px; }
.dictionary-editor-form-head span { color:#708075; font-size:11px; text-align:right; }
.dictionary-editor-form label { display:grid; gap:6px; color:#56685b; font-size:11px; font-weight:800; }
.dictionary-editor-actions { display:flex; flex-wrap:wrap; gap:8px; }
.danger-action,.row-delete { border:1px solid #e8c5c1; background:#fff7f6; color:#ae4d45; cursor:pointer; }
.danger-action { min-height:36px; padding:8px 12px; border-radius:8px; font-weight:800; }
.danger-action:hover,.row-delete:hover { border-color:#d9837b; background:#fff0ee; }
.dictionary-editor-message { grid-column:1 / -1; min-height:0; margin:0; color:#64746a; font-size:12px; }
.dictionary-editor-message.error { color:#a44b43; }
.dictionary-table-panel { margin-top:2px; }
.dictionary-table td:last-child,.dictionary-table th:last-child { width:46px; text-align:right; }
.dictionary-table tbody tr { cursor:pointer; }
.dictionary-table tbody tr.selected td { background:#edf7e9; }
.dictionary-table tbody tr:hover td { background:#f5faf4; }
.row-delete { width:28px; height:28px; border-radius:8px; font-size:20px; line-height:20px; }
.dictionary-empty { padding:24px!important; color:var(--muted); text-align:center; }
@media(max-width:900px){.dictionary-editor-form{grid-template-columns:1fr;}.dictionary-editor-form-head{align-items:flex-start;flex-direction:column;}.dictionary-editor-form-head span{text-align:left;}.dictionary-detail-head{align-items:flex-start;flex-direction:column;}}
@media (max-width:760px) {
  .app-shell.shell-production:not(.station-immersive) .workspace { background:#eef2ef; padding:0 14px 20px; }
  .app-shell.shell-production:not(.station-immersive) .topbar { color:#1c3027; border-bottom-color:#dfe6df; }
  .app-shell.shell-production:not(.station-immersive) .crumbs span { color:#718077; }
  .app-shell.shell-production:not(.station-immersive) .crumbs strong,
  .app-shell.shell-production:not(.station-immersive) .account strong { color:#1c3027; }
  .app-shell.shell-production:not(.station-immersive) .work-grid { padding:12px; border-radius:10px; }
}

/* Accounting uses the same Nexis shell as Home and Production. */
.app-shell.shell-accounting .workspace { background:#263a32; padding:0 26px 26px; }
.app-shell.shell-accounting .topbar { color:#e9f3ea; border-bottom-color:#ffffff18; }
.app-shell.shell-accounting .crumbs span { color:#a9c0b0; }
.app-shell.shell-accounting .crumbs strong { color:#f2f8f2; }
.app-shell.shell-accounting .search input { border-color:#ffffff18; background:#ffffff0d; color:#eef7ef; }
.app-shell.shell-accounting .search input::placeholder { color:#adc0b2; }
.app-shell.shell-accounting .account strong { color:#f2f8f2; }
.app-shell.shell-accounting .account .tool { border-color:#ffffff20; background:#ffffff0b; color:#e7f3e8; }
.app-shell.shell-accounting .avatar { background:#8ccf5930; color:#d6f0c6; }
.app-shell.shell-accounting .work-grid { grid-template-columns:1fr; margin-top:20px; padding:18px; border-radius:14px; background:#eef2ef; box-shadow:0 8px 25px #071c1426; }
.app-shell.shell-accounting .module-panel { background:transparent; }
.app-shell.shell-accounting .page-workbench { background:transparent; border:0; overflow:visible; }
@media (min-width:761px) and (max-width:1400px) { .app-shell.shell-accounting .workspace { padding-left:20px; padding-right:20px; } .app-shell.shell-accounting .work-grid { padding:16px; } }
@media (max-width:760px) { .app-shell.shell-accounting .workspace { background:#eef2ef; padding:0 14px 20px; } .app-shell.shell-accounting .topbar { color:#1c3027; border-bottom-color:#dfe6df; } .app-shell.shell-accounting .crumbs span { color:#718077; } .app-shell.shell-accounting .crumbs strong, .app-shell.shell-accounting .account strong { color:#1c3027; } .app-shell.shell-accounting .work-grid { padding:12px; border-radius:10px; } }

/* Accounting pages expose their related workspaces as a compact local navigation. */
.app-shell.shell-accounting:not(.station-immersive) .module-panel > .sections { display:flex!important; gap:24px; margin-top:2px; border-bottom:1px solid #dfe6df; }
.app-shell.shell-accounting:not(.station-immersive) .module-panel > .section-toolbar { display:none!important; }
.app-shell.shell-accounting:not(.station-immersive) .module-panel > .sections .section-card { min-height:42px; padding:10px 1px 12px; border-bottom:2px solid transparent; color:#718075; background:transparent; box-shadow:none; }
.app-shell.shell-accounting:not(.station-immersive) .module-panel > .sections .section-card.active { border-bottom-color:#39784a; color:#225d37; background:transparent; box-shadow:none; }

.writeoff-mode-tabs { display:flex; gap:6px; padding:5px; border:1px solid #dfe6df; border-radius:11px; background:#f5f8f5; width:max-content; }
.writeoff-mode-tabs button { border:0; border-radius:8px; padding:9px 15px; color:#5d7164; background:transparent; font:inherit; cursor:pointer; transition:background .15s ease,color .15s ease,box-shadow .15s ease; }
.writeoff-mode-tabs button:hover { background:#eaf4e8; color:#2c7048; }
.writeoff-mode-tabs button.active { background:#246b43; color:#fff; box-shadow:0 3px 8px rgba(19,75,43,.16); }
.automatic-writeoff-loading,.automatic-writeoff-empty { padding:34px; border:1px dashed #cbd9cc; border-radius:12px; color:#678071; background:#fbfdfb; text-align:center; }
.writeoff-auto-head-meta { display:flex; align-items:center; gap:10px; color:#6b8071; font-size:12px; }
.automatic-writeoff-toolbar { display:grid; grid-template-columns:minmax(160px,200px) minmax(220px,1fr) minmax(280px,1.5fr); gap:12px; align-items:end; padding:15px; border:1px solid #dfe6df; border-radius:12px; background:#fff; }
.automatic-writeoff-toolbar label { display:grid; gap:6px; color:#617468; font-size:11px; font-weight:600; }
.automatic-writeoff-toolbar input,.automatic-writeoff-toolbar select,.automatic-correction-editor input { min-height:38px; border:1px solid #dfe6df; border-radius:8px; padding:8px 10px; background:#fbfdfb; color:#1c3027; }
.automatic-toggle { display:flex!important; align-items:center; gap:8px; min-height:38px; }
.automatic-toggle input { min-height:auto; accent-color:#4e9a58; }
.automatic-writeoff-run-card { display:flex; justify-content:space-between; gap:22px; padding:18px 20px; border:1px solid #dfe6df; border-radius:12px; background:#fff; }
.automatic-writeoff-run-card h3 { margin:4px 0 5px; color:#1e3a2b; font-size:22px; }
.automatic-writeoff-run-card p { margin:0; color:#6d8073; }
.automatic-writeoff-run-metrics { display:flex; gap:24px; align-items:center; }
.automatic-writeoff-run-metrics div { display:grid; gap:5px; }
.automatic-writeoff-run-metrics span { color:#75867b; font-size:11px; }
.automatic-writeoff-run-metrics strong { color:#1f4831; font-size:16px; }
.automatic-writeoff-composition { display:grid; gap:12px; padding:17px 20px; border:1px solid #dfe6df; border-radius:12px; background:#fff; }
.automatic-composition-bar { display:flex; min-height:30px; overflow:hidden; border-radius:8px; background:#edf3ed; }
.automatic-composition-segment { display:flex; align-items:center; justify-content:center; min-width:28px; color:#fff; font-size:11px; font-weight:700; transition:width .16s ease; }
.automatic-composition-segment.segment-0 { background:#2f754b; }.automatic-composition-segment.segment-1 { background:#84bf5c; }.automatic-composition-segment.segment-2 { background:#4f9f67; }.automatic-composition-segment.segment-3 { background:#a4ce72; }.automatic-composition-segment.segment-4 { background:#276453; }
.automatic-composition-legend { display:flex; flex-wrap:wrap; gap:10px 18px; color:#5e7465; font-size:12px; }
.automatic-composition-legend span { display:inline-flex; align-items:center; gap:6px; }.automatic-composition-legend i { width:9px; height:9px; border-radius:50%; display:inline-block; }.automatic-composition-legend i.segment-0 { background:#2f754b; }.automatic-composition-legend i.segment-1 { background:#84bf5c; }.automatic-composition-legend i.segment-2 { background:#4f9f67; }.automatic-composition-legend i.segment-3 { background:#a4ce72; }.automatic-composition-legend i.segment-4 { background:#276453; }
.automatic-correction-editor { display:flex; flex-wrap:wrap; gap:8px; }.automatic-correction-editor label { display:grid; gap:5px; color:#617468; font-size:11px; font-weight:600; }.automatic-correction-editor input { width:100px; min-height:32px; }
.automatic-material-note,.automatic-writeoff-message,.automatic-writeoff-changed { margin:0; padding:11px 13px; border-radius:8px; color:#557261; background:#f2f8f0; font-size:12px; }.automatic-writeoff-message { color:#8a672f; background:#fff8e9; }.automatic-writeoff-changed { color:#2e7047; background:#e9f5e6; }
.automatic-composition-empty { width:100%; padding:8px; color:#708176; text-align:center; }
@media (max-width:900px) { .automatic-writeoff-toolbar,.automatic-writeoff-run-card { grid-template-columns:1fr; display:grid; }.automatic-writeoff-run-metrics { flex-wrap:wrap; gap:14px; }.writeoff-auto-head-meta { align-items:flex-start; flex-direction:column; } }

/* Writeoff results stay compact so the material statement remains the primary result. */
.writeoff-results-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:12px; align-items:start; }
.writeoff-journal-summary { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:12px 14px; border:1px solid #dfe6df; border-radius:10px; background:#fff; }
.writeoff-journal-summary > strong { flex-basis:100%; color:#294b38; font-size:12px; }
.writeoff-journal-summary > div { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border:1px solid #dfe6df; border-radius:999px; background:#f7faf7; color:#6b7d70; font-size:11px; }
.writeoff-journal-summary > div strong { color:#294b38; font-weight:700; }
.writeoff-journal-summary > div.has-value { border-color:#b9d9b0; background:#edf8ea; color:#3b7b45; }
.writeoff-journal-summary > div.has-value strong { color:#2e7741; }
.writeoff-journal-summary > div.is-zero { color:#a0aaa2; background:#fafcfb; }
.writeoff-journal-summary > .writeoff-correction-picker { flex-basis:100%; display:grid; gap:7px; padding:5px 0 0; border:0; border-top:1px solid #edf1ed; border-radius:0; background:transparent; color:#314f3c; }
.writeoff-correction-picker > strong { color:#203d2d; font-size:12px; }
.writeoff-correction-picker > p { margin:0; color:#6b8071; font-size:11px; }
.writeoff-correction-option small { color:#718176; font-size:10px; font-weight:600; }
.writeoff-result-panel table tfoot th { border-top:2px solid #cbd9cc; background:#f2f7f2; color:#1f4930; font-weight:750; }
.writeoff-result-panel table tfoot th:not(:first-child) { text-align:right; }
.writeoff-history-panel .table-scroll { max-height:280px; }

.automatic-correction-picker { display:grid; gap:7px; padding:2px 0 5px; }
.automatic-correction-picker > strong { color:#203d2d; font-size:14px; }
.automatic-correction-picker > p { margin:0; color:#6b8071; font-size:12px; }
.automatic-correction-options { display:flex; flex-wrap:wrap; gap:8px 13px; }
.automatic-correction-option { display:inline-flex; align-items:center; gap:5px; cursor:pointer; color:#314f3c; font-size:12px; }
.automatic-correction-option input { position:absolute; opacity:0; pointer-events:none; }
.automatic-correction-option span { position:relative; width:20px; height:20px; border:1px solid #cbd5cd; border-radius:50%; background:#f5f7f5; transition:background .14s ease,border-color .14s ease,transform .14s ease; }
.automatic-correction-option span::after { content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:13px; font-weight:700; opacity:0; transform:scale(.7); transition:opacity .14s ease,transform .14s ease; }
.automatic-correction-option:hover span { border-color:#70a477; transform:translateY(-1px); }
.automatic-correction-option input:checked + span { border-color:#1d3a29; background:#1d3a29; }
.automatic-correction-option input:checked + span::after { opacity:1; transform:scale(1); }
.automatic-correction-empty { color:#809287; font-size:12px; }
@media (max-width:900px) { .writeoff-results-grid { grid-template-columns:1fr; } }

/* Embedded training materials and global feature notifications. */
#trainingHost { position:fixed; inset:0; z-index:9000; pointer-events:none; }
#trainingHost .training-station-button,#trainingHost .training-toast,#trainingHost .training-viewer-backdrop,#trainingHost .training-library-backdrop { pointer-events:auto; }
.training-notification-button { position:relative; display:grid; place-items:center; width:40px; height:40px; margin-right:4px; border:1px solid #dbe5dc; border-radius:12px; background:#fff; color:#2d7545; font-size:20px; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.training-notification-button:hover,.training-notification-button.has-new { border-color:#8fc18a; box-shadow:0 8px 20px rgba(38,93,56,.12); transform:translateY(-1px); }
.training-notification-button.has-new { animation:training-notification-pulse 2.4s ease-in-out infinite; }
.training-notification-button b { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; border:2px solid #fff; border-radius:999px; background:#d88142; color:#fff; font-size:10px; line-height:1; }
.training-station-button { display:none; position:fixed; top:44px; right:clamp(420px,20vw,480px); z-index:10000; align-items:center; gap:8px; min-height:38px; padding:8px 12px; border:1px solid rgba(169,216,124,.55); border-radius:11px; background:rgba(16,54,39,.94); color:#eff9ed; box-shadow:0 10px 28px rgba(2,24,15,.25); cursor:pointer; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }.training-station-button > span { color:#b5e38d; font-size:17px; }.training-station-button strong { font-size:11px; }.training-station-button:hover,.training-station-button.has-new { background:#1e5d3c; transform:translateY(-1px); box-shadow:0 0 0 4px rgba(169,216,124,.12),0 12px 30px rgba(2,24,15,.3); }.training-station-button.has-new { animation:training-notification-pulse 2.4s ease-in-out infinite; }.training-station-count { display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:#d88142; color:#fff; font-size:10px; }
#trainingHost.station-visible .training-station-button { display:inline-flex; }
.training-toast { position:fixed; right:28px; bottom:28px; z-index:11000; display:flex; gap:13px; width:min(390px,calc(100vw - 32px)); padding:16px; border:1px solid rgba(159,214,125,.5); border-radius:18px; background:linear-gradient(135deg,#123629,#1d5139); color:#fff; box-shadow:0 22px 60px rgba(2,24,15,.38); animation:training-toast-in .45s cubic-bezier(.2,.8,.2,1) both; }
.training-toast-mark { display:grid; place-items:center; width:36px; height:36px; flex:0 0 auto; border-radius:12px; background:#a9d87c; color:#163d29; font-size:22px; box-shadow:0 0 24px rgba(169,216,124,.3); }
.training-toast-copy { display:grid; gap:5px; padding-right:14px; }.training-toast-copy strong { color:#b7e88b; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.training-toast-copy b { font-size:16px; }.training-toast-copy span { color:#d0e5d3; font-size:12px; line-height:1.4; }.training-toast-open { justify-self:start; margin-top:4px; padding:7px 11px; border:1px solid #a9d87c; border-radius:8px; background:#a9d87c; color:#153826; font-weight:750; cursor:pointer; }.training-toast-close { position:absolute; top:8px; right:10px; border:0; background:transparent; color:#d0e5d3; font-size:21px; cursor:pointer; }
.training-viewer-backdrop { position:fixed; inset:0; z-index:12000; display:grid; place-items:center; padding:22px; background:rgba(4,18,12,.82); backdrop-filter:blur(8px); animation:training-viewer-fade .25s ease both; }.training-viewer-dialog { display:flex; flex-direction:column; width:min(760px,100%); max-height:calc(100vh - 44px); overflow:hidden; border:1px solid rgba(169,216,124,.35); border-radius:20px; background:#f5faf6; color:#193a28; box-shadow:0 30px 100px rgba(0,0,0,.45); animation:training-viewer-in .35s cubic-bezier(.2,.8,.2,1) both; }.training-viewer-dialog-wide { width:min(1280px,100%); }.training-viewer-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 24px; border-bottom:1px solid #dce8de; background:linear-gradient(135deg,#fafffa,#edf7ee); }.training-viewer-kicker,.training-admin-kicker { color:#4c9a55; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.training-viewer-header h2 { margin:5px 0 0; font-size:23px; }.training-viewer-header p { margin:6px 0 0; color:#708476; font-size:12px; }.training-viewer-close { width:34px; height:34px; border:1px solid #d7e3d9; border-radius:10px; background:#fff; color:#51705b; font-size:24px; cursor:pointer; }.training-viewer-frame { display:block; width:100%; min-height:min(680px,calc(100vh - 210px)); border:0; background:#fff; }.training-viewer-footer { display:flex; justify-content:flex-end; gap:10px; padding:14px 24px; border-top:1px solid #dce8de; background:#f9fcf9; }.training-viewer-footer button { min-height:38px; }.training-viewer-ack:disabled { opacity:.6; cursor:wait; }.training-viewer-state { display:grid; place-items:center; gap:10px; min-height:250px; padding:28px; text-align:center; color:#617568; }.training-viewer-state strong { color:#244c33; }.training-viewer-state p { max-width:500px; margin:0; }.training-viewer-spinner { width:34px; height:34px; border:3px solid #d6e8d8; border-top-color:#4c9a55; border-radius:50%; animation:training-spin .8s linear infinite; }
.training-library-backdrop { position:fixed; inset:0; z-index:12000; display:grid; place-items:center; padding:22px; background:rgba(4,18,12,.82); backdrop-filter:blur(8px); animation:training-viewer-fade .25s ease both; }.training-library-dialog { display:flex; flex-direction:column; width:min(900px,100%); max-height:calc(100vh - 44px); overflow:hidden; border:1px solid rgba(169,216,124,.35); border-radius:20px; background:#f5faf6; color:#193a28; box-shadow:0 30px 100px rgba(0,0,0,.45); animation:training-viewer-in .35s cubic-bezier(.2,.8,.2,1) both; }.training-library-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 24px; border-bottom:1px solid #dce8de; background:linear-gradient(135deg,#fafffa,#edf7ee); }.training-library-header h2 { margin:5px 0 0; font-size:23px; }.training-library-header p { margin:6px 0 0; color:#708476; font-size:12px; }.training-library-list { display:grid; gap:10px; overflow:auto; padding:18px 24px; }.training-library-card { display:flex; align-items:center; gap:13px; padding:14px; border:1px solid #dce7de; border-radius:13px; background:#fff; transition:transform .18s ease,box-shadow .18s ease; }.training-library-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(32,79,45,.08); }.training-library-card-copy { min-width:0; flex:1; }.training-library-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }.training-library-card h3 { margin:0; color:#244b32; font-size:15px; }.training-library-card p { margin:5px 0; color:#718274; font-size:12px; line-height:1.4; }.training-library-card small { color:#8a998d; font-size:10px; }.training-library-status { padding:4px 8px; border-radius:999px; font-size:10px; font-weight:750; }.training-library-status.new { background:#fff0df; color:#a45d2b; }.training-library-status.opened { background:#e8f2ff; color:#4c7296; }.training-library-status.acknowledged { background:#e4f4df; color:#4b8a50; }.training-library-dialog .training-viewer-footer { margin-top:auto; }
.training-admin-head > div > p:last-child { max-width:730px; margin:8px 0 0; color:#6b7e70; font-size:12px; line-height:1.5; }.training-admin-body { display:grid; gap:18px; }.training-admin-upload,.training-admin-library { padding:22px; border:1px solid #dce7de; border-radius:18px; background:linear-gradient(145deg,#fbfdfb,#f1f8f2); }.training-admin-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }.training-admin-section-head h3 { margin:5px 0 4px; color:#21452f; font-size:18px; }.training-admin-section-head p { margin:0; color:#718274; font-size:12px; }.training-admin-orbit { display:grid; place-items:center; width:44px; height:44px; border-radius:15px; background:#dcefd8; color:#489354; font-size:24px; animation:training-orbit 3.6s ease-in-out infinite; }.training-admin-form { display:grid; gap:13px; max-width:800px; }.training-admin-form label { display:grid; gap:6px; color:#45604e; font-size:12px; font-weight:700; }.training-admin-form input,.training-admin-form textarea { width:100%; box-sizing:border-box; border:1px solid #d4e1d6; border-radius:10px; padding:10px 12px; background:#fff; color:#203c2a; font:inherit; font-weight:400; }.training-admin-form textarea { resize:vertical; }.training-file-picker input { padding:8px; }.training-file-picker span { color:#718274; font-size:11px; font-weight:400; }.training-admin-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:3px; }.training-admin-form-status { min-height:18px; margin:0; color:#4d7957; font-size:12px; }.training-admin-form-status.error,.training-admin-empty.error { color:#a65c3b; }.training-material-list { display:grid; gap:10px; }.training-material-card { display:flex; align-items:center; gap:13px; padding:14px; border:1px solid #dce7de; border-radius:13px; background:#fff; transition:transform .18s ease,box-shadow .18s ease; }.training-material-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(32,79,45,.08); }.training-material-card-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 auto; border-radius:11px; background:#e3f3df; color:#4c9a55; font-size:20px; }.training-material-card-copy { min-width:0; flex:1; }.training-material-card h4 { margin:0 0 4px; color:#244b32; font-size:14px; }.training-material-card p { margin:0 0 7px; overflow:hidden; color:#718274; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.training-material-meta { display:flex; flex-wrap:wrap; gap:5px 12px; color:#8a998d; font-size:10px; }.training-admin-empty { padding:26px; border:1px dashed #cbdccb; border-radius:12px; color:#718274; text-align:center; font-size:12px; }
@keyframes training-notification-pulse { 0%,100% { box-shadow:0 8px 20px rgba(38,93,56,.12); } 50% { box-shadow:0 0 0 5px rgba(143,193,138,.16),0 8px 22px rgba(38,93,56,.16); } } @keyframes training-toast-in { from { opacity:0; transform:translateY(18px) scale(.96); } to { opacity:1; transform:none; } } @keyframes training-viewer-fade { from { opacity:0; } to { opacity:1; } } @keyframes training-viewer-in { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } } @keyframes training-spin { to { transform:rotate(360deg); } } @keyframes training-orbit { 0%,100% { transform:rotate(-4deg) translateY(0); } 50% { transform:rotate(4deg) translateY(-3px); } }
@media (max-width:1100px) and (min-width:701px) { .training-station-button { top:44px; right:260px; } }
@media (max-width:700px) { .training-notification-button { width:36px; height:36px; }.training-station-button { top:62px; right:12px; }.training-toast { right:16px; bottom:16px; }.training-viewer-backdrop,.training-library-backdrop { padding:8px; }.training-viewer-dialog,.training-library-dialog { max-height:calc(100vh - 16px); border-radius:14px; }.training-viewer-header,.training-library-header,.training-viewer-footer { padding-left:15px; padding-right:15px; }.training-viewer-header h2,.training-library-header h2 { font-size:18px; }.training-viewer-frame { min-height:calc(100vh - 190px); }.training-material-card,.training-library-card { align-items:flex-start; flex-wrap:wrap; }.training-material-card > .tool,.training-library-card > .primary-action { margin-left:49px; }.training-admin-upload,.training-admin-library { padding:15px; } }

/* Nexis Signal: persistent, non-dismissible operator notification. */
.nexis-signal-backdrop { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; background:rgba(3,16,11,.78); animation:nexis-signal-fade .35s ease both; }
.nexis-signal-panel { width:min(760px,100%); max-height:calc(100vh - 40px); overflow:auto; background:#10251c; color:#fff; border:1px solid rgba(169,216,124,.32); border-radius:9px; box-shadow:0 24px 70px rgba(0,0,0,.42); animation:nexis-signal-panel-in .35s cubic-bezier(.2,.8,.2,1) both; }
.nexis-signal-topbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 22px; border-bottom:1px solid rgba(196,214,199,.22); }
.nexis-signal-topbar > div { display:flex; align-items:center; gap:9px; color:#a9d87c; letter-spacing:.04em; }.nexis-signal-topbar > span { padding:4px 10px; border-radius:999px; background:#b95c18; color:#fff; font-size:12px; font-weight:700; }
.nexis-signal-icon { width:22px; height:22px; flex:0 0 auto; }.nexis-signal-icon-bell { animation:nexis-signal-bell 2.8s ease-in-out infinite; }.nexis-signal-content { padding:28px 22px 0; text-align:center; }.nexis-signal-content > .nexis-signal-icon-file { width:38px; height:38px; color:#a9d87c; animation:nexis-signal-file .48s ease-out both; }
.nexis-signal-content h1 { margin:10px 0 7px; font-size:27px; letter-spacing:.01em; }.nexis-signal-subtitle { margin:0 0 22px; color:#c4d6c7; font-size:16px; }
.nexis-signal-info { display:grid; gap:0; padding:10px 12px; text-align:left; background:#203c2c; border-radius:6px; }.nexis-signal-info > div { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:9px 0; color:#c4d6c7; }.nexis-signal-info b { color:#fff; text-align:right; }.nexis-signal-accent { color:#a9d87c !important; font-size:19px; }.nexis-signal-warning-kicker { display:inline-flex; margin:10px 0 7px; padding:6px 9px; border:1px solid #d5ad51; border-radius:999px; background:#5b4823; color:#f3cf75; font-size:11px; font-weight:800; letter-spacing:.08em; }.nexis-signal-bunker-panel { border-color:rgba(213,173,81,.58); }.nexis-signal-bunker-panel .nexis-signal-operator { border-color:rgba(213,173,81,.45); background:#3b321f; }
.nexis-signal-changes { margin-top:18px; text-align:left; }.nexis-signal-changes h2 { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:16px; }.nexis-signal-changes h2 .nexis-signal-icon-refresh { width:17px; height:17px; color:#a9d87c; animation:nexis-signal-spin .9s ease-out; }
.nexis-signal-change { margin:8px 0; padding:12px; border-radius:6px; background:#294233; }.nexis-signal-change > strong { display:block; margin-bottom:8px; color:#a9d87c; font-size:12px; }.nexis-signal-change > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.nexis-signal-old { color:#c4d6c7; text-decoration:line-through; }.nexis-signal-change b { color:#a9d87c; }.nexis-signal-new { color:#a9d87c; font-weight:700; text-align:right; }.nexis-signal-muted,.nexis-signal-nochanges { margin:10px 0 0; color:#c4d6c7; font-size:12px; }
.nexis-signal-operator { margin-top:22px; padding:14px; border-top:1px solid rgba(196,214,199,.2); background:#203c2c; border-radius:6px 6px 0 0; text-align:left; }.nexis-signal-operator strong { color:#fff; }.nexis-signal-operator p { margin:8px 0 0; color:#c4d6c7; font-size:13px; line-height:1.45; }
.nexis-signal-actions { display:grid; gap:12px; padding:18px 22px 22px; position:sticky; bottom:0; background:linear-gradient(180deg,rgba(16,37,28,.84),#10251c 24%); }.nexis-signal-actions button { min-height:52px; border-radius:6px; font-weight:750; font-size:14px; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }.nexis-signal-actions button:hover { transform:translateY(-1px); }.nexis-signal-recipe-button { display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid #a9d87c; color:#fff; background:transparent; }.nexis-signal-recipe-button:hover { box-shadow:0 0 0 3px rgba(169,216,124,.16); }.nexis-signal-recipe-button:hover .nexis-signal-icon-book { transform:scaleX(1.08); }.nexis-signal-icon-book { transition:transform .18s ease; }.nexis-signal-ack-button { display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid #a6d77d; background:#a6d77d; color:#10251c; }.nexis-signal-ack-button:disabled { opacity:.65; cursor:wait; }
.nexis-signal-recipe-view { padding:26px 22px 6px; }.nexis-signal-back { padding:0; border:0; background:none; color:#a9d87c; cursor:pointer; font-weight:650; }.nexis-signal-kicker { margin-top:26px; color:#a9d87c; font-size:11px; letter-spacing:.1em; }.nexis-signal-recipe-view h2 { margin:6px 0 4px; }.nexis-signal-recipe-view p { margin:0 0 16px; color:#c4d6c7; }.nexis-signal-recipe-meta { display:flex; justify-content:space-between; padding:12px; background:#203c2c; border-radius:6px; color:#c4d6c7; }.nexis-signal-recipe-meta b { color:#a9d87c; }.nexis-signal-recipe-table { margin-top:14px; overflow:auto; }.nexis-signal-recipe-table table { width:100%; border-collapse:collapse; font-size:13px; }.nexis-signal-recipe-table th,.nexis-signal-recipe-table td { padding:10px 8px; border-bottom:1px solid rgba(196,214,199,.16); text-align:left; }.nexis-signal-recipe-table th { color:#a9d87c; font-size:11px; text-transform:uppercase; }.nexis-signal-recipe-table td { color:#fff; }
@keyframes nexis-signal-fade { from { opacity:0; } to { opacity:1; } } @keyframes nexis-signal-panel-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } } @keyframes nexis-signal-bell { 0%,72%,100% { transform:rotate(0); } 76% { transform:rotate(10deg); } 80% { transform:rotate(-9deg); } 84% { transform:rotate(6deg); } 88% { transform:rotate(0); } } @keyframes nexis-signal-file { from { opacity:0; transform:scale(.75); filter:drop-shadow(0 0 0 transparent); } 70% { transform:scale(1.1); filter:drop-shadow(0 0 10px rgba(169,216,124,.8)); } to { opacity:1; transform:scale(1); filter:none; } } @keyframes nexis-signal-spin { from { transform:rotate(-90deg); opacity:.25; } to { transform:rotate(0); opacity:1; } }
@media (max-width:600px) { .nexis-signal-backdrop { padding:8px; }.nexis-signal-panel { max-height:calc(100vh - 16px); }.nexis-signal-content { padding:22px 14px 0; }.nexis-signal-topbar,.nexis-signal-actions,.nexis-signal-recipe-view { padding-left:14px; padding-right:14px; }.nexis-signal-content h1 { font-size:22px; }.nexis-signal-subtitle { font-size:14px; }.nexis-signal-actions button { min-height:50px; } }
.passport-signal-status { display:grid; gap:7px; }.passport-signal-status-row { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:8px 10px; border:1px solid #dfe8df; border-radius:8px; background:#f7faf7; }.passport-signal-status-row strong { color:#294b38; }.passport-signal-status-row small { color:#738579; }.passport-signal-status-pill { padding:3px 8px; border-radius:999px; font-size:11px; font-weight:700; }.passport-signal-status-pill.pending { color:#8a672f; background:#fff3d8; }.passport-signal-status-pill.confirmed { color:#2e7047; background:#e8f4e5; }

/* ORINERA home: local dark industrial workspace, isolated from other modules. */
.app-shell.shell-home { background:#071d16; }
.app-shell.shell-home .workspace { position:relative; isolation:isolate; padding:0 28px 28px; background-color:#071d16; background-image:radial-gradient(circle at 72% 10%,rgba(42,123,83,.18),transparent 28%); }
.app-shell.shell-home .workspace::before { content:""; position:absolute; inset:70px 0 0; z-index:0; pointer-events:none; background-color:rgba(29,70,51,.58); background-image:linear-gradient(rgba(151,221,127,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(151,221,127,.13) 1px,transparent 1px),radial-gradient(circle at 66% 28%,rgba(92,161,108,.34),transparent 42%); background-size:44px 44px,44px 44px,auto; filter:blur(13px); opacity:.94; transform:scale(1.025); }
.app-shell.shell-home .workspace > * { position:relative; z-index:1; }
.app-shell.shell-home .work-grid { position:relative; isolation:isolate; margin-top:20px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.app-shell.shell-home .sidebar { background:linear-gradient(180deg,#061b14,#08241a); border-right-color:rgba(168,220,142,.1); }
.app-shell.shell-home .topbar { border-bottom-color:rgba(188,232,173,.14); }
.app-shell.shell-home .crumbs,.app-shell.shell-home .topbar h1 { color:#f3faef; }
.app-shell.shell-home .crumbs { color:#9cb7a6; }
.app-shell.shell-home .search input { border-color:rgba(184,228,166,.18); background:rgba(9,40,29,.82); color:#edf7ea; }
.app-shell.shell-home .search input::placeholder { color:#91a99a; }
.app-shell.shell-home .user-name { color:#f1f8ed; }
.app-shell.shell-home .account-button,.app-shell.shell-home .logout-button { border-color:rgba(188,232,173,.2); background:rgba(13,48,35,.65); color:#f3faef; }
.app-shell.shell-home .page-workbench { margin-top:0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.app-shell.shell-home .orinera-home-dashboard { display:grid; gap:18px; padding:26px 0 12px; }
.app-shell.shell-home .home-welcome { position:relative; display:flex; align-items:flex-end; justify-content:space-between; min-height:172px; margin:0; overflow:hidden; padding:28px 30px; border:1px solid rgba(183,231,162,.22); border-radius:16px; background:linear-gradient(118deg,rgba(10,45,32,.82),rgba(14,66,45,.68)); box-shadow:0 18px 44px rgba(0,12,8,.18); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); isolation:isolate; }
.app-shell.shell-home .home-welcome::before { content:""; position:absolute; inset:0 0 0 auto; z-index:-2; width:min(69%,850px); background:url("assets/orinera-home-hero.webp") right center/cover no-repeat; opacity:.95; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%); }
.app-shell.shell-home .home-welcome::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:linear-gradient(90deg,rgba(5,29,20,.76) 0%,rgba(7,38,27,.35) 55%,rgba(7,34,24,.08) 100%); pointer-events:none; }
.app-shell.shell-home .home-hero-copy { max-width:680px; }
.app-shell.shell-home .home-kicker,.app-shell.shell-home .eyebrow { color:#9dde79; font-size:10px; font-weight:800; letter-spacing:.13em; }
.app-shell.shell-home .home-welcome h2 { margin:11px 0 0; color:#f5fbf1; font-size:clamp(26px,2.35vw,37px); font-weight:720; line-height:1.12; letter-spacing:-.035em; }
.app-shell.shell-home .home-welcome h2 span { color:#b3ec82; }
.app-shell.shell-home .home-date { z-index:1; display:inline-flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid rgba(211,240,199,.2); border-radius:999px; background:rgba(5,34,23,.48); color:#d9ead6; font-size:11px; text-transform:capitalize; white-space:nowrap; }
.app-shell.shell-home .home-date i { color:#9dde79; font-style:normal; }
.app-shell.shell-home .home-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.app-shell.shell-home .home-metric-card { position:relative; display:flex; align-items:center; gap:13px; min-width:0; overflow:hidden; padding:17px; border:1px solid rgba(183,231,162,.16); border-radius:14px; background:linear-gradient(135deg,rgba(18,57,41,.78),rgba(10,39,28,.72)); box-shadow:0 12px 28px rgba(0,12,8,.13); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
.app-shell.shell-home .home-metric-card::before { content:""; position:absolute; top:0; left:16px; width:34px; height:2px; background:#9dde79; box-shadow:0 0 12px rgba(157,222,121,.45); }
.app-shell.shell-home .home-metric-icon,.app-shell.shell-home .home-row-icon { display:grid; flex:0 0 auto; place-items:center; color:#a7e57c; }
.app-shell.shell-home .home-metric-icon { width:38px; height:38px; border:1px solid rgba(162,229,124,.2); border-radius:11px; background:rgba(136,207,89,.08); }
.app-shell.shell-home .home-metric-icon svg { width:21px; height:21px; }
.app-shell.shell-home .home-metric-card > div:nth-child(2) { display:grid; min-width:0; gap:3px; }
.app-shell.shell-home .home-metric-card span,.app-shell.shell-home .home-metric-card small { color:#9db2a5; font-size:10px; line-height:1.25; }
.app-shell.shell-home .home-metric-card strong { color:#f5fbf1; font-size:23px; line-height:1.05; }
.app-shell.shell-home .home-metric-card strong small { margin-left:3px; color:#c9ddca; font-size:11px; }
.app-shell.shell-home .home-metric-accent { position:absolute; right:-13px; bottom:-20px; width:48px; height:48px; border:1px solid rgba(157,222,121,.18); border-radius:50%; }
.app-shell.shell-home .home-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:18px; }
.app-shell.shell-home .home-production-summary,.app-shell.shell-home .home-recent { min-width:0; padding:19px 20px; border:1px solid rgba(183,231,162,.16); border-radius:16px; background:linear-gradient(135deg,rgba(18,57,41,.8),rgba(8,34,25,.76)); box-shadow:0 16px 36px rgba(0,12,8,.14); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.app-shell.shell-home .home-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; border-bottom:1px solid rgba(201,235,191,.12); }
.app-shell.shell-home .home-section-heading h3 { margin:5px 0 0; color:#f5fbf1; font-size:16px; }
.app-shell.shell-home .home-section-heading > span { padding:5px 8px; border:1px solid rgba(166,226,135,.16); border-radius:999px; background:rgba(136,207,89,.08); color:#b4e78a; font-size:10px; font-weight:700; white-space:nowrap; }
.app-shell.shell-home .home-run-row,.app-shell.shell-home .home-recent-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:11px; width:100%; padding:13px 0; border:0; border-bottom:1px solid rgba(201,235,191,.1); background:transparent; color:#f2f9ee; text-align:left; }
.app-shell.shell-home .home-run-row { cursor:pointer; transition:background .18s ease,transform .18s ease; }
.app-shell.shell-home .home-run-row:hover { background:rgba(143,214,125,.06); transform:translateX(3px); }
.app-shell.shell-home .home-run-row:last-child,.app-shell.shell-home .home-recent-row:last-child { border-bottom:0; }
.app-shell.shell-home .home-row-icon { width:27px; height:27px; border-radius:8px; background:rgba(136,207,89,.09); }
.app-shell.shell-home .home-row-icon svg { width:14px; height:14px; }
.app-shell.shell-home .home-run-row > div:nth-child(2),.app-shell.shell-home .home-recent-row > div:nth-child(2) { display:grid; min-width:0; gap:4px; }
.app-shell.shell-home .home-run-row strong,.app-shell.shell-home .home-recent-row strong { overflow:hidden; color:#eef8ea; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.app-shell.shell-home .home-run-row span,.app-shell.shell-home .home-recent-row span { color:#9caf9f; font-size:10px; }
.app-shell.shell-home .home-run-status,.app-shell.shell-home .home-status { display:inline-flex; justify-content:flex-end; color:#a8e87e; font-size:10px; font-weight:700; white-space:nowrap; }
.app-shell.shell-home .home-status.closed { color:#a4b3a8; }
.app-shell.shell-home .home-row-arrow { color:#a7e57c; font-size:20px; font-style:normal; line-height:1; }
.app-shell.shell-home .home-recent-row > div:nth-child(3) { display:grid; justify-items:end; gap:4px; }
.app-shell.shell-home .home-recent-row > div:nth-child(3) b { color:#eaf7e7; font-size:11px; white-space:nowrap; }
.app-shell.shell-home .home-empty { margin:0; padding:25px 0 5px; color:#9caf9f; font-size:12px; }
@media (max-width:1250px) { .app-shell.shell-home .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.app-shell.shell-home .home-dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .app-shell.shell-home .workspace { padding:0 14px 20px; }.app-shell.shell-home .orinera-home-dashboard { gap:13px; padding-top:16px; }.app-shell.shell-home .home-welcome { align-items:flex-start; flex-direction:column; min-height:164px; padding:22px; }.app-shell.shell-home .home-welcome::before { width:100%; opacity:.58; }.app-shell.shell-home .home-date { margin-top:auto; }.app-shell.shell-home .home-production-summary,.app-shell.shell-home .home-recent { padding:16px; } }
@media (max-width:520px) { .app-shell.shell-home .home-metrics { grid-template-columns:1fr; }.app-shell.shell-home .home-run-row,.app-shell.shell-home .home-recent-row { grid-template-columns:auto minmax(0,1fr) auto; }.app-shell.shell-home .home-run-status { display:none; }.app-shell.shell-home .home-recent-row > div:nth-child(3) { display:none; } }
@media (prefers-reduced-motion:reduce) { .app-shell.shell-home .home-run-row { transition:none; }.app-shell.shell-home .home-run-row:hover { transform:none; } }

/* Выпуски: компактный production workspace в стилистике Главной. */
.app-shell.shell-production .work-grid:has(.passport-layout) { margin-top:18px; padding:0; background:transparent; box-shadow:none; }
.app-shell.shell-production .work-grid:has(.passport-layout) .page-workbench { margin-top:0; border:0; background:transparent; overflow:visible; }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; border:1px solid #435a51; border-radius:14px; background:#30423d; box-shadow:0 12px 26px rgba(5,18,14,.14); }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head .eyebrow { color:#a4d879; }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head h2 { margin:5px 0 0; color:#f1f5f0; font-size:22px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-tools { display:flex; align-items:center; gap:8px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-filter { display:flex; align-items:center; gap:7px; color:#aabdb3; font-size:11px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-filter .compact-input { min-width:122px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head .compact-input,.app-shell.shell-production .work-grid:has(.passport-layout) .passport-sidebar .compact-input { border-color:#435a51; background:#263a35; color:#f1f5f0; }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head .tool { border-color:#435a51; background:#f5f6f2; color:#26342e; }
.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head .primary-action { background:#a4d879; color:#10221d; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; gap:16px; margin-top:16px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout > aside { position:sticky; top:14px; display:grid; align-content:start; gap:10px; padding:12px; border:1px solid #435a51; border-radius:14px; background:#30423d; box-shadow:0 12px 26px rgba(5,18,14,.14); }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout > aside .recipe-list { max-height:calc(100vh - 210px); padding-right:0; gap:7px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item { gap:5px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item .recipe-item { padding:11px; border-color:#435a51; border-radius:10px; background:#263a35; color:#f1f5f0; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item .recipe-item:hover { border-color:#7b9d77; background:#354a43; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item.active .recipe-item { border-color:#a4d879; background:#3b5148; box-shadow:inset 3px 0 #a4d879; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item .recipe-item strong { color:#f1f5f0; font-size:12px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-item .recipe-item span { color:#aabdb3; font-size:10px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-list-passport { border-color:#65756c; background:transparent; color:#d4e2d8; }
.app-shell.shell-production .work-grid:has(.passport-layout) #passportDetails { min-width:0; padding:20px; border:1px solid #d3ddd5; border-radius:14px; background:#edf0eb; box-shadow:0 12px 26px rgba(5,18,14,.12); }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-title { align-items:flex-start; padding-bottom:15px; border-bottom:1px solid #d3ddd5; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-title h2 { margin:4px 0 5px; color:#26342e; font-size:25px; letter-spacing:-.7px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-run-code { color:#65756c; font-size:12px; }
.app-shell.shell-production .work-grid:has(.passport-layout) #passportDetails > .passport-title .passport-tools .tool { border-color:#c4d0c7; background:#f5f6f2; color:#26342e; }
.app-shell.shell-production .work-grid:has(.passport-layout) #passportDetails > .passport-title .passport-tools .primary-action { background:#30423d; color:#f1f5f0; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:15px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics > div { min-height:65px; padding:12px; border:1px solid #d3ddd5; border-radius:10px; background:#f5f6f2; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics span,.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics small { color:#65756c; font-size:11px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics strong { color:#26342e; font-size:16px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-stages { margin:18px 0 20px; gap:8px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-stages li { border-top-color:#c5d1c8; color:#65756c; font-size:11px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-stages li.done { border-top-color:#a4d879; color:#286d43; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-stages span { color:#26342e; font-size:16px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-section { margin:16px 0; padding:16px; border:1px solid #d3ddd5; border-radius:12px; background:#f5f6f2; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-section h3 { margin-bottom:7px; color:#26342e; font-size:17px; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-section .muted,.app-shell.shell-production .work-grid:has(.passport-layout) .passport-note { color:#65756c; font-size:12px; line-height:1.5; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-recipe { border-color:#d3ddd5; background:#edf0eb; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-recipe summary { padding:11px 12px; background:#e0e9e1; color:#26342e; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-recipe summary span { color:#65756c; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-recipe table { color:#26342e; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-history { border-left-color:#a4d879; }
.app-shell.shell-production .work-grid:has(.passport-layout) .passport-history span { color:#65756c; }
@media (max-width:1050px) { .app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout { grid-template-columns:210px minmax(0,1fr); }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .app-shell.shell-production .work-grid:has(.passport-layout) { margin-top:12px; }.app-shell.shell-production .work-grid:has(.passport-layout) .workbench-head { align-items:flex-start; flex-direction:column; padding:15px; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-tools { width:100%; flex-wrap:wrap; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout { grid-template-columns:1fr; margin-top:12px; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout > aside { position:static; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout > aside .recipe-list { max-height:220px; }.app-shell.shell-production .work-grid:has(.passport-layout) #passportDetails { padding:14px; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics { grid-template-columns:1fr; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-tools > * { flex:1 1 auto; }.app-shell.shell-production .work-grid:has(.passport-layout) .passport-filter { justify-content:space-between; width:100%; } }

/* Сменное диспетчерское планирование: компактные задания вместо пустой матрицы оборудования. */
.production-plan-v2 { display:grid; gap:14px; color:#26342e; }
.app-shell.shell-production .production-plan-v2 { padding:4px 0 32px; }
.plan-v2-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; border:1px solid #435a51; border-radius:16px; background:linear-gradient(120deg,#30423d,#263a35); color:#f1f5f0; box-shadow:0 12px 28px rgba(5,18,14,.14); }
.plan-v2-header h2 { margin:4px 0 5px; font-size:27px; letter-spacing:-.7px; }
.plan-v2-header p:not(.eyebrow) { margin:0; color:#aabdb3; font-size:13px; }
.plan-v2-header .eyebrow,.plan-v2-header-actions span { color:#a4d879; }
.plan-v2-header-actions { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.plan-v2-header-actions label { display:grid; gap:5px; color:#aabdb3; font-size:11px; }
.plan-v2-header-actions input { min-height:39px; border:1px solid #65756c; border-radius:9px; background:#1d2b29; color:#f1f5f0; padding:0 10px; }
.plan-v2-header-actions .primary-action { white-space:nowrap; }
.plan-shift-tabs { display:flex; gap:8px; padding:4px; border-bottom:1px solid #435a51; }
.plan-shift-tabs button { display:flex; align-items:center; gap:8px; border:0; border-bottom:2px solid transparent; background:transparent; color:#aabdb3; padding:9px 12px; cursor:pointer; font:inherit; }
.plan-shift-tabs button.active { border-bottom-color:#a4d879; color:#26342e; font-weight:700; }
.plan-shift-tabs button small { color:#65756c; font-size:10px; }
.plan-overview,.plan-published,.plan-editor,.plan-empty { border:1px solid #d3ddd5; border-radius:14px; background:#edf0eb; box-shadow:0 10px 22px rgba(5,18,14,.08); }
.plan-overview { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:15px 18px; }
.plan-overview > div:first-child { display:grid; gap:4px; }
.plan-overview .eyebrow { color:#65756c; }
.plan-overview strong { color:#26342e; font-size:18px; }
.plan-overview small { color:#65756c; font-size:12px; }
.plan-overview-metrics { display:flex; gap:10px; }
.plan-overview-metrics > div { min-width:150px; padding:10px 12px; border-left:2px solid #a4d879; background:#f5f6f2; }
.plan-overview-metrics span,.plan-overview-metrics small { display:block; color:#65756c; font-size:11px; }
.plan-overview-metrics strong { display:block; margin:2px 0; font-size:22px; }
.plan-overview-metrics em { font-size:12px; font-style:normal; color:#65756c; }
.plan-editor,.plan-published { padding:18px; }
.plan-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid #d3ddd5; }
.plan-section-heading h3,.plan-section-heading h4 { margin:3px 0 0; color:#26342e; }
.plan-section-heading h3 { font-size:19px; }
.plan-section-heading h4 { font-size:15px; }
.plan-section-heading.compact { padding:0 0 8px; border-bottom:0; }
.plan-section-heading.compact > span { color:#65756c; font-size:12px; }
.plan-task-form { display:grid; grid-template-columns:1.05fr 1.7fr 1.1fr .8fr auto; align-items:end; gap:10px; padding:15px 0; border-bottom:1px solid #d3ddd5; }
.plan-task-form label,.plan-worker-row { display:grid; gap:5px; color:#65756c; font-size:11px; }
.plan-task-form input,.plan-task-form select,.plan-worker-row select { min-width:0; min-height:38px; border:1px solid #c4d0c7; border-radius:8px; background:#f5f6f2; color:#26342e; padding:0 9px; font:inherit; }
.plan-editor-columns { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr); gap:24px; padding:16px 0 5px; }
.plan-task-list { display:grid; }
.plan-task-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #d3ddd5; }
.plan-task-index { color:#82a9bb; font:700 11px ui-monospace,monospace; }
.plan-task-main { display:grid; gap:3px; min-width:0; }
.plan-task-kicker { color:#65756c; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.plan-task-main strong { overflow:hidden; color:#26342e; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.plan-task-main small { overflow:hidden; color:#65756c; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.plan-task-quantity { display:flex; align-items:center; gap:12px; color:#26342e; text-align:right; white-space:nowrap; }
.plan-task-quantity strong { font-size:15px; }
.plan-remove-task { width:27px; height:27px; border:1px solid #d2b9b1; border-radius:7px; background:#fff5f2; color:#9b5545; cursor:pointer; font-size:18px; line-height:1; }
.plan-workers { display:grid; gap:10px; }
.plan-worker-row { gap:7px; }
.plan-worker-row > span { color:#65756c; font-size:11px; }
.plan-worker-selects { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.plan-worker-selects select { width:100%; }
.plan-editor-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:14px; border-top:1px solid #d3ddd5; }
.plan-status-badge { border-radius:999px; padding:6px 10px; font-size:11px; }
.plan-status-badge.published { background:#dcece9; color:#28685e; }
.plan-status-badge.draft { background:#f2ecd7; color:#806b2c; }
.plan-empty { display:flex; align-items:center; gap:18px; padding:32px; }
.plan-empty-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:#30423d; color:#a4d879; font-size:25px; }
.plan-empty h3 { margin:0 0 5px; color:#26342e; }
.plan-empty p { max-width:620px; margin:0 0 15px; color:#65756c; font-size:13px; line-height:1.5; }
.plan-empty-inline { padding:14px 0; color:#65756c; font-size:12px; }
.plan-coverage { display:block; }
.plan-coverage.estimate { color:#806b2c; }
.plan-coverage.ready { color:#286d43; }
.plan-v2-note { padding:0 4px; color:#aabdb3; font-size:11px; }
.station-plan-strip { display:grid; grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr); gap:14px; align-items:center; margin:0 0 14px; padding:13px 16px; border:1px solid rgba(164,216,121,.34); border-radius:12px; background:rgba(48,66,61,.78); color:#f1f5f0; box-shadow:0 8px 18px rgba(5,18,14,.12); }
.station-plan-strip > div:first-child { display:grid; gap:3px; }
.station-plan-strip .station-kicker { color:#a4d879; }
.station-plan-strip strong { font-size:14px; }
.station-plan-strip small { color:#aabdb3; font-size:11px; }
.station-plan-strip-tasks { display:flex; flex-wrap:wrap; gap:7px; }
.station-plan-group { display:grid; gap:4px; min-width:180px; padding:7px 9px; border:1px solid rgba(211,221,213,.18); border-radius:8px; background:rgba(16,34,29,.45); }
.station-plan-group > b { color:#f1f5f0; font-size:11px; }
.station-plan-group > div { display:grid; gap:2px; color:#aabdb3; font-size:11px; }
.nexis-signal-plan-summary { display:grid; gap:5px; padding:14px; border:1px solid rgba(164,216,121,.28); border-radius:10px; background:rgba(164,216,121,.08); }
.nexis-signal-plan-summary strong { color:#a4d879; font-size:18px; }
.nexis-signal-plan-summary span { color:#aabdb3; font-size:12px; }
.nexis-signal-plan-list { display:grid; gap:0; max-height:380px; overflow:auto; border-top:1px solid rgba(211,221,213,.18); }
.nexis-signal-plan-task { display:flex; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid rgba(211,221,213,.16); }
.nexis-signal-plan-task div { display:grid; gap:4px; }
.nexis-signal-plan-task span,.nexis-signal-plan-task small { color:#aabdb3; font-size:11px; }
.nexis-signal-plan-task strong { color:#f1f5f0; font-size:14px; }
.nexis-signal-plan-task b { color:#a4d879; white-space:nowrap; }
@media (max-width:950px) { .plan-task-form { grid-template-columns:1fr 1fr 1fr; }.plan-task-form .primary-action { grid-column:span 3; }.plan-editor-columns { grid-template-columns:1fr; } }
@media (max-width:650px) { .plan-v2-header,.plan-overview { align-items:stretch; flex-direction:column; }.plan-v2-header-actions,.plan-overview-metrics { display:grid; grid-template-columns:1fr 1fr; }.plan-overview-metrics > div { min-width:0; }.plan-task-form { grid-template-columns:1fr; }.plan-task-form .primary-action { grid-column:auto; }.plan-empty { align-items:flex-start; flex-direction:column; } }
@media (max-width:760px) { .station-plan-strip { grid-template-columns:1fr; } }

/* Главная: Industrial Hybrid B — тёмная оболочка, графитовые KPI и светлые данные. */
.app-shell.shell-home { background:#10221d; }
.app-shell.shell-home .workspace { background-color:#1d2b29; background-image:radial-gradient(circle at 72% 8%,rgba(164,216,121,.11),transparent 28%); }
.app-shell.shell-home .workspace::before { background-color:rgba(44,63,58,.72); background-image:linear-gradient(rgba(164,216,121,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(164,216,121,.065) 1px,transparent 1px),radial-gradient(circle at 66% 30%,rgba(130,169,187,.12),transparent 40%); opacity:.72; filter:blur(14px); }
.app-shell.shell-home .sidebar { background:#10221d; border-right-color:rgba(170,189,179,.14); }

/* Keep the expanded rail header stable while it animates open. */
.app-shell .brand { min-height:32px; align-items:center; }
.app-shell .brand-title { font-size:15px; line-height:1; letter-spacing:-.25px; white-space:nowrap; }
.app-shell.shell-home .topbar { border-bottom-color:rgba(170,189,179,.16); }
.app-shell.shell-home .nav-button { color:#aabdb3; }
.app-shell.shell-home .nav-button:hover { background:rgba(67,90,81,.42); color:#f1f5f0; }
.app-shell.shell-home .nav-button.active { background:rgba(164,216,121,.13); color:#a4d879; }
.app-shell.shell-home .nav-button.active .nav-icon { color:#a4d879; }
.app-shell.shell-home .crumbs,.app-shell.shell-home .topbar h1 { color:#f1f5f0; }
.app-shell.shell-home .crumbs { color:#aabdb3; }
.app-shell.shell-home .search input { border-color:#435a51; background:rgba(48,66,61,.64); color:#f1f5f0; }
.app-shell.shell-home .search input::placeholder { color:#aabdb3; }
.app-shell.shell-home .account strong,.app-shell.shell-home .user-name { color:#f1f5f0; }
.app-shell.shell-home .account span { color:#aabdb3; }
.app-shell.shell-home .account .tool,.app-shell.shell-home .account-button,.app-shell.shell-home .logout-button { border-color:#435a51; background:rgba(48,66,61,.56); color:#f1f5f0; }
.app-shell.shell-home .avatar { background:rgba(164,216,121,.18); color:#a4d879; }
.app-shell.shell-home .home-welcome { background:linear-gradient(110deg,rgba(16,34,29,.96),rgba(29,62,47,.78)); border-color:#435a51; box-shadow:0 16px 32px rgba(5,18,14,.2); -webkit-backdrop-filter:none; backdrop-filter:none; }
.app-shell.shell-home .home-welcome::after { background:linear-gradient(90deg,rgba(16,34,29,.84),rgba(16,34,29,.34) 58%,rgba(16,34,29,.08)); }
.app-shell.shell-home .home-welcome h2 { color:#f1f5f0; }
.app-shell.shell-home .home-welcome h2 span { color:#a4d879; }
.app-shell.shell-home .home-kicker,.app-shell.shell-home .eyebrow { color:#a4d879; }
.app-shell.shell-home .home-date { border-color:#435a51; background:rgba(16,34,29,.6); color:#aabdb3; }
.app-shell.shell-home .home-date i { color:#a4d879; }
.app-shell.shell-home .home-metric-card { background:#30423d; border-color:#435a51; box-shadow:0 10px 24px rgba(5,18,14,.16); -webkit-backdrop-filter:none; backdrop-filter:none; }
.app-shell.shell-home .home-metric-card::before { background:#a4d879; box-shadow:none; }
.app-shell.shell-home .home-metric-card span,.app-shell.shell-home .home-metric-card small { color:#aabdb3; font-size:11px; }
.app-shell.shell-home .home-metric-card strong { color:#f1f5f0; font-size:28px; font-weight:700; }
.app-shell.shell-home .home-metric-card strong small { color:#aabdb3; font-size:12px; }
.app-shell.shell-home .home-metric-accent { display:none; }
.app-shell.shell-home .home-metric-icon { border-color:rgba(241,245,240,.18); background:rgba(241,245,240,.06); }
.app-shell.shell-home .home-metric-runs .home-metric-icon { color:#82a9bb; }
.app-shell.shell-home .home-metric-active .home-metric-icon { color:#95cb99; }
.app-shell.shell-home .home-metric-plan .home-metric-icon { color:#d8bd83; }
.app-shell.shell-home .home-metric-containers .home-metric-icon { color:#83b7ad; }
.app-shell.shell-home .home-production-summary,.app-shell.shell-home .home-recent { background:#edf0eb; border-color:#d3ddd5; box-shadow:0 12px 26px rgba(5,18,14,.16); -webkit-backdrop-filter:none; backdrop-filter:none; }
.app-shell.shell-home .home-section-heading { border-bottom-color:#d3ddd5; }
.app-shell.shell-home .home-section-heading h3 { color:#26342e; font-size:17px; }
.app-shell.shell-home .home-section-heading > span { border-color:#d3ddd5; background:#f5f6f2; color:#65756c; }
.app-shell.shell-home .home-row-icon { background:#e0e9e1; color:#65756c; }
.app-shell.shell-home .home-run-row,.app-shell.shell-home .home-recent-row { border-bottom-color:#d3ddd5; color:#26342e; }
.app-shell.shell-home .home-run-row:hover { background:#e0e9e1; transform:none; }
.app-shell.shell-home .home-run-row strong,.app-shell.shell-home .home-recent-row strong { color:#26342e; font-size:13px; }
.app-shell.shell-home .home-run-row span,.app-shell.shell-home .home-recent-row span { color:#65756c; font-size:12px; }
.app-shell.shell-home .home-run-status,.app-shell.shell-home .home-status { padding:5px 8px; border-radius:999px; font-size:11px; }
.app-shell.shell-home .home-run-status { background:#dceedc; color:#286d43; }
.app-shell.shell-home .home-status.active { background:#dcece9; color:#28685e; }
.app-shell.shell-home .home-status.closed { background:#e2e6e2; color:#63716a; }
.app-shell.shell-home .home-row-arrow { color:#65756c; }
.app-shell.shell-home .home-recent-row > div:nth-child(3) b { color:#26342e; font-size:13px; }
.app-shell.shell-home .home-empty { color:#65756c; }
@media (max-width:760px) { .app-shell.shell-home .workspace { background-color:#1d2b29; }.app-shell.shell-home .home-production-summary,.app-shell.shell-home .home-recent { padding:16px; } }
