:root {
  --ink: #101b2d;
  --muted: #4f5e72;
  --line: #9ca9b9;
  --line-strong: #6f7f93;
  --canvas: #e7ecf2;
  --panel: #ffffff;
  --panel-soft: #f4f7fa;
  --steel: #203550;
  --steel-dark: #14253c;
  --orange: #ef5b2a;
  --orange-dark: #c94318;
  --blue: #2a6fa8;
  --green: #187b50;
  --red: #b92828;
  --yellow: #9b6500;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Segoe UI", "Noto Sans Georgian", "DejaVu Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.app-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  height: 100vh;
  flex-direction: column;
  padding: 26px 18px 18px;
  color: #fff;
  background: linear-gradient(180deg, #15263d 0%, #294666 100%);
  border-right: 4px solid #0f1f33;
  box-shadow: 8px 0 24px rgba(17, 32, 50, .2);
}

.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 10px 28px;
  border-bottom: 2px solid rgba(255,255,255,.2);
}

.brand-mark {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  border: 2px solid rgba(255,255,255,.65);
  border-radius: 10px;
  color: #fff;
  background: var(--orange);
  font-size: 24px;
  font-weight: 900;
}

.brand strong, .brand small { display: block; }
.brand strong { font-size: 19px; letter-spacing: .07em; }
.brand small { margin-top: 4px; color: #d7e0eb; font-size: 11px; }

.sidebar nav { display: grid; gap: 9px; margin-top: 25px; }

.nav-item {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 52px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 9px;
  color: #edf3fa;
  background: rgba(255,255,255,.035);
  font-size: 15px;
  font-weight: 650;
}

.nav-item span { display: grid; width: 24px; place-items: center; font-size: 18px; }
.nav-item:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.11); }
.nav-item.active {
  border-color: #ffb197;
  color: #fff;
  background: var(--orange);
  box-shadow: 0 8px 18px rgba(239,91,42,.38);
}

.sidebar-foot {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: auto;
  padding: 17px 10px 5px;
  border-top: 2px solid rgba(255,255,255,.2);
}
.sidebar-foot strong, .sidebar-foot small { display: block; }
.sidebar-foot strong { font-size: 13px; }
.sidebar-foot small { margin-top: 3px; color: #c9d5e2; font-size: 11px; }
.status-dot { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #31cf86; box-shadow: 0 0 0 4px rgba(49,207,134,.18); }

.workspace { min-width: 0; }
.topbar {
  display: flex;
  min-height: 98px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px 34px;
  background: #fff;
  border-bottom: 3px solid #9aa7b6;
  box-shadow: 0 3px 12px rgba(22,37,57,.08);
}
.topbar p { margin: 0 0 5px; color: #53657a; font-size: 12px; font-weight: 850; letter-spacing: .09em; }
.topbar h1 { margin: 0; font-size: 28px; line-height: 1.15; }
.top-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 11px; }
.language-switcher { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; }
.language-switcher a { min-width: 35px; padding: 7px 8px; border-radius: 6px; color: #475569; font-size: 12px; font-weight: 900; text-align: center; text-decoration: none; }
.language-switcher a:hover { background: #f1f5f9; color: #0f172a; }
.language-switcher a.active { background: #c8102e; color: #fff; }
.auth-language { position: fixed; top: 22px; right: 22px; z-index: 5; box-shadow: 0 8px 24px rgba(15,23,42,.14); }
.timezone { padding: 10px 13px; border: 2px solid #aeb9c6; border-radius: 999px; color: #34465d; background: #f5f7fa; font-size: 12px; font-weight: 700; }
.logout { padding: 11px 15px; border: 2px solid #0e1c2f; border-radius: 8px; color: #fff; background: var(--steel); font-size: 12px; font-weight: 850; }

.operator-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 24px;
  max-width: 1460px;
  margin: 0 auto;
  padding: 28px 30px 46px;
}
.main-column, .weight-column { display: flex; min-width: 0; flex-direction: column; gap: 21px; }
.weight-column { position: sticky; top: 122px; align-self: start; }

.panel {
  overflow: hidden;
  border: 2px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: 0 7px 19px rgba(20,37,59,.13);
}
.main-column > article.panel:nth-of-type(1) { border-top: 6px solid var(--orange); }
.main-column > article.panel:nth-of-type(2) { border-top: 6px solid var(--blue); }
.main-column > article.panel:nth-of-type(3) { border-top: 6px solid var(--green); }

.panel-heading {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 19px 22px 17px;
  background: var(--panel-soft);
  border-bottom: 2px solid #c6ced8;
}
.panel-heading > div { flex: 1; }
.panel-heading h2, .records-head h2 { margin: 0; font-size: 18px; line-height: 1.25; }
.panel-heading p, .records-head p { margin: 6px 0 0; color: var(--muted); font-size: 12px; font-weight: 550; line-height: 1.55; }

.step {
  display: grid;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 2px solid #f2a087;
  border-radius: 8px;
  color: var(--orange-dark);
  background: #fff0eb;
  font-size: 12px;
  font-weight: 900;
}
.source-badge { padding: 6px 9px; border: 1px solid #73a8d3; border-radius: 5px; color: #155c94; background: #e7f3fc; font-size: 10px; letter-spacing: .07em; }

.heat-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; padding: 20px 22px 22px; }
.bundle-form { display: grid; grid-template-columns: 1fr 1fr .55fr; gap: 15px; padding: 20px 22px 23px; }
.bundle-form .test-weight { grid-column: 1/-1; padding: 15px; border: 2px solid #d69d30; border-radius: 9px; background: #fff5d9; }

label { display: grid; gap: 8px; color: #22334a; font-size: 13px; font-weight: 800; }
input, select {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  border: 2px solid #8e9caf;
  border-radius: 7px;
  outline: 0;
  color: #101b2d;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: inset 0 1px 2px rgba(18,32,51,.06);
}
textarea {
  width: 100%;
  padding: 13px 14px;
  border: 2px solid #8e9caf;
  border-radius: 7px;
  outline: 0;
  color: #101b2d;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  resize: vertical;
}
textarea:hover { border-color: #5f7085; }
textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(239,91,42,.2); }
input[type="file"] { height: auto; min-height: 50px; padding: 10px; }
input:hover, select:hover { border-color: #5f7085; }
input:focus, select:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(239,91,42,.2); }
input[readonly] { border-color: #a0acba; color: #405067; background: #e9edf2; }

.secondary-button, .primary-button {
  min-height: 50px;
  padding: 0 19px;
  border: 2px solid #53657b;
  border-radius: 8px;
  color: #17263b;
  background: #fff;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 2px 5px rgba(19,34,54,.12);
}
.secondary-button:hover { border-color: #243851; background: #eaf0f6; }
.primary-button { width: 100%; border-color: var(--orange-dark); color: #fff; background: var(--orange); font-size: 14px; }

.selected-heat { display: flex; align-items: center; justify-content: space-between; margin: 0 22px 22px; padding: 14px 15px; border: 2px solid #4d9c76; border-radius: 8px; color: #155b3b; background: #dff4e9; }
.selected-heat strong { font-size: 16px; }
.selected-heat span { font-size: 11px; font-weight: 850; }
.selected-heat a { padding: 7px 9px; border: 1px solid #26835a; border-radius: 6px; color: #fff; background: #187b50; font-size: 11px; font-weight: 850; }

.inline-warning, .development-note { margin: 18px 22px 0; padding: 14px 15px; border: 2px solid #d39a2b; border-radius: 8px; color: #724900; background: #fff1c7; font-size: 12px; font-weight: 700; line-height: 1.6; }
.records-head { display: flex; align-items: center; justify-content: space-between; padding: 19px 22px; background: var(--panel-soft); border-bottom: 2px solid #aeb8c5; }
.records-head > div:last-child { display: flex; gap: 9px; }
.records-head span { padding: 9px 11px; border: 1px solid #a8b3c0; border-radius: 7px; color: #35465c; background: #e5eaf0; font-size: 11px; }
.records-head b { color: var(--ink); font-size: 15px; }

.table-empty, .empty-state { padding: 38px 22px; color: #526176; background: #fbfcfd; text-align: center; font-size: 13px; font-weight: 600; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 14px 18px; border-bottom: 1px solid #aeb8c5; text-align: left; white-space: nowrap; }
th { border-bottom: 2px solid #14253c; color: #fff; background: #2b405b; font-size: 11px; font-weight: 850; text-transform: uppercase; }
tbody tr:nth-child(even) { background: #f0f4f7; }
tbody tr:hover { background: #e4edf5; }
tbody tr:last-child td { border-bottom: 0; }
.test-chip { display: inline-block; margin-left: 7px; padding: 4px 6px; border: 1px solid #c58b1f; border-radius: 4px; color: #724900; background: #fff0bf; font-size: 9px; }
.table-link { color: #155f99; font-weight: 850; text-decoration: underline; }
.table-actions { display: flex; gap: 12px; }

.weight-card { overflow: hidden; border: 3px solid #0f1d30; border-top: 7px solid var(--orange); border-radius: 12px; color: #fff; background: linear-gradient(145deg,#14243b,#2a4567); box-shadow: 0 10px 24px rgba(17,31,49,.3); }
.weight-head { display: flex; align-items: center; justify-content: space-between; padding: 17px 19px 9px; color: #e2e9f1; font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.weight-head b { padding: 4px 7px; border: 1px solid #dca43d; border-radius: 4px; color: #ffd477; background: rgba(0,0,0,.2); font-size: 10px; }
.weight-display { display: flex; align-items: baseline; justify-content: center; gap: 10px; padding: 13px 18px 20px; }
.weight-display strong { font-variant-numeric: tabular-nums; font-size: 82px; line-height: 1; letter-spacing: -.05em; }
.weight-display span { color: #d6e0eb; font-size: 20px; font-weight: 800; }
.stability { padding: 14px 19px 18px; border-top: 2px solid rgba(255,255,255,.23); color: #d1dbe6; font-size: 12px; font-weight: 700; }
.stability > div { height: 7px; margin-top: 10px; border: 1px solid rgba(255,255,255,.28); border-radius: 20px; background: rgba(255,255,255,.13); }
.stability i { display: block; width: 18%; height: 100%; border-radius: inherit; background: #91a0b3; }
.stability.stable { color: #75efb5; }
.stability.stable i { width: 100%; background: #25c47b; }

.development-note { margin: 0; border-color: #d39a2b; background: #fff1c7; }
.development-note b { font-size: 11px; letter-spacing: .08em; }
.development-note p { margin: 7px 0 0; }

.save-button { min-height: 60px; border: 3px solid var(--orange-dark); border-radius: 9px; color: #fff; background: var(--orange); box-shadow: 0 7px 16px rgba(239,91,42,.3); font-size: 16px; font-weight: 900; }
.save-button:hover:not(:disabled) { background: var(--orange-dark); }
.save-button:disabled { cursor: not-allowed; border-color: #7f8c9b; color: #4e5d70; background: #c8d0d9; box-shadow: none; }
.save-hint { margin: -4px 10px 0; color: #45556a; text-align: center; font-size: 11px; font-weight: 650; line-height: 1.55; }

/* Geosteel production console: one Heat setup, then one Enter per Bundle. */
.production-page {
  display: grid;
  gap: 18px;
  max-width: 1500px;
  margin: 0 auto;
  padding: 25px 30px 44px;
}

.production-alert { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.production-alert a { padding: 8px 11px; border: 2px solid currentColor; border-radius: 7px; text-decoration: underline; white-space: nowrap; }

.active-heat-bar {
  display: grid;
  grid-template-columns: minmax(240px,.8fr) minmax(300px,1fr) minmax(360px,1.2fr);
  align-items: center;
  gap: 22px;
  padding: 20px 23px;
  border-top: 7px solid var(--orange);
}
.automatic-heat-bar { grid-template-columns: minmax(220px,.8fr) minmax(250px,1fr) minmax(220px,.75fr) minmax(330px,1.2fr); border-top-color: #1a9665; }
.clean-heat-bar { display: flex; flex-wrap: wrap; gap: 14px; padding: 16px 19px; }
.clean-heat-bar .active-heat-title { flex: 0 0 120px; }
.clean-heat-bar .heat-handover-status,
.clean-heat-bar .bot-mode-badge,
.clean-heat-bar .station-manual-badge { flex: 0 1 230px; }
.clean-heat-bar .heat-run-summary { flex: 1 1 390px; }
.station-manual-badge { display: grid; gap: 4px; padding: 12px 15px; border: 2px solid #8796a7; border-radius: 8px; background: #eef3f7; }
.station-manual-badge small { color: #59687b; font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.station-manual-badge strong { color: #1d334e; font-size: 15px; }
.bot-mode-badge { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 9px; padding: 13px 15px; border: 3px solid #207c58; border-radius: 9px; color: #0e573a; background: #dff5ea; }
.bot-mode-badge .status-dot { grid-row: span 2; width: 13px; height: 13px; border-radius: 50%; background: #20a56e; box-shadow: 0 0 0 5px rgba(32,165,110,.16); }
.bot-mode-badge strong, .bot-mode-badge small { display: block; }
.bot-mode-badge strong { font-size: 13px; }
.bot-mode-badge small { color: #356c57; font-size: 10px; font-weight: 800; }
.active-heat-title small, .active-heat-title strong, .active-heat-title span { display: block; }
.active-heat-title small { color: var(--orange-dark); font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.active-heat-title strong { margin-top: 4px; font-size: 32px; line-height: 1.05; }
.active-heat-title span { margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 650; }
.heat-switch-form { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 0 22px; border-right: 2px solid #c8d0da; border-left: 2px solid #c8d0da; }
.heat-switch-form label { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.heat-switch-form select { height: 54px; border-width: 3px; font-size: 16px; font-weight: 850; }
.heat-handover-status { display: grid; gap: 4px; padding: 13px 17px; border: 3px solid #718297; border-radius: 9px; background: #eef3f7; }
.heat-handover-status small { color: #526176; font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.heat-handover-status strong { color: #1e3552; font-size: 14px; }
.heat-handover-status span { color: #5d6b7d; font-size: 10px; font-weight: 750; line-height: 1.4; }
.heat-handover-status.has-pending { border-color: #c52b25; background: #ffe3df; box-shadow: 0 0 0 4px rgba(197,43,37,.12); }
.heat-handover-status.has-pending small, .heat-handover-status.has-pending strong { color: #9e1e19; }
.heat-run-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.heat-run-summary div { min-width: 0; padding: 12px 13px; border: 2px solid #9aa8b8; border-radius: 8px; background: #edf2f6; }
.heat-run-summary small, .heat-run-summary strong { display: block; }
.heat-run-summary small { color: #59687b; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.heat-run-summary strong { margin-top: 5px; font-size: 17px; white-space: nowrap; }

.no-production-heat { padding: 55px 30px; border-top: 7px solid #b92828; text-align: center; }
.no-production-heat strong { display: block; font-size: 24px; }
.no-production-heat p { margin: 10px 0 0; color: var(--muted); }

.heat-handover-open { overflow: hidden; }
.heat-handover-overlay { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(7,17,30,.86); backdrop-filter: blur(4px); }
.heat-handover-overlay[hidden] { display: none; }
.heat-handover-dialog { width: min(760px,100%); overflow: hidden; border: 5px solid #fff; border-radius: 14px; background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.55); }
.heat-handover-alarm { display: flex; min-height: 76px; align-items: center; justify-content: center; gap: 15px; color: #fff; background: #be251f; letter-spacing: .1em; }
.heat-handover-alarm span { display: grid; width: 43px; height: 43px; place-items: center; border: 4px solid #fff; border-radius: 50%; font-size: 28px; font-weight: 950; }
.heat-handover-alarm strong { font-size: 20px; font-weight: 950; }
.heat-handover-route { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; padding: 20px 30px; border-bottom: 3px solid #b9c3cf; background: #edf2f6; text-align: center; }
.heat-handover-route div { padding: 12px; border: 2px solid #8494a7; border-radius: 8px; background: #fff; }
.heat-handover-route small, .heat-handover-route strong { display: block; }
.heat-handover-route small { color: #5c6c80; font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.heat-handover-route strong { margin-top: 4px; font-size: 28px; }
.heat-handover-route b { color: #be251f; font-size: 30px; }
.heat-handover-copy { padding: 30px 36px 34px; text-align: center; }
.heat-handover-copy[hidden] { display: none; }
.heat-handover-copy > small { color: #be251f; font-size: 10px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.heat-handover-copy h2 { margin: 9px 0 8px; color: #14253c; font-size: clamp(23px,4vw,35px); line-height: 1.15; }
.heat-handover-copy p { margin: 0; color: #48596e; font-size: 16px; font-weight: 750; line-height: 1.5; }
.heat-handover-copy em { display: block; margin-top: 16px; color: #8b5b0e; font-size: 11px; font-style: normal; font-weight: 850; }
.heat-handover-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 16px; margin-top: 27px; }
.heat-handover-actions button, .handover-review { min-height: 64px; padding: 14px 18px; border: 3px solid; border-radius: 9px; font-size: 16px; font-weight: 950; }
.handover-no { border-color: #6a7787; color: #26364b; background: #e3e8ed; }
.handover-yes { border-color: #0b613e; color: #fff; background: #168a59; box-shadow: 0 7px 16px rgba(22,138,89,.25); }
.handover-review { width: 100%; margin-top: 24px; border-color: #9b1f1a; color: #fff; background: #be251f; }
.heat-handover-declined { background: #fff1ef; }
.heat-handover-error { margin: 0 30px 25px; padding: 12px 14px; border: 2px solid #b92828; border-radius: 7px; color: #8d1717; background: #ffe0dd; font-size: 12px; font-weight: 850; }
.heat-handover-overlay.is-busy .heat-handover-dialog { opacity: .78; }
.heat-handover-overlay.is-busy button { pointer-events: none; }

.production-console { display: grid; grid-template-columns: minmax(0,1fr) 360px; align-items: start; gap: 18px; }
.production-action-card { border: 3px solid #172b45; border-top: 8px solid var(--blue); }
.bundle-now-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border-bottom: 2px solid #b6c0cc; background: #eef3f7; }
.bundle-now-head > div:first-child small, .bundle-now-head > div:first-child strong { display: block; }
.bundle-now-head > div:first-child small { color: #526176; font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.bundle-now-head > div:first-child strong { margin-top: 2px; font-size: 40px; line-height: 1; }
.locked-profile { display: flex; align-items: center; gap: 9px; }
.locked-profile span { min-width: 105px; padding: 9px 12px; border: 2px solid #8fa0b4; border-radius: 7px; background: #fff; }
.locked-profile small, .locked-profile strong { display: block; }
.locked-profile small { color: #5a6a7d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.locked-profile strong { margin-top: 2px; font-size: 16px; }
.correction-disabled { max-width: 150px; color: #687789; font-size: 9px; font-weight: 850; line-height: 1.35; }
.profile-correction-toggle { min-height: 48px; padding: 9px 12px; border: 2px solid #9a620e; border-radius: 7px; color: #664000; background: #fff0bf; font-size: 10px; font-weight: 950; }
.profile-correction-toggle:hover, .profile-correction-toggle[aria-expanded="true"] { border-color: #704400; background: #ffdf82; }
.first-bundle-badge { padding: 10px 13px; border: 2px solid #cc8e20; border-radius: 7px; color: #704700; background: #fff0c2; font-size: 11px; font-weight: 900; }

.profile-correction-panel { padding: 18px 22px; border-bottom: 3px solid #be7e14; background: #fff7df; }
.profile-correction-form { display: grid; grid-template-columns: minmax(230px,1.15fr) minmax(280px,1fr); gap: 14px 20px; }
.profile-correction-intro small, .profile-correction-intro strong { display: block; }
.profile-correction-intro small { color: #9a5900; font-size: 10px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.profile-correction-intro strong { margin-top: 5px; color: #4c3108; font-size: 15px; }
.profile-correction-intro p { margin: 7px 0 0; color: #69522c; font-size: 11px; font-weight: 700; line-height: 1.55; }
.profile-correction-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.profile-correction-confirm { grid-column: 1/-1; display: flex; min-height: 48px; align-items: center; gap: 11px; padding: 10px 12px; border: 2px solid #bc8327; border-radius: 7px; background: #fff; }
.profile-correction-confirm input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: #b2451e; }
.profile-correction-confirm span { color: #49330f; font-size: 12px; font-weight: 850; }
.profile-correction-actions { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: 10px; }
.profile-correction-actions button { min-width: 170px; }
.danger-button { padding: 11px 15px; border: 2px solid #8c2f13; border-radius: 7px; color: #fff; background: #bd481f; font-size: 12px; font-weight: 900; }
.danger-button:hover { background: #963314; }

.production-weight { padding: 22px 24px 25px; color: #fff; background: linear-gradient(145deg,#16263d,#314e70); transition: background .2s ease, box-shadow .2s ease; }
.production-weight.is-stable { background: linear-gradient(145deg,#0e4631,#14734d); box-shadow: inset 0 0 0 4px rgba(91,239,171,.22); }
.production-weight.is-disconnected { background: linear-gradient(145deg,#501e24,#7c2830); }
.weight-status-row { display: flex; align-items: center; justify-content: space-between; color: #dbe5ef; font-size: 11px; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.weight-status-row b { padding: 6px 10px; border: 2px solid #dca43d; border-radius: 6px; color: #ffd477; background: rgba(0,0,0,.2); font-size: 11px; }
.is-stable .weight-status-row b { border-color: #6ee4ac; color: #94f3c6; }
.production-weight-number { display: flex; align-items: baseline; justify-content: center; gap: 13px; padding: 23px 10px 16px; }
.production-weight-number strong { font-variant-numeric: tabular-nums; font-size: clamp(82px,10vw,145px); font-weight: 900; line-height: .9; letter-spacing: -.06em; }
.production-weight-number span { color: #dbe5ef; font-size: 27px; font-weight: 900; }
.production-stability { padding-top: 13px; border-top: 2px solid rgba(255,255,255,.24); color: #d1dce8; text-align: center; font-size: 14px; font-weight: 850; }
.is-stable .production-stability { color: #8ff0c2; }
.stability-progress { height: 13px; margin-top: 14px; overflow: hidden; border: 2px solid rgba(255,255,255,.55); border-radius: 999px; background: rgba(0,0,0,.22); }
.stability-progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg,#f0b23e,#7ff0bb); transition: width .3s ease; }

.one-action-form { padding: 20px 22px 23px; background: #fff; }
.production-list-warning { margin: 0 0 15px; }
.one-time-setup { display: grid; grid-template-columns: minmax(180px,.8fr) 1fr 1fr; align-items: end; gap: 14px; margin-bottom: 17px; padding: 16px; border: 3px solid #d09a2d; border-radius: 9px; background: #fff5d8; }
.one-time-setup > div { align-self: center; }
.one-time-setup small, .one-time-setup strong { display: block; }
.one-time-setup small { color: #815400; font-size: 10px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.one-time-setup strong { margin-top: 5px; color: #543b0c; font-size: 12px; line-height: 1.45; }
.bot-profile-setup { grid-template-columns: minmax(180px,.8fr) 1fr 1fr auto; margin: 20px 22px; }
.bot-profile-setup .primary-button { min-height: 50px; }
.bot-running-panel { display: grid; gap: 7px; margin: 20px 22px 23px; padding: 18px; border: 3px solid #25805c; border-radius: 9px; color: #124c37; background: #e2f6ed; }
.bot-running-panel strong { font-size: 16px; }
.bot-running-panel span { font-size: 13px; font-weight: 850; }
.bot-running-panel small { color: #426b5b; font-size: 10px; font-weight: 700; line-height: 1.5; }
.compact-awr-status { display: flex; align-items: center; gap: 13px; margin: 14px 22px; padding: 12px 15px; border-width: 2px; }
.compact-awr-status strong { padding-right: 13px; border-right: 2px solid #75aa94; }
.production-test-weight { margin-bottom: 15px; padding: 13px; border: 2px solid #d09a2d; border-radius: 8px; background: #fff5d8; }
.enter-save-button { display: flex; min-height: 88px; width: 100%; align-items: center; justify-content: center; gap: 20px; padding: 12px 24px; border: 4px solid #a93612; border-radius: 10px; color: #fff; background: linear-gradient(180deg,#f36b3d,#d8491c); box-shadow: 0 8px 18px rgba(216,73,28,.34); }
.enter-save-button span { padding: 10px 15px; border: 2px solid rgba(255,255,255,.75); border-radius: 7px; background: rgba(0,0,0,.14); font-size: 15px; font-weight: 950; letter-spacing: .08em; }
.enter-save-button strong { font-size: 20px; }
.enter-save-button:hover:not(:disabled) { background: linear-gradient(180deg,#dd5123,#ba3610); }
.enter-save-button:disabled { cursor: not-allowed; border-color: #7d8996; color: #536173; background: #cbd2d9; box-shadow: none; }
.enter-save-button:disabled span { border-color: #8f9aa6; background: #b9c2cb; }
.enter-hint { margin: 10px 0 0; color: #45566b; text-align: center; font-size: 12px; font-weight: 800; }

.recent-production { border-top: 8px solid var(--green); }
.recent-production > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 19px; color: #fff; background: var(--steel); }
.recent-production header small { color: #c8d6e5; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.recent-production header h2 { margin: 3px 0 0; font-size: 23px; }
.recent-production header a { padding: 8px 10px; border: 2px solid #fff; border-radius: 7px; font-size: 10px; font-weight: 900; }
.recent-production-title { padding: 12px 17px; border-bottom: 2px solid #aeb8c5; color: #4f6074; background: #eef2f6; font-size: 10px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.recent-empty { padding: 35px 20px; color: #59687b; text-align: center; font-size: 12px; font-weight: 650; }
.recent-bundle-list { margin: 0; padding: 0; list-style: none; }
.recent-bundle-list li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 13px 16px; border-bottom: 1px solid #b4bec9; }
.recent-bundle-list li:nth-child(even) { background: #f1f4f7; }
.recent-bundle-list li:last-child { border-bottom: 0; }
.recent-bundle-list span b, .recent-bundle-list span small { display: block; }
.recent-bundle-list span b { font-size: 15px; }
.recent-bundle-list span small { color: #627084; font-size: 9px; }
.recent-bundle-list > li > strong { font-size: 15px; white-space: nowrap; }
.recent-bundle-list a { padding: 6px 8px; border: 1px solid #52657a; border-radius: 5px; color: #174f7a; background: #fff; font-size: 9px; font-weight: 900; }

.alert { padding: 15px 16px; border: 2px solid; border-radius: 8px; font-size: 13px; font-weight: 800; }
.alert.success { color: #105b39; border-color: #2c9262; background: #d9f3e7; }
.alert.error { color: #8f1717; border-color: #c94444; background: #ffe0e0; }
.save-result { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.save-result a { padding: 9px 12px; border: 2px solid #126440; border-radius: 7px; color: #fff; background: #187b50; white-space: nowrap; }

.page-content { max-width: 1280px; margin: 0 auto; padding: 30px; }
.search-bar { display: grid; grid-template-columns: minmax(0,480px) auto; justify-content: start; gap: 11px; margin-bottom: 18px; }
.empty-state strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 19px; }
.empty-state p { margin: 0; }

.report-list-panel { border-top: 6px solid var(--orange); }
.clickable-report-row { cursor: pointer; }
.clickable-report-row:focus { outline: 4px solid rgba(42,111,168,.28); outline-offset: -4px; background: #dcebf7; }
.heat-report-link { display: grid; gap: 3px; color: var(--ink); }
.heat-report-link strong { font-size: 15px; }
.heat-report-link small { color: #155f99; font-size: 10px; font-weight: 850; }
.report-status { display: inline-flex; padding: 5px 8px; border: 1px solid #78879a; border-radius: 999px; background: #edf1f5; font-size: 10px; font-weight: 900; }
.report-status.active { border-color: #44906b; color: #12623f; background: #def3e8; }
.report-status.completed { border-color: #527a9d; color: #1c527d; background: #e2eef8; }
.report-status.cancelled { border-color: #b35c5c; color: #8d2020; background: #f9e1e1; }

.heat-report-page { max-width: 1500px; }
.report-breadcrumb { margin-bottom: 13px; }
.report-breadcrumb a { color: #155f99; font-size: 12px; font-weight: 900; text-decoration: underline; }
.heat-report-hero { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 25px 28px; border: 3px solid #172b45; border-left: 9px solid var(--orange); border-radius: 12px; color: #fff; background: linear-gradient(135deg,#14253c,#2a486a); box-shadow: 0 9px 22px rgba(20,37,59,.22); }
.heat-report-title p { margin: 0; color: #ffb99f; font-size: 10px; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.heat-report-title h2 { margin: 5px 0 4px; font-size: 31px; line-height: 1.15; }
.heat-report-title span { color: #dbe6f1; font-size: 12px; font-weight: 750; }
.report-actions { display: flex; gap: 11px; }
.report-actions .primary-link { min-width: 180px; flex: none; }
.report-actions .secondary-button { color: #fff; border-color: #d8e2ed; background: transparent; }
.report-actions .secondary-button:hover { color: #14253c; background: #fff; }
.report-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin: 18px 0; }
.report-summary-grid article { padding: 17px 19px; border: 2px solid var(--line); border-top: 5px solid var(--blue); border-radius: 9px; background: #fff; box-shadow: 0 5px 13px rgba(20,37,59,.1); }
.report-summary-grid small, .report-summary-grid strong { display: block; }
.report-summary-grid small { color: #526176; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.report-summary-grid strong { margin-top: 6px; font-size: 20px; }
.heat-report-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; align-items: start; gap: 18px; }
.report-records-panel { border-top: 6px solid var(--green); }
.ticket-link { display: inline-flex; padding: 8px 10px; border: 2px solid #53657b; border-radius: 6px; color: #17263b; background: #fff; font-size: 11px; font-weight: 900; white-space: nowrap; }
.ticket-link:hover { color: #fff; border-color: #155f99; background: #155f99; }
.heat-certificate-card { display: grid; justify-items: center; gap: 14px; padding: 21px; border-top: 6px solid var(--orange); text-align: center; }
.certificate-card-copy p { margin: 0; color: var(--orange-dark); font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.certificate-card-copy h2 { margin: 5px 0 7px; font-size: 19px; }
.certificate-card-copy span { display: block; color: #516176; font-size: 11px; font-weight: 650; line-height: 1.55; }
.report-qr { width: 190px; height: 190px; padding: 7px; border: 2px solid #172b45; background: #fff; }
.report-qr svg { width: 100%; height: 100%; }
.heat-certificate-card code { width: 100%; color: #536176; font-size: 8px; overflow-wrap: anywhere; }
.heat-certificate-card .primary-link { width: 100%; }

.admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 21px; }
.admin-card { padding: 23px; border-top: 6px solid var(--blue); }
.protocol-admin-card { grid-column: 1/-1; border-top-color: #1a9665; }
.protocol-current-state { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 17px 0; }
.protocol-current-state span { padding: 12px 14px; border: 2px solid #8fa0b2; border-radius: 8px; background: #eef3f7; }
.protocol-current-state small, .protocol-current-state strong { display: block; }
.protocol-current-state small { color: #58687a; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.protocol-current-state strong { margin-top: 4px; font-size: 14px; }
.protocol-settings-form { display: grid; gap: 14px; }
.protocol-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.awr-rule-fields label { display: grid; gap: 7px; }
.awr-rule-fields input, .awr-rule-fields select { width: 100%; min-height: 44px; }
.protocol-checkbox { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 2px solid #8798aa; border-radius: 8px; background: #f2f5f8; }
.protocol-checkbox input { width: 22px; height: 22px; flex: 0 0 auto; accent-color: #197f58; }
.protocol-checkbox strong, .protocol-checkbox small { display: block; }
.protocol-checkbox strong { font-size: 13px; }
.protocol-checkbox small { margin-top: 4px; color: #526276; font-size: 10px; line-height: 1.45; }
.automatic-checkbox { border-color: #247d59; background: #e5f6ee; }
.supervised-checkbox { border-color: #174f7a; background: #e4f0fa; }
.protocol-safety-note { padding: 13px 15px; border-left: 5px solid #d18b18; color: #5e430f; background: #fff4d3; font-size: 11px; font-weight: 750; line-height: 1.55; }

.bridge-admin-page { max-width: 1320px; }
.bridge-setup-card { max-width: 760px; padding: 28px; border-top: 7px solid var(--green); }
.bridge-setup-card h2 { margin: 12px 0 7px; font-size: 24px; }
.bridge-setup-card p { margin: 0 0 20px; color: #526276; font-size: 13px; font-weight: 700; line-height: 1.6; }
.bridge-setup-card .primary-link { display: inline-flex; width: auto; }
.bridge-status-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.bridge-status-grid article { padding: 16px 18px; border: 2px solid #8d9daf; border-top: 5px solid var(--blue); border-radius: 9px; background: #fff; box-shadow: 0 5px 13px rgba(20,37,59,.1); }
.bridge-status-grid small, .bridge-status-grid strong { display: block; }
.bridge-status-grid small { color: #5b6a7d; font-size: 9px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.bridge-status-grid strong { margin-top: 7px; font-size: 14px; overflow-wrap: anywhere; }
.bridge-status-grid strong.good { color: #087049; }
.bridge-status-grid strong.bad { color: #a02e1a; }
.bridge-editor { overflow: hidden; border: 3px solid #233f5f; border-top: 8px solid var(--green); }
.bridge-editor > header { padding: 22px 25px; color: #fff; background: linear-gradient(135deg,#18314e,#31597e); }
.bridge-editor > header p { margin: 0; color: #68e1ae; font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.bridge-editor > header h2 { margin: 4px 0 5px; font-size: 26px; }
.bridge-editor > header span { color: #dbe7f1; font-size: 12px; font-weight: 700; }
.bridge-settings-form { display: grid; gap: 17px; padding: 24px; }
.bridge-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.bridge-fields label { display: grid; gap: 7px; color: #1d3049; font-size: 11px; font-weight: 900; }
.bridge-fields input { min-width: 0; width: 100%; padding: 13px 14px; border: 2px solid #8496a9; border-radius: 8px; color: #152942; background: #f5f8fa; font: 700 13px/1.2 Consolas,monospace; }
.bridge-fields input:focus { outline: 4px solid rgba(31,117,173,.2); border-color: #1d6da3; }
.copy-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.copy-field button { padding: 0 15px; border: 2px solid #28658f; border-radius: 7px; color: #174d73; background: #e6f2fa; font-size: 11px; font-weight: 900; }
.copy-field button:hover { color: #fff; background: #28658f; }
.bridge-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bridge-checks > label { display: flex; align-items: flex-start; gap: 12px; padding: 15px; border: 2px solid #75899d; border-radius: 8px; background: #edf3f7; }
.bridge-checks input { width: 23px; height: 23px; flex: 0 0 auto; accent-color: #147451; }
.bridge-checks strong, .bridge-checks small { display: block; }
.bridge-checks strong { color: #19314c; font-size: 13px; }
.bridge-checks small { margin-top: 4px; color: #56687c; font-size: 10px; font-weight: 700; line-height: 1.45; }
.bridge-security-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 20px 24px; border-top: 3px solid #aeb9c5; background: #eef2f5; }
.bridge-security-actions form { display: flex; align-items: center; gap: 9px; }
.bridge-security-actions label { color: #6e310f; font-size: 10px; font-weight: 900; }
.bridge-security-actions label input { width: 19px; height: 19px; vertical-align: middle; accent-color: #a53f19; }

.supervised-permissions-form { grid-column: 1/-1; margin-top: 18px; padding-top: 18px; border-top: 3px solid #aab6c3; }
.supervised-permissions-form h3 { margin: 0; color: #172b45; font-size: 17px; }
.supervised-permissions-form > p { margin: 6px 0 13px; color: #58687a; font-size: 11px; font-weight: 700; line-height: 1.45; }
.permission-operator-list { display: grid; gap: 8px; margin-bottom: 13px; }
.permission-operator-list label { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border: 2px solid #8fa0b2; border-radius: 7px; background: #f1f5f8; }
.permission-operator-list input { width: 21px; height: 21px; flex: 0 0 auto; accent-color: #16764f; }
.permission-operator-list strong, .permission-operator-list small { display: block; }
.permission-operator-list small { color: #607086; font-size: 9px; }

.automatic-mode-control { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 22px; margin: 0 0 18px; padding: 18px 21px; border: 3px solid #526579; border-left-width: 9px; }
.automatic-mode-control.is-on { border-color: #16764f; background: #e6f7ef; }
.automatic-mode-control.is-off { border-color: #69798b; background: #eef2f5; }
.automatic-mode-control > div > small { color: #58687a; font-size: 9px; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.automatic-mode-control h2 { margin: 3px 0 4px; color: #172b45; font-size: 23px; }
.automatic-mode-control p { margin: 0; color: #4e6074; font-size: 12px; font-weight: 750; }
.automatic-mode-control > div > span { display: block; margin-top: 7px; color: #126340; font-size: 10px; font-weight: 900; }
.automatic-mode-counts { display: flex; gap: 9px; }
.automatic-mode-counts span { min-width: 112px; padding: 9px 12px; border: 2px solid #7e90a4; border-radius: 7px; background: #fff; text-align: center; }
.automatic-mode-counts span.exceptions { border-color: #b66d17; background: #fff3d9; }
.automatic-mode-counts small, .automatic-mode-counts strong { display: block; }
.automatic-mode-counts small { color: #5b6a7e; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.automatic-mode-counts strong { margin-top: 2px; font-size: 22px; }
.automatic-mode-toggle button { min-height: 54px; padding: 12px 18px; border: 3px solid; border-radius: 8px; font-size: 12px; font-weight: 950; }
.compact-mode-toggle { flex: 0 0 auto; }
.compact-mode-toggle button { min-height: 48px; }
.compact-mode-counts { flex: 0 0 auto; }
.compact-mode-counts span { min-width: 98px; padding: 7px 10px; }
.mode-on-button { border-color: #0d593a; color: #fff; background: #168257; }
.mode-off-button { border-color: #8f2c22; color: #fff; background: #bd4335; }
.mode-permission-denied { max-width: 230px; padding: 10px 12px; border: 2px solid #b46d18; border-radius: 7px; color: #6b420d; background: #fff2d4; font-size: 10px; font-weight: 850; }
.awr-mode-badge.supervised-active { border-color: #0e6844; background: #dff6eb; }
.awr-rule-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; padding: 12px 14px; border-top: 3px solid #173a5d; background: #edf3f7; }
.awr-rule-strip span { padding: 9px 10px; border: 2px solid #8a9bad; border-radius: 7px; background: #fff; }
.awr-rule-strip small, .awr-rule-strip strong { display: block; }
.awr-rule-strip small { color: #607084; font-size: 8px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.awr-rule-strip strong { margin-top: 3px; color: #17304d; font-size: 12px; }

.supervised-confirmation-panel { padding: 20px 22px 23px; border-top: 4px solid #16764f; background: #f6f9fb; }
.supervised-waiting { padding: 22px; border: 3px dashed #7e90a4; border-radius: 10px; color: #516176; background: #eef3f7; text-align: center; }
.supervised-waiting small, .supervised-waiting strong { display: block; }
.supervised-waiting small { font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.supervised-waiting strong { margin-top: 6px; color: #1d334e; font-size: 18px; }
.supervised-waiting p { margin: 7px 0 0; font-size: 11px; font-weight: 700; }
.compact-supervised-waiting { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; border: 2px solid #7e90a4; text-align: left; }
.compact-supervised-waiting strong { margin: 0; font-size: 15px; }
.compact-supervised-waiting .primary-button { min-height: 42px; padding: 9px 14px; white-space: nowrap; }
.supervised-proposal { display: grid; grid-template-columns: 1fr minmax(280px,.8fr); align-items: center; gap: 20px; padding: 20px; border: 4px solid #16764f; border-radius: 11px; background: #e2f7ed; box-shadow: 0 8px 20px rgba(15,102,67,.16); }
.supervised-proposal small { color: #11613f; font-size: 10px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.supervised-proposal h2 { margin: 4px 0; color: #102b20; font-size: 45px; line-height: 1; }
.supervised-proposal p { margin: 0 0 5px; color: #274d3c; font-size: 14px; font-weight: 850; }
.supervised-proposal code { color: #537166; font-size: 9px; }
#confirm-automatic-button { display: grid; min-height: 86px; place-items: center; padding: 12px; border: 4px solid #0e5b3b; border-radius: 9px; color: #fff; background: linear-gradient(180deg,#1a9765,#126c49); box-shadow: 0 7px 16px rgba(18,108,73,.28); }
#confirm-automatic-button span { font-size: 11px; font-weight: 950; letter-spacing: .12em; }
#confirm-automatic-button strong { font-size: 18px; }
#confirm-automatic-button:disabled { opacity: .55; }
.supervised-exception { margin-top: 13px; padding: 14px 16px; border: 3px solid #b76d14; border-radius: 8px; color: #67400c; background: #fff0cf; }
.supervised-exception strong { display: block; font-size: 15px; }
.supervised-exception p { margin: 5px 0; font-size: 12px; font-weight: 850; }
.supervised-exception small { font-size: 10px; font-weight: 700; line-height: 1.45; }
.supervised-exception button { margin-top: 11px; padding: 9px 12px; border: 2px solid #82500d; border-radius: 6px; color: #fff; background: #a76a16; font-size: 10px; font-weight: 950; }
.awr-summary-five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.supervised-awr-table code { display: inline-block; padding: 5px 7px; border: 1px solid #718297; border-radius: 5px; color: #173a5d; background: #eef3f7; font-size: 10px; font-weight: 900; }
.supervised-awr-table td small { display: block; margin-top: 3px; color: #657488; font-size: 9px; }
.awr-status.shadow_only { color: #234a6a; border-color: #6689a8; background: #e3eef7; }
.awr-status.awaiting_confirmation { color: #77500c; border-color: #c58b27; background: #fff0c9; }
.awr-status.confirmed { color: #105d3c; border-color: #319365; background: #ddf4e8; }
.awr-status.exception { color: #8d1c1c; border-color: #c64a4a; background: #ffe0e0; }

.print-worker-body { display: grid; min-height: 100vh; margin: 0; place-items: center; padding: 22px; background: #e8eef4; }
.print-worker-card { width: min(560px,100%); padding: 30px; border: 3px solid #203d5c; border-top: 9px solid #168158; border-radius: 12px; background: #fff; box-shadow: 0 18px 44px rgba(21,42,67,.22); text-align: center; }
.print-worker-card.is-inactive { border-top-color: #b33d31; }
.print-worker-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 12px; place-items: center; border-radius: 10px; color: #fff; background: #173a5d; font-size: 27px; font-weight: 950; }
.print-worker-card > small { color: #14724d; font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.print-worker-card h1 { margin: 7px 0 8px; color: #172b45; font-size: 25px; }
.print-worker-card p { margin: 0 auto 18px; color: #56677b; font-size: 12px; font-weight: 700; line-height: 1.55; }
.print-worker-status { margin: 15px 0; padding: 13px; border: 2px solid #7e91a5; border-radius: 8px; color: #163b5e; background: #eef4f8; font-weight: 900; }
.print-worker-card > a { display: inline-flex; padding: 10px 14px; border: 2px solid #245b86; border-radius: 7px; color: #17496f; background: #edf6fc; font-size: 11px; font-weight: 900; text-decoration: none; }
.print-worker-card iframe { width: 1px; height: 1px; border: 0; }
@media (max-width: 900px) { .awr-summary.awr-summary-five { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.profile-required-overlay { position: fixed; z-index: 11000; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(7,17,30,.9); backdrop-filter: blur(5px); }
.profile-required-dialog { width: min(760px,100%); padding: 28px; border: 5px solid #fff; border-top: 11px solid #db5a2b; border-radius: 14px; background: #fff; box-shadow: 0 30px 95px rgba(0,0,0,.58); }
.profile-required-dialog header { display: flex; align-items: center; gap: 16px; }
.profile-required-dialog header > span { display: grid; min-width: 70px; height: 60px; place-items: center; border-radius: 9px; color: #fff; background: #173a5d; font-size: 17px; font-weight: 950; }
.profile-required-dialog header small { color: #c64c20; font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.profile-required-dialog h2 { margin: 3px 0 0; color: #172b45; font-size: 25px; }
.profile-required-dialog > p { margin: 17px 0; color: #4e6074; font-size: 13px; font-weight: 750; line-height: 1.55; }
.profile-required-dialog .bot-profile-setup { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; padding: 18px; border: 3px solid #d0992c; border-radius: 9px; background: #fff5db; }
.profile-required-dialog .bot-profile-setup button { grid-column: 1/-1; min-height: 58px; font-size: 15px; }

@media (max-width: 900px) {
    .automatic-mode-control { grid-template-columns: 1fr; }
    .automatic-mode-counts { justify-content: stretch; }
    .automatic-mode-counts span { flex: 1; }
    .supervised-proposal { grid-template-columns: 1fr; }
    .awr-rule-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .profile-required-dialog .bot-profile-setup { grid-template-columns: 1fr; }
    .awr-summary-five { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bridge-status-grid, .bridge-fields, .bridge-checks { grid-template-columns: 1fr; }
    .bridge-security-actions, .bridge-security-actions form { align-items: stretch; flex-direction: column; }
}

.awr-page { max-width: 1500px; }
.awr-intro { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 18px; padding: 24px 27px; border: 3px solid #17304d; border-left: 9px solid #1a9665; border-radius: 12px; color: #fff; background: linear-gradient(135deg,#152942,#285374); box-shadow: 0 9px 22px rgba(20,37,59,.2); }
.awr-intro p { margin: 0; color: #7eebbb; font-size: 11px; font-weight: 950; letter-spacing: .17em; }
.awr-intro h2 { margin: 5px 0 6px; font-size: 27px; }
.awr-intro span { display: block; max-width: 850px; color: #dbe7f2; font-size: 12px; font-weight: 700; line-height: 1.55; }
.awr-intro > strong { padding: 11px 14px; border: 2px solid #86e4b8; border-radius: 8px; color: #0c5035; background: #dff7eb; font-size: 12px; white-space: nowrap; }
.awr-filters { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)) auto; align-items: end; gap: 13px; padding: 18px; border-top: 6px solid var(--blue); }
.awr-filters .primary-button { min-height: 45px; }
.awr-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 17px 0; }
.awr-summary article { padding: 16px 18px; border: 2px solid #8393a6; border-top: 6px solid var(--blue); border-radius: 9px; background: #fff; box-shadow: 0 5px 13px rgba(20,37,59,.1); }
.awr-summary article.waiting { border-top-color: #d18b18; }
.awr-summary article.matched { border-top-color: #1a9665; }
.awr-summary article.difference { border-top-color: #bd2f2a; }
.awr-summary small, .awr-summary strong { display: block; }
.awr-summary small { color: #526176; font-size: 9px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.awr-summary strong { margin-top: 5px; font-size: 23px; }
.awr-records-panel { overflow: hidden; border-top: 6px solid #1a9665; }
.awr-table th { white-space: nowrap; }
.awr-table td small { display: block; margin-top: 3px; color: #5b6b7e; font-size: 9px; font-weight: 800; }
.awr-table .weight-cell { font-size: 15px; font-weight: 900; white-space: nowrap; }
.awr-table .difference-cell { font-weight: 950; white-space: nowrap; }
.awr-table .difference-cell.zero { color: #12633f; }
.awr-table .difference-cell.changed { color: #9b231e; }
.awr-status { display: inline-flex; padding: 6px 9px; border: 2px solid #75869a; border-radius: 999px; color: #314259; background: #edf2f6; font-size: 9px; font-weight: 950; white-space: nowrap; }
.awr-status.matched { border-color: #27805a; color: #105c3b; background: #dff4e9; }
.awr-status.within_tolerance { border-color: #b17914; color: #714900; background: #fff0c8; }
.awr-status.difference { border-color: #b92d28; color: #8f1e1a; background: #ffe1de; }
.awr-status.waiting_operator { border-color: #54738f; color: #244d70; background: #e4eff8; }
.awr-summary.awr-summary-five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.awr-status.shadow_only { color: #234a6a; border-color: #6689a8; background: #e3eef7; }
.awr-status.awaiting_confirmation { color: #77500c; border-color: #c58b27; background: #fff0c9; }
.awr-status.confirmed { color: #105d3c; border-color: #319365; background: #ddf4e8; }
.awr-status.exception { color: #8d1c1c; border-color: #c64a4a; background: #ffe0e0; }
.admin-icon { display: grid; width: 43px; height: 43px; place-items: center; border: 2px solid #ed977c; border-radius: 8px; color: var(--orange-dark); background: #fff0eb; font-size: 15px; font-weight: 900; }
.admin-card h2 { margin: 19px 0 8px; font-size: 19px; }
.admin-card > p { min-height: 52px; margin: 0; color: var(--muted); font-size: 12px; font-weight: 550; line-height: 1.65; }
.tag-list { display: flex; min-height: 66px; align-content: flex-start; flex-wrap: wrap; gap: 8px; margin: 17px 0; }
.tag-list span { height: fit-content; padding: 8px 10px; border: 1px solid #93a0af; border-radius: 6px; background: #e5eaf0; font-size: 11px; font-weight: 850; }
.tag-list .empty-tag { color: #4e5d70; font-weight: 650; }
.admin-card form { display: grid; gap: 12px; }
.admin-card .secondary-button { width: 100%; }
.development-card { border-color: #d39a2b; border-top-color: #d39a2b; background: #fff8e7; }
.sync-state { display: grid; gap: 6px; padding: 14px; border: 2px solid #a2adba; border-radius: 7px; background: #edf1f5; }
.sync-state strong { font-size: 13px; }
.sync-state span, .sync-state small { color: #46566b; font-size: 11px; }
.users-card { grid-column: span 2; }
.user-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 16px 0; }
.user-list span { padding: 11px; border: 1px solid #a5b0bd; border-radius: 7px; background: #edf1f5; }
.user-list b, .user-list small { display: block; }
.user-list b { font-size: 13px; }
.user-list small { margin-top: 4px; color: #4e5d70; font-size: 10px; }

.auth-body { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: linear-gradient(145deg,#13243a,#2d4a6c); }
.auth-card { width: min(460px,100%); padding: 32px; border: 3px solid #8f9cac; border-top: 7px solid var(--orange); border-radius: 14px; background: #fff; box-shadow: 0 22px 60px rgba(7,17,29,.48); }
.auth-brand { display: flex; align-items: center; gap: 13px; margin-bottom: 27px; padding-bottom: 18px; border-bottom: 2px solid #bec7d1; }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { font-size: 18px; letter-spacing: .08em; }
.auth-brand small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.auth-card form { display: grid; gap: 16px; }
.auth-card .alert { margin-bottom: 17px; }

.narrow-page { max-width: 820px; }
.upgrade-card { border-top: 6px solid var(--orange); }
.upgrade-form { padding: 22px; }
.settings-grid, .zebra-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 22px; }
.settings-card, .label-preview-panel, .workflow-card { border-top: 6px solid var(--blue); }
.settings-form { display: grid; gap: 15px; padding: 22px; }
.full-card { grid-column: 1 / -1; }
.logo-preview { display: block; max-width: 220px; max-height: 100px; padding: 10px; border: 2px solid #9ca9b9; border-radius: 8px; object-fit: contain; background: #fff; }
.managed-list { display: grid; gap: 8px; padding: 0 22px 22px; }
.managed-list > p { margin: 0; padding: 15px; border: 1px solid #aab5c1; border-radius: 7px; color: #4d5d71; background: #f1f4f7; }
.managed-list > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 13px; border: 1px solid #9aa8b7; border-radius: 7px; background: #f4f7fa; }
.managed-list strong, .managed-list small { display: block; }
.managed-list strong { font-size: 13px; }
.managed-list small { margin-top: 4px; color: #516176; font-size: 10px; }
.compact-button { padding: 8px 10px; border: 2px solid #596b81; border-radius: 6px; color: #17263b; background: #fff; font-size: 11px; font-weight: 850; }
.public-field-form { display: grid; grid-template-columns: 1fr 1fr 130px auto; align-items: end; gap: 13px; padding: 22px; }
.field-list { grid-template-columns: 1fr 1fr; }
.three-fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.designer-status { display: grid; gap: 4px; margin: 20px 22px 0; padding: 13px; border: 2px solid #d39a2b; border-radius: 8px; color: #714900; background: #fff1c7; }
.designer-status.ready { border-color: #2c9262; color: #105b39; background: #d9f3e7; }
.designer-status strong { font-size: 13px; }
.designer-status span { font-size: 11px; font-weight: 650; }
.zebra-browser-note { margin: 0; }

.thermal-label { position: relative; overflow: hidden; border: 3px solid #111; color: #000; background: #fff; font-family: Arial,sans-serif; }
.demo-label { width: min(390px,calc(100% - 44px)); min-height: 560px; margin: 20px auto; padding: 18px; }
.label-brand { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 4px solid #000; }
.label-brand img { width: 52px; height: 38px; object-fit: contain; }
.label-brand strong { font-size: 25px; letter-spacing: .06em; }
.label-title { padding: 12px 0; border-bottom: 2px solid #000; text-align: center; font-size: 15px; font-weight: 900; letter-spacing: .12em; }
.thermal-label dl { margin: 0; }
.thermal-label dl > div { display: grid; grid-template-columns: 42% 58%; border-bottom: 2px solid #000; }
.thermal-label dt, .thermal-label dd { margin: 0; padding: 9px 7px; }
.thermal-label dt { border-right: 2px solid #000; font-size: 11px; font-weight: 800; }
.thermal-label dd { font-size: 16px; font-weight: 900; overflow-wrap:anywhere; }
.label-bottom { display: grid; grid-template-columns: 132px 1fr; align-items: center; gap: 12px; padding-top: 13px; }
.qr-placeholder { display: grid; width: 126px; height: 126px; place-items: center; border: 2px solid #000; font-size: 25px; font-weight: 900; }
.qr-placeholder svg { width: 100%; height: 100%; }
.label-bottom strong, .label-bottom small, .label-bottom code { display: block; }
.label-bottom strong { font-size: 13px; }
.label-bottom small { margin-top: 6px; font-size: 9px; line-height: 1.45; }
.label-bottom code { margin-top: 8px; font-size: 7px; overflow-wrap:anywhere; }
.sample-watermark { position: absolute; right: -47px; bottom: 29px; transform: rotate(-34deg); padding: 6px 55px; border: 2px solid #9b1f1f; color: #9b1f1f; background: #fff; font-size: 10px; font-weight: 900; }
.label-actions { display: flex; gap: 10px; padding: 0 22px 22px; }
.primary-link, .secondary-link { flex: 1; padding: 12px; border: 2px solid; border-radius: 7px; text-align: center; font-size: 12px; font-weight: 900; }
.primary-link { border-color: var(--orange-dark); color: #fff; background: var(--orange); }
.secondary-link { border-color: #53657b; color: #17263b; background: #fff; }
.workflow-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.workflow-steps > div { min-height: 160px; padding: 20px; border-right: 1px solid #a8b3c0; }
.workflow-steps > div:last-child { border-right: 0; }
.workflow-steps b { display: grid; width: 34px; height: 34px; margin-bottom: 14px; place-items: center; border-radius: 50%; color: #fff; background: var(--steel); }
.workflow-steps strong, .workflow-steps span { display: block; }
.workflow-steps strong { font-size: 14px; }
.workflow-steps span { margin-top: 7px; color: #4e5d70; font-size: 11px; line-height: 1.55; }

.simulator-page { display: grid; gap: 22px; }
.simulator-intro { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 25px 28px; border: 3px solid #77530e; border-left: 9px solid #d39a2b; border-radius: 12px; color: #33270f; background: linear-gradient(135deg,#fff4cf,#fffaf0); box-shadow: 0 8px 20px rgba(82,59,15,.16); }
.simulator-intro p { margin: 0 0 6px; color: #8b5b00; font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.simulator-intro h2 { margin: 0; font-size: 24px; }
.simulator-intro span { display: block; max-width: 820px; margin-top: 8px; color: #5d4b2a; font-size: 12px; font-weight: 650; line-height: 1.65; }
.simulator-intro > strong { padding: 10px 13px; border: 2px solid #9f6c0a; border-radius: 7px; color: #6d4800; background: #ffe7a0; font-size: 11px; white-space: nowrap; }
.simulator-form { display: grid; gap: 22px; }
.simulator-identity, .simulator-group, .simulator-recent { border-top: 6px solid var(--blue); }
.simulator-identity { border-top-color: var(--orange); }
.simulator-identity > label { display: block; padding: 22px; }
.simulator-identity input { min-height: 60px; border-width: 3px; font-size: 21px; font-weight: 850; letter-spacing: .03em; }
.simulator-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; padding: 22px; }
.simulator-fields label { min-width: 0; }
.simulator-fields input { font-variant-numeric: tabular-nums; }
.simulator-fields .wide-field { grid-column: 1/-1; }
.simulator-submit { display: grid; grid-template-columns: 1fr minmax(330px,460px); align-items: center; gap: 24px; padding: 24px; border: 3px solid #14253c; border-radius: 12px; background: #eaf0f5; box-shadow: 0 7px 18px rgba(20,37,60,.15); }
.simulator-submit strong, .simulator-submit span { display: block; }
.simulator-submit strong { font-size: 15px; }
.simulator-submit span { margin-top: 6px; color: #4b5b70; font-size: 12px; line-height: 1.55; }
.simulator-created { display: grid; grid-template-columns: 1fr 230px; gap: 25px; padding: 25px; border: 3px solid #248056; border-top: 8px solid #1e9663; background: #f4fcf8; }
.created-copy > p { margin: 0; color: #167249; font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.created-copy > h2 { margin: 7px 0 5px; font-size: 40px; line-height: 1; }
.created-copy > span { color: #536377; font-size: 12px; font-weight: 750; }
.role-note { max-width: 620px; margin: 16px 0 0; padding: 11px 13px; border-left: 4px solid #248056; color: #34495d; background: #e7f5ed; font-size: 12px; font-weight: 750; line-height: 1.55; }
.created-actions { display: flex; gap: 12px; margin-top: 24px; }
.created-actions a { flex: 0 1 240px; }
.created-qr { display: grid; justify-items: center; gap: 7px; padding: 14px; border: 2px solid #17304f; border-radius: 9px; background: #fff; text-align: center; }
.created-qr > div { width: 150px; height: 150px; }
.created-qr svg { width: 100%; height: 100%; }
.created-qr b { font-size: 10px; }
.created-qr small { display: block; max-width: 190px; color: #59687a; font-size: 7px; overflow-wrap: anywhere; }

.label-print-body { display: grid; min-height: 100vh; place-items: start center; padding: 82px 25px 35px; background: #d9e0e8; }
.print-toolbar { position: fixed; z-index: 5; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 62px; padding: 10px 20px; border-bottom: 3px solid #0f1f33; background: #1e3552; color: #fff; }
.print-toolbar a, .print-toolbar button { padding: 9px 12px; border: 2px solid #fff; border-radius: 6px; color: #fff; background: transparent; font-weight: 800; }
.print-toolbar span { color: #dbe5ef; font-size: 12px; }
.print-config-error { max-width: 760px; margin: 0 auto 18px; }
.production-label { width: var(--label-w); min-height: var(--label-h); padding: 5mm; }
.geosteel-ticket { position: relative; display: flex; flex-direction: column; box-sizing: border-box; padding: 7mm 7mm 5mm; font-family: Arial,sans-serif; }
.ticket-official-header { display: flex; flex-direction: column; align-items: center; padding-top: 13mm; text-align: center; }
.ticket-geosteel-logo { position: absolute; top: 5mm; left: 7mm; display: block; width: 25mm; height: 12mm; object-fit: contain; filter: grayscale(1) contrast(2); }
.geosteel-ticket::before { content: ""; position: absolute; top: 6mm; left: 61%; width: 5.5mm; height: 5.5mm; border: .35mm solid #888; border-radius: 50%; box-sizing: border-box; background: #d9e0e8; }
.ticket-official-header > span { margin-top: .8mm; font-size: 1.75mm; line-height: 1.1; font-weight: 700; white-space: nowrap; }
.ticket-official-header > .ticket-contact { margin-top: .6mm; padding: .35mm .7mm; color: #fff; background: #000; font-size: 1.45mm; line-height: 1; }
.ticket-standard { margin-top: 1.4mm; text-align: center; font-family: "Courier New",monospace; font-size: 2.7mm; line-height: 1.15; }
.ticket-grade { padding: 1.3mm 0 1.1mm; text-align: center; }
.ticket-grade span, .ticket-grade strong { display: block; }
.ticket-grade span { font-family: Georgia,serif; font-size: 4.8mm; font-weight: 700; letter-spacing: .35mm; }
.ticket-grade strong { position: relative; display: inline-block; margin-top: .4mm; padding-left: 8mm; font-family: Georgia,serif; font-size: 7.2mm; line-height: 1; }
.ticket-grade strong i { position: absolute; left: 0; bottom: -.4mm; width: 7mm; height: 5mm; border: .8mm solid #000; font-family: Arial,sans-serif; font-size: 8mm; font-style: normal; line-height: 3mm; }
.ticket-main-data { display: grid; gap: 1.05mm; padding: 1.2mm 1.5mm 0; }
.ticket-main-data > div { display: flex; align-items: baseline; gap: 2.2mm; min-width: 0; white-space: nowrap; }
.ticket-main-data span, .ticket-main-data strong { flex: 0 0 auto; font-size: 3.9mm; line-height: 1.05; font-weight: 900; letter-spacing: 0; white-space: nowrap; }
.ticket-main-data .ticket-heat-row span, .ticket-main-data .ticket-heat-row strong { font-size: 4.15mm; }
.ticket-main-data .ticket-bundle-row span, .ticket-main-data .ticket-bundle-row strong { font-size: 3.65mm; }
.ticket-main-data .ticket-diameter-row { gap: 2.8mm; }
.ticket-main-data .ticket-weight-row { gap: 3mm; }
.ticket-main-data .ticket-weight-row span, .ticket-main-data .ticket-weight-row strong { font-size: 3.75mm; }
.ticket-code-row { display: grid; grid-template-columns: 24mm 30mm; justify-content: center; align-items: center; column-gap: 3mm; margin-top: 2.3mm; padding: 1.2mm 0 0; }
.ticket-qr { width: 24mm; height: 24mm; border: 0; }
.ticket-linear-code { height: 10mm; background: repeating-linear-gradient(90deg,#000 0 .35mm,transparent .35mm .75mm,#000 .75mm 1.45mm,transparent 1.45mm 1.8mm,#000 1.8mm 2.05mm,transparent 2.05mm 2.7mm); }
.ticket-origin { flex: 0 0 auto; margin-top: 2mm; margin-bottom: 1.5mm; padding: .8mm 0; color: #fff; background: #000; text-align: center; font-family: Georgia,serif; font-size: 3.5mm; line-height: 1; font-weight: 900; letter-spacing: .35mm; }
.demo-label.geosteel-ticket { aspect-ratio: 8 / 11; min-height: 0; padding: 26px 26px 18px; }
.demo-label .ticket-official-header { padding-top: 58px; }
.demo-label .ticket-geosteel-logo { top: 20px; left: 26px; width: 110px; height: 53px; }
.demo-label.geosteel-ticket::before { top: 23px; width: 23px; height: 23px; border-width: 2px; }
.demo-label .ticket-official-header > span { font-size: 7px; }
.demo-label .ticket-standard { font-size: 10px; }
.demo-label .ticket-grade span { font-size: 12px; }
.demo-label .ticket-grade strong { font-size: 27px; }
.demo-label .ticket-main-data span, .demo-label .ticket-main-data strong { font-size: 15px; }
.demo-label .ticket-main-data .ticket-weight span, .demo-label .ticket-main-data .ticket-weight strong { font-size: 16px; }
.demo-label .ticket-code-row { grid-template-columns: 92px 1fr; }
.demo-label .ticket-qr { width: 92px; height: 92px; }
.demo-label .ticket-origin { font-size: 14px; }

.inspector-intro { border-left-color: #6f42c1; }
.inspector-filters { grid-template-columns: 1fr 1fr 1.2fr auto; }
.inspector-summary { grid-template-columns: repeat(4, 1fr); }
.inspector-table .awr-status { text-decoration: none; display: inline-flex; }
.cycle-link { text-decoration: none; }
.inspector-back { display: inline-flex; margin-bottom: 14px; }
.inspector-cycle-head { display: flex; justify-content: space-between; align-items: center; padding: 22px; margin-bottom: 16px; }
.inspector-cycle-head h2 { font-size: 18px; overflow-wrap: anywhere; margin: 5px 0; }
.inspector-comparison { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 16px; }
.inspector-comparison article { background: #fff; border: 2px solid #a7b7c9; border-top: 5px solid #2475ad; border-radius: 11px; padding: 17px; box-shadow: 0 7px 18px rgba(20,45,70,.08); }
.inspector-comparison small,.inspector-comparison span { display:block; color:#53677d; }
.inspector-comparison strong { display:block; font-size:24px; margin:7px 0; }
.inspector-chart { padding: 20px; margin-bottom: 16px; }
.inspector-chart svg { width:100%; height:250px; background:#f2f6fa; border:1px solid #b8c5d2; margin-top:12px; }
.inspector-chart line { stroke:#8798a9; stroke-width:1; }
.inspector-chart polyline { fill:none; stroke:#f25527; stroke-width:4; vector-effect:non-scaling-stroke; }
.awr-status.missing_awr,.awr-status.missing_both,.awr-status.no_stable_plateau,.awr-status.live_stream_interrupted { background:#fff1d1; border-color:#d58a00; color:#7b4c00; }
.awr-status.difference { background:#ffe1e1; border-color:#c93030; color:#8d1717; }

@media (max-width: 900px) {
  .inspector-filters,.inspector-summary,.inspector-comparison { grid-template-columns:1fr; }
  .inspector-cycle-head { align-items:flex-start; flex-direction:column; gap:12px; }
}

@media print {
  .label-print-body { display: block; min-height: 0; padding: 0; background: #fff; }
  .print-toolbar, .print-config-error { display: none !important; }
  .production-label { width: var(--label-w); height: var(--label-h); min-height: 0; margin: 0; border: 0; }
  .production-label.geosteel-ticket::before { display: none; }
}

@media (max-width: 1050px) {
  .operator-layout { grid-template-columns: 1fr; }
  .weight-column { position: static; display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
  .save-button, .save-hint { grid-column: 1/-1; }
  .admin-grid { grid-template-columns: 1fr 1fr; }
  .settings-grid, .zebra-grid { grid-template-columns: 1fr; }
  .full-card { grid-column: auto; }
  .public-field-form { grid-template-columns: 1fr 1fr; }
  .simulator-fields { grid-template-columns: 1fr 1fr; }
  .workflow-steps { grid-template-columns: 1fr 1fr; }
  .workflow-steps > div:nth-child(2) { border-right: 0; }
  .workflow-steps > div:nth-child(-n+2) { border-bottom: 1px solid #a8b3c0; }
  .heat-report-grid { grid-template-columns: 1fr; }
  .active-heat-bar { grid-template-columns: 1fr 1fr; }
  .heat-run-summary { grid-column: 1/-1; }
  .production-console { grid-template-columns: 1fr; }
  .recent-production { max-width: none; }
  .heat-certificate-card { grid-template-columns: minmax(0,1fr) auto; justify-items: start; text-align: left; }
  .report-qr { grid-row: span 3; grid-column: 2; }
  .awr-filters { grid-template-columns: 1fr 1fr; }
}

@media screen and (max-width: 680px) {
  .zebra-grid { gap: 14px; }
  .zebra-grid .panel-heading { padding: 16px; }
  .zebra-grid .panel-heading h2 { font-size: 17px; }
  .zebra-grid .settings-form { gap: 12px; padding: 16px; }
  .zebra-grid .three-fields { grid-template-columns: 1fr; }
  .zebra-grid .designer-status { margin: 14px 14px 0; }
  .demo-label { width: min(390px,calc(100% - 24px)); margin: 14px auto; padding: 10px; }
  .demo-label .ticket-geosteel-logo { width: 105px; height: 46px; }
  .demo-label .ticket-main-data { padding-left: 4px; padding-right: 4px; }
  .demo-label .ticket-main-data span,
  .demo-label .ticket-main-data strong { font-size: 13px; }
  .demo-label .ticket-main-data .ticket-weight span,
  .demo-label .ticket-main-data .ticket-weight strong { font-size: 14px; }
  .demo-label .ticket-code-row { grid-template-columns: 82px minmax(0,1fr); gap: 7px; padding-left: 4px; padding-right: 4px; }
  .demo-label .ticket-qr { width: 82px; height: 82px; }
  .label-actions { flex-direction: column; padding: 0 14px 16px; }

  .label-print-body { display: block; padding: 0 12px 24px; overflow-x: auto; }
  .print-toolbar { position: static; flex-wrap: wrap; width: 100%; margin: 0 -12px 14px; padding: 10px 12px; box-sizing: content-box; }
  .print-toolbar span { flex: 1 0 100%; text-align: center; }
  .production-label { margin: 0 auto; }
}

.automatic-print-worker { min-height: 100vh; display: grid; place-items: center; margin: 0; padding: 24px; color: #102239; background: linear-gradient(145deg,#e7edf4,#f8fbff); font-family: Arial,sans-serif; }
.automatic-print-worker main { width: min(540px,100%); padding: 42px; text-align: center; border: 3px solid #1a3554; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(15,31,51,.18); }
.automatic-print-worker small { display: block; margin-top: 15px; color: #52677f; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.automatic-print-worker h1 { margin: 8px 0 12px; font-size: 28px; }
.automatic-print-worker p { min-height: 48px; margin: 0 auto 22px; color: #52677f; line-height: 1.55; }
.automatic-print-worker a { display: inline-flex; margin-top: 22px; padding: 11px 16px; color: #fff; border-radius: 8px; background: #173653; font-weight: 800; text-decoration: none; }
.automatic-printer-icon { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto; color: #fff; border: 5px solid #d8e6f0; border-radius: 22px; background: #142b45; font-size: 44px; font-weight: 900; }
.automatic-printer-pulse { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; color: #6c3515; border: 2px solid #e2a56e; border-radius: 999px; background: #fff1e2; font-weight: 900; }
.automatic-printer-pulse i { width: 11px; height: 11px; border-radius: 50%; background: #c56b22; }
.automatic-printer-pulse.is-active { color: #136139; border-color: #72bb91; background: #e7f8ee; }
.automatic-printer-pulse.is-active i { background: #1f9a56; box-shadow: 0 0 0 0 rgba(31,154,86,.35); animation: printer-pulse 1.8s infinite; }
@keyframes printer-pulse { 70% { box-shadow: 0 0 0 12px rgba(31,154,86,0); } 100% { box-shadow: 0 0 0 0 rgba(31,154,86,0); } }

@media (max-width: 760px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; padding: 15px; border-right: 0; border-bottom: 4px solid #0f1f33; }
  .brand { padding-bottom: 14px; }
  .sidebar nav { grid-template-columns: repeat(3,1fr); margin-top: 14px; }
  .nav-item { justify-content: center; min-height: 46px; padding: 10px 7px; font-size: 11px; }
  .nav-item span, .sidebar-foot { display: none; }
  .topbar { align-items: flex-start; padding: 17px 19px; }
  .timezone { display: none; }
  .operator-layout, .page-content { padding: 17px; }
  .bundle-form { grid-template-columns: 1fr; }
  .weight-column { display: flex; }
  .admin-grid { grid-template-columns: 1fr; }
  .users-card { grid-column: auto; }
  .user-list { grid-template-columns: 1fr; }
  .public-field-form, .field-list, .three-fields, .workflow-steps { grid-template-columns: 1fr; }
  .workflow-steps > div { border-right: 0; border-bottom: 1px solid #a8b3c0; }
  .workflow-steps > div:last-child { border-bottom: 0; }
  .selected-heat { align-items: flex-start; flex-direction: column; }
  .simulator-intro, .created-actions { align-items: flex-start; flex-direction: column; }
  .simulator-created, .simulator-submit { grid-template-columns: 1fr; }
  .simulator-fields { grid-template-columns: 1fr; }
  .created-qr { width: 100%; }
  .save-result { align-items: flex-start; flex-direction: column; }
  .print-toolbar { justify-content: flex-start; overflow-x: auto; }
  .print-toolbar span { display: none; }
  .heat-report-hero { align-items: flex-start; flex-direction: column; }
  .report-actions { width: 100%; flex-direction: column; }
  .report-summary-grid { grid-template-columns: 1fr 1fr; }
  .heat-certificate-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .report-qr { grid-row: auto; grid-column: auto; }
  .production-page { padding: 15px; }
  .active-heat-bar { grid-template-columns: 1fr; }
  .clean-heat-bar { display: flex; }
  .clean-heat-bar .active-heat-title,
  .clean-heat-bar .heat-handover-status,
  .clean-heat-bar .bot-mode-badge,
  .clean-heat-bar .station-manual-badge,
  .clean-heat-bar .heat-run-summary,
  .compact-mode-toggle,
  .compact-mode-toggle button,
  .compact-mode-counts { flex: 1 1 100%; width: 100%; }
  .compact-supervised-waiting { align-items: stretch; flex-direction: column; }
  .heat-switch-form { padding: 14px 0; border: 0; border-top: 2px solid #c8d0da; border-bottom: 2px solid #c8d0da; }
  .heat-handover-overlay { padding: 10px; }
  .heat-handover-route { gap: 8px; padding: 12px; }
  .heat-handover-route strong { font-size: 20px; }
  .heat-handover-copy { padding: 24px 18px 26px; }
  .heat-handover-actions { grid-template-columns: 1fr; }
  .heat-run-summary { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .heat-run-summary div:last-child { grid-column: 1/-1; }
  .bundle-now-head { align-items: flex-start; flex-direction: column; }
  .locked-profile { width: 100%; flex-wrap: wrap; }
  .locked-profile span { flex: 1; }
  .profile-correction-toggle { width: 100%; }
  .profile-correction-form { grid-template-columns: 1fr; }
  .profile-correction-fields { grid-template-columns: 1fr; }
  .profile-correction-actions { flex-direction: column; }
  .profile-correction-actions button { width: 100%; }
  .one-time-setup { grid-template-columns: 1fr; }
  .bot-profile-setup, .protocol-fields, .protocol-current-state { grid-template-columns: 1fr; }
  .production-weight-number strong { font-size: 75px; }
  .production-weight-number span { font-size: 20px; }
  .enter-save-button { align-items: stretch; flex-direction: column; gap: 8px; }
  .production-alert { align-items: flex-start; flex-direction: column; }
  .awr-intro { align-items: flex-start; flex-direction: column; }
  .awr-filters, .awr-summary { grid-template-columns: 1fr; }
}

@media print {
  body:not(.label-print-body) { background: #fff; }
  body:not(.label-print-body) .app-shell { display: block; }
  body:not(.label-print-body) .sidebar,
  body:not(.label-print-body) .topbar,
  body:not(.label-print-body) .report-breadcrumb,
  body:not(.label-print-body) .report-actions,
  body:not(.label-print-body) .ticket-link { display: none !important; }
  body:not(.label-print-body) .page-content { max-width: none; padding: 0; }
  body:not(.label-print-body) .heat-report-hero { color: #101b2d; border: 2px solid #333; background: #fff; box-shadow: none; }
  body:not(.label-print-body) .heat-report-title p,
  body:not(.label-print-body) .heat-report-title span { color: #333; }
  body:not(.label-print-body) .report-summary-grid article,
  body:not(.label-print-body) .panel { box-shadow: none; break-inside: avoid; }
  body:not(.label-print-body) .heat-report-grid { grid-template-columns: 1fr; }
}
/* Weighing mode separation — operator / AWR / emergency */
.weighing-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.mode-choice-form{margin:0}.mode-choice{width:100%;min-height:92px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:15px 18px;border:3px solid #93a7bc;border-radius:13px;background:#fff;color:#132b46;text-decoration:none;text-align:left;cursor:pointer;font:inherit;box-sizing:border-box}.mode-choice small{font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mode-choice strong{font-size:1.16rem}.mode-choice span{font-size:.82rem;font-weight:700;opacity:.78}.mode-choice.operator-choice{border-color:#2878b5;background:#eef7ff}.mode-choice.automatic-choice{border-color:#15915e;background:#effcf5}.mode-choice.emergency-choice{border-color:#dc7020;background:#fff5eb}.mode-choice.active{box-shadow:0 0 0 4px rgba(14,43,72,.12),0 9px 18px rgba(14,43,72,.13);transform:translateY(-1px)}.mode-choice.disabled{filter:grayscale(.5);opacity:.62;cursor:not-allowed}.mode-state-warning{display:flex;gap:10px;align-items:center;padding:13px 17px;margin:-4px 0 16px;border:2px solid;border-radius:10px}.mode-state-warning.automatic{border-color:#15915e;background:#e8f9f0;color:#075c39}.mode-state-warning.operator{border-color:#dc7020;background:#fff1e5;color:#8a3e08}.operator-mode-page .production-action-card{border-top:7px solid #2878b5}.automatic-mode-page .production-action-card{border-top:7px solid #15915e}.emergency-manual-page{max-width:1220px}.emergency-manual-card{border-top:8px solid #dc7020}.emergency-manual-card>header{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid #bdc9d4}.emergency-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#dc7020;color:#fff;font-size:1.5rem;font-weight:900}.emergency-manual-card header h2{margin:2px 0 0}.not-enabled-badge{margin-left:auto;padding:9px 13px;border:2px solid #b33b31;border-radius:9px;background:#ffe9e7;color:#92251d}.emergency-manual-card .alert{margin:20px 0;display:flex;flex-direction:column;gap:5px}.emergency-field-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.emergency-field-preview label{display:flex;flex-direction:column;gap:7px;font-weight:800}.emergency-field-preview input,.emergency-field-preview select{min-height:48px;border:2px solid #9daaba;border-radius:8px;background:#edf1f5}.emergency-safety-note{margin:18px 0 0;padding:13px;border-left:5px solid #dc7020;background:#fff5eb;font-weight:750}.emergency-nav{border-color:rgba(226,116,38,.6)!important}@media(max-width:900px){.weighing-mode-switch,.emergency-field-preview{grid-template-columns:1fr}.mode-choice{min-height:78px}.mode-state-warning{align-items:flex-start;flex-direction:column}}

/* Navigation repair: long Georgian labels, short screens, and mobile menu. */
.app-shell { grid-template-columns: 280px minmax(0,1fr); }
.sidebar { z-index: 1000; min-height: 0; overflow: hidden; padding: 20px 14px 14px; }
.brand { flex: 0 0 auto; padding: 0 8px 18px; }
.brand > span:last-child { min-width: 0; }
.brand strong, .brand small { overflow-wrap: anywhere; }
.sidebar nav {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 16px;
  margin-bottom: 10px;
  padding-right: 5px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.45) transparent;
}
.sidebar nav::-webkit-scrollbar { width: 7px; }
.sidebar nav::-webkit-scrollbar-thumb { border-radius: 8px; background: rgba(255,255,255,.4); }
.nav-item {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 9px;
  min-height: 47px;
  padding: 9px 10px;
  font-size: 13px;
  line-height: 1.28;
}
.nav-item .nav-icon { display: grid; width: 38px; min-width: 38px; place-items: center; font-size: 14px; font-weight: 900; }
.nav-item .nav-label { display: block; width: auto; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.sidebar-foot { flex: 0 0 auto; margin-top: 0; padding: 12px 8px 3px; }
.menu-toggle, .sidebar-scrim { display: none; }
.menu-toggle {
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 2px solid #233f60;
  border-radius: 8px;
  color: #fff;
  background: var(--steel);
  font-weight: 850;
}
.menu-toggle span { font-size: 20px; line-height: 1; }
.topbar > div:first-of-type { min-width: 0; }
.topbar h1 { overflow-wrap: anywhere; }

@media (max-width: 1100px) {
  .app-shell { display: block; }
  .workspace { width: 100%; }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(330px,88vw);
    height: 100dvh;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 15px 0 45px rgba(4,15,28,.45);
  }
  .menu-toggle { display: inline-flex; }
  .sidebar-scrim {
    position: fixed;
    z-index: 990;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(7,18,31,.58);
  }
  body.nav-open { overflow: hidden; }
  body.nav-open .sidebar { transform: translateX(0); }
  body.nav-open .sidebar-scrim { display: block; }
  .topbar { display: grid; grid-template-columns: auto minmax(0,1fr); min-height: 86px; padding: 14px 20px; }
  .top-actions { grid-column: 1/-1; justify-content: flex-start; }
}

@media (max-width: 760px) {
  .sidebar { position: fixed; height: 100dvh; padding: 16px 13px; border-right: 4px solid #0f1f33; border-bottom: 0; }
  .sidebar nav { grid-template-columns: 1fr; margin-top: 14px; }
  .nav-item { justify-content: initial; min-height: 47px; padding: 9px 10px; font-size: 13px; }
  .nav-item .nav-icon { display: grid; }
  .sidebar-foot { display: flex; }
  .topbar { align-items: center; padding: 12px 14px; }
  .topbar h1 { font-size: clamp(20px,6vw,27px); }
  .top-actions { gap: 7px; }
  .language-switcher a { min-width: 32px; padding: 6px; }
  .logout { padding: 9px 11px; }
}

/* Simplified administrator navigation and grouped Setup tools. */
@media (min-width: 1101px) {
  .app-shell { grid-template-columns: 260px minmax(0,1fr); }
  .sidebar { padding: 22px 14px 15px; }
  .sidebar nav { gap: 8px; }
  .nav-item { min-height: 52px; font-size: 14px; }
}
.setup-page { max-width: 1180px; }
.setup-intro {
  margin-bottom: 18px;
  padding: 25px 27px;
  border: 3px solid #17304d;
  border-left: 9px solid var(--orange);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg,#152942,#285374);
  box-shadow: 0 9px 22px rgba(20,37,59,.2);
}
.setup-intro small { color: #ffb49a; font-size: 10px; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.setup-intro h2 { margin: 5px 0 7px; font-size: 28px; }
.setup-intro p { max-width: 760px; margin: 0; color: #dce8f4; font-size: 13px; font-weight: 700; }
.setup-tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.setup-tool-card {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  min-height: 116px;
  padding: 18px;
  border: 2px solid #8b9caf;
  border-top: 6px solid var(--blue);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(20,37,59,.11);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.setup-tool-card:hover { transform: translateY(-2px); border-color: #2a6fa8; box-shadow: 0 11px 24px rgba(20,37,59,.17); }
.setup-tool-icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 10px; color: #fff; background: var(--steel); font-size: 16px; font-weight: 950; }
.setup-tool-copy { min-width: 0; }
.setup-tool-copy strong, .setup-tool-copy small { display: block; }
.setup-tool-copy strong { margin-bottom: 5px; color: #142a45; font-size: 17px; }
.setup-tool-copy small { color: #53657a; font-size: 11px; font-weight: 700; line-height: 1.5; }
.setup-tool-open { color: var(--orange-dark); font-size: 25px; font-weight: 950; }
@media (max-width: 760px) {
  .setup-tool-grid { grid-template-columns: 1fr; }
  .setup-tool-card { grid-template-columns: 48px minmax(0,1fr) auto; min-height: 100px; padding: 14px; }
  .setup-tool-icon { width: 48px; height: 48px; }
  .setup-intro { padding: 20px; }
}
