:root {
  color-scheme: light;
  --navy-950: #061f33;
  --navy-900: #0a3150;
  --navy-800: #174765;
  --navy-700: #285d78;
  --orange-600: #b94718;
  --orange-500: #b94718;
  --orange-300: #f2a17f;
  --orange-100: #fff1eb;
  --slate-900: #18212f;
  --slate-700: #465467;
  --slate-600: #627084;
  --slate-500: #667180;
  --slate-300: #d5dce5;
  --slate-200: #e5eaf0;
  --slate-100: #f2efec;
  --slate-50: #faf7f4;
  --green-700: #3c7437;
  --green-100: #e8f6ee;
  --amber-700: #9a6511;
  --amber-100: #fff4d8;
  --red-700: #b43939;
  --red-100: #fdeaea;
  --white: #fff;
  --shadow-sm: 0 1px 2px rgba(15, 30, 50, 0.06), 0 4px 14px rgba(15, 30, 50, 0.04);
  --shadow-lg: 0 22px 60px rgba(11, 23, 40, 0.2);
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 22px;
}

/* Command cockpit: large top-level cards with focused secondary controls */
.command-workspace {
  display: block;
  width: min(1700px, 100%);
}
.command-workspace > * { min-width: 0; }
.command-top-navigation { margin-bottom: 28px; }
.command-category-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; }
.command-category-card { display: grid; min-height: 90px; align-content: center; gap: 6px; padding: 15px 14px; color: var(--navy-900); background: var(--white); border: 1px solid var(--slate-300); border-radius: 12px; box-shadow: var(--shadow-sm); cursor: pointer; text-align: left; }
.command-category-card:hover { border-color: var(--orange-500); transform: translateY(-1px); }
.command-category-card strong { font-size: .83rem; }
.command-category-card small { color: var(--slate-500); font-size: .64rem; line-height: 1.35; }
.command-category-card.active { color: var(--white); background: var(--orange-600); border-color: var(--orange-600); box-shadow: 0 7px 18px rgba(183, 67, 26, .2); }
.command-category-card.active small { color: #fff3ed; }
.danger-boundary { color: var(--red-700); background: var(--red-100); border-color: #efb8b8; }
.resilience-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.resilience-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.resilience-control-list { display: grid; gap: 8px; }
.resilience-control-list article { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--slate-200); }
.resilience-control-list article:last-child { border-bottom: 0; }
.resilience-control-list article > .pill { justify-self: start; }
.resilience-control-list strong { color: var(--slate-900); font-size: .75rem; }
.resilience-control-list p { margin: 4px 0 0; color: var(--slate-600); font-size: .65rem; line-height: 1.45; }
.resilience-control-list.compact { max-height: 460px; overflow-y: auto; }
.backup-target-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.backup-target-card { display: grid; align-content: start; gap: 14px; }
.backup-target-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.backup-target-card dl div { display: grid; gap: 3px; padding: 9px; background: var(--slate-50); border-radius: 8px; }
.backup-target-card dt { color: var(--slate-500); font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.backup-target-card dd { margin: 0; color: var(--slate-900); font-size: .68rem; }
.backup-target-card > p { margin: 0; color: var(--slate-600); font-size: .65rem; line-height: 1.45; }
.backup-target-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.backup-target-form .checkbox-row, .backup-target-form button { grid-column: 1 / -1; }
.command-subtabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 2px 0; border-bottom: 2px solid var(--orange-100); }
.command-subtab { display: flex; min-height: 39px; align-items: center; gap: 8px; padding: 8px 15px; color: var(--slate-600); background: transparent; border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-size: .7rem; font-weight: 800; }
.command-subtab:hover, .command-subtab.active { color: var(--orange-600); border-bottom-color: var(--orange-600); }
.command-subtab b { min-width: 21px; padding: 2px 6px; color: var(--orange-600); background: var(--orange-100); border-radius: 999px; font-size: .58rem; text-align: center; }
.command-left-rail {
  position: sticky;
  top: 94px;
  grid-column: 1;
  grid-row: 1 / span 100;
  align-self: start;
  min-height: calc(100vh - 150px);
  padding: 8px 24px 28px 0;
  border-right: 1px solid var(--slate-200);
}
.command-rail-title {
  display: block;
  margin-bottom: 18px;
  color: var(--slate-500);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.command-rail-group { display: grid; gap: 2px; margin-bottom: 16px; }
.command-rail-group > strong { padding: 5px 0; color: var(--slate-900); font-size: .75rem; }
.command-rail-link {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 0 5px 13px;
  color: var(--slate-600);
  background: transparent;
  border: 0;
  text-align: left;
  font-size: .72rem;
  cursor: pointer;
}
.command-rail-link:hover, .command-rail-link.active { color: #01696f; }
.command-rail-link.active { font-weight: 800; }
.command-rail-link b { min-width: 19px; padding: 2px 5px; color: var(--slate-500); background: var(--slate-100); border-radius: 999px; font-size: .58rem; text-align: center; }
.command-rail-link.active b { color: #01696f; background: #e8f4f3; }
.software-section-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 28px; }
.software-section-tab { display: grid; min-height: 96px; align-content: center; gap: 7px; padding: 18px 20px; color: var(--navy-900); background: var(--white); border: 1px solid var(--slate-300); border-radius: 12px; box-shadow: var(--shadow-sm); cursor: pointer; text-align: left; }
.software-section-tab strong { font-size: 1rem; }
.software-section-tab small { color: var(--slate-500); font-size: .69rem; }
.software-section-tab:hover { border-color: var(--orange-500); }
.software-section-tab.active { color: var(--white); background: var(--orange-600); border-color: var(--orange-600); }
.software-section-tab.active small { color: #fff3ed; }
.factory-directory-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .45fr); gap: 18px; margin-bottom: 18px; }
.factory-directory-map { position: relative; min-height: 540px; overflow: hidden; background: #eef2f3; border: 2px solid var(--navy-900); border-radius: 16px; }
.factory-map-dot { width: 20px; height: 20px; background: var(--orange-600); border: 3px solid var(--white); box-shadow: 0 2px 8px rgba(10,49,80,.35); }
.factory-map-dot span { position: absolute; top: 22px; left: 50%; padding: 3px 6px; color: var(--navy-900); background: rgba(255,255,255,.94); border-radius: 4px; font-size: .55rem; font-weight: 900; transform: translateX(-50%); white-space: nowrap; }
.factory-map-dot.factory-status-coming_soon, .factory-map-dot.factory-status-being_built { background: #e7a126; }
.factory-map-dot.factory-status-on_hold, .factory-map-dot.factory-status-down, .factory-map-dot.factory-status-inactive { background: var(--red-700); }
.factory-map-dot.selected { width: 26px; height: 26px; box-shadow: 0 0 0 5px rgba(226,88,34,.2), 0 3px 10px rgba(10,49,80,.35); }
.factory-map-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; padding: 10px 12px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px; }
.factory-map-legend span { display: flex; align-items: center; gap: 6px; color: var(--slate-700); font-size: .67rem; font-weight: 750; }
.factory-map-legend i { width: 10px; height: 10px; background: var(--green-700); border-radius: 50%; }
.factory-map-legend i.planned { background: #e7a126; }
.factory-map-legend i.offline { background: var(--red-700); }
.factory-directory-detail { align-self: stretch; padding: 24px; }
.factory-directory-detail h2 { margin: 7px 0 10px; color: var(--navy-900); font-size: 1.65rem; }
.factory-directory-detail > p { color: var(--slate-600); line-height: 1.55; }
.factory-directory-detail dl { display: grid; gap: 0; margin: 22px 0 0; }
.factory-directory-detail dl div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-top: 1px solid var(--slate-200); }
.factory-directory-detail dt { color: var(--slate-500); font-size: .7rem; }
.factory-directory-detail dd { margin: 0; color: var(--navy-900); font-size: .75rem; font-weight: 850; text-align: right; }
.factory-location-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.factory-location-card { display: grid; min-height: 110px; align-content: center; gap: 5px; padding: 16px; color: var(--navy-900); background: var(--white); border: 1px solid var(--slate-300); border-radius: 11px; cursor: pointer; text-align: left; }
.factory-location-card span { color: var(--orange-600); font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.factory-location-card strong { font-size: .9rem; }
.factory-location-card small { color: var(--slate-500); font-size: .66rem; }
.factory-location-card.selected { border-color: var(--orange-600); box-shadow: inset 0 0 0 2px var(--orange-600); }
.command-page-head {
  display: flex;
  min-height: 72px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  padding: 4px 0 22px;
  border-bottom: 1px solid var(--slate-200);
}
.command-page-head h2 { margin: 0; color: #1a1a1a; font-size: clamp(1.45rem, 2.2vw, 2rem); letter-spacing: -.03em; }
.command-page-head h2 span { margin-left: 8px; color: #999; font-size: .72em; font-weight: 400; }
.command-page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.command-page-actions .button.primary, .command-flat-section .button.primary { background: #01696f; border-color: #01696f; }
.command-page-actions .button.compact, .command-flat-section .button.compact { min-height: 31px; padding: 6px 12px; font-size: .66rem; }
.command-flat-section { margin-bottom: 34px; }
.command-flat-section > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--slate-200);
  color: var(--slate-600);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.command-flat-section > header b { color: #999; font-size: .64rem; font-weight: 600; }
.command-flat-table { width: 100%; border-collapse: collapse; color: #272727; font-size: .73rem; }
.command-flat-table th { padding: 11px 10px 11px 0; color: #888; border-bottom: 1px solid #ececec; text-align: left; font-size: .61rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.command-flat-table td { padding: 12px 10px 12px 0; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.command-flat-table tbody tr:hover td { background: #fafafa; }
.command-flat-table td > strong, .command-flat-table td > small { display: block; }
.command-flat-table td > small { margin-top: 2px; color: #8a8a8a; font-size: .63rem; }
.command-mono { color: #777; font-family: "SFMono-Regular", Consolas, monospace; font-size: .67rem; }
.command-muted { color: #999; font-size: .66rem; }
.command-danger { color: #b42323; font-weight: 800; }
.command-status { display: inline-flex; align-items: center; gap: 7px; color: #555; font-size: .68rem; font-weight: 750; }
.command-status i, .command-equipment-tile small i, .command-device-node > i { width: 7px; height: 7px; background: #bbb; border-radius: 50%; }
.command-status.working i, .command-equipment-tile small i.working, .command-device-node > i { background: #22a06b; }
.command-status.lunch i, .command-status.break i, .command-equipment-tile small i.attention { background: #d4a017; }
.command-status.attention i { background: #d13b3b; }
.command-status.off i, .command-equipment-tile small i.off { background: #bbb; }
.command-empty-row, .command-inline-empty { padding: 22px 0 !important; color: var(--slate-500); font-size: .72rem; font-style: italic; }
.command-inline-empty { border-bottom: 1px solid var(--slate-100); }
.command-people-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: -4px 0 24px; padding: 20px 22px; background: #fffaf7; border: 1px solid #f3dfd6; border-left: 4px solid var(--orange-600); border-radius: 9px; }
.command-people-intro h3 { margin: 4px 0 5px; font-size: 1.05rem; }
.command-people-intro p { max-width: 760px; margin: 0; color: var(--slate-600); font-size: .73rem; line-height: 1.55; }
.command-employee-create, .command-facility-create { margin-bottom: 30px; padding: 0; overflow: hidden; }
.command-employee-create > summary, .command-facility-create > summary { padding: 16px 20px; color: #fff; background: var(--orange-600); font-size: .78rem; font-weight: 850; cursor: pointer; list-style: none; }
.command-employee-create > summary::-webkit-details-marker, .command-facility-create > summary::-webkit-details-marker, .employee-access-editor > summary::-webkit-details-marker { display: none; }
.command-employee-form, .command-facility-form { display: grid; gap: 0; padding: 0 20px 20px; }
.command-employee-form > section { padding: 18px 0; border-bottom: 1px solid var(--slate-200); }
.command-employee-form h4, .command-employee-form h5 { margin: 0 0 8px; color: var(--slate-900); }
.command-employee-form h4 { font-size: .8rem; }
.command-employee-form h5 { margin-top: 15px; font-size: .7rem; }
.command-employee-form section > p { margin: 0 0 10px; color: var(--slate-600); font-size: .68rem; }
.command-employee-form footer { display: flex; justify-content: flex-end; padding-top: 18px; }
.command-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 8px; }
.command-choice { position: relative; display: flex; min-height: 44px; align-items: center; padding: 9px 11px; color: var(--slate-700); background: #fff; border: 1px solid var(--slate-300); border-radius: 7px; cursor: pointer; }
.command-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.command-choice span { display: grid; gap: 2px; font-size: .69rem; font-weight: 750; }
.command-choice small { color: var(--slate-500); font-size: .58rem; font-weight: 550; }
.command-choice.selected { color: #a63b13; background: var(--orange-100); border-color: var(--orange-500); box-shadow: inset 3px 0 var(--orange-600); }
.command-choice-grid.green .command-choice.selected, .command-choice-grid.devices .command-choice.selected { color: #17633f; background: var(--green-100); border-color: #74b990; box-shadow: inset 3px 0 #3c8a5e; }
.command-switch { display: inline-flex; align-items: center; gap: 9px; font-size: .7rem; font-weight: 750; }
.command-switch input { accent-color: var(--orange-600); }
.command-employee-form .command-security-note { margin: 8px 0 12px !important; padding: 0; color: var(--slate-500) !important; background: transparent; border: 0; font-size: .64rem !important; }
.command-mini-role { display: inline-block; margin: 2px 3px 2px 0; padding: 3px 6px; color: #a63b13; background: var(--orange-100); border-radius: 999px; font-size: .56rem; font-weight: 800; }
.command-roster-table .employee-access-editor > summary { padding: 6px 9px; color: #01696f; background: #edf8f7; border: 1px solid #c8e4e2; border-radius: 6px; font-size: .63rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.command-roster-table .employee-access-editor[open] { position: relative; }
.command-roster-table .employee-access-editor[open] > .command-employee-form { position: absolute; z-index: 12; right: 0; width: min(900px, calc(100vw - 330px)); max-height: 75vh; overflow: auto; background: #fff; border: 1px solid var(--slate-300); border-radius: 10px; box-shadow: var(--shadow-lg); }
.command-biometric-row { display: grid; grid-template-columns: 120px 140px 1fr; gap: 12px; align-items: center; padding: 10px 0; color: var(--slate-600); font-size: .66rem; }
.command-biometric-row b { color: var(--slate-900); }
.command-signin-list { display: grid; gap: 4px; }
.command-signin-list > div { display: grid; grid-template-columns: minmax(170px, 1fr) 100px 80px; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--slate-100); color: var(--slate-600); font-size: .63rem; }
.command-signin-list em { font-style: normal; font-weight: 800; }
.command-signin-list em.good { color: var(--green-700); }
.command-signin-list em.bad { color: var(--red-700); }
.command-facility-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px; margin-bottom: 26px; }
.command-facility-card { overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-top: 4px solid var(--slate-300); border-radius: 9px; box-shadow: var(--shadow-sm); }
.command-facility-card.active { border-top-color: #3c8a5e; }
.command-facility-card.coming_soon { border-top-color: var(--orange-500); }
.command-facility-card > header { display: flex; justify-content: space-between; gap: 12px; padding: 16px 16px 11px; }
.command-facility-card h3 { margin: 4px 0 0; font-size: .92rem; }
.command-facility-code { color: var(--slate-500); font: 700 .58rem "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; }
.command-facility-card dl { display: grid; gap: 10px; margin: 0; padding: 0 16px 16px; }
.command-facility-card dl div { display: grid; grid-template-columns: 72px 1fr; gap: 9px; }
.command-facility-card dt { color: var(--slate-500); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.command-facility-card dd { margin: 0; color: var(--slate-700); font-size: .68rem; }
.command-facility-card > details { border-top: 1px solid var(--slate-200); }
.command-facility-card > details > summary { padding: 11px 16px; color: #01696f; font-size: .66rem; font-weight: 800; cursor: pointer; }
.command-facility-form { gap: 14px; padding-top: 16px; }
.command-check-legend { display: flex; flex-wrap: wrap; gap: 22px; margin: -8px 0 24px; color: var(--slate-600); font-size: .66rem; }
.command-check-legend span { display: inline-flex; align-items: center; gap: 6px; }
.command-check-legend i { width: 11px; height: 11px; border: 1px solid var(--slate-200); border-radius: 3px; }
.command-check-legend i.overdue { background: #fdeaea; }
.command-check-legend i.today { background: #fff4d8; }
.command-check-legend i.upcoming { background: #fbfbfb; }
.command-check-row.overdue td { background: #fff0f0; }
.command-check-row.today td { background: #fff7df; }
.command-check-row.upcoming td { background: #fffdf6; }
.command-equipment-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 22px; padding-top: 18px; }
.command-equipment-tile { display: grid; min-width: 0; gap: 7px; padding: 10px; color: #202020; background: #fff; border: 1px solid var(--slate-200); border-radius: 9px; text-align: left; }
.command-equipment-open { display: grid; gap: 6px; padding: 0; color: inherit; background: transparent; border: 0; text-align: left; cursor: pointer; }
.command-equipment-image { position: relative; display: grid; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; color: #fff; background: #3d505c; border-radius: 6px; }
.command-equipment-image img { width: 100%; height: 100%; object-fit: cover; }
.command-equipment-image b { font-size: .72rem; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.command-equipment-image em { position: absolute; top: 10px; right: 10px; padding: 4px 8px; color: #fff; background: #dc4d1f; border-radius: 999px; font-size: .61rem; font-style: normal; font-weight: 800; }
.command-equipment-open > strong { margin-top: 3px; font-size: .87rem; }
.command-equipment-open > small { display: flex; align-items: center; gap: 6px; color: #888; font-size: .67rem; }
.command-equipment-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.command-equipment-pills i { padding: 3px 6px; color: #56616f; background: #f1f3f5; border-radius: 999px; font-size: .57rem; font-style: normal; font-weight: 800; }
.command-equipment-pills i.working { color: #16714b; background: #e7f5ee; }
.command-equipment-pills i.attention { color: #8b6508; background: #fff3cf; }
.command-equipment-pills i.off { color: #a52b22; background: #fbe9e7; }
.command-equipment-check { padding: 7px 9px; color: #0f6f79; background: #f0fbfc; border: 1px solid #9dcdd1; border-radius: 6px; font-size: .63rem; font-weight: 850; }
.command-equipment-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 10px; background: #fff; border: 1px solid var(--slate-200); border-radius: 9px; }
.command-equipment-filters button { display: flex; align-items: center; gap: 6px; padding: 7px 10px; color: #596474; background: #f5f6f7; border: 1px solid #e1e5e8; border-radius: 7px; font-size: .65rem; font-weight: 800; }
.command-equipment-filters button.active { color: #fff; background: #0f6f79; border-color: #0f6f79; }
.command-equipment-filters span { display: grid; min-width: 18px; height: 18px; place-items: center; background: rgb(255 255 255 / 24%); border-radius: 999px; font-size: .56rem; }
.command-equipment-detail { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(320px, 1.1fr); gap: 28px; margin-bottom: 34px; }
.command-equipment-photo { display: grid; min-height: 280px; place-items: center; overflow: hidden; color: #fff; background: #3d505c; border-radius: 8px; }
.command-equipment-photo img { width: 100%; height: 100%; object-fit: cover; }
.command-equipment-photo div { display: grid; gap: 7px; text-align: center; }
.command-equipment-photo strong { font-size: 1rem; text-transform: uppercase; }
.command-equipment-photo span { color: #d6e0e5; font-size: .7rem; }
.command-equipment-facts { padding: 12px 0; }
.command-equipment-facts dl { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 30px; margin-top: 24px; }
.command-equipment-facts dl div { display: grid; gap: 3px; }
.command-equipment-facts dt { color: #999; font-size: .62rem; text-transform: uppercase; }
.command-equipment-facts dd { margin: 0; font-size: .75rem; }
.command-inventory-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 34px; align-items: start; }
.command-scan-bar { grid-column: 2; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 72px; margin-bottom: 28px; padding: 12px 20px; color: #01696f; background: #f2fbfa; border: 2px solid #01696f; border-radius: 10px; }
.command-scan-bar > span { font-size: 1.8rem; }
.command-scan-bar input { min-width: 0; padding: 10px 0; background: transparent; border: 0; outline: 0; font: 1rem "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; }
.command-scan-bar b { color: #22a06b; font-size: .64rem; white-space: nowrap; }
.command-label-preview { position: sticky; top: 98px; display: grid; gap: 14px; padding: 20px; background: #fcfcfc; border: 1px solid var(--slate-200); border-radius: 9px; }
.command-label-preview > span { color: var(--slate-600); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.command-label-preview > em { color: #a06d12; font-size: .63rem; font-style: normal; text-align: center; }
.command-label-paper { display: grid; gap: 5px; min-height: 170px; padding: 20px; background: #fff; border: 1px dashed #aaa; }
.command-label-paper strong { font-size: .84rem; }
.command-label-paper b, .command-label-paper small { font-size: .67rem; }
.command-barcode { height: 50px; margin-bottom: 4px; background: repeating-linear-gradient(90deg, #111 0 2px, transparent 2px 5px, #111 5px 8px, transparent 8px 11px); }
.command-connection-list { display: grid; }
.command-connection-row { display: grid; grid-template-columns: 130px minmax(180px, 1fr) minmax(150px, .55fr) 80px 120px; gap: 12px; align-items: center; min-height: 68px; border-bottom: 1px solid #efefef; }
.command-system-node { display: grid; min-height: 36px; place-items: center; color: #fff; background: #191919; border-radius: 6px; font-family: "SFMono-Regular", Consolas, monospace; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.command-connection-line { display: flex; align-items: center; gap: 12px; color: #01696f; }
.command-connection-line i { flex: 1; height: 2px; background: currentColor; }
.command-connection-row.offline .command-connection-line { color: #d13b3b; }
.command-device-node { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; }
.command-device-node > i { grid-row: 1 / span 2; }
.command-device-node strong { color: #666; font-size: .7rem; }
.command-device-node small { color: #aaa; font-size: .59rem; }
.command-connection-row.idle .command-device-node > i { background: #d4a017; }
.command-connection-row.offline .command-device-node > i { background: #d13b3b; }
.command-heartbeat { color: #d96d6d; font-size: .65rem; letter-spacing: .2em; }
.command-connection-row:not(.offline) .command-heartbeat { animation: commandPulse 1.3s ease-in-out infinite; }
.command-connection-row.offline .command-heartbeat { color: #bbb; animation: none; }
.command-vpn { justify-self: end; padding: 4px 8px; background: #eee; border-radius: 999px; color: #777; font-size: .58rem; font-weight: 800; }
.command-vpn.on { color: #1e7a52; background: #e6f4ee; }
.command-vpn.off { color: #a12626; background: #fbe6e6; }
.command-security-note { padding: 12px 14px; color: #4a5968; background: #f5f8fa; border-left: 3px solid #01696f; font-size: .68rem; line-height: 1.5; }
@keyframes commandPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

@media (max-width: 1250px) {
  .command-equipment-grid { grid-template-columns: repeat(3, minmax(170px, 1fr)); }
  .command-connection-row { grid-template-columns: 105px minmax(120px, 1fr) minmax(130px, .6fr) 65px 105px; }
}
@media (max-width: 900px) {
  .command-workspace { display: block; }
  .command-left-rail { position: static; display: flex; min-height: 0; gap: 8px; overflow-x: auto; margin-bottom: 24px; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .command-rail-title { display: none; }
  .command-rail-group { display: flex; flex: 0 0 auto; margin: 0; }
  .command-rail-group > strong { display: none; }
  .command-rail-link { min-height: 36px; padding: 7px 10px; background: #fafafa; border: 1px solid var(--slate-200); border-radius: 7px; }
  .command-equipment-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .command-equipment-detail, .command-inventory-layout { grid-template-columns: 1fr; }
  .command-label-preview { position: static; }
  .command-connection-row { grid-template-columns: 82px minmax(100px, 1fr) minmax(110px, .7fr) 95px; }
  .command-heartbeat { display: none; }
  .command-choice-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .command-facility-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .command-page-head { align-items: stretch; flex-direction: column; }
  .command-page-actions { justify-content: flex-start; }
  .command-page-actions .button { flex: 1 1 140px; }
  .command-equipment-grid { grid-template-columns: 1fr; }
  .command-equipment-facts dl { grid-template-columns: 1fr; }
  .command-scan-bar { grid-template-columns: auto minmax(0, 1fr); }
  .command-scan-bar b { grid-column: 1 / -1; }
  .command-connection-row { grid-template-columns: 72px minmax(85px, 1fr) minmax(95px, 1fr); }
  .command-vpn { display: none; }
  .command-people-intro { flex-direction: column; }
  .command-choice-grid, .command-facility-grid { grid-template-columns: 1fr; }
  .command-roster-table .employee-access-editor[open] > .command-employee-form { position: fixed; inset: 70px 10px 10px; width: auto; }
}

.orbit-rulebook { display: grid; gap: 18px; margin-bottom: 22px; }
.orbit-rulebook .panel-head { align-items: flex-start; }
.orbit-rulebook-lock { display: flex; align-items: flex-end; gap: 7px; flex-direction: column; }
.orbit-rulebook-lock code { color: var(--slate-500); font-size: 11px; letter-spacing: .06em; }
.orbit-package-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.orbit-package-strip span { display: flex; align-items: center; gap: 7px; min-height: 52px; padding: 10px 12px; border: 1px solid #dce9de; border-radius: 10px; background: #f4fbf5; color: var(--slate-700); font-size: 12px; font-weight: 700; }
.orbit-package-strip b { color: #26814d; }
.orbit-source-warning { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid #efc66e; border-radius: 10px; background: #fff8e8; color: #6f4b05; }
.orbit-source-warning span { font-size: 12px; }
.orbit-stage-list { display: grid; gap: 8px; }
.orbit-stage-list details { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 11px; background: #fff; }
.orbit-stage-list summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; cursor: pointer; list-style: none; }
.orbit-stage-list summary::-webkit-details-marker { display: none; }
.orbit-stage-list summary > span { display: flex; align-items: center; gap: 11px; min-width: 0; }
.orbit-stage-list summary > span > b { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; background: #f3e8e2; color: var(--orange-700); }
.orbit-stage-list summary span span { display: grid; gap: 2px; }
.orbit-stage-list summary small { color: var(--slate-500); font-size: 12px; font-weight: 400; }
.orbit-stage-list summary em { flex: 0 0 auto; color: var(--slate-500); font-size: 12px; font-style: normal; }
.orbit-rule-list { border-top: 1px solid var(--slate-200); background: #fafafa; }
.orbit-rule-list article { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 15px; border-bottom: 1px solid var(--slate-200); }
.orbit-rule-list article:last-child { border-bottom: 0; }
.orbit-rule-list article div { display: grid; gap: 3px; }
.orbit-rule-list article small { color: var(--slate-500); line-height: 1.45; }

@media (max-width: 900px) {
  .orbit-package-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ORBIT lives inside the shared customer / TTBS job card. */
.orbit-job-live-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px; background: #12263f; color: #fff; }
.orbit-job-live-head h3 { margin: 3px 0; color: #fff; font-size: 1rem; }
.orbit-job-live-head p { margin: 0; color: #dbe5ef; font-size: .66rem; line-height: 1.5; }
.orbit-job-live-head > div:last-child { display: flex; align-items: flex-end; gap: 8px; flex-direction: column; }
.orbit-job-live-head .original-dark-button { color: #12263f; background: #fff; border-color: #fff; }
.orbit-job-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); border-bottom: 1px solid #e5e9ed; }
.orbit-job-metrics article { padding: 13px 15px; border-right: 1px solid #e5e9ed; }
.orbit-job-metrics strong { display: block; color: #d95622; font-size: 1.2rem; }
.orbit-job-metrics span { color: #687586; font-size: .57rem; font-weight: 800; text-transform: uppercase; }
.orbit-job-import { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .7fr) auto; gap: 12px; align-items: end; margin: 14px; padding: 13px; background: #fff8f4; border: 1px solid #efcfbe; border-radius: 9px; }
.orbit-job-import > div { display: grid; gap: 3px; }
.orbit-job-import strong { color: #12263f; font-size: .73rem; }
.orbit-job-import small { color: #687586; font-size: .61rem; line-height: 1.45; }
.orbit-job-import label, .orbit-job-files form label { display: grid; gap: 5px; color: #687586; font-size: .59rem; font-weight: 800; text-transform: uppercase; }
.orbit-job-import input, .orbit-job-files input { width: 100%; padding: 7px; background: #fff; border: 1px solid #d6dce3; border-radius: 7px; font-size: .62rem; }
.orbit-job-findings { display: grid; gap: 8px; padding: 0 14px 14px; }
.orbit-job-finding { overflow: hidden; border: 1px solid #dde3e8; border-radius: 9px; background: #fff; }
.orbit-job-finding summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; cursor: pointer; list-style: none; }
.orbit-job-finding summary::-webkit-details-marker { display: none; }
.orbit-job-finding summary div { display: grid; gap: 2px; }
.orbit-job-finding summary strong { color: #12263f; font-size: .68rem; }
.orbit-job-finding summary small { color: #596778; font-size: .62rem; line-height: 1.45; }
.orbit-job-finding summary > b { color: #596778; font-size: .58rem; text-transform: uppercase; white-space: nowrap; }
.orbit-job-review-form { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 13px; background: #f7f9fa; border-top: 1px solid #dde3e8; }
.orbit-job-review-form > label { display: grid; gap: 5px; color: #596778; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.orbit-job-review-form select, .orbit-job-review-form input, .orbit-job-review-form textarea { width: 100%; padding: 8px; color: #172438; background: #fff; border: 1px solid #cfd7df; border-radius: 7px; font: inherit; }
.orbit-job-review-form .wide { grid-column: 1 / -1; }
.orbit-review-source { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 1px; background: #dfe5ea; }
.orbit-review-source p { margin: 0; padding: 9px; background: #fff; color: #334155; font-size: .63rem; line-height: 1.45; }
.orbit-review-source span { display: block; color: #7b8796; font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.orbit-review-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.orbit-review-people span { padding: 8px; color: #596778; background: #eef2f5; border-radius: 7px; font-size: .58rem; }
.orbit-review-people b { display: block; color: #172438; text-transform: uppercase; }
.orbit-job-files { margin: 0 14px 14px; overflow: hidden; border: 1px solid #dde3e8; border-radius: 9px; }
.orbit-job-files > header { padding: 12px; background: #f7f9fa; }
.orbit-job-files > header div { display: grid; gap: 3px; }
.orbit-job-files .original-file-row { border-top: 1px solid #edf0f2; }
.orbit-expected-file { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-top: 1px solid #edf0f2; }
.orbit-expected-file > span { color: #d95622; font-size: 1rem; }
.orbit-expected-file div { display: grid; }
.orbit-expected-file strong { font-size: .64rem; }
.orbit-expected-file small { color: #687586; font-size: .58rem; }
.orbit-expected-file b { color: #a45d18; font-size: .56rem; text-transform: uppercase; }
.orbit-job-files form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 12px; background: #fff8f4; border-top: 1px solid #efcfbe; }
.orbit-job-files form > small { grid-column: 1 / -1; color: #687586; font-size: .57rem; }
.orbit-release-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px; padding: 13px; color: #fff; background: #12263f; border-radius: 9px; }
.orbit-release-bar div { display: grid; gap: 3px; }
.orbit-release-bar strong { font-size: .7rem; }
.orbit-release-bar small { color: #dbe5ef; font-size: .58rem; }
.orbit-release-bar button:disabled { opacity: .45; cursor: not-allowed; }
.orbit-report-history { display: grid; gap: 7px; margin: 14px; }
.orbit-report-history > span { color: #687586; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.orbit-report-history a { display: flex; justify-content: space-between; align-items: center; padding: 9px; color: #172438; background: #f7f9fa; border: 1px solid #dde3e8; border-radius: 7px; text-decoration: none; }
.orbit-job-history { margin: 14px; border-top: 1px solid #edf0f2; }
.orbit-runtime-panel, .orbit-selected-job-card { margin-bottom: 18px; }
.orbit-runtime-panel > .validation-note { margin: 0 16px 16px; }
.orbit-install-notice { display: grid; gap: 3px; margin: 0 16px 14px; padding: 11px 13px; border: 1px solid #c9dae7; border-radius: 8px; background: #f3f8fc; }
.orbit-install-notice strong { color: #173b5b; font-size: .7rem; }
.orbit-install-notice span { color: #5f7182; font-size: .62rem; line-height: 1.45; }
.orbit-computer-list { display: grid; gap: 10px; margin: 0 16px 14px; }
.orbit-computer-card { overflow: hidden; border: 1px solid #d9e0e6; border-radius: 9px; background: #fff; }
.orbit-computer-card > summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; cursor: pointer; background: #f8fafb; }
.orbit-computer-card > summary > span:first-child { display: grid; gap: 3px; }
.orbit-computer-card > summary strong { color: #172438; font-size: .76rem; }
.orbit-computer-card > summary small { color: #687586; font-size: .62rem; }
.orbit-computer-programs { display: grid; }
.orbit-program-row { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto auto; gap: 10px; align-items: center; padding: 10px 13px; border-top: 1px solid #edf0f2; }
.orbit-program-row > div { display: grid; gap: 3px; }
.orbit-program-row strong { color: #172438; font-size: .7rem; }
.orbit-program-row small { color: #687586; font-size: .6rem; line-height: 1.4; }
.orbit-download-link { display: inline-flex; min-height: 32px; padding: 6px 10px; align-items: center; justify-content: center; text-decoration: none; font-size: .64rem; }
.orbit-program-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 16px 14px; overflow: hidden; border: 1px solid #dfe5ea; border-radius: 9px; background: #dfe5ea; }
.orbit-program-catalog-head { grid-column: 1 / -1; display: grid; gap: 3px; padding: 11px 13px; background: #f8fafb; }
.orbit-program-catalog-head strong { color: #172438; font-size: .72rem; }
.orbit-program-catalog-head span { color: #687586; font-size: .61rem; }
.orbit-program-catalog > article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 11px; background: #fff; }
.orbit-program-catalog > article > div { display: grid; gap: 3px; }
.orbit-program-catalog > article strong { color: #172438; font-size: .7rem; }
.orbit-program-catalog > article small { color: #687586; font-size: .6rem; line-height: 1.4; }
.orbit-job-selector { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(260px, 1.25fr) auto; gap: 14px; align-items: end; margin-bottom: 18px; padding: 16px; }
.orbit-job-selector label, .orbit-job-selector > div { display: grid; gap: 5px; }
.orbit-job-selector select { width: 100%; padding: 9px; border: 1px solid #cfd7df; border-radius: 7px; background: #fff; }
.orbit-job-selector strong { color: #172438; font-size: .75rem; }
.orbit-job-selector small { color: #687586; font-size: .62rem; line-height: 1.45; }
.orbit-selected-job-card > .orbit-job-import, .orbit-selected-job-card > .orbit-job-live-head, .orbit-selected-job-card > .orbit-job-metrics { margin-right: 14px; margin-left: 14px; }

.notification-provider-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.login-recovery-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px 14px; margin-top: 14px; }
.login-recovery-actions .text-button, .mfa-login-card > .text-button { color: #075985; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.mfa-login-card, .recovery-login-card { max-height: min(760px, calc(100dvh - 42px)); overflow-y: auto; }
.mfa-login-card > .eyebrow, .recovery-login-card > .eyebrow { display: block; margin-bottom: 5px; color: #075985; text-align: center; }
.mfa-login-card form, .recovery-login-card form { display: grid; gap: 12px; }
.login-form select { width: 100%; min-height: 44px; padding: 10px 12px; color: #172438; background: #fff; border: 1px solid #cad2dc; border-radius: 8px; font: inherit; }
.mfa-enrollment { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #dbe2e8; }
.mfa-enrollment ol { margin: 0; padding-left: 20px; color: #4b5563; font-size: .76rem; line-height: 1.55; }
.mfa-enrollment-secret { display: grid; justify-items: center; gap: 8px; margin-top: 12px; padding: 14px; background: #f3f8fc; border: 1px solid #b9d1e2; border-radius: 10px; }
.mfa-enrollment-secret img { width: min(220px, 100%); aspect-ratio: 1; object-fit: contain; background: #fff; border: 8px solid #fff; border-radius: 8px; }
.mfa-enrollment-secret output { max-width: 100%; overflow-wrap: anywhere; padding: 8px 10px; color: #172438; background: #fff; border: 1px solid #cad2dc; border-radius: 7px; font: 700 .78rem "SFMono-Regular", Consolas, monospace; letter-spacing: .04em; user-select: all; }
.recovery-response { display: grid; justify-items: stretch; gap: 7px; margin-top: 17px; padding: 15px; background: #fff8e8; border: 1px solid #efc66e; border-radius: 10px; }
.recovery-response > p { margin: 0; color: #6f4b05; font-size: .8rem; font-weight: 700; text-align: center; }
.recovery-code { display: block; padding: 12px; color: #172438; background: #fff; border: 2px solid #d97706; border-radius: 9px; font: 900 1.55rem "SFMono-Regular", Consolas, monospace; letter-spacing: .16em; text-align: center; user-select: all; }
.sidebar-user { grid-template-columns: 38px minmax(0, 1fr) auto; }
.sidebar-user .sidebar-sign-out { display: inline-flex; align-items: center; gap: 5px; width: auto; min-width: 84px; padding: 0 8px; color: #991b1b; font-size: .67rem; font-weight: 900; }
.topbar-sign-out { min-height: 38px; padding-inline: 16px; color: #fff; background: #991b1b; border-color: #991b1b; font-weight: 900; }
.topbar-sign-out:hover { background: #7f1d1d; border-color: #7f1d1d; }
.security-center-button { color: #075985; border-color: #7fb3d3; }
.authenticator-dialog { width: min(900px, calc(100vw - 28px)); padding: 24px; }
.authenticator-dialog form { padding: 0; }
.authenticator-status { margin-bottom: 18px; }
.authenticator-factor-list { display: grid; gap: 8px; }
.authenticator-factor-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; background: #f6f8fa; border: 1px solid #dfe5ea; border-radius: 9px; }
.authenticator-factor-list article > div { display: grid; gap: 2px; }
.authenticator-factor-list small, .authenticator-factor-list article > span { color: #64748b; font-size: .7rem; }
.authenticator-management-grid label { display: grid; gap: 6px; margin-top: 10px; color: #374151; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.authenticator-management-grid input, .authenticator-management-grid select { width: 100%; min-height: 42px; padding: 9px 10px; color: #172438; background: #fff; border: 1px solid #cad2dc; border-radius: 8px; }
.recovery-code-once { display: grid; justify-items: center; gap: 8px; margin-top: 12px; padding: 14px; color: #7f1d1d; background: #fff1f2; border: 2px solid #be123c; border-radius: 10px; }
.recovery-code-once output { font: 900 1.5rem "SFMono-Regular", Consolas, monospace; letter-spacing: .14em; user-select: all; }
.wide { width: 100%; }
.notification-create-panel { overflow: hidden; }
.notification-rule-form { display: grid; gap: 20px; padding: 20px; }
.notification-rule-basics { padding-bottom: 4px; }
.notification-builder-section { display: grid; gap: 10px; padding-top: 4px; }
.notification-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 9px; }
.notification-choice { display: grid !important; grid-template-columns: auto minmax(0, 1fr); gap: 10px !important; align-items: start; min-height: 72px; padding: 12px; color: var(--navy-900) !important; background: #fbfcfd; border: 1px solid var(--slate-200); border-radius: 10px; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.notification-choice:has(input:checked) { background: #eef8f4; border-color: #57a78f; box-shadow: inset 0 0 0 1px #57a78f; }
.notification-choice input { width: 16px; height: 16px; margin-top: 2px; accent-color: #0f766e; }
.notification-choice span { display: grid; gap: 3px; }
.notification-choice strong { font-size: .77rem; }
.notification-choice small, .notification-employee-select small { color: var(--slate-500); font-size: .68rem; font-weight: 500; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.notification-employee-select { display: grid; gap: 6px; max-width: 520px; color: #374151; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.notification-employee-select select { min-height: 100px; padding: 8px; border: 1px solid var(--slate-300); border-radius: 8px; }
.notification-template-help { color: var(--slate-500); font-size: .7rem; }
.notification-template-help code { margin-right: 5px; padding: 3px 6px; color: #345; background: var(--slate-100); border-radius: 5px; }
.notification-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 3px; }
.notification-active, .notification-sms-approval { display: inline-flex !important; grid-template-columns: none !important; align-items: center; gap: 8px !important; color: #374151 !important; font-size: .72rem !important; text-transform: none !important; letter-spacing: 0 !important; }
.notification-active input, .notification-sms-approval input { width: 16px; height: 16px; accent-color: #0f766e; }
.notification-rule-list > details { border-bottom: 1px solid var(--slate-200); }
.notification-rule-list > details:last-child { border-bottom: 0; }
.notification-rule-list > details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 13px 18px; cursor: pointer; list-style: none; }
.notification-rule-list > details > summary::-webkit-details-marker { display: none; }
.notification-rule-list > details > summary > span:first-child { display: grid; gap: 3px; }
.notification-rule-list > details > summary small { color: var(--slate-500); font-size: .7rem; }
.notification-rule-edit { background: #f8fafb; border-top: 1px solid var(--slate-200); }
.notification-test-form { display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(170px, 1fr); gap: 12px; align-items: end; margin: 0 20px 20px; padding: 14px; background: #fff; border: 1px dashed var(--slate-300); border-radius: 9px; }
.notification-test-form label { display: grid; gap: 6px; color: #374151; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.notification-test-form select { min-height: 38px; padding: 8px 10px; border: 1px solid var(--slate-300); border-radius: 8px; }
.notification-test-form small { align-self: center; color: var(--slate-500); font-size: .68rem; line-height: 1.4; }
.notification-contact-list { display: grid; }
.notification-contact-list > form { display: grid; grid-template-columns: minmax(175px, 1fr) minmax(180px, 1fr) minmax(150px, .8fr) minmax(150px, auto) auto; gap: 12px; align-items: end; padding: 13px 18px; border-bottom: 1px solid var(--slate-200); }
.notification-contact-list > form:last-child { border-bottom: 0; }
.notification-contact-list > form > div { display: grid; gap: 3px; align-self: center; }
.notification-contact-list > form > div small { color: var(--slate-500); font-size: .68rem; }
.notification-contact-list label:not(.notification-sms-approval) { display: grid; gap: 5px; color: #374151; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.notification-contact-list input[type="email"], .notification-contact-list input[name="notificationPhone"] { min-height: 38px; padding: 8px 10px; border: 1px solid var(--slate-300); border-radius: 8px; }

@media (max-width: 900px) {
  .notification-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notification-contact-list > form { grid-template-columns: 1fr 1fr; }
  .notification-contact-list > form > div { grid-column: 1 / -1; }
  .notification-test-form { grid-template-columns: 1fr auto; }
  .notification-test-form small { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .capacity-summary-grid { grid-template-columns: 1fr; }
  .orbit-package-strip { grid-template-columns: 1fr; }
  .orbit-stage-list summary { align-items: flex-start; }
  .orbit-stage-list summary em { display: none; }
  .orbit-rule-list article { grid-template-columns: 1fr; }
  .orbit-program-row { grid-template-columns: auto 1fr; }
  .orbit-program-row > .pill:nth-of-type(2), .orbit-program-row > .orbit-download-link { grid-column: 2; justify-self: start; }
  .orbit-program-catalog { grid-template-columns: 1fr; }
  .orbit-program-catalog > article { grid-template-columns: auto 1fr; }
  .orbit-program-catalog > article > .orbit-download-link { grid-column: 2; justify-self: start; }
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--slate-50); }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--slate-900);
  background: var(--slate-50);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(231, 101, 46, 0.28);
  outline-offset: 2px;
}

[hidden] { display: none !important; }
.eyebrow { margin: 0; color: var(--orange-600); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.eyebrow.light { color: #ffc3a5; }

/* Protected customer approval page */
.approval-page { min-height: 100vh; background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); }
.approval-shell { width: min(760px, calc(100% - 32px)); margin: 0 auto; padding: 40px 0 28px; }
.approval-brand { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; color: #fff; }
.approval-brand img { width: 150px; padding: 7px; background: #fff; border-radius: 8px; }
.approval-brand div { display: grid; }
.approval-brand span { color: #ffc3a5; font-size: .68rem; font-weight: 850; letter-spacing: .13em; }
.approval-brand strong { font-size: 1rem; }
.approval-card { padding: clamp(22px, 4vw, 42px); background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.approval-card h1 { margin: 12px 0 8px; color: var(--navy-900); font-size: clamp(1.6rem, 4vw, 2.5rem); letter-spacing: -.04em; }
.approval-card > p { color: var(--slate-600); }
.approval-request, .approval-complete { margin: 22px 0; padding: 17px; color: var(--slate-700); background: var(--slate-50); border-left: 4px solid var(--orange-500); border-radius: 8px; }
.approval-complete { color: var(--green-700); background: var(--green-100); border-left-color: var(--green-700); font-weight: 750; }
.approval-card form { display: grid; gap: 17px; }
.approval-card form > label { display: grid; gap: 6px; color: var(--slate-700); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.approval-card input, .approval-card textarea { width: 100%; padding: 11px 13px; border: 1px solid var(--slate-300); border-radius: 8px; }
.signature-field { display: grid; gap: 7px; }
.signature-field > div { display: flex; justify-content: space-between; align-items: center; color: var(--slate-700); font-size: .76rem; text-transform: uppercase; }
.signature-field button { color: var(--orange-600); background: transparent; border: 0; font-size: .75rem; font-weight: 800; }
.signature-field canvas { width: 100%; height: 180px; background: #fff; border: 1.5px dashed #a9b5c4; border-radius: 10px; touch-action: none; }
.signature-field small { color: var(--slate-500); }
.approval-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.approval-footer { padding: 18px; color: #adbdcd; font-size: .7rem; text-align: center; }

/* Sign in — restored from the original TTAIS flag-and-clock layout. */
.login-page { position: relative; min-height: 100vh; overflow: auto; background: #090c14; }
.login-background { position: fixed; inset: 0; background: #101522 url("/thermatech-flag-bg.jpg") center / cover no-repeat; }
.login-overlay { position: fixed; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.72)); }
.login-content { position: relative; z-index: 1; display: flex; min-height: 100vh; flex-direction: column; padding: clamp(24px, 4vh, 52px) 20px clamp(30px, 6vh, 66px); }
.login-top { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 22px; }
.login-logo-card { width: min(520px, 82vw); padding: clamp(15px, 2vw, 22px) clamp(22px, 3vw, 34px); background: rgba(255, 255, 255, 0.98); border: 1px solid rgba(255, 255, 255, 0.75); border-radius: 18px; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.48), 0 8px 22px rgba(0, 0, 0, 0.3); }
.login-logo-card img { display: block; width: 100%; height: auto; }
.login-tagline { margin: 0; color: #fff; font-size: clamp(1rem, 2.25vw, 1.8rem); font-weight: 850; letter-spacing: 0.16em; text-align: center; text-shadow: 0 4px 18px rgba(0, 0, 0, 0.85); text-transform: uppercase; }
.login-tagline span { color: #f47b43; }
.login-bottom { display: flex; align-items: stretch; justify-content: center; gap: 20px; flex-wrap: wrap; }
.time-clock-card, .login-form, .password-reset-form { width: min(380px, 92vw); padding: 24px 24px 21px; background: rgba(255, 255, 255, 0.97); border: 1px solid rgba(255, 255, 255, 0.72); border-radius: 16px; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 8px 22px rgba(0, 0, 0, 0.3); backdrop-filter: blur(5px); }
.time-clock-card h2, .login-form h2, .password-reset-form h2 { margin: 0 0 4px; color: #1f2937; font-size: 1.35rem; font-weight: 850; letter-spacing: 0.01em; text-align: center; }
.time-clock-card > p, .login-form > p, .password-reset-form > p { margin: 0 0 15px; color: #6b7280; font-size: 0.82rem; text-align: center; }
.time-clock-now { margin-bottom: 14px; padding: 10px 12px; color: var(--orange-600); background: #fff7f2; border: 1.5px solid var(--orange-500); border-radius: 10px; font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.04em; text-align: center; }
.time-clock-card label, .login-form label, .password-reset-form label, .form-grid label { display: grid; gap: 6px; color: #374151; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.time-clock-card label + label, .login-form label + label, .password-reset-form label + label { margin-top: 12px; }
.login-form input, .password-reset-form input, .form-grid input, .form-grid select, .form-grid textarea, .toolbar input, .toolbar select {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  color: var(--slate-900);
  background: var(--white);
  border: 1px solid var(--slate-300);
  border-radius: var(--radius-sm);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.login-form input:focus, .password-reset-form input:focus, .form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .toolbar input:focus, .toolbar select:focus {
  border-color: var(--orange-500);
  box-shadow: 0 0 0 3px rgba(231, 101, 46, 0.1);
  outline: none;
}
.time-clock-card input { width: 100%; min-height: 44px; padding: 10px 13px; color: #111827; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 10px; }
.time-clock-card input:focus { border-color: var(--orange-500); box-shadow: 0 0 0 3px rgba(231, 101, 46, 0.14); outline: none; }
.time-clock-state { margin: 13px 0 9px; padding: 8px 10px; color: #6b7280; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; font-size: 0.76rem; text-align: center; }
.time-clock-state strong { color: #1f2937; }
.time-clock-button { width: 100%; min-height: 44px; color: #fff; background: var(--orange-600); border: 1px solid var(--orange-600); border-radius: 10px; font-size: 0.86rem; font-weight: 800; }
.time-clock-button:hover { background: #c94c1d; }
.time-clock-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.time-clock-button.go-in { background: var(--green-700); border-color: var(--green-700); }
.time-clock-button.go-out { background: var(--red-700); border-color: var(--red-700); }
.time-clock-button:disabled { cursor: not-allowed; opacity: .38; transform: none; }
.login-form .button, .password-reset-form .button { margin-top: 28px; }
.login-form .button + .button, .password-reset-form .button + .button { margin-top: 10px; }
.login-form .button + small, .password-reset-form .button + small { margin-top: 18px; }
.command-user-form { grid-template-columns: minmax(180px, 0.8fr) minmax(240px, 1.4fr) minmax(170px, 0.7fr) auto; align-items: end; }
.command-user-form .button { min-height: 44px; }
.pricing-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.pricing-status-card { display: grid; gap: 6px; min-height: 125px; align-content: center; padding: 19px; }
.pricing-status-card strong { color: var(--navy-900); font-size: 1.15rem; }
.pricing-status-card small { color: var(--slate-500); line-height: 1.5; }
.pricing-editor, .pricing-history, .calculation-audit-list, .calculation-detail { margin-bottom: 20px; }
.pricing-form { display: grid; gap: 18px; padding: 19px; }
.pricing-version-details { padding-bottom: 18px; border-bottom: 1px solid var(--slate-200); }
.pricing-scope-note { margin: 0; padding: 11px 13px; color: var(--slate-700); background: var(--orange-100); border-left: 4px solid var(--orange-600); border-radius: 6px; font-size: .7rem; line-height: 1.5; }
.pricing-groups { display: grid; gap: 10px; }
.pricing-group { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 11px; }
.pricing-group summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; color: var(--navy-900); background: var(--slate-50); cursor: pointer; font-size: .8rem; font-weight: 800; }
.pricing-group summary small { color: var(--slate-500); font-weight: 700; }
.pricing-input-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.pricing-input-grid label { display: grid; gap: 6px; padding: 15px; border-top: 1px solid var(--slate-100); border-right: 1px solid var(--slate-100); color: var(--slate-700); font-size: .72rem; font-weight: 800; }
.pricing-input-grid label span { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.pricing-input-grid label span small { color: var(--orange-600); font-size: .62rem; white-space: nowrap; }
.pricing-input-grid input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--slate-300); border-radius: 8px; color: var(--navy-900); background: var(--white); font: inherit; }
.pricing-input-grid em { color: var(--slate-500); font-size: .63rem; font-style: normal; font-weight: 500; line-height: 1.4; }
.pricing-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; padding-top: 4px; }
.pricing-actions > div { display: grid; margin-right: auto; }
.pricing-actions > div strong { font-size: .75rem; }
.pricing-actions > div small { color: var(--slate-500); font-size: .66rem; }
.pricing-family-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; }
.pricing-family-tab { display: grid; gap: 3px; min-height: 62px; padding: 10px 14px; color: var(--slate-700); background: var(--white); border: 1px solid var(--slate-300); border-radius: 8px; cursor: pointer; text-align: left; }
.pricing-family-tab strong { font-size: .88rem; }
.pricing-family-tab small { color: var(--slate-500); font-size: .66rem; }
.pricing-family-tab:hover { border-color: var(--orange-500); }
.pricing-family-tab.active { color: var(--white); background: var(--orange-600); border-color: var(--orange-600); box-shadow: 0 4px 12px rgba(183, 67, 26, .16); }
.pricing-family-tab.active small { color: #fff3ed; }
.pricing-summary-strip { display: grid; grid-template-columns: 1fr 1.35fr 1fr; gap: 0; margin-bottom: 14px; padding: 0; overflow: hidden; }
.pricing-summary-strip > div { display: grid; gap: 4px; min-height: 92px; align-content: center; padding: 15px 18px; border-right: 1px solid var(--slate-200); }
.pricing-summary-strip > div:last-child { border-right: 0; }
.pricing-summary-strip span { color: var(--orange-600); font-size: .63rem; font-weight: 900; letter-spacing: .1em; }
.pricing-summary-strip strong { color: var(--navy-900); font-size: .94rem; }
.pricing-summary-strip small { color: var(--slate-500); font-size: .68rem; line-height: 1.35; }
.pricing-catalog-wrap { overflow-x: auto; border: 1px solid var(--slate-200); border-radius: 7px; }
.pricing-catalog { width: 100%; min-width: 900px; border-collapse: collapse; }
.pricing-catalog thead th { padding: 10px 12px; color: var(--slate-600); background: #f7f6f5; border-bottom: 1px solid var(--slate-300); font-size: .65rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.pricing-catalog tbody td { padding: 10px 12px; background: var(--white); border-bottom: 1px solid var(--slate-200); vertical-align: middle; }
.pricing-catalog tbody tr:not(.pricing-category-row):nth-child(odd) td { background: #fcfbfa; }
.pricing-catalog td:first-child { width: 38%; }
.pricing-catalog td strong { display: block; color: var(--slate-900); font-size: .76rem; }
.pricing-catalog td small { display: block; margin-top: 3px; color: var(--slate-500); font-size: .62rem; line-height: 1.3; }
.pricing-catalog .pricing-category-row th { padding: 10px 12px; color: var(--white); background: var(--orange-600); border-top: 4px solid var(--white); font-size: .71rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.pricing-catalog .pricing-unit { color: var(--slate-500); font-size: .68rem; white-space: nowrap; }
.pricing-catalog .pricing-number { color: var(--navy-900); font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: .76rem; font-weight: 800; }
.pricing-catalog .pricing-number.previous { color: var(--slate-500); font-weight: 600; }
.pricing-catalog .pricing-date { color: var(--slate-700); font-size: .7rem; white-space: nowrap; }
.pricing-catalog input { width: 124px; min-height: 38px; padding: 7px 9px; color: var(--navy-900); background: #fffdfc; border: 1.5px solid var(--orange-300); border-radius: 6px; font: 700 .75rem "SFMono-Regular", Menlo, Consolas, monospace; }
.pricing-catalog input:focus { border-color: var(--orange-600); box-shadow: 0 0 0 3px rgba(226, 88, 34, .1); outline: none; }
.pricing-foundation-note { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; padding: 18px; border-left: 4px solid var(--orange-500); }
.pricing-foundation-note h3 { margin: 0 0 5px; color: var(--navy-900); font-size: 1rem; }
.pricing-foundation-note p { margin: 0; color: var(--slate-600); font-size: .75rem; line-height: 1.55; }
.quote-family-roadmap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.quote-family-roadmap article { display: grid; gap: 5px; min-height: 105px; align-content: center; padding: 15px; background: var(--white); border: 1px solid var(--slate-200); border-top: 4px solid var(--slate-300); border-radius: 8px; }
.quote-family-roadmap article.ready { border-top-color: var(--green-700); background: #f7fcf8; }
.quote-family-roadmap span { color: var(--orange-600); font-size: .59rem; font-weight: 900; letter-spacing: .08em; }
.quote-family-roadmap article.ready span { color: var(--green-700); }
.quote-family-roadmap strong { color: var(--navy-900); font-size: .85rem; }
.quote-family-roadmap small { color: var(--slate-500); font-size: .65rem; line-height: 1.4; }
.bid-scope-planning { margin-top: 16px; background: #faf9f7; }
.bid-scope-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 9px; }
.bid-scope-options label { display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: var(--slate-500); background: var(--white); border: 1px solid var(--slate-200); border-radius: 7px; font-size: .7rem; font-weight: 700; }
.bid-scope-options input { width: auto; min-height: 0; }
.audit-actions { display: flex; gap: 7px; }
.audit-actions a { display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.audit-key-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.audit-key-metrics article { padding: 15px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.audit-key-metrics span { display: block; color: var(--slate-500); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.audit-key-metrics strong { display: block; margin-top: 5px; color: var(--navy-900); font-size: 1.25rem; }
.calculation-audit-preview { max-height: 620px; border-top: 1px solid var(--slate-200); }
.time-clock-card small, .login-form small, .password-reset-form small { display: block; margin-top: 13px; color: #7c8898; font-size: 0.7rem; text-align: center; }
.login-legal-links { display: flex; justify-content: center; gap: 14px; margin-top: 10px; }
.login-legal-links a { color: #075985; font-size: .7rem; font-weight: 800; text-underline-offset: 3px; }
.password-requirements { margin: 14px 0 0; padding-left: 20px; color: #5f6b7a; font-size: .75rem; line-height: 1.55; }
.command-security-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.command-security-actions .button { min-height: 38px; }

/* Shell */
.app-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(0, 1fr) 250px; grid-template-rows: 78px minmax(0, 1fr); }
.sidebar {
  position: sticky;
  top: 78px;
  z-index: 30;
  display: flex;
  height: calc(100vh - 78px);
  grid-column: 2;
  grid-row: 2;
  flex-direction: column;
  overflow-y: auto;
  color: var(--slate-900);
  background: var(--white);
  border-left: 1px solid #e6e1dc;
}
.brand-lockup { display: flex; flex: 0 0 auto; align-items: center; min-width: 230px; }
.brand-lockup img { width: 190px; border-radius: 5px; }
.brand-lockup div { display: none; }
.brand-lockup strong { font-size: 1rem; letter-spacing: 0.08em; }
.brand-lockup span { color: var(--slate-500); font-size: 0.71rem; }
.facility-card { display: none; }
.facility-card span { color: var(--orange-600); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.12em; }
.facility-card strong { margin-top: 4px; font-size: 0.88rem; }
.facility-card small { color: var(--slate-500); font-size: 0.69rem; }
.primary-nav { flex: 1; padding: 12px 10px 20px; }
.primary-nav > p { display: none; }
.nav-link {
  display: grid;
  width: 100%;
  min-height: 54px;
  grid-template-columns: 32px 1fr;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  color: var(--slate-700);
  background: transparent;
  border: 0;
  border-radius: 9px;
  text-align: left;
  transition: background 0.15s, color 0.15s;
}
.nav-link:hover { color: var(--orange-600); background: var(--orange-100); }
.nav-link.active { color: var(--white); background: var(--orange-600); box-shadow: 0 5px 14px rgba(226, 88, 34, 0.2); }
.nav-link > span:last-child { display: grid; font-size: 0.86rem; font-weight: 700; }
.nav-link small { display: none; }
.nav-link.active small { color: #ffe0d0; }
.nav-icon { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--slate-300); border-radius: 8px; font-size: 0.7rem; font-weight: 850; }
.nav-link.active .nav-icon { border-color: rgba(255,255,255,.45); }
.sidebar-user { display: grid; grid-template-columns: 38px 1fr 32px; align-items: center; gap: 9px; margin: 0 12px 14px; padding: 12px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.sidebar-user > div:nth-child(2) { display: grid; min-width: 0; }
.sidebar-user strong { overflow: hidden; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user span { color: var(--slate-500); font-size: 0.66rem; text-transform: capitalize; }
.sidebar-user button { width: 30px; height: 30px; color: var(--slate-600); background: transparent; border: 0; border-radius: 7px; }
.sidebar-user button:hover { color: var(--orange-600); background: var(--orange-100); }
.avatar { display: grid; width: 38px; height: 38px; place-items: center; color: var(--white); background: var(--navy-700); border-radius: 10px; font-size: 0.72rem; font-weight: 800; }

.app-main { display: grid; min-width: 0; grid-column: 1; grid-row: 1 / 3; grid-template-rows: 78px minmax(0, 1fr); }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 20px;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 2px solid var(--orange-600);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(12px);
}
.page-identity {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.page-identity > span { color: var(--slate-500); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.13em; }
.page-identity h1 { margin: 1px 0 0; font-size: 1.23rem; letter-spacing: -0.02em; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.topbar-icon-button { position: relative; display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; color: var(--navy-800); background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px; font-size: 1rem; }
.topbar-icon-button:hover, .topbar-icon-button[aria-expanded="true"] { color: var(--orange-600); background: var(--orange-100); border-color: #efaa8b; }
.topbar-icon-button b { position: absolute; top: -5px; right: -5px; display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; color: #fff; background: var(--orange-600); border: 2px solid #fff; border-radius: 999px; font-size: .57rem; }
.notification-anchor { position: relative; }
.print-queue-anchor { position: relative; }
.print-queue-drawer { width: min(560px, calc(100vw - 30px)); }
.print-queue-list { max-height: min(620px, calc(100vh - 180px)); }
.print-queue-footer { display: block; padding: 11px 16px; color: var(--slate-600); background: var(--slate-50); border-top: 1px solid var(--slate-200); font-size: .64rem; line-height: 1.45; }
.print-queue-group { border-bottom: 1px solid var(--slate-200); }
.print-queue-group > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--slate-50); }
.print-queue-group > header div { display: grid; gap: 3px; }
.print-queue-group > header strong { font-size: .76rem; }
.print-queue-group > header small { color: var(--slate-500); font-size: .62rem; }
.print-queue-group > header > span { display: grid; min-width: 25px; height: 25px; place-items: center; color: #fff; background: #c9362b; border-radius: 999px; font-size: .65rem; font-weight: 900; }
.print-queue-group > section { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 16px; border-top: 1px solid var(--slate-100); }
.print-queue-group > section > div:first-child { display: grid; gap: 4px; }
.print-queue-group > section strong { font-size: .7rem; }
.print-queue-group > section small { color: var(--slate-500); font-size: .61rem; line-height: 1.45; }
.print-queue-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.print-queue-actions a, .print-queue-actions button { padding: 6px 8px; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: 7px; font-size: .59rem; font-weight: 800; text-decoration: none; }
.print-queue-actions .filed { color: #fff; background: #176c55; border-color: #176c55; }
.notification-drawer { position: absolute; z-index: 50; top: calc(100% + 12px); right: 0; width: min(390px, calc(100vw - 30px)); overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-radius: 14px; box-shadow: var(--shadow-lg); }
.notification-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 16px; border-bottom: 1px solid var(--slate-200); }
.notification-drawer h2 { margin: 2px 0 0; font-size: .95rem; }
.notification-list { display: grid; max-height: 420px; overflow-y: auto; }
.notification-item { display: grid; width: 100%; grid-template-columns: 8px 1fr; align-items: start; gap: 10px; padding: 13px 16px; color: var(--navy-900); background: #fff; border: 0; border-bottom: 1px solid var(--slate-100); text-align: left; }
.notification-item:hover { background: var(--slate-50); }
.notification-item i { width: 7px; height: 7px; margin-top: 5px; background: transparent; border-radius: 50%; }
.notification-item.unread i { background: #188b88; box-shadow: 0 0 0 3px rgba(24,139,136,.12); }
.notification-item span { display: grid; gap: 4px; }
.notification-item strong { font-size: .73rem; }
.notification-item small { color: var(--slate-500); font-size: .62rem; }
.notification-empty { margin: 0; padding: 24px; color: var(--slate-500); font-size: .73rem; text-align: center; }
.notification-footer { width: 100%; padding: 12px 16px; color: var(--orange-600); background: var(--orange-100); border: 0; font-size: .7rem; font-weight: 800; }
.stage-file-explainer { margin: 16px 0; padding: 18px 20px; color: #fff; background: linear-gradient(135deg, #101c2d, #21354d); border-left: 5px solid var(--orange-500); border-radius: 12px; }
.stage-file-explainer strong { display: block; margin-bottom: 5px; font-size: .9rem; }
.stage-file-explainer p { margin: 0; color: #d7e0eb; font-size: .72rem; line-height: 1.55; }
.stage-file-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.stage-file-card { overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-top: 4px solid var(--slate-400); border-radius: 12px; box-shadow: var(--shadow-sm); }
.stage-file-card.good { border-top-color: #1d8a62; }
.stage-file-card.warn { border-top-color: var(--orange-500); }
.stage-file-card.bad { border-top-color: #c9362b; }
.stage-file-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px 10px; }
.stage-file-card > header div { display: grid; gap: 3px; }
.stage-file-card > header span { color: var(--slate-500); font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.stage-file-card > header strong { font-size: .84rem; }
.stage-file-card > header b { display: grid; min-width: 38px; height: 38px; place-items: center; color: var(--navy-900); background: var(--slate-100); border-radius: 10px; font-size: .72rem; }
.stage-file-card > p, .stage-file-card > small { display: block; margin: 0; padding: 0 17px 13px; color: var(--slate-500); font-size: .68rem; line-height: 1.5; }
.stage-file-card dl { margin: 0; padding: 0 17px 12px; }
.stage-file-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 8px; padding: 5px 0; border-top: 1px solid var(--slate-100); font-size: .63rem; }
.stage-file-card dt { color: var(--slate-500); font-weight: 800; }
.stage-file-card dd { margin: 0; overflow-wrap: anywhere; }
.stage-file-actions { display: flex; gap: 8px; padding: 11px 17px 15px; background: var(--slate-50); }
.stage-file-actions a { padding: 7px 10px; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: 7px; font-size: .63rem; font-weight: 800; text-decoration: none; }
.customer-reintegration-panel { margin-top: 18px; border: 2px solid #df9b86; }
.reintegration-batches { display: grid; border-top: 1px solid var(--slate-200); }
.reintegration-batch { border-bottom: 1px solid var(--slate-200); }
.reintegration-batch > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; cursor: pointer; list-style: none; }
.reintegration-batch > summary::-webkit-details-marker { display: none; }
.reintegration-batch > summary > span:first-child { display: grid; gap: 4px; }
.reintegration-batch > summary small { color: var(--slate-500); font-size: .66rem; }
.reintegration-batch-body { display: grid; gap: 14px; padding: 16px 18px 20px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }
.reintegration-batch-body > p { margin: 0; color: var(--slate-600); font-size: .68rem; line-height: 1.6; overflow-wrap: anywhere; }
.reintegration-record-form { padding: 16px; background: #fff; border: 1px solid var(--slate-200); border-radius: 10px; }
.reintegration-record-form p { margin: 4px 0 0; color: var(--slate-500); font-size: .69rem; }
.reintegration-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.reintegration-record-list { display: grid; gap: 8px; }
.reintegration-record-list article { display: grid; gap: 3px; padding: 11px 13px; background: #fff; border: 1px solid var(--slate-200); border-radius: 8px; }
.reintegration-record-list article strong { font-size: .72rem; }
.reintegration-record-list article span, .reintegration-record-list article small { color: var(--slate-500); font-size: .63rem; }
.reintegration-committed-note { margin: 0; padding: 11px 13px; color: #15543f; background: #e7f5ef; border-radius: 8px; font-size: .68rem; font-weight: 750; }
@media (max-width: 820px) {
  .stage-file-grid { grid-template-columns: 1fr; }
  .print-queue-group > section { grid-template-columns: 1fr; }
  .print-queue-actions { justify-content: flex-start; }
}

.offline-safety-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.offline-safety-grid article {
  border: 1px solid #d9e1ec;
  border-radius: 14px;
  background: #f8fafc;
  padding: 15px;
}

.offline-safety-grid strong,
.offline-safety-grid span {
  display: block;
}

.offline-safety-grid strong {
  color: #14233a;
  margin-bottom: 6px;
}

.offline-safety-grid span {
  color: #59677b;
  font-size: .86rem;
  line-height: 1.45;
}

.offline-issue-panel {
  border-top: 4px solid #e56b2f;
}

.offline-deployment-form .span-all,
.offline-deployment-form .offline-choice-field {
  grid-column: 1 / -1;
}

.offline-choice-field {
  border: 1px solid #d9e1ec;
  border-radius: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 12px;
}

.offline-choice-field legend {
  color: #4c5b70;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 0 6px;
  text-transform: uppercase;
}

.offline-deployment-list {
  display: grid;
  gap: 12px;
}

.offline-deployment-card {
  border: 1px solid #d9e1ec;
  border-radius: 14px;
  overflow: hidden;
}

.offline-deployment-card > header,
.offline-deployment-card > footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: space-between;
  padding: 13px 15px;
}

.offline-deployment-card > header {
  background: #f5f7fa;
  border-bottom: 1px solid #d9e1ec;
}

.offline-deployment-card > header strong,
.offline-deployment-card > header small {
  display: block;
}

.offline-deployment-card > header small {
  color: #647185;
  margin-top: 3px;
}

.offline-deployment-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 4px 15px;
}

.offline-deployment-card dl div {
  border-bottom: 1px solid #edf0f4;
  padding: 10px 6px;
}

.offline-deployment-card dt {
  color: #68778b;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.offline-deployment-card dd {
  color: #1d2a3d;
  line-height: 1.45;
  margin: 4px 0 0;
}

.offline-deployment-card > footer {
  justify-content: flex-end;
}

@media (max-width: 980px) {
  .offline-safety-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .offline-safety-grid,
  .offline-choice-field,
  .offline-deployment-card dl { grid-template-columns: 1fr; }
}
.topbar-shortcuts { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: center; gap: 10px; }
.topbar-chip { min-height: 40px; padding: 8px 15px; color: var(--navy-900); background: var(--white); border: 1px solid #efaa8b; border-radius: 12px; font-size: .73rem; font-weight: 760; white-space: nowrap; }
.topbar-chip:hover:not(:disabled) { color: var(--orange-600); background: var(--orange-100); }
.topbar-chip:disabled { cursor: default; opacity: 1; }
.topbar-chip small { margin-left: 10px; color: var(--orange-600); }
.topbar-chip.primary-chip { color: var(--white); background: var(--orange-600); border-color: var(--orange-600); }
.topbar-chip.primary-chip:hover { color: var(--white); background: #c44a1a; }
.facility-chip { color: var(--orange-600); text-transform: uppercase; }
.search-chip { width: min(300px, 28vw); color: var(--slate-500); text-align: left; }
.environment { display: flex; align-items: center; gap: 7px; padding: 7px 10px; color: var(--green-700); background: var(--green-100); border-radius: 999px; font-size: 0.7rem; font-weight: 750; }
.environment i { width: 7px; height: 7px; background: #35a465; border-radius: 50%; box-shadow: 0 0 0 4px rgba(53, 164, 101, 0.13); }
.menu-button { display: none; width: 40px; height: 40px; padding: 9px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 9px; }
.menu-button span { display: block; height: 2px; margin: 4px 0; background: var(--navy-900); }
.content { width: min(1500px, 100%); max-width: 100%; min-width: 0; margin: 0 auto; padding: clamp(26px, 3.5vw, 52px); }

/* Reusable components */
.button { min-height: 40px; padding: 9px 15px; border: 1px solid transparent; border-radius: 9px; font-size: 0.78rem; font-weight: 750; transition: transform 0.12s, background 0.15s, border-color 0.15s; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: var(--white); background: var(--orange-600); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
.button.primary:hover { background: #c44a1a; }
.button.primary:active { transform: scale(0.97); }
.button.secondary { color: var(--orange-600); background: var(--white); border-color: var(--orange-600); }
.button.secondary:hover { color: var(--white); background: var(--orange-600); border-color: var(--orange-600); }
.button.secondary:active { transform: scale(0.97); }
.button.secondary.dark { color: var(--white); background: transparent; border-color: rgba(255, 255, 255, 0.4); }
.button.secondary.dark:hover { color: var(--navy-900); background: var(--white); border-color: var(--white); }
.button.danger { color: #8f241c; background: #fff5f3; border-color: #e6b4ad; }
.button.danger:hover { background: #fce9e5; border-color: #d88f84; }
.destructive-confirmation-dialog { width: min(650px, calc(100vw - 32px)); }
.destructive-warning { margin: 0 0 20px; padding: 18px; border: 2px solid #c9382c; border-radius: 12px; background: #fff1ee; color: #742019; }
.destructive-warning strong { display: block; margin-bottom: 6px; font-size: 1.2rem; }
.destructive-warning p { margin: 0; line-height: 1.5; }
.form-help { margin: 12px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.button.dark { color: var(--white); background: var(--navy-900); }
.button.wide { width: 100%; }
.icon-button { width: 38px; height: 38px; color: var(--slate-600); background: var(--slate-100); border: 0; border-radius: 9px; font-size: 1.4rem; }
.view-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.view-heading h2 { margin: 7px 0 5px; font-size: clamp(1.65rem, 2.6vw, 2.35rem); line-height: 1.1; letter-spacing: -0.04em; }
.view-heading p:last-child { max-width: 720px; margin: 0; color: var(--slate-600); }
.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.module-tabs { display: inline-flex; gap: 4px; margin-bottom: 24px; padding: 4px; background: var(--slate-200); border-radius: 11px; }
.module-tabs button { min-height: 38px; padding: 8px 15px; color: var(--slate-600); background: transparent; border: 0; border-radius: 8px; font-size: 0.75rem; font-weight: 750; }
.module-tabs button.active { color: var(--navy-900); background: var(--white); box-shadow: var(--shadow-sm); }
.module-tabs button span { display: inline-grid; min-width: 20px; height: 20px; margin-left: 5px; place-items: center; color: var(--slate-600); background: var(--slate-100); border-radius: 999px; font-size: .66rem; }
.panel { min-width: 0; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.panel-head { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--slate-200); }
.panel-head h3 { margin: 0; font-size: 0.94rem; }
.panel-head p { margin: 2px 0 0; color: var(--slate-500); font-size: 0.72rem; }
.panel-body { padding: 18px; }
.reference-warning { margin-bottom: 18px; padding: 14px 17px; color: var(--amber-700); background: var(--amber-100); border: 1px solid #ead19b; border-radius: 11px; font-size: .78rem; }
.bid-workbook { display: grid; gap: 18px; }
.bid-step { overflow: hidden; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.bid-step > header { display: flex; align-items: center; gap: 13px; padding: 17px 19px; color: var(--white); background: var(--navy-900); }
.bid-step > header > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: var(--navy-900); background: var(--white); border-radius: 999px; font-weight: 850; }
.bid-step > header h3 { margin: 0; font-size: 1rem; }
.bid-step > header p { margin: 2px 0 0; color: #b9c9d9; font-size: .72rem; }
.bid-step > .form-grid { padding: 19px; }
.bid-panel-group { margin: 18px; padding: 17px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.bid-panel-group legend { padding: 0 8px; color: var(--navy-800); font-size: .74rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.bid-panel-group small { display: block; margin-top: 12px; color: var(--slate-500); font-size: .68rem; }
.bid-coming-soon { position: relative; opacity: .35; filter: grayscale(.8); pointer-events: none; }
.bid-coming-badge { position: absolute; top: 11px; right: 13px; padding: 5px 9px; color: #fff; background: var(--orange-600); border-radius: 5px; font-size: .62rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; transform: rotate(-2deg); }
.bid-six { grid-template-columns: repeat(6, minmax(120px, 1fr)); }
.bid-submit { position: sticky; bottom: 14px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; color: var(--white); background: var(--navy-950); border-radius: 13px; box-shadow: 0 14px 35px rgba(11,23,40,.25); }
.bid-submit div { display: grid; }
.bid-submit small { color: #9eb0c2; }
.bid-print-link { display: inline-flex; align-items: center; white-space: nowrap; text-decoration: none; }
.bid-metrics .metric-card strong { font-size: clamp(1.35rem, 2vw, 2rem); }
.grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.stack { display: grid; gap: 20px; }

.hero-card { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.7fr); gap: 24px; margin-bottom: 22px; padding: clamp(24px, 3vw, 38px); color: var(--white); background: linear-gradient(135deg, var(--navy-950), var(--navy-800)); border-radius: var(--radius-lg); box-shadow: 0 16px 36px rgba(11, 23, 40, 0.15); }
.hero-card h2 { max-width: 740px; margin: 10px 0 12px; font-size: clamp(1.8rem, 3.2vw, 3rem); line-height: 1.08; letter-spacing: -0.045em; }
.hero-card p:not(.eyebrow) { max-width: 700px; margin: 0; color: #c2d0df; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.hero-status { display: grid; align-content: center; gap: 10px; padding: 18px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 14px; }
.hero-status span { color: #9fb1c4; font-size: 0.68rem; font-weight: 750; letter-spacing: 0.09em; }
.hero-status strong { font-size: 1.05rem; }
.hero-status small { color: #aebfd0; }

.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.metric-card { position: relative; display: grid; min-height: 132px; align-content: space-between; padding: 18px; overflow: hidden; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.metric-card::after { position: absolute; top: 0; right: 0; width: 54px; height: 4px; background: var(--orange-500); content: ""; }
.metric-card span { color: var(--slate-600); font-size: 0.72rem; font-weight: 750; text-transform: uppercase; }
.metric-card strong { margin: 5px 0; color: var(--navy-900); font-size: 2rem; line-height: 1; letter-spacing: -0.04em; }
.metric-card small { color: var(--slate-500); font-size: 0.7rem; }

.stage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.stage-card { padding: 15px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.stage-card span { color: var(--slate-600); font-size: 0.7rem; font-weight: 700; text-transform: uppercase; }
.stage-card strong { display: block; margin-top: 5px; color: var(--navy-900); font-size: 1.55rem; }
.stage-card i { display: block; height: 4px; margin-top: 12px; background: var(--slate-200); border-radius: 99px; overflow: hidden; }
.stage-card i::before { display: block; width: var(--progress, 0%); height: 100%; background: var(--orange-500); border-radius: inherit; content: ""; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 11px 15px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { padding: 13px 15px; border-bottom: 1px solid var(--slate-100); color: var(--slate-700); font-size: 0.78rem; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fcfdfe; }
.primary-text { color: var(--slate-900); font-weight: 750; }
.secondary-text { display: block; margin-top: 2px; color: var(--slate-500); font-size: 0.68rem; }
.pill { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 0.65rem; font-weight: 800; text-transform: capitalize; white-space: nowrap; }
.pill.good, .pill.active, .pill.complete { color: var(--green-700); background: var(--green-100); }
.pill.warn, .pill.draft, .pill.on_hold { color: var(--amber-700); background: var(--amber-100); }
.pill.cancelled, .pill.bad { color: var(--red-700); background: var(--red-100); }
.pill.neutral { color: var(--slate-600); background: var(--slate-100); }
.empty-state { display: grid; min-height: 180px; place-items: center; padding: 28px; color: var(--slate-500); text-align: center; }
.empty-state strong { display: block; margin-bottom: 4px; color: var(--slate-700); }

.toolbar { display: flex; align-items: center; gap: 10px; }
.toolbar input { min-width: min(330px, 42vw); }
.split-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin: 25px 0 12px; }
.split-heading h3 { margin: 0; font-size: 1rem; }
.split-heading span { color: var(--slate-500); font-size: 0.74rem; }

.customer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.customer-card { display: grid; gap: 14px; padding: 17px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.customer-card-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.customer-card h4 { margin: 0; font-size: 0.9rem; }
.customer-card p { margin: 2px 0 0; color: var(--slate-500); font-size: 0.7rem; }
.customer-meta { display: grid; gap: 5px; color: var(--slate-600); font-size: 0.73rem; }
.job-open-button { display: grid; gap: 2px; padding: 0; color: var(--navy-900); background: none; border: 0; text-align: left; }
.job-open-button:hover strong { color: var(--orange-600); text-decoration: underline; }
.job-open-button small { color: var(--slate-500); }
.job-workspace-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 6px 0 16px; padding: 7px 3px; }
.job-workspace-head h2 { margin: 5px 0 3px; font-size: clamp(1.7rem, 3vw, 2.55rem); letter-spacing: -.04em; }
.job-workspace-head p { margin: 0; color: var(--slate-500); }
.job-workspace-head .text-button { margin: 0 0 16px; }
.job-workspace-tabs { display: flex; gap: 26px; margin-bottom: 22px; overflow-x: auto; border-bottom: 1px solid var(--slate-200); }
.job-workspace-tabs button { padding: 11px 1px 12px; color: var(--slate-600); background: none; border: 0; border-bottom: 3px solid transparent; font-size: .77rem; font-weight: 760; white-space: nowrap; }
.job-workspace-tabs button.active { color: var(--navy-900); border-bottom-color: var(--orange-600); }
.job-summary-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; align-items: start; }
.job-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 6px 18px 18px; }
.job-detail-list div { display: grid; gap: 4px; padding: 16px 4px; border-bottom: 1px solid var(--slate-100); }
.job-detail-list span, .job-financials span { color: var(--slate-500); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.job-detail-list strong, .job-financials strong { color: var(--navy-900); font-size: .82rem; }
.job-stage-track { display: grid; grid-template-columns: repeat(9, minmax(110px, 1fr)); gap: 7px; padding: 17px; overflow-x: auto; }
.job-stage-track div { display: grid; min-height: 69px; align-content: center; gap: 4px; padding: 11px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 9px; }
.job-stage-track div.current { color: #fff; background: var(--navy-900); border-color: var(--navy-900); box-shadow: inset 0 3px var(--orange-500); }
.job-stage-track span { color: inherit; opacity: .7; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.job-stage-track strong { font-size: .67rem; line-height: 1.25; }
.job-map-preview { display: grid; min-height: 235px; place-items: center; align-content: center; gap: 13px; padding: 25px; color: var(--navy-900); background: radial-gradient(circle at 30% 30%, rgba(217,86,34,.1), transparent 35%), repeating-linear-gradient(35deg, #f4f6f8 0 18px, #eef1f4 18px 20px); text-align: center; }
.job-map-preview > span { display: grid; width: 52px; height: 52px; place-items: center; color: #fff; background: var(--orange-600); border: 5px solid rgba(255,255,255,.8); border-radius: 50%; box-shadow: 0 8px 20px rgba(20,40,60,.18); font-size: 1.5rem; }
.job-map-preview strong { max-width: 290px; font-size: .84rem; line-height: 1.45; }
.job-map-preview a { display: inline-flex; align-items: center; text-decoration: none; }
.job-financials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 18px 18px; }
.job-financials div { display: grid; gap: 5px; padding: 14px 4px; border-bottom: 1px solid var(--slate-100); }
.job-workspace-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 11px; padding: 11px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 9px; }
.job-workspace-row div { display: grid; }
.job-workspace-row small { color: var(--slate-500); font-size: .65rem; }
.job-audit-list { display: grid; }
.job-audit-list article { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 13px; padding: 14px 3px; border-bottom: 1px solid var(--slate-100); }
.job-audit-list article > i { width: 9px; height: 9px; margin-top: 5px; background: var(--orange-500); border: 3px solid var(--orange-100); border-radius: 50%; }
.job-audit-list p { margin: 3px 0; color: var(--slate-700); font-size: .74rem; }
.job-audit-list small { color: var(--slate-500); font-size: .63rem; }

/* Original TTAIS v58 job workspace, now backed by Galaxy records. */
.original-job-workspace { max-width: 1180px; margin: 0 auto; color: #111827; }
.original-back-button, .original-outline-button, .original-primary-button, .original-dark-button, .original-danger-button { min-height: 34px; padding: 7px 12px; border-radius: 7px; font-size: .7rem; font-weight: 800; line-height: 1.15; text-decoration: none; }
.original-back-button, .original-outline-button { display: inline-flex; align-items: center; justify-content: center; color: var(--orange-600); background: #fff; border: 1px solid var(--orange-600); }
.original-back-button { margin-bottom: 14px; }
.original-back-button:hover, .original-outline-button:hover { color: #fff; background: var(--orange-600); }
.original-primary-button { color: #fff; background: var(--orange-600); border: 1px solid var(--orange-600); }
.original-dark-button { color: #fff; background: var(--navy-900); border: 1px solid var(--navy-900); }
.original-danger-button { color: #fff; background: #a52b22; border: 1px solid #a52b22; }
.original-danger-button:disabled { opacity: .45; cursor: not-allowed; }
.job-workspace-context { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 12px; padding: 11px 14px; color: #7c2d12; background: #fff7ed; border: 1px solid #fdba74; border-left: 5px solid var(--orange-600); border-radius: 9px; }
.job-workspace-context > div { display: grid; gap: 2px; }
.job-workspace-context span { color: var(--orange-600); font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.job-workspace-context strong { color: #111827; font-size: .78rem; }
.job-workspace-context p { max-width: 580px; margin: 0; color: #7c2d12; font-size: .64rem; text-align: right; }
.original-workflow-strip { display: grid; grid-template-columns: repeat(7, minmax(105px, 1fr)); gap: 3px; padding: 8px; overflow-x: auto; background: #fff; border: 1px solid #ddd8d3; border-radius: 12px; }
.original-workflow-strip article { display: grid; min-height: 54px; place-content: center; gap: 1px; padding: 6px 9px; color: #667085; background: #f1f2f4; border-radius: 8px; text-align: center; }
.original-workflow-strip article.complete { color: #19643a; background: #d9f7e6; }
.original-workflow-strip article.current { color: #fff; background: var(--orange-600); }
.original-workflow-strip span { font-size: .5rem; font-weight: 850; letter-spacing: .08em; }
.original-workflow-strip strong { font-size: .61rem; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.original-workflow-banner { margin: 12px 0 10px; padding: 5px 12px; color: #96500b; background: #fffdf2; border: 1px solid #f0ad18; border-radius: 6px; font-size: .61rem; font-weight: 750; text-align: center; }
.original-payment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.quickbooks-quote-checkpoint { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 13px 15px; margin-bottom: 9px; background: #fff5f5; border: 2px solid #c93c3c; border-radius: 10px; }
.quickbooks-quote-checkpoint.synced { background: #f2fff3; border-color: #2ca01c; }
.quickbooks-quote-mark { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: #c93c3c; border-radius: 50%; font-size: .78rem; font-weight: 900; text-transform: lowercase; }
.quickbooks-quote-checkpoint.synced .quickbooks-quote-mark { background: #2ca01c; }
.quickbooks-quote-checkpoint > div:nth-child(2) { display: grid; gap: 3px; }
.quickbooks-quote-checkpoint span { color: #9e2d2d; font-size: .54rem; font-weight: 900; letter-spacing: .08em; }
.quickbooks-quote-checkpoint.synced span { color: #237a1a; }
.quickbooks-quote-checkpoint strong { color: #172438; font-size: .76rem; }
.quickbooks-quote-checkpoint small { color: #5f6978; font-size: .58rem; line-height: 1.45; }
.quickbooks-quote-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.original-payment { display: grid; gap: 2px; min-height: 72px; padding: 10px 12px; color: #5f6978; background: #f8f8f8; border: 1px solid #d9dde3; border-radius: 9px; }
.original-payment.paid { color: #19643a; background: #f0fff6; border-color: #7bdca3; }
.original-payment-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.original-payment strong { font-size: .72rem; }
.original-payment-status { display: flex; align-items: flex-start; gap: 7px; }
.original-payment-lock, .original-qb-sync { display: grid; min-width: 30px; justify-items: center; gap: 1px; }
.original-payment-lock i { font-size: .72rem; font-style: normal; line-height: 22px; }
.original-payment-lock small, .original-qb-sync small { color: #667085; font-size: .42rem; font-weight: 900; letter-spacing: .055em; line-height: 1; white-space: nowrap; }
.original-qb-sync i { display: grid; width: 22px; height: 22px; place-items: center; color: #fff; background: #c93c3c; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 0 0 1px #a92d2d; font-size: .48rem; font-style: normal; font-weight: 900; letter-spacing: -.06em; line-height: 1; text-transform: lowercase; }
.original-qb-sync.synced i { background: #2ca01c; box-shadow: 0 0 0 1px #238416; }
.original-qb-sync.synced small { color: #237a1a; }
.original-qb-sync.not-synced small { color: #ad2f2f; }
.original-payment b { color: #243140; font-size: .65rem; }
.original-payment > small { font-size: .55rem; }
.original-job-identity, .original-action-bar, .original-job-card { background: #fff; border: 1px solid #ddd8d3; border-radius: 11px; box-shadow: 0 1px 3px rgba(17, 24, 39, .03); }
.original-job-identity { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; padding: 16px; }
.original-job-identity > div > strong { font-size: .92rem; }
.original-job-identity > div > span { margin-left: 8px; padding: 4px 7px; color: #fff; background: var(--orange-600); border-radius: 99px; font-size: .56rem; font-weight: 850; }
.original-job-identity p { margin: 4px 0 0; color: #475467; font-size: .66rem; }
.original-status-pill { padding: 5px 10px; color: #a3431e; background: var(--orange-100); border-radius: 99px; font-size: .58rem; font-weight: 850; }
.original-action-bar { display: flex; align-items: center; gap: 8px; min-height: 76px; margin-bottom: 14px; padding: 14px 16px; flex-wrap: wrap; }
.original-action-bar .job-software-actions { margin: 0 0 0 auto; }
.original-action-bar .software-launch-button { min-width: 130px; padding: .48rem .58rem; }
.job-upcoming-strip { margin: 0 0 14px; padding: 12px 16px; background: #fff8f3; border: 1px solid #f0c8b3; border-radius: 11px; }
.job-upcoming-strip header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.job-upcoming-strip header span { color: #d95f2d; font-size: .67rem; font-weight: 900; letter-spacing: .08em; }
.job-upcoming-strip header button { color: #d95f2d; background: #fff; border: 1px solid #d95f2d; border-radius: 7px; padding: 6px 10px; font-weight: 800; }
.job-upcoming-strip > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.job-upcoming-item { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 9px 11px; background: #fff; border: 1px solid #eadfd7; border-radius: 8px; }
.job-upcoming-item time { color: #d95f2d; font-size: .65rem; font-weight: 900; }
.job-upcoming-item div { display: grid; }
.job-upcoming-item small { color: #667085; }
.job-contact-form { display: grid; gap: 10px; }
.contact-history-list { display: grid; gap: 7px; margin-top: 14px; }
.contact-history-list article { display: grid; grid-template-columns: 72px 1fr; gap: 10px; padding: 9px; border-top: 1px solid #ede9e5; }
.contact-history-list article > span { color: #d95f2d; font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.contact-history-list article div { display: grid; }
.contact-history-list small { color: #667085; }
.calendar-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.calendar-filter-bar button { padding: 8px 13px; color: #5d6571; background: #fff; border: 1px solid #d8dde4; border-radius: 999px; font-weight: 800; }
.calendar-filter-bar button.active { color: #fff; background: #d95f2d; border-color: #d95f2d; }
.employee-fieldset, .reminder-fieldset { margin: 0; padding: 12px; border: 1px solid #d8dde4; border-radius: 9px; }
.employee-fieldset legend, .reminder-fieldset legend { padding: 0 6px; color: #495465; font-size: .72rem; font-weight: 900; }
.employee-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.employee-choice-grid label { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; padding: 8px; background: #f8fafc; border-radius: 7px; }
.employee-choice-grid label input { grid-row: 1 / span 2; }
.employee-choice-grid small { color: #788292; }
.reminder-fieldset { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.reminder-fieldset > label { display: flex; align-items: center; gap: 6px; }
.job-overview-button { border-color: #d96532 !important; color: #b7461e !important; font-weight: 800 !important; }
.job-overview-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin: 12px 0 18px; padding: 22px; background: #fff; border: 1px solid #ddd8d3; border-top: 4px solid #d96532; border-radius: 12px; }
.job-overview-head span { color: #d96532; font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.job-overview-head h2 { margin: 5px 0; font-size: 1.7rem; }
.job-overview-head p { margin: 0; color: #667085; }
.job-overview-head > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.job-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.job-overview-list { margin: 0; }
.job-overview-list > div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid #ece8e4; }
.job-overview-list dt { color: #7b7270; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.job-overview-list dd { margin: 0; color: #1f2937; font-weight: 650; overflow-wrap: anywhere; }
.job-record-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.job-record-stats article { padding: 16px; background: #f8f5f2; border: 1px solid #e4ded9; border-radius: 9px; }
.job-record-stats strong { display: block; color: #d96532; font-size: 1.5rem; }
.job-record-stats span { color: #667085; font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.staging-evidence-form p { margin-top: 0; color: #667085; }
.staging-evidence-form .form-grid { margin: 12px 0; }
.staging-evidence-form input[type="file"] { max-width: 100%; font-size: .72rem; }
.staging-complete { display: grid; gap: 6px; padding: 14px; background: #ecfdf3; border: 1px solid #9bd6b4; border-radius: 9px; }
.staging-complete span { color: #087443; font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.staging-complete small { color: #4b6357; line-height: 1.5; }
.command-audit-filters { display: grid; grid-template-columns: 1fr 260px auto; align-items: end; gap: 14px; margin: 0 0 22px; padding: 16px; background: #f7f7f7; border: 1px solid #e1e1e1; }
.command-audit-filters label { display: grid; gap: 5px; color: #555; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.command-audit-filters input, .command-audit-filters select { min-height: 40px; padding: 8px 10px; border: 1px solid #ccc; background: #fff; }
.command-audit-filters > span { padding: 12px 0; color: #777; font-size: .75rem; }
.audit-table td small { display: block; margin-top: 3px; color: #888; }
@media (max-width: 850px) { .job-overview-grid { grid-template-columns: 1fr; } .job-record-stats { grid-template-columns: 1fr 1fr; } .command-audit-filters { grid-template-columns: 1fr; } .job-overview-head { flex-direction: column; } }
.original-job-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .95fr); gap: 14px; align-items: start; }
.original-job-column { display: grid; gap: 14px; }
.original-job-card { overflow: hidden; }
.original-job-card > header { display: flex; min-height: 45px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px 8px; }
.original-job-card > header > span { color: var(--orange-600); font-size: .65rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.original-job-card > :not(header) { margin-right: 16px; margin-left: 16px; }
.original-job-card > :last-child { margin-bottom: 15px; }
.original-checklist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.original-checklist article { display: grid; min-height: 75px; align-content: center; gap: 5px; padding: 10px; background: #fff7f7; border: 1.5px solid #dc2626; border-radius: 10px; }
.original-checklist article.complete { background: #f2fff6; border-color: #37985c; }
.original-checklist strong { font-size: .66rem; line-height: 1.25; }
.original-checklist span { color: #c41414; font-size: .56rem; font-weight: 750; }
.original-checklist .complete span { color: #16813e; }
.original-workspace-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.original-workspace-grid .workspace-tile { min-width: 0; min-height: 92px; text-align: left; }
.original-workspace-grid .workspace-tile div { display: grid; gap: 4px; }
.original-workspace-grid .workspace-tile small { color: #657182; font-size: .57rem; line-height: 1.35; }
.original-workspace-grid .workspace-tile.orbit { grid-column: span 2; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 106px; padding: 12px; color: #172033; background: #fff8f3; border: 2px solid var(--orange-600); border-radius: 11px; cursor: pointer; }
.original-workspace-grid .workspace-tile.orbit:hover { background: #fff0e6; box-shadow: 0 8px 20px rgb(219 87 40 / 14%); transform: translateY(-1px); }
.original-workspace-grid .workspace-tile.orbit.complete { background: #f2fff6; border-color: #37985c; }
.workspace-tile-icon { display: grid; width: 48px; height: 48px; place-items: center; color: #fff !important; background: var(--orange-600); border-radius: 50%; font-size: .55rem !important; font-weight: 900; letter-spacing: .04em; }
.original-workspace-grid .workspace-tile.orbit strong { font-size: .82rem; }
.original-workspace-grid .workspace-tile.orbit b { color: var(--orange-700); font-size: .6rem; white-space: nowrap; }
.original-workspace-grid .workspace-tile.orbit.complete b { color: #16813e; }
.orbit-workspace-shell { max-width: 1320px; }
.orbit-workspace-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 10px 0 18px; padding: 20px 22px; background: #fff; border: 1px solid #e7e1dc; border-top: 4px solid var(--orange-600); border-radius: 12px; box-shadow: 0 8px 24px rgb(33 43 54 / 7%); }
.orbit-workspace-hero h2 { margin: 4px 0; color: #111827; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.orbit-workspace-hero p { margin: 0; color: #657182; }
.orbit-workspace-status { display: inline-flex; align-items: center; gap: 8px; max-width: 360px; padding: 9px 12px; color: #7c2d12; background: #fff1e8; border: 1px solid #f1b79d; border-radius: 999px; font-size: .72rem; font-weight: 850; }
.orbit-workspace-status i { width: 9px; height: 9px; background: var(--orange-600); border-radius: 50%; }
.orbit-workspace-status.running i { background: #2563eb; box-shadow: 0 0 0 5px rgb(37 99 235 / 12%); animation: orbit-pulse 1.4s infinite; }
.orbit-workspace-status.review i { background: #d69e00; }
.orbit-workspace-status.complete { color: #166534; background: #ecfdf3; border-color: #a7e2bc; }
.orbit-workspace-status.complete i { background: #2f9d63; }
@keyframes orbit-pulse { 50% { box-shadow: 0 0 0 9px rgb(37 99 235 / 3%); } }
.orbit-workspace-progress { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; padding: 15px 20px; background: #fff; border: 1px solid #e7e1dc; border-radius: 10px; overflow: hidden; }
.orbit-progress-line { position: absolute; left: 9%; right: 9%; top: 31px; height: 4px; overflow: hidden; background: #edf0f3; border-radius: 99px; }
.orbit-progress-line i { display: block; width: var(--orbit-progress); height: 100%; background: var(--orange-600); transition: width .25s ease; }
.orbit-workspace-progress article { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; text-align: center; }
.orbit-workspace-progress article span { display: grid; width: 34px; height: 34px; place-items: center; color: #87909d; background: #fff; border: 3px solid #dfe3e8; border-radius: 50%; font-size: .68rem; font-weight: 900; }
.orbit-workspace-progress article strong { color: #87909d; font-size: .64rem; text-transform: uppercase; letter-spacing: .04em; }
.orbit-workspace-progress article.complete span, .orbit-workspace-progress article.current span { color: #fff; background: var(--orange-600); border-color: var(--orange-600); }
.orbit-workspace-progress article.complete strong, .orbit-workspace-progress article.current strong { color: #a33f1d; }
.orbit-upload-card { margin-bottom: 18px; padding: 20px; background: #fff; border: 1px solid #e7e1dc; border-radius: 12px; box-shadow: 0 8px 24px rgb(33 43 54 / 6%); }
.orbit-upload-intro h3 { margin: 5px 0; color: #111827; font-size: 1.25rem; }
.orbit-upload-intro p { margin: 0 0 16px; color: #657182; }
.orbit-upload-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.orbit-upload-grid label { display: grid; align-content: start; gap: 5px; min-height: 128px; padding: 11px; background: #fff7f7; border: 1.5px solid #dc2626; border-radius: 9px; cursor: pointer; }
.orbit-upload-grid label.complete { background: #f2fff6; border-color: #37985c; }
.orbit-upload-grid label > span { width: max-content; padding: 3px 6px; color: #b91c1c; background: #fee2e2; border-radius: 999px; font-size: .5rem; font-weight: 900; text-transform: uppercase; }
.orbit-upload-grid label.complete > span { color: #166534; background: #dcfce7; }
.orbit-upload-grid label strong { color: #172033; font-size: .69rem; }
.orbit-upload-grid label small { min-height: 30px; color: #657182; font-size: .55rem; line-height: 1.3; }
.orbit-upload-grid input[type="file"] { width: 100%; margin-top: auto; color: #657182; font-size: .53rem; }
.orbit-upload-grid > button { grid-column: 1 / -1; justify-self: start; }
.orbit-preflight-bar { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding-top: 15px; border-top: 1px solid #ece7e3; }
.orbit-preflight-bar > div { display: grid; flex: 1; gap: 3px; }
.orbit-preflight-bar strong { color: #172033; }
.orbit-preflight-bar small { color: #657182; font-size: .65rem; }
.orbit-preflight-bar button:disabled { opacity: .45; cursor: not-allowed; }
.orbit-workspace-tabs { display: flex; gap: 6px; padding: 0 10px; border-bottom: 3px solid var(--orange-600); overflow-x: auto; }
.orbit-workspace-tabs button { padding: 12px 18px; color: #596474; background: #f2f3f5; border: 1px solid #dfe3e8; border-bottom: 0; border-radius: 8px 8px 0 0; font-weight: 820; white-space: nowrap; }
.orbit-workspace-tabs button.active { color: #fff; background: var(--orange-600); border-color: var(--orange-600); }
.orbit-workspace-pane { min-height: 380px; padding: 22px; background: #fff; border: 1px solid #e7e1dc; border-top: 0; border-radius: 0 0 12px 12px; }
.orbit-workspace-pane-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.orbit-workspace-pane-head h3 { margin: 4px 0; color: #111827; font-size: 1.35rem; }
.orbit-workspace-pane-head p { margin: 0; color: #657182; }
.orbit-workspace-empty { padding: 28px; text-align: center; color: #657182; background: #f7f8fa; border: 1px dashed #cfd5dc; border-radius: 10px; }
.orbit-workspace-empty strong { display: block; margin-bottom: 5px; color: #172033; font-size: 1rem; }
.orbit-workspace-empty p { margin: 0; }
.orbit-workspace-empty.good { background: #f2fff6; border-color: #a7e2bc; }
.orbit-workspace-finding { margin-bottom: 9px; }
.orbit-takeoff-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.orbit-takeoff-summary article { display: grid; gap: 4px; padding: 14px; background: #f7f8fa; border-left: 4px solid var(--orange-600); }
.orbit-takeoff-summary strong { color: #172033; font-size: 1.2rem; }
.orbit-takeoff-summary span { color: #657182; font-size: .62rem; text-transform: uppercase; }
.orbit-takeoff-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.orbit-takeoff-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.orbit-takeoff-actions .job-software-actions { margin: 0; }
.hundegger-bridge-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding: 18px; background: #f7fafb; border: 1px solid #cad9df; border-left: 4px solid #0f6f79; border-radius: 9px; }
.hundegger-bridge-card strong { display: block; margin: 4px 0; color: #172033; }
.hundegger-bridge-card p { max-width: 850px; margin: 0; color: #657182; font-size: .72rem; line-height: 1.5; }
.orbit-file-groups { display: grid; gap: 18px; }
.orbit-file-groups > div > h4 { margin: 0 0 8px; padding-bottom: 7px; color: #a33f1d; border-bottom: 2px solid #f0b091; text-transform: uppercase; letter-spacing: .04em; }
.orbit-workspace-activity { padding: 0; }
.original-card-note { display: block; color: #596579; font-size: .54rem; line-height: 1.45; }
.original-details { display: grid; gap: 7px; }
.original-details div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 10px; }
.original-details dt { color: #667085; font-size: .61rem; font-weight: 800; }
.original-details dd { margin: 0; font-size: .68rem; overflow-wrap: anywhere; }
.original-address, .original-notes { color: #344054; font-size: .68rem; line-height: 1.5; }
.original-file-row, .original-bid-row, .original-info-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #ede9e5; }
.original-file-row:first-of-type, .original-bid-row:first-of-type, .original-info-row:first-of-type { border-top: 0; }
.original-file-row > div, .original-bid-row > div, .original-info-row > div { display: grid; }
.original-file-row strong, .original-bid-row strong, .original-info-row strong { font-size: .67rem; }
.original-file-row small, .original-bid-row small, .original-info-row small { color: #667085; font-size: .57rem; }
.original-bid-row > b { color: var(--navy-900); font-size: .67rem; }
.original-bid-row .original-bid-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.original-bid-actions .original-outline-button { white-space: nowrap; }
.original-migration-note { padding: 8px; color: #82520b; background: #fff8e5; border-radius: 6px; font-size: .58rem; }
.original-section-footer { padding-top: 8px; border-top: 1px solid #ede9e5; }
.customer-bid-builder { max-width: 1220px; margin: 0 auto; }
.customer-directory, .v57-customer-card { max-width: 1240px; margin: 0 auto; }
.customer-directory-head, .v57-customer-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding-bottom: 18px; border-bottom: 3px solid var(--orange-600); }
.customer-directory-head h2, .v57-customer-header h2 { margin: 5px 0; color: #111827; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.customer-directory-head p, .v57-customer-header p { margin: 0; color: #657182; }
.customer-directory-actions, .v57-customer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.customer-directory-tools { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 18px 0 10px; }
.customer-directory-tools label { width: min(620px, 100%); }
.customer-directory-tools span { color: #657182; font-size: .7rem; font-weight: 800; }
.customer-directory-list { display: grid; gap: 8px; }
.customer-directory-row { display: grid; grid-template-columns: minmax(230px, 2fr) 130px 100px 110px 75px; align-items: center; gap: 14px; width: 100%; padding: 16px 18px; color: #172033; background: #fff; border: 1px solid #e5e1dc; border-left: 4px solid transparent; border-radius: 9px; text-align: left; box-shadow: 0 5px 18px rgb(33 43 54 / 5%); }
.customer-directory-row:hover { border-left-color: var(--orange-600); transform: translateY(-1px); }
.customer-directory-row > span { display: grid; gap: 2px; }
.customer-directory-row small { color: #657182; font-size: .62rem; }
.customer-directory-row code { color: #667085; font-size: .65rem; }
.customer-directory-row b { font-size: .9rem; }
.customer-row-open { color: var(--orange-600); font-weight: 850; text-align: right; }
.customer-directory-empty { display: grid; gap: 5px; min-height: 150px; place-content: center; color: #667085; background: #fff; border: 1px dashed #cbc6c0; border-radius: 10px; text-align: center; }
.customer-directory-empty strong { color: #172033; }
.v57-customer-actions { margin: 14px 0; padding: 13px; background: #fff; border: 1px solid #e5e1dc; border-radius: 10px; }
.v57-customer-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.v57-customer-summary article { display: grid; gap: 4px; min-width: 0; padding: 15px; background: #fff; border: 1px solid #e5e1dc; border-top: 4px solid var(--orange-600); border-radius: 9px; }
.v57-customer-summary span { color: #657182; font-size: .58rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.v57-customer-summary strong { color: #172033; font-size: .88rem; overflow-wrap: anywhere; }
.v57-customer-summary small { color: #657182; font-size: .62rem; overflow-wrap: anywhere; }
.v57-customer-jobs { overflow: hidden; margin-bottom: 15px; background: #fff; border: 1px solid #e5e1dc; border-radius: 10px; }
.v57-customer-jobs > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 15px 18px; border-bottom: 3px solid var(--orange-600); }
.v57-customer-jobs h3 { margin: 3px 0 0; }
.v57-customer-jobs > header > span { max-width: 420px; color: #657182; font-size: .62rem; text-align: right; }
.v57-customer-job-list { display: grid; gap: 1px; background: #ede9e5; }
.v57-customer-job { background: #fff; }
.v57-customer-job:nth-child(even) { background: #f8f8f7; }
.v57-customer-job > button { display: grid; grid-template-columns: minmax(240px, 2fr) 150px 100px 85px 65px; align-items: center; gap: 12px; width: 100%; padding: 14px 17px; color: #172033; background: transparent; border: 0; text-align: left; }
.v57-customer-job > button > span:first-child { display: grid; gap: 3px; }
.v57-customer-job > button strong { font-size: .82rem; }
.v57-customer-job > button small { color: #667085; font-size: .58rem; }
.v57-customer-job > button b { display: block; font-size: .86rem; }
.v57-job-bids { display: grid; margin: 0 17px 13px; background: #fffaf6; border: 1px solid #f0d2c3; border-radius: 7px; }
.v57-job-bids button { display: grid; grid-template-columns: 100px minmax(180px, 1fr) 120px 90px; align-items: center; gap: 12px; padding: 9px 11px; color: #344054; background: transparent; border: 0; border-bottom: 1px solid #f0ded4; text-align: left; }
.v57-job-bids button:last-child { border-bottom: 0; }
.v57-job-bids time, .v57-job-bids span { color: #667085; font-size: .59rem; }
.v57-job-bids b { text-align: right; }
.v57-customer-editor-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 15px; }
.v57-customer-form { padding-bottom: 16px; scroll-margin-top: 20px; }
.v57-customer-form > .form-grid { padding: 16px; }
.v57-customer-form > button { margin-left: 16px; }
.customer-bid-context, .saved-bid-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0 14px; padding: 18px 20px; background: #fff; border: 1px solid #e7e1dc; border-top: 4px solid var(--orange-600); border-radius: 11px; box-shadow: 0 8px 24px rgb(33 43 54 / 7%); }
.customer-bid-context h2, .saved-bid-head h2 { margin: 4px 0; color: #111827; font-size: clamp(1.35rem, 2.5vw, 2rem); }
.customer-bid-context p, .saved-bid-head p { margin: 0; color: #657182; }
.saved-bid-workspace { max-width: 1220px; }
.saved-bid-notice { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px 14px; color: #7c2d12; background: #fff7ed; border: 1px solid #fdba74; border-left: 5px solid var(--orange-600); border-radius: 8px; }
.saved-bid-notice strong { flex: 0 0 auto; }
.saved-bid-notice span { color: #74422d; font-size: .72rem; line-height: 1.45; }
.saved-bid-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.saved-bid-metrics article { display: grid; gap: 5px; padding: 15px; background: #fff; border: 1px solid #e7e1dc; border-radius: 9px; }
.saved-bid-metrics span { color: #657182; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.saved-bid-metrics strong { color: #172033; font-size: 1rem; }
.saved-bid-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.saved-bid-detail-grid > div { display: grid; gap: 3px; min-width: 0; padding-bottom: 8px; border-bottom: 1px solid #eee9e4; }
.saved-bid-detail-grid span { color: #657182; font-size: .57rem; font-weight: 800; text-transform: uppercase; }
.saved-bid-detail-grid strong { color: #172033; font-size: .67rem; overflow-wrap: anywhere; }
.saved-bid-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 14px; padding-top: 14px; border-top: 2px solid #f0b091; }
.bid-customer-lock { display: grid; align-content: center; gap: 3px; min-height: 72px; padding: 10px 12px; background: #fff7ed; border: 1px solid #fdba74; border-radius: 8px; }
.bid-customer-lock span { color: #9a3412; font-size: .59rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.bid-customer-lock strong { color: #172033; font-size: .85rem; }
.bid-customer-lock small { color: #657182; font-size: .63rem; }
.original-empty { min-height: 70px; margin-top: 0; color: #667085; font-size: .64rem; text-align: center; place-content: center; }
.original-empty.compact { min-height: 42px; }
.original-activity-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; padding: 8px 0; border-top: 1px solid #eee9e4; }
.original-activity-row > span { display: grid; width: 20px; height: 20px; place-items: center; color: #fff; background: var(--orange-600); border-radius: 50%; font-size: .54rem; font-weight: 900; }
.original-activity-row > div { min-width: 0; }
.original-activity-row strong { font-size: .61rem; }
.original-activity-row p { margin: 1px 0 0; color: #475467; font-size: .58rem; line-height: 1.4; }
.original-activity-row time { color: #667085; font-size: .54rem; }
.job-activity-tools { display: grid; gap: 8px; margin-bottom: 10px; }
.job-activity-tools .segmented { display: flex; flex-wrap: wrap; gap: 4px; }
.job-activity-tools .segmented button { padding: 5px 8px; color: #5d6673; background: #f5f6f8; border: 1px solid #dde1e7; border-radius: 999px; font-size: .54rem; font-weight: 800; }
.job-activity-tools .segmented button.active { color: #fff; background: var(--orange-600); border-color: var(--orange-600); }
.job-activity-tools input, .job-chat-search { width: 100%; min-height: 34px; padding: 7px 9px; border: 1px solid #ddd8d2; border-radius: 7px; font-size: .62rem; }
.original-message { padding: 8px 0; border-top: 1px solid #eee9e4; }
.original-message > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.original-message strong { font-size: .63rem; }
.original-message time { color: #667085; font-size: .52rem; }
.original-message p { margin: 4px 0 0; color: #475467; font-size: .61rem; line-height: 1.45; }
.original-chat-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.original-chat-form textarea { width: 100%; padding: 9px; border: 1px solid #d6d3d1; border-radius: 7px; resize: vertical; font-size: .65rem; }
.original-summary-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.original-summary-counts div { padding: 9px; background: #faf8f6; border: 1px solid #eee9e4; border-radius: 7px; text-align: center; }
.original-summary-counts strong { display: block; color: var(--orange-600); font-size: 1rem; }
.original-summary-counts span { color: #667085; font-size: .54rem; }

/* The same customer card moving through Rift, Forge, and Send It. */
.phase-journey { display: grid; gap: 14px; margin-bottom: 22px; }
.phase-journey-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 0 2px; }
.phase-journey-intro strong { color: var(--navy-900); font-size: .82rem; }
.phase-journey-intro span { color: #667085; font-size: .64rem; }
.phase-journey-counters { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 9px; }
.phase-journey-counters article { min-height: 82px; padding: 14px 16px; background: #fff; border: 1px solid #ded9d4; border-radius: 11px; }
.phase-journey-counters strong { display: block; color: var(--orange-600); font-size: 1.35rem; }
.phase-journey-counters span { color: #667085; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.phase-journey-queue, .phase-open-card { overflow: hidden; background: #fff; border: 1px solid #ded9d4; border-radius: 12px; box-shadow: var(--shadow-sm); }
.phase-journey-queue > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; background: #faf8f6; cursor: pointer; list-style: none; }
.phase-journey-queue > summary::-webkit-details-marker { display: none; }
.phase-journey-queue > summary > div { display: grid; gap: 2px; }
.phase-journey-queue > summary span { color: var(--orange-600); font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.phase-journey-queue > summary small { color: #667085; font-size: .61rem; }
.phase-journey-queue > summary b { display: grid; min-width: 28px; height: 28px; place-items: center; color: #fff; background: var(--navy-900); border-radius: 999px; font-size: .62rem; }
.phase-journey-queue[open] > summary { border-bottom: 1px solid #e9e5e1; }
.phase-journey-rows > button { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 12px 16px; color: #18212f; background: #fff; border: 0; border-bottom: 1px solid #eee9e4; text-align: left; }
.phase-journey-rows > button:last-child { border-bottom: 0; }
.phase-journey-rows > button:hover, .phase-journey-rows > button.active { background: #fff8f4; }
.phase-journey-rows > button.active { box-shadow: inset 4px 0 var(--orange-600); }
.phase-journey-rows > button div { display: grid; }
.phase-journey-rows > button strong { color: var(--navy-900); font-size: .72rem; }
.phase-journey-rows > button span { color: #667085; font-size: .62rem; }
.phase-journey-rows > button small { padding: 4px 8px; color: #a3431e; background: var(--orange-100); border-radius: 99px; font-size: .58rem; font-weight: 800; }
.phase-journey-rows > button b { color: var(--orange-600); font-size: .62rem; }
.phase-journey-empty { margin: 0; padding: 24px; color: #667085; font-size: .68rem; text-align: center; }
.phase-open-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 18px; border-bottom: 1px solid #e9e5e1; }
.phase-open-card > header > div > span { color: var(--orange-600); font-size: .62rem; font-weight: 900; letter-spacing: .06em; }
.phase-open-card h3 { margin: 3px 0; color: var(--navy-900); font-size: 1rem; }
.phase-open-card header p { margin: 0; color: #667085; font-size: .65rem; }
.phase-open-card header > b { padding: 6px 10px; color: #fff; background: var(--navy-900); border-radius: 99px; font-size: .61rem; white-space: nowrap; }
.phase-card-header-actions { display: flex; align-items: center; gap: 8px; }
.phase-card-header-actions > b { padding: 6px 10px; color: #fff; background: var(--navy-900); border-radius: 99px; font-size: .61rem; white-space: nowrap; }
.phase-card-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.phase-card-summary > div { display: grid; gap: 3px; padding: 13px 18px; border-right: 1px solid #eee9e4; }
.phase-card-summary > div:last-child { border-right: 0; }
.phase-card-summary span { color: #667085; font-size: .56rem; font-weight: 800; text-transform: uppercase; }
.phase-card-summary strong { color: #243140; font-size: .73rem; }
.phase-card-actions { display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); align-items: start; gap: 10px; padding: 14px 18px; background: #faf8f6; }
.phase-card-actions > section { display: flex; align-content: flex-start; gap: 7px; min-height: 100%; padding: 11px; background: #fff; border: 1px solid #e5dfd9; border-radius: 10px; flex-wrap: wrap; }
.phase-card-actions > section > span { width: 100%; color: var(--orange-600); font-size: .57rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.phase-card-actions > section > button { flex: 1 1 auto; }
.phase-card-actions .job-software-actions { margin: 0; }
.phase-card-actions .software-launch-button { min-width: 140px; background: #fff; }
.phase-page-button { min-height: 38px; white-space: nowrap; }
.phase-page-button > span { display: inline-grid; min-width: 22px; height: 22px; margin-right: 5px; place-items: center; color: #fff; background: var(--navy-900); border-radius: 6px; font-size: .55rem; }

/* v58 phase landing pages: flat queues, with job actions kept inside the open customer card. */
.phase-flat-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; padding-bottom: 22px; border-bottom: 1px solid #e8e8e8; }
.phase-flat-heading h2 { margin: 0; color: #1a1a1a; font-size: 1.65rem; font-weight: 650; letter-spacing: -.025em; }
.phase-flat-heading h2 span { color: #999; font-size: 1.25rem; font-weight: 400; }
.phase-flat-heading .phase-page-button { min-height: 38px; padding: 9px 16px; border-radius: 6px; font-size: .78rem; font-weight: 550; }
.phase-flat-heading .phase-page-button.primary { background: #01696f; box-shadow: none; }
.phase-flat-heading .phase-page-button.secondary { color: #1a1a1a; background: #f4f4f4; border-color: #dcdcdc; }
.phase-flat-heading .phase-page-button.secondary:hover { color: #1a1a1a; background: #eaeaea; }
.phase-flat-page { gap: 0; margin: 0; }
.phase-flat-queue { margin-top: 38px; }
.phase-flat-queue:first-child { margin-top: 0; }
.phase-flat-queue > header { display: flex; align-items: center; gap: 12px; padding: 0 2px 12px; border-bottom: 3px solid var(--orange-600); }
.phase-flat-queue > header strong { color: var(--orange-600); font-size: 1.02rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.phase-flat-queue > header span { display: inline-grid; min-width: 34px; height: 30px; padding: 0 9px; place-items: center; color: #fff; background: #b42318; border: 1px solid #8f1d14; border-radius: 7px; box-shadow: 0 2px 6px rgba(180, 35, 24, .2); font-size: .9rem; font-weight: 850; }
.phase-journey-rows { display: grid; gap: 9px; padding: 12px 0 2px; }
.phase-flat-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; overflow: hidden; background: #fff; border: 1px solid #e5e1dd; border-radius: 10px; box-shadow: 0 2px 8px rgba(18, 38, 63, .055); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.phase-flat-row:nth-child(even) { background: #f5f6f7; }
.phase-flat-row:hover, .phase-flat-row.active { border-color: #e2a68c; box-shadow: 0 5px 16px rgba(18, 38, 63, .1); transform: translateY(-1px); }
.phase-flat-row.active { box-shadow: inset 4px 0 var(--orange-600), 0 5px 16px rgba(18, 38, 63, .1); }
.phase-flat-row-open { display: grid; min-width: 0; grid-template-columns: minmax(240px, 1.25fr) 140px minmax(190px, .8fr) minmax(150px, .65fr); gap: 18px; align-items: center; padding: 16px 18px; color: #1a1a1a; background: transparent; border: 0; text-align: left; cursor: pointer; }
.phase-flat-row-open code { color: #555; font: 650 .76rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.phase-flat-primary, .phase-flat-timing { display: grid; gap: 3px; min-width: 0; }
.phase-flat-primary strong { overflow: hidden; color: var(--navy-900); font-size: 1.02rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.phase-flat-primary small { overflow: hidden; color: #596474; font-size: .79rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.phase-flat-timing em { color: #525c6a; font-size: .75rem; font-style: normal; font-weight: 650; }
.phase-flat-timing small { color: #7a8491; font-size: .7rem; }
.phase-flat-status { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; justify-content: center; padding: 6px 10px; border: 1px solid transparent; border-radius: 999px; font-size: .7rem; font-weight: 800; line-height: 1.2; text-align: center; }
.phase-flat-status.waiting { color: #17633d; background: #e8f6ee; border-color: #b8dec8; }
.phase-flat-status.active { color: #0f5f78; background: #e7f4f8; border-color: #b7dbe6; }
.phase-flat-status.handoff { color: #8a4b11; background: #fff1de; border-color: #f0c58f; }
.phase-flat-status.blocked { color: #a1261d; background: #fdecea; border-color: #efbbb6; }
.phase-accept-button { align-self: center; min-width: 92px; margin: 0 16px 0 4px; padding: 9px 15px; color: #fff; background: var(--orange-600); border: 1px solid #b7441d; border-radius: 7px; box-shadow: 0 2px 6px rgba(216, 93, 42, .22); font-size: .76rem; font-weight: 750; }
.phase-accept-button:hover { background: #bc481d; }
.phase-journey-empty { margin: 0; padding: 20px 0; color: #bbb; font-size: .76rem; font-style: italic; text-align: left; }
.phase-card-overlay { position: fixed; z-index: 65; inset: 0; display: grid; place-items: center; padding: 34px; }
.phase-card-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(11, 23, 40, .46); border: 0; cursor: default; }
.phase-card-overlay .phase-open-card { position: relative; z-index: 1; width: min(1160px, 96vw); max-height: min(840px, 92vh); overflow: auto; border-radius: 10px; box-shadow: 0 24px 70px rgba(11, 23, 40, .3); }
.phase-card-overlay .phase-card-actions { grid-template-columns: repeat(4, minmax(190px, 1fr)); }
.phase-accept-dialog form { width: min(520px, 92vw); }

.kanban { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 14px; overflow-x: auto; padding-bottom: 4px; }
.kanban-column { min-height: 360px; padding: 12px; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 13px; }
.kanban-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; padding: 3px 3px 8px; }
.kanban-head strong { font-size: 0.78rem; }
.kanban-head span { display: grid; width: 25px; height: 25px; place-items: center; color: var(--slate-600); background: var(--white); border-radius: 7px; font-size: 0.68rem; font-weight: 800; }
.job-card { display: grid; gap: 9px; margin-bottom: 9px; padding: 13px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px; box-shadow: 0 1px 4px rgba(20, 40, 60, 0.05); }
.job-card strong { font-size: 0.78rem; }
.job-card p { margin: 0; color: var(--slate-600); font-size: 0.7rem; }
.job-card small { color: var(--slate-500); }

.inventory-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.summary-card { padding: 17px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.summary-card span { color: var(--slate-500); font-size: 0.68rem; font-weight: 750; text-transform: uppercase; }
.summary-card strong { display: block; margin-top: 4px; color: var(--navy-900); font-size: 1.5rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.material-card { position: relative; display: grid; gap: 10px; min-height: 140px; padding: 16px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 12px; }
.material-card::before { position: absolute; top: 16px; left: 0; width: 3px; height: 42px; background: var(--orange-500); border-radius: 0 3px 3px 0; content: ""; }
.material-card h4 { margin: 0; font-size: 0.84rem; }
.material-card p { margin: 0; color: var(--slate-500); font-size: 0.7rem; }
.material-card footer { display: flex; align-items: end; justify-content: space-between; margin-top: auto; }
.material-card code { color: var(--navy-700); font-family: inherit; font-size: 0.67rem; font-weight: 800; }

.readiness-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.readiness-item { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 11px; padding: 13px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.readiness-mark { display: grid; width: 38px; height: 38px; place-items: center; color: var(--navy-800); background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px; font-size: 0.72rem; font-weight: 850; }
.readiness-item strong { display: block; font-size: 0.76rem; }
.readiness-item small { display: block; color: var(--slate-500); font-size: 0.66rem; }

.roadmap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); gap: 20px; }
.roadmap-intro { padding: clamp(24px, 4vw, 48px); color: var(--white); background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); border-radius: var(--radius-lg); }
.roadmap-intro h2 { margin: 10px 0 12px; font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -0.04em; }
.roadmap-intro p { color: #c2d0df; }
.roadmap-list { display: grid; gap: 10px; }
.roadmap-step { padding: 16px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.roadmap-step span { color: var(--orange-600); font-size: 0.64rem; font-weight: 850; letter-spacing: 0.1em; }
.roadmap-step strong { display: block; margin: 3px 0; font-size: 0.82rem; }
.roadmap-step p { margin: 0; color: var(--slate-500); font-size: 0.7rem; }

/* Dialogs and notifications */
.modal { width: min(720px, calc(100vw - 28px)); padding: 0; background: var(--white); border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.modal::backdrop { background: rgba(8, 18, 31, 0.68); backdrop-filter: blur(3px); }
.modal form { padding: 24px; }
.modal-head { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.modal-head h2 { margin: 4px 0 4px; font-size: 1.35rem; letter-spacing: -0.03em; }
.modal-head p { margin: 0; color: var(--slate-600); font-size: 0.8rem; }
.form-grid { display: grid; gap: 15px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid .span-two { grid-column: 1 / -1; }
.inline-address { display: grid; grid-template-columns: .55fr 1fr; gap: 8px; }
.form-grid textarea { resize: vertical; }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--slate-200); }
.toast { position: fixed; z-index: 100; right: 24px; bottom: 24px; max-width: min(430px, calc(100vw - 32px)); padding: 13px 16px; color: var(--white); background: var(--navy-900); border-radius: 10px; box-shadow: var(--shadow-lg); font-size: 0.78rem; font-weight: 700; }
.toast.error { background: #9f3434; }
.toast.notice { background: var(--amber-700); }
.loading-state { display: grid; min-height: 55vh; place-items: center; color: var(--slate-500); }
.loading-state span { width: 30px; height: 30px; border: 3px solid var(--slate-200); border-top-color: var(--orange-500); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.menu-overlay { display: none; }

/* Restored v58 workflow, calendar, communications, and approvals */
.legacy-stage-strip { display: grid; grid-template-columns: repeat(9, minmax(145px, 1fr)); gap: 8px; margin: 0 0 22px; overflow-x: auto; padding: 3px 2px 8px; }
.legacy-stage-strip.compact { margin-top: 0; }
.legacy-stage { display: grid; min-height: 76px; grid-template-columns: 27px 1fr; align-items: center; gap: 8px; padding: 11px; background: #fff; border: 1px solid var(--slate-200); border-top: 3px solid var(--orange-500); border-radius: 10px; box-shadow: var(--shadow-sm); }
.legacy-stage > span { display: grid; width: 25px; height: 25px; place-items: center; color: #fff; background: var(--navy-800); border-radius: 50%; font-size: .65rem; font-weight: 850; }
.legacy-stage div { display: grid; }
.legacy-stage strong { color: var(--navy-900); font-size: .7rem; line-height: 1.2; }
.legacy-stage small { margin-top: 4px; color: var(--slate-500); font-size: .62rem; }
.dashboard-columns { display: grid; grid-template-columns: minmax(270px, .65fr) minmax(0, 1.35fr); gap: 20px; }
.dashboard-main { display: grid; align-content: start; gap: 20px; }
.mini-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; padding: 14px; }
.mini-day { position: relative; display: grid; min-height: 56px; place-content: center; color: var(--slate-700); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; }
.mini-day span { font-size: .55rem; text-transform: uppercase; }
.mini-day strong { font-size: .9rem; }
.mini-day.today { color: #fff; background: var(--orange-600); border-color: var(--orange-600); }
.mini-day i { position: absolute; right: 3px; bottom: 3px; display: grid; width: 16px; height: 16px; place-items: center; color: #fff; background: var(--navy-800); border-radius: 50%; font-size: .52rem; font-style: normal; }
.upcoming-list { display: grid; gap: 8px; padding: 0 14px 14px; }
.upcoming-list article { display: grid; grid-template-columns: 45px 1fr; gap: 9px; padding: 9px; border-top: 1px solid var(--slate-100); }
.upcoming-list time { color: var(--orange-600); font-size: .68rem; font-weight: 800; }
.upcoming-list div { display: grid; }
.upcoming-list strong { font-size: .72rem; }
.upcoming-list small { color: var(--slate-500); font-size: .62rem; text-transform: capitalize; }
.home-rail-section { margin: 0 14px 14px; padding-top: 14px; border-top: 1px solid var(--slate-200); }
.home-rail-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.home-rail-title > strong { color: var(--slate-500); font-size: .66rem; }
.home-task-list, .home-activity-list { display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
.home-task { display: grid; grid-template-columns: 18px 1fr 22px; align-items: start; gap: 6px; padding: 7px; background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: 7px; font-size: .7rem; }
.home-task.done { opacity: .55; text-decoration: line-through; }
.home-task input { margin: 2px 0 0; accent-color: var(--orange-600); }
.home-task button { padding: 0; color: var(--slate-500); background: transparent; border: 0; font-size: 1rem; line-height: 1; }
.home-task button:hover { color: var(--red-700); }
.home-task-add { display: grid; grid-template-columns: 1fr auto; gap: 5px; margin-top: 8px; }
.home-task-add input { min-width: 0; padding: 7px 8px; border: 1px solid var(--slate-300); border-radius: 7px; font-size: .7rem; }
.home-task-add button { padding: 6px 10px; color: #fff; background: var(--orange-600); border: 0; border-radius: 7px; font-size: .68rem; font-weight: 800; }
.home-activity { display: grid; grid-template-columns: 7px 1fr; gap: 8px; padding: 7px 2px; border-bottom: 1px solid var(--slate-100); }
.home-activity > i { width: 6px; min-height: 34px; background: var(--navy-700); border-radius: 99px; }
.home-activity > i.stage_changed { background: var(--orange-600); }
.home-activity div { display: grid; }
.home-activity strong { color: var(--navy-800); font-size: .66rem; }
.home-activity span { color: var(--slate-700); font-size: .66rem; line-height: 1.35; }
.home-activity small { margin-top: 2px; color: var(--slate-500); font-size: .58rem; }
.rail-empty { padding: 8px 2px; color: var(--slate-500); font-size: .66rem; font-style: italic; }

/* Original Google Apps Script v58 Home arrangement */
.original-home-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 18px; }
.original-home-rail { position: sticky; top: 98px; display: grid; gap: 14px; }
.original-rail-card { padding: 12px; background: #fff; border: 1px solid #e1ddd8; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.original-rail-card > h3 { margin: 0 0 10px; color: var(--orange-600); font-size: .75rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.original-calendar-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.original-calendar-head strong { font-size: .77rem; }
.original-calendar-head button { display: grid; width: 24px; height: 24px; place-items: center; padding: 0; color: var(--slate-600); background: transparent; border: 1px solid #e1ddd8; border-radius: 6px; }
.original-calendar-head button:hover { color: #fff; background: var(--orange-600); border-color: var(--orange-600); }
.original-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.original-calendar-grid .calendar-dow { padding: 3px 0; color: var(--slate-500); font-size: .59rem; font-weight: 800; text-align: center; }
.original-calendar-grid .calendar-day { position: relative; display: grid; min-height: 32px; place-items: center; padding: 0; color: var(--slate-900); background: #fff; border: 1px solid #eeeae5; border-radius: 2px; font-size: .65rem; font-weight: 720; }
.original-calendar-grid .calendar-day:hover { background: var(--orange-100); }
.original-calendar-grid .calendar-day.other { color: #756f68; background: #faf8f4; }
.original-calendar-grid .calendar-day.today { color: var(--navy-900); border-color: var(--orange-600); box-shadow: inset 0 0 0 1px var(--orange-600); }
.original-calendar-grid .calendar-day.selected { color: #fff; background: var(--navy-900); border-color: var(--navy-900); box-shadow: 0 0 0 2px rgba(226, 88, 34, .2); }
.original-calendar-grid .calendar-day.selected i { background: #fff; }
.original-calendar-grid .calendar-day i { position: absolute; bottom: 2px; width: 4px; height: 4px; background: var(--orange-600); border-radius: 50%; }
.original-calendar-events { margin-top: 10px; padding-top: 9px; border-top: 1px dashed #e1ddd8; }
.original-calendar-events > div { display: flex; align-items: center; justify-content: space-between; }
.original-calendar-events button { padding: 4px 8px; color: var(--orange-600); background: #fff; border: 1px solid var(--orange-600); border-radius: 6px; font-size: .62rem; font-weight: 750; }
.original-calendar-events em { display: block; margin-top: 8px; color: var(--slate-500); font-size: .62rem; }
.original-day-agenda { display: grid !important; gap: 5px; margin-top: 8px; }
.original-day-agenda > button { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 6px; width: 100%; padding: 7px 8px; color: var(--slate-900); background: #fffaf7; border: 1px solid #eee2d9; text-align: left; }
.original-day-agenda time { color: var(--orange-600); font-size: .6rem; font-weight: 800; }
.original-day-agenda span { display: grid; min-width: 0; }
.original-day-agenda b, .original-day-agenda small { overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.original-day-agenda small { color: var(--slate-500); }
.original-activity-block { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e1ddd8; }
.original-activity-block h4 { margin: 0 0 8px; color: var(--orange-600); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.original-home-main { min-width: 0; }
.original-welcome { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 5px 0 20px; }
.original-welcome-actions { display: flex; align-items: stretch; gap: 10px; }
.original-welcome .original-primary-button { min-width: 170px; }
.original-welcome h2 { margin: 0; color: #101820; font-size: clamp(1.6rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.original-welcome h2 span { color: var(--orange-600); }
.original-welcome p { margin: 5px 0 0; color: var(--slate-600); font-size: .82rem; }
.original-welcome { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.production-flow-home-button { display: grid; grid-template-columns: auto 1fr; column-gap: 9px; align-items: center; min-width: 190px; padding: 11px 15px; color: #fff; background: var(--orange-600); border: 1px solid var(--orange-600); border-radius: 10px; box-shadow: 0 7px 18px rgba(183, 67, 26, .2); cursor: pointer; text-align: left; }
.production-flow-home-button > span { grid-row: 1 / 3; display: grid; width: 31px; height: 31px; place-items: center; background: rgba(255,255,255,.16); border-radius: 50%; font-size: 1rem; }
.production-flow-home-button strong { font-size: .76rem; }
.production-flow-home-button small { color: #fff4ee; font-size: .58rem; }
.production-flow-home-button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(183, 67, 26, .26); }

/* Shared Galaxy + Command production journey */
.production-flow-page-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--slate-200); }
.production-flow-page-head > div { display: grid; gap: 5px; }
.production-flow-page-head span { color: var(--orange-600); font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.production-flow-page-head h2 { margin: 0; color: var(--navy-900); font-size: clamp(1.65rem, 3vw, 2.4rem); }
.production-flow-page-head p { max-width: 760px; margin: 0; color: var(--slate-600); font-size: .76rem; line-height: 1.5; }
.production-flow-shell { display: grid; gap: 18px; }
.production-flow-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; color: #fff; background: linear-gradient(115deg, var(--navy-950), var(--navy-800)); border-radius: 14px; box-shadow: var(--shadow-sm); }
.production-flow-summary > div:first-child { display: grid; gap: 5px; }
.production-flow-summary .eyebrow { color: #f8aa87; }
.production-flow-summary strong { font-size: 1rem; }
.production-flow-summary small { color: #d8e3eb; font-size: .66rem; line-height: 1.45; }
.production-flow-channel-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.production-flow-channel-status span { display: flex; align-items: center; gap: 6px; padding: 7px 9px; color: #eaf1f6; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; font-size: .58rem; font-weight: 750; white-space: nowrap; }
.production-flow-channel-status i { width: 7px; height: 7px; background: #d19a2c; border-radius: 50%; }
.production-flow-channel-status i.ready { background: #31c487; box-shadow: 0 0 0 3px rgba(49,196,135,.14); }
.production-flow-track { display: grid; width: min(100%, 980px); gap: 7px; padding: 5px 3px 13px; margin-inline: auto; }
.production-flow-arrow { display: grid; height: 25px; place-items: center; color: var(--orange-600); font-size: 1.35rem; font-weight: 900; }
.production-flow-node { position: relative; display: grid; width: 100%; min-height: 0; align-content: start; gap: 8px; padding: 16px 18px; color: var(--slate-900); background: #fff; border: 1px solid #ddd9d4; border-left: 5px solid var(--navy-800); border-radius: 12px; box-shadow: var(--shadow-sm); cursor: pointer; text-align: left; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.production-flow-node:hover, .production-flow-node.expanded { transform: translateY(-2px); border-color: var(--orange-500); border-left-color: var(--orange-500); box-shadow: 0 10px 26px rgba(18,38,63,.11); }
.production-flow-node.needs-attention { border-left-color: var(--red-700); }
.production-flow-node.locked { background: #f4f5f6; border-left-color: #9aa4af; }
.production-flow-step { position: absolute; top: 12px; right: 12px; display: grid; min-width: 29px; height: 29px; place-items: center; color: #fff; background: var(--navy-800); border-radius: 50%; font-size: .58rem; font-weight: 900; }
.production-flow-node.needs-attention .production-flow-step { background: var(--red-700); }
.production-flow-area { padding-right: 35px; color: var(--orange-600); font-size: .57rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.production-flow-node > strong { color: var(--navy-900); font-size: .92rem; }
.production-flow-node > small { color: var(--slate-600); font-size: .63rem; line-height: 1.5; }
.production-flow-count { display: flex; align-items: center; gap: 6px; margin-top: auto; color: var(--slate-600); font-size: .6rem; font-weight: 750; }
.production-flow-count b { display: grid; min-width: 29px; height: 29px; place-items: center; color: #fff; background: var(--orange-600); border-radius: 8px; font-size: .75rem; }
.production-flow-node.needs-attention .production-flow-count b { background: var(--red-700); }
.production-flow-count.action-only b { background: var(--navy-800); }
.production-flow-channels { display: flex; flex-wrap: wrap; gap: 5px; }
.production-flow-channels i { padding: 3px 6px; color: #236b55; background: #e9f8f1; border: 1px solid #bde8d7; border-radius: 999px; font-size: .5rem; font-style: normal; font-weight: 850; }
.production-flow-channels i.future { color: #8a6a27; background: #fff7dc; border-color: #eddc9e; }
.production-flow-access { padding-top: 8px; color: var(--navy-700); border-top: 1px solid var(--slate-200); font-size: .58rem; font-weight: 850; }
.production-flow-node.locked .production-flow-access { color: var(--red-700); }
.production-flow-branches { padding: 15px 17px; background: #fff8f4; border: 1px solid #f0c6b5; border-radius: 12px; }
.production-flow-branches > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.production-flow-branches > header span { color: var(--orange-600); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.production-flow-branches > header small { color: var(--slate-600); font-size: .62rem; }
.production-flow-branches > div { display: flex; align-items: center; gap: 12px; overflow-x: auto; }
.production-flow-node.branch { flex: 0 0 245px; width: 245px; min-height: 176px; border-left-color: var(--orange-500); }
.production-flow-node.branch > small { min-height: 38px; }
.production-flow-branch-arrow { flex: 0 0 auto; color: var(--orange-600); font-size: .62rem; font-weight: 850; }
.production-flow-branch-arrow.return { color: var(--navy-700); }
.production-flow-automation { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; padding: 13px 16px; color: var(--navy-900); background: #f3f7fa; border: 1px solid #d9e3eb; border-radius: 10px; font-size: .63rem; }
.production-flow-automation span { color: var(--orange-600); font-weight: 900; text-transform: uppercase; }
.production-flow-automation i { color: var(--orange-600); font-style: normal; font-weight: 900; }
.production-flow-automation strong { font-size: .63rem; }
.production-flow-automation .future { color: #8a6a27; }
.production-flow-detail { overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.production-flow-detail.empty { display: grid; gap: 4px; padding: 24px; text-align: center; }
.production-flow-detail.empty strong { color: var(--navy-900); }
.production-flow-detail.empty span { color: var(--slate-600); font-size: .68rem; }
.production-flow-detail > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; background: var(--navy-900); }
.production-flow-detail > header div { display: grid; gap: 3px; }
.production-flow-detail > header span { color: #f5a27d; font-size: .56rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.production-flow-detail > header h3 { margin: 0; color: #fff; font-size: 1rem; }
.production-flow-detail > header p { margin: 0; color: #dbe5ec; font-size: .62rem; }
.production-flow-detail > header > b { display: grid; min-width: 42px; height: 42px; place-items: center; color: var(--navy-900); background: #fff; border-radius: 10px; }
.production-flow-job-list { display: grid; gap: 1px; background: var(--slate-200); }
.production-flow-job-list > button { display: grid; grid-template-columns: minmax(220px, 1.3fr) minmax(145px, .7fr) auto minmax(120px, auto); align-items: center; gap: 16px; padding: 13px 18px; color: var(--slate-900); background: #fff; border: 0; cursor: pointer; text-align: left; }
.production-flow-job-list > button:hover { background: #fff8f4; }
.production-flow-job-list > button.locked { background: #f5f6f7; cursor: not-allowed; }
.production-flow-job-list > button > span:not(.pill) { display: grid; gap: 3px; }
.production-flow-job-list strong { color: var(--navy-900); font-size: .75rem; }
.production-flow-job-list small { color: var(--slate-500); font-size: .6rem; }
.production-flow-job-list em { color: var(--orange-600); font-size: .62rem; font-style: normal; font-weight: 850; text-align: right; }
.production-flow-no-jobs { display: grid; gap: 4px; padding: 25px; color: var(--slate-600); text-align: center; }
.production-flow-no-jobs strong { color: var(--navy-900); font-size: .76rem; }
.production-flow-no-jobs span { font-size: .63rem; }

@media (max-width: 760px) {
  .quickbooks-quote-checkpoint { grid-template-columns: auto 1fr; }
  .quickbooks-quote-actions { grid-column: 1 / -1; justify-content: stretch; }
  .quickbooks-quote-actions > * { flex: 1 1 150px; text-align: center; }
  .original-welcome, .production-flow-page-head, .production-flow-summary { align-items: stretch; flex-direction: column; }
  .production-flow-home-button { width: 100%; }
  .production-flow-channel-status { justify-content: flex-start; }
  .production-flow-track { display: grid; gap: 7px; overflow: visible; }
  .production-flow-node { width: 100%; min-height: 0; }
  .production-flow-arrow { height: 24px; justify-self: center; }
  .production-flow-branches > header { align-items: start; flex-direction: column; }
  .production-flow-branches > div { align-items: stretch; flex-direction: column; overflow: visible; }
  .production-flow-node.branch { width: 100%; min-height: 0; }
  .production-flow-branch-arrow { align-self: center; }
  .production-flow-job-list > button { grid-template-columns: 1fr auto; gap: 8px 12px; }
  .production-flow-job-list > button .pill { justify-self: start; }
  .production-flow-job-list em { align-self: end; }
}
.original-quickstats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.original-quickstats article { min-height: 102px; padding: 18px; background: #fff; border: 1px solid #e1ddd8; border-radius: 12px; }
.original-quickstats strong { display: block; color: var(--orange-600); font-size: 1.65rem; }
.original-quickstats span { display: block; margin-top: 4px; color: var(--slate-600); font-size: .68rem; letter-spacing: .03em; text-transform: uppercase; }
.original-section-title { margin: 20px 0 10px; color: var(--orange-600); font-size: .78rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.original-job-map { position: relative; height: 360px; overflow: hidden; background: #eef2f3; border: 1px solid #e1ddd8; border-radius: 14px; cursor: grab; touch-action: none; }
.galaxy-slippy-map:focus-visible { outline: 3px solid rgba(226,88,34,.26); outline-offset: 2px; }
.galaxy-slippy-map.dragging { cursor: grabbing; }
.galaxy-map-tiles, .galaxy-map-radar, .galaxy-map-markers { position: absolute; inset: 0; overflow: hidden; }
.galaxy-map-tiles { z-index: 1; pointer-events: none; }
.galaxy-map-radar { z-index: 2; opacity: .66; pointer-events: none; }
.galaxy-map-markers { z-index: 3; pointer-events: none; }
.galaxy-map-markers .map-job-dot { pointer-events: auto; }
.galaxy-map-tile { position: absolute; width: 256px; height: 256px; max-width: none; filter: saturate(.42) brightness(1.07) contrast(.9); user-select: none; }
.galaxy-radar-tile { position: absolute; max-width: none; filter: saturate(1.55) contrast(1.22); user-select: none; }
.original-map-controls { position: absolute; z-index: 4; top: 12px; left: 12px; display: grid; overflow: hidden; background: #fff; border: 1px solid #bec5c8; border-radius: 5px; box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.original-map-controls button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; color: #28333a; background: #fff; border: 0; font-size: 1.15rem; line-height: 1; }
.original-map-controls button:hover { color: #fff; background: var(--orange-600); }
.original-map-controls button + button { border-top: 1px solid #d8dcde; }
.galaxy-map-attribution { position: absolute; z-index: 4; right: 3px; bottom: 3px; padding: 2px 4px; color: #42515b; background: rgba(255,255,255,.88); border-radius: 3px; font-size: .48rem; text-decoration: none; }
.galaxy-map-attribution:hover { color: var(--orange-700); text-decoration: underline; }
.map-job-dot { position: absolute; z-index: 2; width: 16px; height: 16px; padding: 0; background: #727272; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 2px 7px rgba(0,0,0,.28); transform: translate(-50%,-50%); }
.map-job-dot:hover { width: 20px; height: 20px; }
.map-job-dot.warn { background: #fbbf24; }
.map-job-dot.active, .map-job-dot.good { background: #3c7437; }
.map-job-dot.bad { background: #b43939; }
.map-job-dot.map-status-bidding, .map-legend-filter.map-status-bidding i { background: #f0ad24; }
.map-job-dot.map-status-sold, .map-legend-filter.map-status-sold i { background: #3c7437; }
.map-job-dot.map-status-design, .map-legend-filter.map-status-design i { background: #8f75e8; }
.map-job-dot.map-status-manufacturing, .map-legend-filter.map-status-manufacturing i { background: #0a3150; }
.map-job-dot.map-status-rejected, .map-legend-filter.map-status-rejected i { background: #b43939; }
.map-job-dot.map-status-completed, .map-legend-filter.map-status-completed i { background: #2f9d55; }
.map-state-ar { left: 56%; top: 64%; } .map-state-tx { left: 44%; top: 77%; } .map-state-ok { left: 44%; top: 64%; }
.map-state-mo { left: 53%; top: 54%; } .map-state-tn { left: 65%; top: 58%; } .map-state-ms { left: 57%; top: 70%; }
.map-state-la { left: 53%; top: 78%; } .map-state-al { left: 63%; top: 69%; } .map-state-ga { left: 70%; top: 67%; }
.map-state-fl { left: 76%; top: 79%; } .map-state-nc { left: 76%; top: 56%; } .map-state-sc { left: 75%; top: 63%; }
.map-state-ky { left: 64%; top: 53%; } .map-state-ks { left: 41%; top: 56%; } .map-state-co { left: 31%; top: 55%; }
.map-state-nm { left: 30%; top: 70%; } .map-state-az { left: 22%; top: 68%; } .map-state-ca { left: 12%; top: 57%; }
.map-state-or { left: 12%; top: 34%; } .map-state-wa { left: 14%; top: 21%; } .map-state-il { left: 57%; top: 45%; }
.map-state-in { left: 62%; top: 45%; } .map-state-oh { left: 68%; top: 43%; } .map-state-pa { left: 74%; top: 40%; }
.map-state-ny { left: 78%; top: 31%; } .map-state-va { left: 73%; top: 51%; } .map-state-wv { left: 69%; top: 48%; }
.map-state-wi { left: 57%; top: 32%; } .map-state-mi { left: 64%; top: 31%; } .map-state-mn { left: 50%; top: 27%; }
.map-state-ia { left: 50%; top: 43%; } .map-state-ne { left: 41%; top: 47%; } .map-state-sd { left: 41%; top: 36%; }
.map-state-nd { left: 41%; top: 27%; } .map-state-wy { left: 31%; top: 43%; } .map-state-ut { left: 25%; top: 53%; }
.map-state-nv { left: 18%; top: 52%; } .map-state-id { left: 23%; top: 36%; } .map-state-mt { left: 31%; top: 28%; }
.map-state-me { left: 88%; top: 22%; } .map-state-ma { left: 85%; top: 34%; } .map-state-nj { left: 80%; top: 42%; }
.map-state-md { left: 77%; top: 47%; }
.map-slot-0 { left: 34%; top: 38%; } .map-slot-1 { left: 47%; top: 55%; } .map-slot-2 { left: 60%; top: 72%; }
.map-slot-3 { left: 73%; top: 54%; } .map-slot-4 { left: 44%; top: 37%; } .map-slot-5 { left: 57%; top: 54%; }
.map-slot-6 { left: 70%; top: 71%; } .map-slot-7 { left: 41%; top: 53%; } .map-slot-8 { left: 54%; top: 70%; }
.map-slot-9 { left: 67%; top: 52%; }
.original-map-legend { display: flex; flex-wrap: wrap; gap: 9px 15px; padding: 10px 12px; margin-top: 8px; background: #fff; border: 1px solid #e1ddd8; border-radius: 10px; }
.original-map-legend span { display: inline-flex; align-items: center; gap: 6px; font-size: .65rem; font-weight: 650; }
.original-map-legend i { width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.map-legend-filter, .map-radar-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 5px 9px; color: #53616a; background: #fff; border: 1px solid #d8dcde; border-radius: 999px; font-size: .65rem; font-weight: 720; }
.map-legend-filter i { display: block; flex: 0 0 auto; width: 11px; height: 11px; }
.map-legend-filter b { min-width: 19px; padding: 2px 5px; color: #52616a; background: #eef1f2; border-radius: 999px; font-size: .55rem; text-align: center; }
.map-legend-filter:not(.selected) { background: #f7f8f9; border-style: dashed; }
.map-legend-filter:not(.selected) i { filter: grayscale(1); }
.map-legend-filter.selected, .map-radar-toggle.selected { color: #101820; border-color: #101820; box-shadow: inset 0 0 0 1px #101820; }
.map-radar-toggle { margin-left: auto; }
.map-radar-scale { display: inline-flex; align-items: center; gap: 5px; color: #53616a; }
.map-radar-scale i { width: 76px; height: 9px; border: 0; border-radius: 999px; background: linear-gradient(90deg,#1baee2 0%,#0065a2 28%,#ffee00 52%,#ff8100 70%,#c10000 86%,#ff77ff 100%); box-shadow: inset 0 0 0 1px rgba(16,24,32,.15); }
.map-radar-scale em { font-size: .52rem; font-style: normal; font-weight: 700; }
.map-radar-credit { align-self: center; color: #5a6870; font-size: .55rem; }
.galaxy-map-popup { position: absolute; z-index: 8; width: min(260px, calc(100% - 20px)); pointer-events: auto; transform: translate(-50%, calc(-100% - 13px)); }
.galaxy-map-popup-card { position: relative; display: grid; gap: 6px; padding: 14px; color: #101820; background: rgba(255,255,255,.98); border: 1px solid #cfd5d8; border-radius: 12px; box-shadow: 0 10px 28px rgba(16,24,32,.24); }
.galaxy-map-popup-card::after { position: absolute; left: calc(50% - 7px); bottom: -8px; width: 14px; height: 14px; content: ""; background: #fff; border-right: 1px solid #cfd5d8; border-bottom: 1px solid #cfd5d8; transform: rotate(45deg); }
.galaxy-map-popup-card > span { color: #d65a2d; font-size: .56rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.galaxy-map-popup-card > strong { padding-right: 20px; font-size: .83rem; }
.galaxy-map-popup-card p, .galaxy-map-popup-card small { margin: 0; color: #5b6870; font-size: .63rem; }
.galaxy-map-popup-card .button { justify-self: start; margin-top: 4px; }
.galaxy-map-popup-close { position: absolute; z-index: 2; top: 7px; right: 7px; width: 24px; height: 24px; padding: 0; color: #53616a; background: #f1f3f4; border: 0; border-radius: 50%; }
.map-job-weather { display: grid; gap: 2px; padding: 8px; margin: 4px 0; background: #edf6fb; border-radius: 8px; }
.map-job-weather span { color: #31596f; font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.map-job-weather strong { font-size: .67rem; }
.map-job-weather small { font-size: .55rem; }
.access-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.access-presets span { padding: 7px 9px; color: #4d5b64; background: #f5f6f6; border-radius: 8px; font-size: .6rem; }
.employee-access-editor { min-width: 260px; }
.employee-access-editor summary { color: #d65a2d; cursor: pointer; font-size: .62rem; font-weight: 760; }
.employee-access-form { min-width: min(620px, 80vw); grid-template-columns: repeat(2, minmax(170px, 1fr)); padding: 12px 0 4px; }
.employee-access-create { grid-template-columns: repeat(3, minmax(170px, 1fr)); }
.original-hub-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.original-hub-grid button { display: grid; min-height: 104px; grid-template-columns: 34px 1fr; align-content: center; column-gap: 8px; padding: 14px; color: var(--slate-900); background: #fff; border: 1px solid #e1ddd8; border-radius: 12px; text-align: left; }
.original-hub-grid button:hover { border-color: var(--orange-600); box-shadow: 0 5px 14px rgba(226,88,34,.12); transform: translateY(-1px); }
.original-hub-grid button > span { grid-row: 1 / 3; align-self: center; font-size: 1.45rem; }
.original-hub-grid strong { font-size: .78rem; }
.original-hub-grid small { color: var(--slate-600); font-size: .62rem; }
.original-pipeline { display: grid; grid-template-columns: repeat(9, minmax(130px, 1fr)); gap: 8px; overflow-x: auto; padding: 12px; background: #fff; border: 1px solid #e1ddd8; border-radius: 12px; }
.original-pipeline > article { min-height: 125px; padding: 8px; background: #fafafa; border-radius: 8px; }
.original-pipeline header { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding-bottom: 7px; border-bottom: 2px solid #e1ddd8; }
.original-pipeline header span { font-size: .59rem; font-weight: 820; text-transform: uppercase; }
.original-pipeline header b { padding: 2px 6px; color: #fff; background: var(--orange-600); border-radius: 999px; font-size: .58rem; }
.original-pipeline article > button { display: grid; width: 100%; gap: 2px; margin-top: 6px; padding: 6px; color: var(--slate-900); background: #fff; border: 1px solid #e1ddd8; border-radius: 6px; text-align: left; }
.original-pipeline article > button:hover { border-color: var(--orange-600); }
.original-pipeline article > button strong { font-size: .59rem; }
.original-pipeline article > button small { overflow: hidden; color: var(--slate-500); font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.original-pipeline em { display: block; padding: 14px 2px; color: var(--slate-500); font-size: .58rem; text-align: center; }

/* Original v58 Horizon/Sales Hub arrangement */
.original-horizon-page { max-width: 1440px; margin: 0 auto; }
.original-horizon-heading { margin: 8px 0 20px; }
.original-horizon-heading h2 { margin: 0 0 8px; color: #101820; font-size: 1.65rem; letter-spacing: -.025em; }
.original-horizon-heading h2 span { color: var(--orange-600); }
.original-horizon-heading input, .original-active-jobs > input { width: min(100%, 580px); padding: 12px 14px; color: var(--slate-900); background: #fff; border: 1px solid #dcd7d0; border-radius: 8px; box-shadow: inset 0 1px 1px rgba(0,0,0,.02); font-size: .82rem; }
.original-horizon-heading input:focus, .original-active-jobs > input:focus { border-color: var(--orange-600); outline: 3px solid rgba(226,88,34,.11); }
.original-horizon-heading p { margin: 10px 0 0; color: var(--slate-600); font-size: .76rem; }
.original-horizon-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.original-horizon-actions button { display: flex; min-height: 88px; align-items: center; gap: 18px; padding: 18px 22px; color: #101820; background: #fff; border: 1px solid #ded9d3; border-radius: 12px; text-align: left; }
.original-horizon-actions button:hover { border-color: var(--orange-600); box-shadow: 0 5px 14px rgba(226,88,34,.1); transform: translateY(-1px); }
.original-horizon-actions span { color: #633c96; font-size: 1.55rem; line-height: 1; }
.original-horizon-actions strong { font-size: .84rem; letter-spacing: .01em; text-transform: uppercase; }
.original-horizon-actions button > div { display: grid; gap: 4px; }
.original-horizon-actions button small { color: var(--slate-500); font-size: .6rem; }
.recent-bids-dialog { width: min(1080px, calc(100vw - 28px)); }
.recent-bids-modal { padding: 24px; }
.recent-bid-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.recent-bid-summary article { display: grid; gap: 4px; padding: 13px 15px; background: #fff7f1; border: 1px solid #f3c5af; border-radius: 9px; }
.recent-bid-summary span { color: #8a4b31; font-size: .58rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.recent-bid-summary strong { color: #172033; font-size: .88rem; }
.recent-bid-list { display: grid; gap: 7px; max-height: min(58vh, 560px); overflow-y: auto; padding-right: 4px; }
.recent-bid-row { display: grid; grid-template-columns: 90px minmax(230px, 1fr) 160px 110px 88px; align-items: center; gap: 13px; min-height: 72px; padding: 11px 13px; background: #fff; border: 1px solid #e3ded8; border-left: 4px solid var(--orange-600); border-radius: 9px; }
.recent-bid-row time { color: var(--slate-600); font-size: .65rem; font-weight: 750; }
.recent-bid-job, .recent-bid-owner { display: grid; gap: 3px; min-width: 0; }
.recent-bid-job strong { overflow: hidden; color: #172033; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.recent-bid-job small, .recent-bid-owner span { color: var(--slate-500); font-size: .58rem; }
.recent-bid-owner strong { overflow: hidden; color: #344054; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.recent-bid-row > b { color: #172033; font-size: .72rem; text-align: right; }
.recent-bid-row .original-primary-button { justify-content: center; padding-inline: 9px; white-space: nowrap; }
.recent-bid-row button:disabled { opacity: .5; cursor: not-allowed; }
.recent-bid-empty { display: grid; justify-items: center; gap: 5px; padding: 42px 20px; color: var(--slate-500); background: #faf9f7; border: 1px dashed #d8d2cb; border-radius: 10px; text-align: center; }
.recent-bid-empty strong { color: #344054; }
.original-horizon-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 18px; align-items: start; }
.original-horizon-map-card { padding: 12px; background: #fff; border: 1px solid #e1ddd8; border-radius: 12px; }
.original-horizon-map-card > h3, .original-active-jobs > h3 { margin: 0 0 10px; color: var(--orange-600); font-size: .74rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.original-horizon-map { position: relative; height: 265px; overflow: hidden; background: #eef2f3; border: 1px solid #e1ddd8; border-radius: 10px; cursor: grab; touch-action: none; }
.original-horizon-map .map-job-dot { width: 13px; height: 13px; border-width: 2px; }
.original-horizon-map-legend { display: flex; flex-wrap: wrap; gap: 7px 10px; margin-top: 9px; color: var(--slate-600); font-size: .6rem; font-weight: 700; }
.original-horizon-map-legend span { display: inline-flex; align-items: center; gap: 4px; }
.original-horizon-map-legend i { width: 7px; height: 7px; background: #df6a39; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.original-horizon-map-legend i.design { background: #4768c6; }
.original-horizon-map-legend i.manufacturing { background: #8355c3; }
.original-horizon-map-legend i.transit { background: #409a5e; }
.original-active-jobs { min-width: 0; }
.original-active-jobs > input { width: 100%; margin-bottom: 8px; }
.original-job-list { display: grid; gap: 8px; }
.original-job-row { display: grid; min-height: 68px; grid-template-columns: minmax(220px, 1.6fr) 70px minmax(150px, .8fr) 70px; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border: 1px solid #e1ddd8; border-radius: 10px; }
.original-job-row:hover { border-color: #d5b6a8; box-shadow: 0 3px 10px rgba(47,39,34,.055); }
.original-job-identity { display: grid; gap: 3px; min-width: 0; padding: 0; color: #101820; background: transparent; border: 0; text-align: left; }
.original-job-identity strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.original-job-identity small { overflow: hidden; color: var(--slate-600); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.original-job-region { color: var(--slate-600); font-size: .7rem; font-weight: 700; text-align: center; }
.original-status-pill { justify-self: start; padding: 4px 10px; color: #9f431f; background: #fff0e9; border-radius: 999px; font-size: .61rem; font-weight: 800; white-space: nowrap; }
.original-status-pill.good { color: #276b37; background: #e4f7e8; }
.original-status-pill.active { color: #173f64; background: #e6eff7; }
.original-status-pill.bad { color: #972f2f; background: #fae8e8; }
.original-job-open { justify-self: end; padding: 6px 0; color: var(--orange-600); background: transparent; border: 0; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.original-job-open:hover { color: var(--orange-700); text-decoration: underline; }
.original-job-list-empty { padding: 40px 18px; color: var(--slate-500); background: #fff; border: 1px dashed #d8d2cb; border-radius: 10px; font-size: .72rem; text-align: center; }

@media (max-width: 1320px) {
  .original-quickstats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .original-hub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .original-home-layout { grid-template-columns: 1fr; }
  .original-home-rail { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .original-horizon-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .original-horizon-layout { grid-template-columns: 1fr; }
  .original-horizon-map-card { max-width: none; }
  .recent-bid-row { grid-template-columns: 82px minmax(220px, 1fr) 140px 100px; }
  .recent-bid-row .original-primary-button { grid-column: 1 / -1; justify-self: end; }
}

@media (max-width: 650px) {
  .original-home-rail { grid-template-columns: 1fr; }
  .original-quickstats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .original-hub-grid { grid-template-columns: 1fr; }
  .original-job-map { height: 270px; }
  .original-horizon-actions { grid-template-columns: 1fr; }
  .original-horizon-actions button { min-height: 70px; }
  .recent-bids-modal { padding: 18px; }
  .recent-bid-summary { grid-template-columns: 1fr; }
  .recent-bid-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .recent-bid-row time { grid-column: 1; grid-row: 1; }
  .recent-bid-row > b { grid-column: 2; grid-row: 1; }
  .recent-bid-job, .recent-bid-owner { grid-column: 1 / -1; }
  .recent-bid-row .original-primary-button { grid-column: 1 / -1; width: 100%; }
  .original-job-row { grid-template-columns: minmax(0, 1fr) auto; }
  .original-job-region { display: none; }
  .original-status-pill { grid-column: 1; }
  .original-job-open { grid-column: 2; grid-row: 1 / 3; }
}
.message-preview { display: grid; grid-template-columns: 70px 1fr; gap: 10px; }
.message-preview > span { color: var(--orange-600); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.message-preview strong { font-size: .76rem; }
.message-preview p { max-width: 600px; margin: 3px 0; overflow: hidden; color: var(--slate-600); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.message-preview small { color: var(--slate-500); font-size: .62rem; }
.stage-select { min-width: 205px; padding: 8px 9px; color: var(--navy-800); background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; font-size: .72rem; font-weight: 750; }
.text-button { padding: 0; color: var(--orange-600); background: transparent; border: 0; font-size: .68rem; font-weight: 800; }
.calendar-layout { display: grid; grid-template-columns: minmax(250px, .5fr) minmax(0, 1.5fr); gap: 18px; margin-bottom: 20px; }
.calendar-form-panel { align-self: start; }
.calendar-weekdays, .calendar-month-grid { display: grid; grid-template-columns: repeat(7, minmax(80px, 1fr)); }
.calendar-weekdays span { padding: 10px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: .62rem; font-weight: 850; text-align: center; text-transform: uppercase; }
.calendar-month-grid { min-width: 620px; }
.month-calendar { overflow-x: auto; }
.calendar-cell { min-height: 112px; padding: 8px; border-right: 1px solid var(--slate-100); border-bottom: 1px solid var(--slate-100); }
.calendar-cell[role="button"] { cursor: pointer; outline: none; }
.calendar-cell[role="button"]:hover { background: var(--orange-100); }
.calendar-cell[role="button"]:focus-visible { box-shadow: inset 0 0 0 3px rgba(226, 88, 34, .35); }
.calendar-cell.outside { color: var(--slate-300); background: var(--slate-50); }
.calendar-cell.today > strong { display: grid; width: 25px; height: 25px; place-items: center; color: #fff; background: var(--orange-600); border-radius: 50%; }
.calendar-cell.selected { position: relative; background: #fff8f4; box-shadow: inset 0 0 0 2px var(--orange-600); }
.calendar-cell.selected.outside { color: var(--slate-700); background: #fff8f4; }
.calendar-event { display: block; margin-top: 5px; padding: 4px 5px; overflow: hidden; color: var(--navy-800); background: #e9f0f7; border-left: 3px solid var(--navy-700); border-radius: 4px; font-size: .58rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event.manufacturing { background: var(--orange-100); border-color: var(--orange-600); }
.calendar-event.quality { background: var(--green-100); border-color: var(--green-700); }
.calendar-event.shipping { background: #edf0ff; border-color: #596db9; }
.calendar-event.assignment { background: #e8f7f5; border-color: #188b88; }
.calendar-event.delivery { background: #eef8e8; border-color: #4b8b45; }
.calendar-event { width: 100%; color: inherit; border-top: 0; border-right: 0; border-bottom: 0; text-align: left; cursor: pointer; }
.calendar-month-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: -8px 0 14px; }
.calendar-month-controls strong { margin-right: auto; color: var(--navy-900); font-size: 1rem; }
.selected-day-panel { margin-bottom: 20px; }
.selected-day-agenda { display: grid; }
.selected-day-agenda > button { display: grid; grid-template-columns: 90px minmax(0, 1fr) 150px; gap: 16px; align-items: center; width: 100%; padding: 13px 17px; color: var(--slate-900); background: #fff; border: 0; border-top: 1px solid var(--slate-200); text-align: left; }
.selected-day-agenda > button:hover { background: var(--slate-50); }
.selected-day-agenda time { color: var(--orange-600); font-weight: 800; }
.selected-day-agenda span { display: grid; gap: 2px; min-width: 0; }
.selected-day-agenda small { color: var(--slate-500); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.communication-layout { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.message-feed { display: grid; gap: 12px; }
.message-card { padding: 17px; }
.message-card header, .message-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.message-card time, .message-card footer { color: var(--slate-500); font-size: .65rem; }
.message-card h3 { margin: 12px 0 4px; font-size: .9rem; }
.message-card p { margin: 0 0 14px; color: var(--slate-700); white-space: pre-wrap; }
.communications-tabs { margin-bottom: 18px; }
.communications-compose { margin-bottom: 18px; }
.communications-compose-grid { grid-template-columns: repeat(4, minmax(140px, 1fr)); align-items: end; }
.communications-compose-grid .message-body-field { grid-column: 1 / -2; }
.message-inbox { display: grid; min-height: 560px; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); overflow: hidden; }
.message-inbox-list { border-right: 1px solid var(--slate-200); }
.message-inbox-list > header { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--slate-200); }
.message-inbox-list h3 { margin: 2px 0 0; font-size: .85rem; }
.message-inbox-row { display: grid; width: 100%; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 14px 15px; color: var(--navy-900); background: #fff; border: 0; border-bottom: 1px solid var(--slate-100); text-align: left; }
.message-inbox-row:hover, .message-inbox-row.selected { background: var(--slate-50); }
.message-inbox-row.selected { box-shadow: inset 3px 0 var(--orange-600); }
.message-inbox-row i { width: 7px; height: 7px; background: transparent; border-radius: 50%; }
.message-inbox-row.unread i { background: #188b88; }
.message-inbox-row span { display: grid; min-width: 0; gap: 4px; }
.message-inbox-row strong, .message-inbox-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-inbox-row strong { font-size: .73rem; }
.message-inbox-row small { color: var(--slate-500); font-size: .62rem; }
.message-inbox-row em { color: var(--slate-500); font-size: .58rem; font-style: normal; text-transform: uppercase; }
.message-detail { display: grid; min-width: 0; grid-template-rows: auto minmax(0, 1fr) auto; }
.message-detail > header { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--slate-200); }
.message-detail h2 { margin: 4px 0; font-size: 1.2rem; }
.message-detail header p { margin: 0; color: var(--slate-500); font-size: .7rem; }
.message-thread { display: grid; align-content: start; gap: 12px; max-height: 460px; overflow-y: auto; padding: 20px 22px; }
.message-thread article, .job-chat-feed article, .original-chat-history article { padding: 13px 14px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.message-thread article > div, .job-chat-feed article > div, .original-chat-history article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.message-thread strong, .job-chat-feed strong, .original-chat-history strong { font-size: .7rem; }
.message-thread time, .job-chat-feed time, .original-chat-history time { color: var(--slate-500); font-size: .6rem; }
.message-thread p, .job-chat-feed p, .original-chat-history p { margin: 7px 0 0; color: var(--slate-700); font-size: .74rem; white-space: pre-wrap; }
.message-reply-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--slate-200); }
.assignment-list { display: grid; gap: 12px; }
.assignment-card { padding: 17px; border-left: 4px solid var(--slate-300); }
.assignment-card.in_progress { border-left-color: #188b88; }
.assignment-card > header, .assignment-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.assignment-card header > div, .assignment-card footer > div { display: flex; gap: 7px; }
.assignment-card time, .assignment-card footer > span { color: var(--slate-500); font-size: .65rem; }
.assignment-card h3 { margin: 14px 0 5px; font-size: .9rem; }
.assignment-card p { margin: 0 0 16px; color: var(--slate-600); font-size: .72rem; }
.assignment-card .button { min-height: 33px; padding: 6px 10px; font-size: .67rem; }
.job-chat-layout { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.job-chat-panel { overflow: hidden; }
.job-chat-panel .panel-head select { width: min(330px, 50%); }
.job-chat-feed, .original-chat-history { display: grid; align-content: start; gap: 9px; max-height: 560px; overflow-y: auto; padding: 16px; }
.job-chat-search { margin-bottom: 8px; }
.capacity-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.capacity-summary-grid article { display: grid; gap: 5px; padding: 18px; }
.capacity-summary-grid strong { color: var(--navy-900); font-size: 1.25rem; }
.capacity-summary-grid small { color: var(--slate-500); font-size: .64rem; }
.capacity-planning-layout { align-items: start; margin-bottom: 18px; }
.original-chat-history { max-height: 300px; padding: 0 0 10px; }
.approval-link-banner { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding: 15px 17px; color: var(--green-700); background: var(--green-100); border: 1px solid #bfe3cf; border-radius: 11px; }
.approval-link-banner div { display: grid; min-width: 0; }
.approval-link-banner span { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.approval-list { display: grid; }
.approval-list article { display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; padding: 14px 17px; border-bottom: 1px solid var(--slate-100); }
.approval-list article > div { display: grid; }
.approval-list strong { font-size: .76rem; }
.approval-list span:not(.pill), .approval-list small { color: var(--slate-500); font-size: .65rem; }
.approval-list small { grid-column: 1 / -1; }

/* Forge, Orbit, Send It, and protected job files */
.operations-layout { display: grid; grid-template-columns: minmax(280px, .55fr) minmax(0, 1.45fr); gap: 20px; align-items: start; }
.operation-form-panel { position: sticky; top: 92px; }
.operations-feed { display: grid; gap: 16px; align-content: start; }
.operation-card { padding: 18px; }
.operation-card > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.operation-card h3 { margin: 4px 0 0; color: var(--navy-900); font-size: .95rem; }
.operation-card > label { display: grid; gap: 6px; color: var(--slate-600); font-size: .68rem; font-weight: 800; }
.operation-card select, .production-step-list select, .finding-list select { padding: 8px 9px; color: var(--navy-800); background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; font-size: .7rem; }
.operation-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.operation-meta span { padding: 5px 8px; color: var(--slate-600); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 99px; font-size: .62rem; }
.production-step-list, .finding-list { display: grid; gap: 7px; margin-top: 14px; }
.production-step-list label, .finding-list label { display: grid; grid-template-columns: minmax(0, 1fr) 135px; align-items: center; gap: 10px; padding: 9px 10px; background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: 8px; }
.production-step-list span, .finding-list span { display: grid; color: var(--slate-600); font-size: .68rem; }
.production-step-list b, .finding-list b { color: var(--navy-800); font-size: .62rem; letter-spacing: .06em; }
.document-list { display: grid; padding: 0 16px 16px; }
.document-list article { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--slate-100); }
.document-list article > div { display: grid; min-width: 0; }
.document-list strong { overflow: hidden; color: var(--navy-900); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.document-list small { overflow: hidden; color: var(--slate-500); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.document-icon { display: grid; width: 40px; height: 40px; place-items: center; color: #fff; background: var(--navy-800); border-radius: 9px; font-size: .58rem; font-weight: 900; }

.software-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.security-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.command-security-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.command-security-form { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 1.2rem 1.2rem; }
.command-security-form .button { align-self: end; min-height: 42px; }
.command-device-grid { padding: 0 1.2rem 1.2rem; }
.software-summary { padding: 1.15rem 1.25rem; display: grid; gap: .35rem; }
.software-summary strong { color: var(--navy-800); font-size: 1.25rem; }
.software-summary small { color: var(--slate-500); line-height: 1.45; }
.software-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); gap: 1rem; align-items: start; }
.software-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.software-card { padding: 1.2rem; display: flex; flex-direction: column; gap: .9rem; min-height: 290px; }
.software-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; }
.software-card h3 { margin: .2rem 0 0; color: var(--navy-800); }
.software-card p { margin: 0; color: var(--slate-700); line-height: 1.55; }
.software-card dl { margin: auto 0 0; display: grid; gap: .65rem; }
.software-card dl div { padding-top: .65rem; border-top: 1px solid var(--slate-100); }
.software-card dt { color: var(--slate-500); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.software-card dd { margin: .2rem 0 0; color: var(--slate-700); line-height: 1.4; }
.software-card button:disabled { opacity: .65; cursor: not-allowed; }
.software-security-column { position: sticky; top: 84px; }
.security-gate-list { list-style: none; margin: 0; padding: 0 1.2rem 1.2rem; display: grid; gap: .85rem; }
.security-gate-list li { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; align-items: start; }
.security-gate-list li > span { display: grid; width: 2rem; height: 2rem; place-items: center; color: #fff; background: var(--navy-800); border-radius: 50%; font-weight: 800; }
.security-gate-list strong { color: var(--navy-800); }
.security-gate-list p { margin: .2rem 0 0; color: var(--slate-500); line-height: 1.4; }
.software-flow { padding: 0 1.2rem 1.2rem; display: grid; gap: .55rem; }
.software-flow div { padding: .8rem; display: grid; gap: .2rem; background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: 8px; }
.software-flow div span { color: var(--green-700); font-size: .62rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.software-flow i { color: var(--slate-400); font-style: normal; text-align: center; }
.software-release-table { margin-top: 1rem; }
.job-software-panel, .rift-software-launch { margin-bottom: 1rem; padding: 1rem 1.15rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.forge-job-launch { margin-bottom: 1rem; padding: 1rem 1.15rem; display: grid; grid-template-columns: minmax(240px, .75fr) minmax(220px, 1fr) auto; align-items: end; gap: 1rem; }
.forge-job-launch > label, .forge-job-launch > div { display: grid; gap: .25rem; }
.forge-job-launch select { width: 100%; padding: .65rem .7rem; color: var(--navy-800); background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; }
.forge-job-launch > div > strong { color: var(--navy-800); }
.forge-job-launch > div > small { color: var(--slate-500); }
.job-software-panel > div:first-child, .rift-software-launch > div:first-child { display: grid; gap: .18rem; }
.job-software-panel > div:first-child strong, .rift-software-launch > div:first-child strong { color: var(--navy-800); }
.job-software-panel > div:first-child small, .rift-software-launch > div:first-child small { max-width: 520px; color: var(--slate-500); line-height: 1.4; }
.job-software-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.software-launch-button { min-width: 158px; padding: .65rem .75rem; display: grid; grid-template-columns: 2rem 1fr; grid-template-rows: auto auto; column-gap: .55rem; color: var(--navy-800); background: #fff; border-color: var(--slate-300); text-align: left; }
.software-launch-button > span { grid-row: 1 / 3; display: grid; width: 2rem; height: 2rem; place-items: center; align-self: center; color: #fff; background: var(--orange-600); border-radius: 7px; font-size: .62rem; font-weight: 900; }
.software-launch-button b { font-size: .7rem; }
.software-launch-button small { color: var(--slate-500); font-size: .58rem; font-weight: 650; }
.software-launch-button:hover { color: var(--navy-900); background: var(--orange-100); border-color: var(--orange-600); }
.job-software-actions.compact { margin-top: .75rem; justify-content: flex-start; }
.job-software-actions.compact .software-launch-button { min-width: 150px; }
.material-demand-grid > article > footer { display: grid; gap: .35rem; }
.material-demand-grid > article > footer > div:first-child { display: grid; }
.rift-release-package { margin-top: 1rem; }
.rift-release-layout { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); gap: 1rem; }
.rift-release-layout form { border-right: 1px solid var(--slate-100); }
.rift-release-checklist { padding: 0 1.2rem 1.2rem 0; display: grid; align-content: start; gap: .65rem; }
.rift-release-checklist > div:first-child { margin-bottom: .35rem; }
.rift-release-checklist > div:first-child h3 { margin: .2rem 0 0; color: var(--navy-800); }
.rift-release-checklist article { padding: .75rem; display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; align-items: center; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; }
.rift-release-checklist article > span { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--slate-500); background: #fff; border: 1px solid var(--slate-200); border-radius: 50%; font-weight: 900; }
.rift-release-checklist article > div { display: grid; gap: .15rem; }
.rift-release-checklist article strong { color: var(--navy-800); }
.rift-release-checklist article small { color: var(--slate-500); }
.rift-release-checklist article.complete { background: #f2faf6; border-color: #b9dfca; }
.rift-release-checklist article.complete > span { color: #fff; background: var(--green-700); border-color: var(--green-700); }
.rift-release-next { margin-top: .35rem; padding: 1rem; background: #fffdf4; border: 1px solid #eadca0; border-radius: 8px; }
.rift-release-next p { margin: .3rem 0 .75rem; color: var(--slate-600); line-height: 1.45; }
.rift-release-next label { display: grid; gap: .35rem; color: var(--slate-600); font-size: .68rem; font-weight: 800; }
.rift-release-next textarea { width: 100%; padding: .7rem; color: var(--navy-800); background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; resize: vertical; }
.rift-action-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .65rem; }
.rift-override { margin-top: .85rem; padding-top: .85rem; display: grid; gap: .65rem; border-top: 1px solid #eadca0; }
.takeoff-items { display: grid; gap: .45rem; margin: .75rem 0; }
.rift-release-next .takeoff-items article, .forge-material-demand .takeoff-items article { padding: .55rem .65rem; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: center; background: #fff; border: 1px solid var(--slate-200); border-radius: 8px; }
.rift-release-next .takeoff-items article > span { width: auto; height: auto; color: inherit; background: inherit; border: 0; border-radius: 99px; }
.takeoff-items article > div { display: grid; gap: .1rem; }
.takeoff-items strong { color: var(--navy-800); }
.takeoff-items small { color: var(--slate-500); }
.forge-material-demand { margin-bottom: 1rem; }
.material-demand-grid { padding: 0 1.2rem 1.2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.material-demand-grid > article { padding: 1rem; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.material-demand-grid > article > header { display: flex; justify-content: space-between; gap: .75rem; }
.material-demand-grid > article > header div { display: grid; }
.material-demand-grid > article > header strong { color: var(--navy-800); }
.material-demand-grid > article > header small { color: var(--slate-500); }
.material-demand-grid > article > footer { padding-top: .7rem; display: grid; gap: .15rem; color: var(--slate-500); border-top: 1px solid var(--slate-200); }
.material-demand-grid > article > footer strong { color: var(--navy-800); }
.wood-audit-summary, .wood-audit-import { border: 1px solid var(--slate-200); border-radius: 10px; padding: .85rem; background: #f8fafc; display: grid; gap: .7rem; margin: .75rem 0; }
.wood-audit-summary > header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.wood-audit-summary header small, .wood-audit-import p { display: block; color: var(--slate-500); margin-top: .2rem; font-size: .78rem; line-height: 1.45; }
.wood-audit-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .4rem; }
.wood-audit-groups span { background: #fff; border: 1px solid var(--slate-200); border-radius: 7px; padding: .45rem .55rem; color: var(--slate-500); font-size: .72rem; }
.wood-audit-groups b { display: block; color: var(--navy-800); font-size: .78rem; margin-bottom: .15rem; }
.wood-audit-summary .inline-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.wood-audit-summary .inline-actions .button { text-decoration: none; }
.validation-note.warn { color: #8a4b08; background: #fff7ed; border-radius: 7px; padding: .55rem; font-size: .76rem; }
.factory-fleet, .machine-vision-plan { margin-top: 1rem; }
.factory-computer-grid { padding: 0 1.2rem 1.2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.factory-computer-grid > article { padding: 1rem; background: #fff; border: 1px solid var(--slate-200); border-radius: 10px; }
.factory-pc-head { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: .65rem; align-items: center; }
.factory-pc-head > div { display: grid; }
.factory-pc-head strong { color: var(--navy-800); }
.factory-pc-head small { color: var(--slate-500); }
.factory-pc-icon { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; color: #fff; background: var(--green-700); border-radius: 8px; font-size: .65rem; font-weight: 900; }
.factory-computer-grid dl { margin: 1rem 0; display: grid; gap: .6rem; }
.factory-computer-grid dl div { display: grid; grid-template-columns: 120px 1fr; gap: .6rem; padding-top: .55rem; border-top: 1px solid var(--slate-100); }
.factory-computer-grid dt { color: var(--slate-500); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.factory-computer-grid dd { margin: 0; color: var(--slate-700); line-height: 1.4; }
.factory-pc-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.factory-pc-actions button:disabled { opacity: .65; cursor: not-allowed; }
.factory-notification-controls { display: grid; gap: .7rem; margin: .9rem 0; padding: .85rem; background: #f7faf9; border: 1px solid #cbded8; border-left: 4px solid var(--green-700); border-radius: 10px; }
.factory-notification-heading { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.factory-notification-heading > div { display: grid; gap: .15rem; }
.factory-notification-heading strong { color: var(--navy-800); }
.factory-notification-heading small { color: var(--slate-500); line-height: 1.4; }
.factory-notification-controls > label { display: flex; gap: .55rem; align-items: flex-start; color: var(--navy-800); font-weight: 750; }
.factory-notification-controls input[type="checkbox"] { width: 1rem; height: 1rem; margin-top: .1rem; accent-color: var(--green-700); }
.factory-notification-facilities { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; }
.factory-notification-facilities label { display: flex; gap: .5rem; align-items: center; padding: .55rem .65rem; background: #fff; border: 1px solid var(--slate-200); border-radius: 8px; cursor: pointer; }
.factory-notification-facilities label:has(input:checked) { background: #edf8f3; border-color: var(--green-700); }
.factory-notification-facilities span { display: grid; color: var(--navy-800); font-size: .72rem; font-weight: 750; }
.factory-notification-facilities small { color: var(--slate-500); font-size: .6rem; font-weight: 700; }
.factory-notification-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.vision-event-flow { padding: 0 1.2rem 1.2rem; display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.vision-event-flow span { padding: .7rem .85rem; color: var(--navy-800); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; font-weight: 750; }
.takeoff-pull-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 22px; align-items: center; margin: 16px 0; padding: 18px; border-left: 4px solid var(--orange-600); }
.takeoff-pull-panel h3 { margin: 4px 0; color: var(--navy-900); }
.takeoff-pull-panel p { margin: 0; color: var(--slate-600); }
.takeoff-pull-panel > div:last-child { display: flex; gap: 10px; align-items: center; }
.takeoff-pull-panel select, .liftoff-hero select { width: 100%; min-height: 42px; padding: 9px 11px; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; }
.quickbooks-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.quickbooks-layout > article { padding: 20px; }
.quickbooks-layout input[type="checkbox"] { width: auto; margin-right: 8px; }
.liftoff-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; margin-bottom: 18px; border-top: 4px solid var(--orange-600); }
.liftoff-hero h3 { margin: 4px 0; color: var(--navy-900); font-size: 1.4rem; }
.liftoff-hero p { margin: 0; color: var(--slate-600); }
.liftoff-hero select { width: min(320px, 100%); }
.camera-purpose-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.camera-purpose-grid article { min-height: 140px; padding: 16px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.camera-purpose-grid strong { display: block; margin-bottom: 8px; color: var(--navy-900); }
.camera-purpose-grid p { color: var(--slate-600); font-size: .72rem; line-height: 1.55; }
.job-sync-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
@media (max-width: 900px) { .quickbooks-layout, .takeoff-pull-panel { grid-template-columns: 1fr; } .camera-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .camera-purpose-grid, .factory-notification-facilities { grid-template-columns: 1fr; } .takeoff-pull-panel > div:last-child, .liftoff-hero, .factory-notification-heading { align-items: stretch; flex-direction: column; } }
.vision-event-flow i { color: var(--green-700); font-style: normal; font-weight: 900; }

@media (max-width: 1500px) {
  .command-security-layout { grid-template-columns: 1fr; }
  .topbar-shortcuts .search-chip { display: none; }
  .topbar-shortcuts .original-wide-shortcut { display: none; }
  .topbar-actions .environment { display: none; }
}

.inspection-checklist { display: grid; gap: 10px; }
.inspection-check-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(130px, 0.55fr) minmax(180px, 1fr); gap: 12px; align-items: end; padding: 12px; border: 1px solid var(--slate-200); border-radius: 10px; background: var(--slate-50); }
.inspection-check-row label:first-child { display: flex; align-items: flex-start; gap: 10px; }
.inspection-check-row label:first-child span { display: grid; gap: 3px; }
.factory-asset-grid { display: grid; gap: 14px; }

@media (max-width: 1180px) {
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-grid, .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-card { grid-template-columns: 1fr; }
  .hero-status { grid-template-columns: repeat(3, 1fr); }
  .dashboard-columns, .calendar-layout, .communication-layout, .job-chat-layout, .operations-layout { grid-template-columns: 1fr; }
  .communications-compose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .communications-compose-grid .message-body-field { grid-column: 1 / -1; }
  .job-summary-grid { grid-template-columns: 1fr; }
  .operation-form-panel { position: static; }
  .bid-six { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .software-layout { grid-template-columns: 1fr; }
  .software-security-column { position: static; }
  .rift-release-layout { grid-template-columns: 1fr; }
  .rift-release-layout form { border-right: 0; border-bottom: 1px solid var(--slate-100); }
  .rift-release-checklist { padding: 0 1.2rem 1.2rem; }
  .inspection-check-row { grid-template-columns: 1fr; }
  .original-job-columns { grid-template-columns: 1fr; }
  .job-workspace-context { align-items: flex-start; flex-direction: column; gap: 6px; }
  .job-workspace-context p { text-align: left; }
  .orbit-upload-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .original-action-bar .job-software-actions { width: 100%; margin-left: 0; justify-content: flex-start; }
}

@media (max-width: 920px) {
  .command-user-form { grid-template-columns: 1fr 1fr; }
  .command-security-layout { grid-template-columns: 1fr; }
  .pricing-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-family-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quote-family-roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .login-content { padding-top: 32px; }
  .login-top { padding-block: 24px 34px; }
  .login-bottom { align-items: center; flex-direction: column; }
  .time-clock-card, .login-form, .password-reset-form { width: min(430px, 94vw); }
  .app-shell { display: block; }
  .sidebar { position: fixed; top: 0; right: 0; left: auto; height: 100vh; transform: translateX(105%); width: 274px; border-left: 1px solid var(--slate-200); transition: transform 0.2s ease; }
  .sidebar.open { transform: translateX(0); box-shadow: var(--shadow-lg); }
  .menu-overlay { position: fixed; z-index: 25; inset: 0; display: none; background: rgba(8, 18, 31, 0.55); border: 0; }
  .menu-overlay.open { display: block; }
  .menu-button { display: block; }
  .topbar { padding-inline: 20px; }
  .brand-lockup div, .topbar-shortcuts { display: none; }
  .brand-lockup { min-width: 0; margin-right: auto; }
  .brand-lockup img { width: 150px; }
  .content { padding: 28px 20px; }
  .phase-flat-heading { align-items: flex-start; flex-direction: column; }
  .phase-flat-row-open { grid-template-columns: minmax(220px, 1fr) 120px auto; }
  .phase-flat-timing { grid-column: 1 / -1; }
  .phase-flat-status { grid-column: 3; grid-row: 1; }
  .phase-card-overlay { padding: 16px; }
  .phase-card-overlay .phase-card-actions { grid-template-columns: repeat(2, minmax(190px, 1fr)); }
  .grid-two, .roadmap { grid-template-columns: 1fr; }
  .topbar-actions .environment { display: none; }
}

@media (max-width: 650px) {
  .login-content { padding: 18px 12px 28px; }
  .login-top { gap: 14px; padding-block: 18px 24px; }
  .login-logo-card { border-radius: 13px; }
  .login-tagline { letter-spacing: 0.1em; }
  .time-clock-card, .login-form, .password-reset-form { width: 100%; padding: 20px 18px; }
  .topbar { min-height: 68px; }
  .topbar-actions .button { display: none; }
  .message-inbox { grid-template-columns: 1fr; }
  .message-inbox-list { max-height: 340px; overflow-y: auto; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .communications-compose-grid { grid-template-columns: 1fr; }
  .communications-compose-grid .message-body-field { grid-column: auto; }
  .message-reply-form { grid-template-columns: 1fr; }
  .assignment-card > header, .assignment-card > footer { align-items: start; flex-direction: column; }
  .content { padding: 22px 15px 34px; }
  .view-heading { align-items: start; flex-direction: column; }
  .heading-actions { justify-content: flex-start; }
  .metrics, .inventory-summary, .customer-grid, .catalog-grid, .readiness-grid { grid-template-columns: 1fr; }
  .metric-card { min-height: 112px; }
  .grid-three { grid-template-columns: 1fr; }
  .stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-card { padding: 24px 20px; }
  .hero-status { grid-template-columns: 1fr; }
  .toolbar { width: 100%; flex-wrap: wrap; }
  .toolbar input { min-width: 100%; }
  .form-grid.two { grid-template-columns: 1fr; }
  .pricing-status-grid, .pricing-input-grid, .audit-key-metrics { grid-template-columns: 1fr; }
  .pricing-family-tabs, .pricing-summary-strip { grid-template-columns: 1fr; }
  .quote-family-roadmap, .bid-scope-options { grid-template-columns: 1fr; }
  .pricing-summary-strip > div { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .pricing-summary-strip > div:last-child { border-bottom: 0; }
  .job-detail-list, .job-financials { grid-template-columns: 1fr; }
  .pricing-actions { align-items: stretch; flex-direction: column; }
  .pricing-actions > div { margin: 0 0 4px; }
  .pricing-actions .button { width: 100%; }
  .form-grid .span-two { grid-column: auto; }
  .modal form { padding: 19px; }
  .toast { right: 16px; bottom: 16px; }
  .approval-actions { align-items: stretch; flex-direction: column-reverse; }
  .approval-actions .button { width: 100%; }
  .bid-six { grid-template-columns: 1fr; }
  .bid-panel-group { margin: 12px; padding: 13px; }
  .bid-submit { align-items: stretch; flex-direction: column; }
  .production-step-list label, .finding-list label { grid-template-columns: 1fr; }
  .document-list article { grid-template-columns: 38px minmax(0, 1fr); }
  .document-list article .button { grid-column: 1 / -1; }
  .software-summary-grid, .security-summary-grid, .software-catalog, .factory-computer-grid, .material-demand-grid, .command-security-form, .backup-target-grid { grid-template-columns: 1fr; }
  .job-software-panel, .rift-software-launch { align-items: stretch; flex-direction: column; }
  .forge-job-launch { grid-template-columns: 1fr; align-items: stretch; }
  .job-software-actions, .job-software-actions.compact { justify-content: stretch; }
  .software-launch-button, .job-software-actions.compact .software-launch-button { width: 100%; }
  .factory-computer-grid dl div { grid-template-columns: 1fr; }
  .vision-event-flow { align-items: stretch; flex-direction: column; }
  .vision-event-flow i { transform: rotate(90deg); }
  .original-payment-grid { grid-template-columns: 1fr; }
  .original-workflow-strip { grid-template-columns: repeat(7, 112px); }
  .original-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .original-workspace-grid .workspace-tile.orbit { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); }
  .original-workspace-grid .workspace-tile.orbit b { grid-column: 2; }
  .orbit-workspace-hero, .orbit-preflight-bar, .orbit-workspace-pane-head, .hundegger-bridge-card { align-items: stretch; flex-direction: column; }
  .orbit-workspace-status { max-width: none; }
  .orbit-upload-grid { grid-template-columns: 1fr; }
  .orbit-upload-grid > button { width: 100%; }
  .orbit-preflight-bar button { width: 100%; }
  .orbit-workspace-progress { gap: 4px; padding-inline: 8px; }
  .orbit-workspace-progress article strong { font-size: .5rem; }
  .orbit-progress-line { left: 11%; right: 11%; }
  .orbit-workspace-tabs { padding-inline: 3px; }
  .orbit-workspace-tabs button { padding-inline: 12px; }
  .orbit-workspace-pane { padding: 16px 12px; }
  .orbit-takeoff-summary, .orbit-takeoff-items { grid-template-columns: 1fr; }
  .original-job-identity { flex-direction: column; }
  .original-details div { grid-template-columns: 1fr; gap: 1px; }
  .original-chat-form { grid-template-columns: 1fr; }
  .original-file-row, .original-bid-row { grid-template-columns: auto minmax(0, 1fr); }
  .original-file-row .original-outline-button, .original-bid-row .original-bid-actions { grid-column: 1 / -1; }
  .original-bid-row .original-bid-actions { justify-content: stretch; }
  .original-bid-actions .original-outline-button { flex: 1; }
  .customer-bid-context, .saved-bid-head, .saved-bid-notice, .saved-bid-actions { align-items: stretch; flex-direction: column; }
  .saved-bid-metrics, .saved-bid-detail-grid { grid-template-columns: 1fr; }
  .saved-bid-actions > * { width: 100%; }
  .phase-journey-rows > button { grid-template-columns: 1fr auto; }
  .phase-journey-rows > button small { grid-column: 1 / -1; justify-self: start; }
  .phase-journey-queue > summary, .phase-open-card > header, .phase-journey-intro { align-items: flex-start; flex-direction: column; }
  .phase-card-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phase-card-summary > div { border-bottom: 1px solid #eee9e4; }
  .phase-card-actions { grid-template-columns: 1fr; align-items: stretch; }
  .phase-card-actions > button, .phase-card-actions > .job-software-actions { width: 100%; }
  .phase-flat-heading .heading-actions { width: 100%; }
  .phase-flat-heading .phase-page-button { flex: 1 1 150px; }
  .phase-flat-row { grid-template-columns: minmax(0, 1fr) auto; }
  .phase-flat-queue > header { align-items: center; }
  .phase-flat-queue > header strong { font-size: .9rem; }
  .phase-flat-row-open { grid-template-columns: minmax(0, 1fr) auto; gap: 9px 12px; padding: 13px 14px; }
  .phase-flat-primary { grid-column: 1 / -1; }
  .phase-flat-row-open code { align-self: center; }
  .phase-flat-timing { grid-column: 1 / -1; }
  .phase-flat-status { grid-column: 2; grid-row: 2; }
  .phase-accept-button { min-width: 74px; margin: 0 10px 0 2px; padding-inline: 10px; }
  .phase-card-overlay { padding: 8px; }
  .phase-card-overlay .phase-open-card { max-height: 96vh; }
  .phase-card-overlay .phase-card-actions { grid-template-columns: 1fr; }
  .calendar-month-controls { align-items: stretch; flex-wrap: wrap; }
  .calendar-month-controls strong { width: 100%; margin: 0 0 4px; }
  .selected-day-panel .panel-head { align-items: stretch; flex-direction: column; }
  .selected-day-agenda > button { grid-template-columns: 72px minmax(0, 1fr); }
  .selected-day-agenda > button > span:last-child { grid-column: 2; }
  .orbit-job-live-head, .orbit-release-bar { align-items: stretch; flex-direction: column; }
  .orbit-job-live-head > div:last-child { align-items: stretch; }
  .orbit-job-import, .orbit-job-files form { grid-template-columns: 1fr; }
  .orbit-job-review-form, .orbit-review-source, .orbit-review-people { grid-template-columns: 1fr; }
  .orbit-job-review-form .wide, .orbit-review-source .wide { grid-column: auto; }
  .orbit-job-finding summary { grid-template-columns: auto minmax(0, 1fr); }
  .orbit-job-finding summary > b { grid-column: 2; }
  .orbit-job-selector { grid-template-columns: 1fr; }
  .notification-provider-grid, .notification-contact-list > form { grid-template-columns: 1fr; }
  .notification-contact-list > form > div { grid-column: auto; }
  .notification-form-actions, .notification-rule-list > details > summary { align-items: stretch; flex-direction: column; }
  .notification-form-actions .button { width: 100%; }
  .notification-test-form { grid-template-columns: 1fr; }
  .notification-test-form small { grid-column: auto; }
}

@media (max-width: 900px) {
  .customer-directory-row { grid-template-columns: minmax(0, 1fr) 90px 80px; }
  .customer-directory-row > code { grid-column: 1; }
  .customer-directory-row > span:nth-of-type(2), .customer-directory-row > span:nth-of-type(3) { grid-row: 1 / span 2; }
  .customer-row-open { grid-column: 3; }
  .v57-customer-editor-grid { grid-template-columns: 1fr; }
  .v57-customer-job > button { grid-template-columns: minmax(0, 1fr) 130px 70px; }
  .v57-customer-job > button > span:nth-of-type(3), .v57-customer-job > button > span:nth-of-type(4) { display: none; }
}

@media (max-width: 650px) {
  .customer-directory-head, .v57-customer-header, .customer-directory-tools, .v57-customer-jobs > header { align-items: stretch; flex-direction: column; }
  .customer-directory-actions > *, .v57-customer-actions > * { flex: 1 1 140px; }
  .customer-directory-row { grid-template-columns: 1fr auto; }
  .customer-directory-row > span:nth-of-type(2), .customer-directory-row > span:nth-of-type(3) { display: none; }
  .customer-row-open { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .v57-customer-summary { grid-template-columns: 1fr; }
  .v57-customer-job > button { grid-template-columns: 1fr auto; }
  .v57-customer-job > button > .original-status-pill { grid-column: 1; justify-self: start; }
  .v57-job-bids button { grid-template-columns: 1fr auto; }
  .v57-job-bids time, .v57-job-bids span { display: none; }
}
.command-admin-boundary {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin: -8px 0 24px;
  padding: 15px 18px;
  color: var(--navy-900);
  background: #fff8f4;
  border: 1px solid #f2d8cc;
  border-left: 5px solid var(--orange-600);
  border-radius: 10px;
}
.command-admin-boundary strong { flex: 0 0 220px; font-size: .78rem; }
.command-admin-boundary span { color: var(--slate-600); font-size: .71rem; line-height: 1.55; }
.command-finder { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: 20px; }
.command-finder label { display: grid; flex: 1; gap: 7px; color: var(--navy-900); font-size: .7rem; font-weight: 850; }
.command-finder input { min-height: 48px; padding: 10px 14px; border: 2px solid var(--slate-300); border-radius: 10px; font-size: .85rem; }
.command-finder input:focus { border-color: var(--orange-600); outline: 3px solid var(--orange-100); }
.command-finder small { color: var(--slate-500); font-size: .68rem; }
.command-directory { display: grid; gap: 24px; }
.command-directory-group > header { display: flex; align-items: center; justify-content: space-between; padding: 0 2px 9px; color: var(--orange-600); border-bottom: 3px solid var(--orange-600); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.command-directory-group > header b { min-width: 26px; padding: 3px 8px; color: var(--white); background: var(--red-700); border-radius: 8px; text-align: center; }
.command-directory-group > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding-top: 10px; }
.command-directory-group button { position: relative; display: grid; min-height: 112px; align-content: center; gap: 7px; padding: 17px 48px 17px 17px; color: var(--navy-900); background: var(--white); border: 1px solid var(--slate-200); border-radius: 11px; box-shadow: var(--shadow-sm); cursor: pointer; text-align: left; }
.command-directory-group button:hover { border-color: var(--orange-600); transform: translateY(-1px); }
.command-directory-group button span { font-size: .82rem; font-weight: 850; }
.command-directory-group button small { color: var(--slate-500); font-size: .65rem; line-height: 1.45; }
.command-directory-group button > b { position: absolute; top: 12px; right: 12px; min-width: 24px; padding: 3px 7px; color: var(--orange-600); background: var(--orange-100); border-radius: 999px; font-size: .6rem; text-align: center; }
.command-record-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 28px; }
.command-record-sections article { padding: 18px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px; box-shadow: var(--shadow-sm); }
.command-record-sections strong, .command-record-sections p { display: block; }
.command-record-sections strong { color: var(--navy-900); font-size: .76rem; }
.command-record-sections p { min-height: 44px; margin: 8px 0 13px; color: var(--slate-600); font-size: .66rem; line-height: 1.5; }
.command-software-table { display: grid; }
.command-software-table article { display: grid; grid-template-columns: minmax(0, 1fr) auto 170px; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--slate-200); }
.command-software-table article:last-child { border-bottom: 0; }
.command-software-table article div { display: grid; gap: 4px; }
.command-software-table strong { color: var(--navy-900); font-size: .74rem; }
.command-software-table small { color: var(--slate-500); font-size: .64rem; line-height: 1.45; }

.galaxy-download-grid { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr); gap: 18px; margin-bottom: 18px; }
.galaxy-download-card { min-width: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; border-color: #223047; background: linear-gradient(155deg, #080d16 0%, #101a2a 70%, #161b24 100%); box-shadow: 0 18px 46px rgba(7, 14, 26, .2); }
.galaxy-download-card.locked { border-color: #4b5568; }
.galaxy-download-brand { min-height: 132px; display: grid; place-items: center; overflow: hidden; background: #02050a; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.galaxy-download-brand img { display: block; width: 100%; height: 132px; object-fit: contain; }
.galaxy-download-brand.suite img { object-fit: cover; }
.galaxy-download-brand.taborious img { width: 88%; object-fit: contain; }
.galaxy-download-copy { padding: 20px 22px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.galaxy-download-copy h3 { margin: 4px 0 0; color: #f7f9fc; font-size: 1.2rem; }
.galaxy-download-card > p { margin: 12px 22px 18px; color: #b8c4d6; line-height: 1.55; }
.galaxy-download-card > button { margin: auto 22px 22px; min-height: 44px; }
.galaxy-suite-products { margin: 0 22px 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.galaxy-suite-products > div { min-width: 0; min-height: 84px; padding: 9px 7px; display: grid; place-items: center; align-content: center; gap: 5px; color: #eef4fb; background: rgba(255,255,255,.045); border: 1px solid rgba(159, 183, 215, .16); border-radius: 9px; text-align: center; }
.galaxy-suite-products img { width: 40px; height: 40px; object-fit: contain; }
.galaxy-suite-products span { font-size: .62rem; font-weight: 850; letter-spacing: .04em; }
.galaxy-suite-products small { color: #65d9c0; font-size: .49rem; line-height: 1.25; }
.taborious-package-note { margin: 0 22px 18px; padding: 15px; display: grid; gap: 5px; color: #f7f9fc; background: rgba(230, 108, 30, .11); border: 1px solid rgba(242, 126, 45, .38); border-radius: 9px; }
.taborious-package-note span { color: #c1cad8; font-size: .66rem; line-height: 1.45; }
.galaxy-release-facts { margin: 0 22px 18px; display: grid; gap: 9px; }
.galaxy-release-facts div { display: grid; gap: 3px; padding-top: 9px; border-top: 1px solid rgba(182, 199, 221, .13); }
.galaxy-release-facts dt { color: #8190a5; font-size: .55rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.galaxy-release-facts dd { margin: 0; overflow-wrap: anywhere; color: #dbe3ee; font-size: .66rem; }
.galaxy-download-safety { padding: 18px 20px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; }
.galaxy-download-safety div { display: grid; grid-template-columns: 30px 1fr; gap: 3px 10px; align-items: center; }
.galaxy-download-safety div > span { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; color: #fff; background: var(--orange-600); border-radius: 50%; font-size: .66rem; font-weight: 900; }
.galaxy-download-safety strong { color: var(--navy-900); font-size: .7rem; }
.galaxy-download-safety small { color: var(--slate-500); font-size: .6rem; line-height: 1.4; }
.galaxy-download-safety i { color: var(--slate-400); font-style: normal; }
.pdf-output-grid, .integration-control-grid, .product-feature-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pdf-output-card, .integration-control-card { display: grid; align-content: start; gap: 14px; padding: 20px; }
.pdf-output-card h3, .integration-control-card h3 { margin: 5px 0 0; color: var(--navy-900); font-size: .9rem; }
.pdf-output-card label, .integration-control-card label { display: grid; gap: 5px; color: var(--slate-700); font-size: .65rem; font-weight: 750; }
.pdf-output-card input, .pdf-output-card select { min-height: 39px; padding: 7px 9px; border: 1px solid var(--slate-300); border-radius: 7px; }
.pdf-output-card input[type="color"] { width: 100%; padding: 3px; }
.checkbox-line { display: flex !important; align-items: center; gap: 8px !important; }
.checkbox-line input { min-height: 0; }
.integration-control-card p { min-height: 44px; margin: 8px 0 0; color: var(--slate-600); font-size: .68rem; line-height: 1.5; }
.product-feature-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-feature-groups > section { padding: 20px; }
.product-feature-list { display: grid; }
.product-feature-list form { display: grid; grid-template-columns: minmax(0, 1fr) 145px 70px; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--slate-200); }
.product-feature-list form > div { display: grid; gap: 4px; }
.product-feature-list strong { color: var(--navy-900); font-size: .72rem; }
.product-feature-list small { color: var(--slate-500); font-size: .62rem; line-height: 1.4; }
.product-feature-list select { min-height: 36px; border: 1px solid var(--slate-300); border-radius: 7px; }
.preplanned-home-layout { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); gap: 16px; align-items: start; }
.preplanned-home-list, .preplanned-home-form { padding: 20px; }
.preplanned-home-list > button:not(.button) { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 14px 10px; color: var(--navy-900); background: transparent; border: 0; border-top: 1px solid var(--slate-200); cursor: pointer; text-align: left; }
.preplanned-home-list > button:not(.button):hover, .preplanned-home-list > button.selected { background: #fff7f2; }
.preplanned-home-list > button span { display: grid; gap: 3px; }
.preplanned-home-list > button span:nth-child(2) { text-align: right; }
.preplanned-home-list > button strong, .preplanned-home-list > button b { font-size: .7rem; }
.preplanned-home-list > button small { color: var(--slate-500); font-size: .6rem; }
.preplanned-home-list > button .pill { grid-column: 1 / -1; justify-self: start; }
.preplanned-home-form { display: grid; gap: 15px; }
.preplanned-home-form > label { display: grid; gap: 6px; color: var(--slate-700); font-size: .67rem; font-weight: 800; }
.preplanned-home-form textarea { padding: 10px; border: 1px solid var(--slate-300); border-radius: 8px; }

@media (max-width: 1180px) {
  .command-category-cards { grid-template-columns: repeat(4, minmax(145px, 1fr)); }
  .software-section-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .factory-directory-layout { grid-template-columns: 1fr; }
  .command-directory-group > div, .pdf-output-grid, .integration-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preplanned-home-layout { grid-template-columns: 1fr; }
  .galaxy-download-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .command-category-cards, .software-section-tabs { grid-template-columns: 1fr; }
  .factory-location-cards { grid-template-columns: 1fr; }
  .factory-directory-map { min-height: 420px; }
  .galaxy-suite-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galaxy-download-safety { grid-template-columns: 1fr; }
  .galaxy-download-safety i { display: none; }
  .command-admin-boundary { flex-direction: column; gap: 6px; }
  .command-admin-boundary strong { flex-basis: auto; }
  .command-finder { align-items: stretch; flex-direction: column; }
  .command-directory-group > div, .command-record-sections, .pdf-output-grid, .integration-control-grid, .product-feature-groups { grid-template-columns: 1fr; }
  .command-software-table article, .product-feature-list form { grid-template-columns: 1fr; }
}

/* Phone workspace: preserve every Galaxy function while making touch and reading comfortable. */
html, body { max-width: 100%; overflow-x: clip; }
button, [role="button"], a.button { touch-action: manipulation; }

@media (max-width: 720px) {
  .login-page, .login-content { min-height: 100dvh; }
  .login-background { background-position: 38% center; }
  .login-content { justify-content: flex-start; padding: max(18px, env(safe-area-inset-top)) 12px max(28px, env(safe-area-inset-bottom)); }
  .login-top { flex: 0 0 auto; gap: 14px; padding: 10px 0 22px; }
  .login-logo-card { width: min(420px, 92vw); padding: 12px 18px; }
  .login-tagline { max-width: 340px; font-size: .88rem; line-height: 1.5; letter-spacing: .11em; }
  .login-bottom { width: 100%; flex-wrap: nowrap; flex-direction: column; align-items: center; }
  .login-form, .password-reset-form { order: 1; }
  .time-clock-card { order: 2; }
  .time-clock-card, .login-form, .password-reset-form { max-width: 430px; border-radius: 14px; }
  .login-form input, .password-reset-form input, .time-clock-card input, .form-grid input, .form-grid select, .form-grid textarea, .toolbar input, .toolbar select { font-size: 16px; }
  .login-form .button, .password-reset-form .button { min-height: 48px; }

  .topbar { position: sticky; top: 0; min-height: calc(64px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 12px 0; }
  .brand-lockup img { width: min(42vw, 146px); }
  .menu-button, .topbar-icon { min-width: 44px; min-height: 44px; }
  .sidebar { width: min(88vw, 330px); height: 100dvh; padding-bottom: env(safe-area-inset-bottom); }
  .content { width: 100%; min-width: 0; padding: 18px 12px calc(30px + env(safe-area-inset-bottom)); }
  .content > *, .panel, .view-heading, .grid-two, .grid-three { min-width: 0; }
  .panel-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .panel-head > .button, .panel-head > a.button { width: 100%; }
  .heading-actions { width: 100%; }
  .heading-actions > .button { flex: 1 1 150px; }

  .module-tabs, .job-workspace-tabs, .orbit-workspace-tabs, .software-section-tabs { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .module-tabs { display: flex; padding-bottom: 5px; }
  .module-tabs button, .job-workspace-tabs button, .orbit-workspace-tabs button { flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
  .table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .table-wrap table { min-width: 640px; }
  .table-wrap::after { display: block; padding: 5px 8px 0; color: var(--slate-500); content: "Swipe sideways to see every column"; font-size: .58rem; text-align: right; }

  .modal { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); margin: auto; border-radius: 14px; }
  .modal form, .recent-bids-modal { max-height: calc(100dvh - 16px); overflow-y: auto; padding: 16px; overscroll-behavior: contain; }
  .modal-head { position: relative; padding-right: 38px; }
  .modal-head .icon-button { position: absolute; top: 0; right: 0; min-width: 44px; min-height: 44px; }
  .modal-actions { position: sticky; bottom: -16px; z-index: 2; align-items: stretch; flex-direction: column-reverse; margin-inline: -16px; padding: 14px 16px max(14px, env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -8px 18px rgba(15, 23, 42, .08); }
  .modal-actions .button { width: 100%; min-height: 46px; }

  .original-home-layout { grid-template-columns: minmax(0, 1fr); }
  .original-home-rail { position: static; }
  .original-horizon-actions, .original-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .original-horizon-actions button, .original-hub-grid button { min-height: 82px; padding: 12px; }
  .galaxy-slippy-map, .factory-directory-map { min-height: 330px; }
  .original-map-legend { gap: 7px; }
  .map-radar-toggle { margin-left: 0; }
  .galaxy-map-popup { width: min(280px, calc(100% - 12px)); }
  .original-pipeline { padding-bottom: 18px; scroll-snap-type: x proximity; }
  .original-pipeline > article { scroll-snap-align: start; }

  .command-category-cards, .software-section-tabs, .command-directory-group > div, .command-record-sections, .pdf-output-grid, .integration-control-grid, .product-feature-groups { grid-template-columns: 1fr; }
  .command-user-form { grid-template-columns: 1fr; }
  .command-user-form .button { width: 100%; }
  .employee-access-form, .employee-access-create { min-width: 0; grid-template-columns: 1fr; }
  .command-flat-section > header { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .login-tagline span { display: block; margin-top: 2px; }
  .time-clock-actions { grid-template-columns: 1fr; }
  .original-horizon-actions, .original-hub-grid, .original-checklist, .phase-card-summary { grid-template-columns: 1fr; }
  .original-workspace-grid .workspace-tile.orbit { grid-column: auto; grid-template-columns: auto minmax(0, 1fr); }
  .stage-grid { grid-template-columns: 1fr; }
  .phase-flat-heading .phase-page-button { flex-basis: 100%; }
  .toast { right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); left: 8px; width: auto; }
}

/* Job journey, customer approval, scheduling, and Cargo Bay traceability */
.job-action-menu { position: relative; min-width: 230px; }
.job-action-menu > summary { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 13px; color: #fff; background: var(--navy-900); border-radius: 7px; font-size: .76rem; font-weight: 800; list-style: none; cursor: pointer; }
.job-action-menu > summary::-webkit-details-marker { display: none; }
.job-action-menu[open] > summary { border-radius: 7px 7px 0 0; }
.job-action-menu > div { position: absolute; z-index: 15; top: 100%; left: 0; display: grid; width: min(360px, 84vw); overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-radius: 0 8px 8px 8px; box-shadow: var(--shadow-lg); }
.job-action-menu > div button { min-height: 42px; padding: 10px 13px; color: var(--navy-900); background: #fff; border: 0; border-bottom: 1px solid var(--slate-100); font-size: .74rem; font-weight: 700; text-align: left; cursor: pointer; }
.job-action-menu > div button:hover:not(:disabled) { color: var(--orange-700); background: #fff7f2; }
.job-action-menu > div button:disabled { color: var(--slate-500); background: var(--slate-50); cursor: default; }
.journey-stage-list { display: grid; gap: 7px; }
.journey-stage-list > div { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr); gap: 12px; padding: 10px 12px; background: #f8fafc; border: 1px solid var(--slate-100); border-radius: 7px; }
.journey-stage-list span { color: var(--slate-500); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.journey-stage-list strong { color: var(--navy-900); font-size: .76rem; }
.journey-date-summary { padding: 11px 12px; color: var(--slate-600); background: #fff8f2; border-left: 3px solid var(--orange-600); font-size: .74rem; line-height: 1.65; }
.approval-journey-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--slate-100); }
.approval-journey-row > div { display: grid; gap: 3px; min-width: 0; }
.approval-journey-row small, .approval-journey-row p { margin: 0; color: var(--slate-500); font-size: .68rem; line-height: 1.45; }
.material-journey-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.material-journey-summary article { display: grid; gap: 3px; padding: 10px; background: #f8fafc; border: 1px solid var(--slate-100); border-radius: 7px; }
.material-journey-summary strong { color: var(--orange-700); font-size: .68rem; letter-spacing: .05em; }
.material-journey-summary span { color: var(--slate-600); font-size: .7rem; }
.horizon-handoff { margin: 0 0 22px; overflow: hidden; background: #fff; border: 1px solid #e5e1dd; border-radius: 11px; box-shadow: 0 2px 8px rgba(18, 38, 63, .05); }
.horizon-handoff > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; border-bottom: 3px solid var(--orange-600); }
.horizon-handoff > header h3, .horizon-handoff > header p { margin: 0; }
.horizon-handoff > header h3 { color: var(--navy-900); font-size: 1rem; }
.horizon-handoff > header p { margin-top: 3px; color: var(--slate-500); font-size: .7rem; }
.horizon-handoff > header b { display: grid; min-width: 36px; height: 32px; place-items: center; color: #fff; background: #b42318; border-radius: 7px; }
.horizon-handoff-row { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.4fr) auto; gap: 16px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--slate-100); }
.horizon-handoff-row:last-child { border-bottom: 0; }
.horizon-handoff-row > button:first-child { display: grid; gap: 2px; padding: 0; color: var(--navy-900); background: transparent; border: 0; text-align: left; cursor: pointer; }
.horizon-handoff-row > button:first-child small, .horizon-handoff-row > div small { color: var(--slate-500); font-size: .68rem; }
.horizon-handoff-row > div { display: grid; justify-items: start; gap: 5px; }
.cargo-request-panel { margin-block: 18px; }
.cargo-request-list { display: grid; gap: 12px; padding: 0 18px 18px; }
.cargo-request-card { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 9px; }
.cargo-request-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #fff8f2; border-bottom: 1px solid #f2d7c7; }
.cargo-request-card > header > div { display: grid; gap: 2px; }
.cargo-request-card > header small, .cargo-request-note { color: var(--slate-500); font-size: .68rem; }
.cargo-request-lines { display: grid; }
.cargo-allocation-form { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1.2fr) 110px auto; gap: 10px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--slate-100); }
.cargo-allocation-form:last-child { border-bottom: 0; }
.cargo-allocation-form > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 8px; align-items: center; }
.cargo-allocation-form > div small { grid-column: 1 / -1; color: var(--slate-500); font-size: .66rem; }
.cargo-allocation-form select, .cargo-allocation-form input { min-height: 38px; padding: 7px 9px; border: 1px solid var(--slate-200); border-radius: 6px; font-size: .74rem; }
.cargo-request-note { margin: 0; padding: 10px 14px; background: var(--slate-50); }

@media (max-width: 920px) {
  .horizon-handoff-row { grid-template-columns: 1fr auto; }
  .horizon-handoff-row > div { grid-column: 1 / -1; grid-row: 2; }
  .cargo-allocation-form { grid-template-columns: minmax(0, 1fr) 110px auto; }
  .cargo-allocation-form > div { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .job-action-menu { width: 100%; }
  .job-action-menu > div { position: static; width: 100%; border-radius: 0 0 8px 8px; box-shadow: none; }
  .journey-stage-list > div { grid-template-columns: 1fr; gap: 3px; }
  .approval-journey-row { flex-direction: column; }
  .material-journey-summary { grid-template-columns: 1fr; }
  .horizon-handoff > header { align-items: flex-start; }
  .horizon-handoff-row { grid-template-columns: 1fr; align-items: stretch; }
  .horizon-handoff-row > div { grid-column: auto; grid-row: auto; }
  .horizon-handoff-row > .button { width: 100%; }
  .cargo-request-list { padding-inline: 10px; }
  .cargo-request-card > header { align-items: flex-start; flex-direction: column; }
  .cargo-allocation-form { grid-template-columns: 1fr; }
  .cargo-allocation-form > div { grid-column: auto; }
  .cargo-allocation-form select, .cargo-allocation-form input, .cargo-allocation-form .button { width: 100%; min-height: 44px; font-size: 16px; }
}

/* Independent CutForge contract work remains separate from Galaxy customer jobs. */
.cutforge-contract-panel { margin: 1rem 0; overflow: hidden; }
.cutforge-contract-panel > .panel-head { align-items: flex-start; padding: 1rem 1.15rem; border-bottom: 1px solid var(--slate-200); }
.cutforge-contract-panel > .panel-head h3 { margin: .2rem 0; }
.cutforge-contract-panel > .panel-head p { max-width: 760px; margin: .25rem 0 0; color: var(--slate-600); line-height: 1.5; }
.cutforge-safety-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; margin: 1rem; padding: .8rem 1rem; color: #71440d; background: #fff8e7; border: 1px solid #efd394; border-radius: 9px; font-size: .72rem; }
.cutforge-contract-grid { display: grid; gap: 12px; padding: 0 1rem 1rem; }
.cutforge-contract-card { display: grid; gap: 12px; padding: 1rem; background: #fff; border: 1px solid var(--slate-200); border-left: 5px solid var(--orange-600); border-radius: 10px; }
.cutforge-contract-card > header, .cutforge-contract-card > footer, .cutforge-contract-source, .cutforge-contract-controls { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.cutforge-contract-card h4 { margin: .15rem 0; color: var(--navy-900); font-size: 1rem; }
.cutforge-contract-card p { margin: 0; color: var(--slate-600); }
.cutforge-contract-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cutforge-contract-metrics span { padding: .65rem .75rem; color: var(--slate-600); background: #f7f8f9; border-radius: 7px; font-size: .68rem; }
.cutforge-contract-metrics b { color: var(--navy-900); }
.cutforge-contract-source { align-items: center; padding: .8rem; background: #f8fbfb; border: 1px solid #dbe8e7; border-radius: 8px; }
.cutforge-contract-source > div:first-child { display: grid; gap: 3px; min-width: 0; }
.cutforge-contract-source small { overflow-wrap: anywhere; color: var(--slate-500); }
.cutforge-contract-controls { align-items: end; }
.cutforge-contract-controls label { display: grid; flex: 1; gap: 4px; color: var(--slate-600); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.cutforge-contract-card > footer { padding-top: 10px; color: var(--slate-500); border-top: 1px solid var(--slate-200); font-size: .66rem; }

@media (max-width: 720px) {
  .cutforge-contract-panel > .panel-head, .cutforge-contract-card > header, .cutforge-contract-card > footer, .cutforge-contract-source, .cutforge-contract-controls { align-items: stretch; flex-direction: column; }
  .cutforge-contract-panel > .panel-head .button, .cutforge-contract-controls .button { width: 100%; }
  .cutforge-safety-note, .cutforge-contract-metrics { grid-template-columns: 1fr; }
}

/* Verified machine observations, private cameras, and factory-wide alarms. */
.machine-alert-banner {
  position: sticky;
  z-index: 38;
  top: var(--topbar-height, 74px);
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 22px;
  color: #fff;
  background: #9f271b;
  border-bottom: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 8px 24px rgba(34, 20, 17, .2);
}
.machine-alert-banner[hidden] { display: none; }
.machine-alert-banner.warning { background: #a64b00; }
.machine-alert-banner.notice { background: var(--navy-900); }
.machine-alert-signal { width: 13px; height: 13px; background: #fff; border: 3px solid rgba(255,255,255,.45); border-radius: 999px; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: machine-signal 1.35s infinite; }
.machine-alert-banner > div:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.machine-alert-banner span, .machine-alert-banner small { font-size: .63rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.machine-alert-banner strong { overflow: hidden; font-size: .83rem; text-overflow: ellipsis; white-space: nowrap; }
.machine-alert-banner small { opacity: .85; font-weight: 650; letter-spacing: .02em; text-transform: none; }
.machine-alert-banner-actions { display: flex; gap: 8px; }
.machine-alert-banner .button.light { min-height: 36px; color: #fff; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.55); }
@keyframes machine-signal { 70% { box-shadow: 0 0 0 9px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }

.machine-alert-ledger { display: grid; gap: 10px; }
.machine-alert-card { display: grid; gap: 9px; padding: 13px 15px; background: #fff; border: 1px solid var(--slate-200); border-left: 5px solid var(--navy-700); border-radius: 8px; }
.machine-alert-card.warning { background: #fffbeb; border-left-color: #d97706; }
.machine-alert-card.critical { background: #fff5f4; border-left-color: #b42318; }
.machine-alert-card-head, .machine-alert-card footer, .machine-camera-info { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.machine-alert-card-head > div { display: grid; gap: 2px; }
.machine-alert-card-head span, .machine-alert-card footer > span { color: var(--slate-500); font-size: .64rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.machine-alert-card p { margin: 0; color: var(--navy-900); font-size: .76rem; line-height: 1.5; }
.machine-operator-action { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; padding: 9px 11px; background: rgba(255,255,255,.74); border: 1px solid rgba(15,23,42,.1); border-radius: 6px; font-size: .7rem; }
.machine-operator-action b { color: var(--orange-700); }
.sc-readonly-snapshot { margin: 0 1.2rem 1.2rem; padding: 1rem; background: #f7faf9; border: 1px solid #cbded8; border-left: 5px solid var(--green-700); border-radius: 10px; }
.sc-readonly-snapshot header, .sc-readonly-snapshot footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.sc-readonly-snapshot h3 { margin: .2rem 0; color: var(--navy-900); }
.sc-readonly-snapshot p { margin: 0; color: var(--slate-600); }
.sc-snapshot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }
.sc-snapshot-grid > div { display: grid; gap: .2rem; padding: .7rem; background: #fff; border: 1px solid var(--slate-200); border-radius: 8px; }
.sc-snapshot-grid span { color: var(--slate-500); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sc-snapshot-grid strong { color: var(--navy-900); }
.sc-cut-geometry { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: .85rem; }
.sc-cut-geometry span { display: inline-flex; gap: .5rem; padding: .5rem .65rem; color: var(--slate-700); background: #fff; border: 1px solid var(--slate-200); border-radius: 7px; }
.sc-cut-geometry b { color: var(--orange-700); }
.sc-readonly-snapshot footer { padding-top: .75rem; color: var(--slate-500); border-top: 1px solid var(--slate-200); font-size: .67rem; }
.sc-readonly-snapshot footer strong { color: #8a4b08; }

.machine-camera-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.machine-camera-grid.compact { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.machine-camera-card { overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-radius: 9px; }
.machine-camera-preview { display: grid; min-height: 150px; place-content: center; gap: 5px; padding: 18px; color: #dbe7ef; background: linear-gradient(145deg, #172a3b, #08131d); text-align: center; }
.machine-camera-grid.compact .machine-camera-preview { min-height: 92px; }
.machine-camera-preview span { font-size: .7rem; font-weight: 900; letter-spacing: .09em; }
.machine-camera-preview small { color: #93a9ba; font-size: .63rem; }
.machine-camera-info { flex-wrap: wrap; padding: 12px; }
.machine-camera-info > div { display: grid; gap: 2px; }
.machine-camera-info small, .machine-camera-info p { color: var(--slate-500); font-size: .66rem; }
.machine-camera-info p { flex-basis: 100%; margin: 0; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) { .machine-alert-signal { animation: none; } }
@media (max-width: 720px) {
  .machine-alert-banner { top: calc(64px + env(safe-area-inset-top)); grid-template-columns: 12px minmax(0, 1fr); padding: 10px 12px; }
  .machine-alert-banner strong { white-space: normal; }
  .machine-alert-banner-actions { grid-column: 1 / -1; }
  .machine-alert-banner-actions .button { flex: 1; min-height: 42px; }
  .machine-alert-card footer, .machine-alert-card-head { align-items: flex-start; flex-direction: column; }
  .machine-alert-card footer .button { width: 100%; }
  .machine-operator-action { grid-template-columns: 1fr; }
  .sc-snapshot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc-readonly-snapshot header, .sc-readonly-snapshot footer { flex-direction: column; }
.theme-toggle {
  display: inline-grid;
  grid-template-columns: auto auto;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  color: var(--navy-900);
  background: var(--white);
  border: 1px solid var(--slate-200);
  border-radius: 10px;
  cursor: pointer;
}
.theme-toggle span { padding: 3px 5px; color: #fff; background: #151515; border-radius: 4px; font: 800 .5rem "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; }
.theme-toggle b { font-size: .66rem; }
.theme-toggle:hover { color: var(--orange-600); border-color: var(--orange-500); }

/* Galaxy light stays familiar; dark mirrors the local Horizon Takeoff palette. */
html[data-theme="dark"] {
  color-scheme: dark;
  --navy-950: #f3f6f9;
  --navy-900: #f3f6f9;
  --navy-800: #dce4ec;
  --navy-700: #aeb8c4;
  --orange-600: #ff7417;
  --orange-500: #ff9a54;
  --orange-300: #a9541c;
  --orange-100: #30190b;
  --slate-900: #f3f6f9;
  --slate-700: #c5cfda;
  --slate-600: #aeb8c4;
  --slate-500: #93a0af;
  --slate-300: #3a4959;
  --slate-200: #293542;
  --slate-100: #151c25;
  --slate-50: #10161e;
  --green-700: #2fd080;
  --green-100: #173a29;
  --amber-700: #ffd166;
  --amber-100: #3a2a0b;
  --red-700: #ff6b6b;
  --red-100: #4a1818;
  --shadow-sm: 0 1px 0 rgba(255,255,255,.035), 0 8px 22px rgba(0,0,0,.25);
  --shadow-lg: 0 24px 70px rgba(0,0,0,.6);
}

html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell,
html[data-theme="dark"] .app-main,
html[data-theme="dark"] .content { color: #dce4ec; background-color: #070a0e; }
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .topbar { color: #dce4ec; background: rgba(10,14,19,.97); border-color: #293542; }
html[data-theme="dark"] .topbar { box-shadow: 0 1px 0 #293542, 0 10px 30px rgba(0,0,0,.25); }
html[data-theme="dark"] .brand-lockup,
html[data-theme="dark"] .page-identity,
html[data-theme="dark"] .sidebar-user,
html[data-theme="dark"] .facility-card { color: #f0f2f5; }
html[data-theme="dark"] .brand-lockup img { padding: 4px 7px; background: #fff; border-radius: 6px; }
html[data-theme="dark"] .panel,
html[data-theme="dark"] dialog > form,
html[data-theme="dark"] .modal > section,
html[data-theme="dark"] .notification-drawer,
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .stage-card,
html[data-theme="dark"] .operation-card,
html[data-theme="dark"] .command-category-card,
html[data-theme="dark"] .software-section-tab,
html[data-theme="dark"] .factory-location-card,
html[data-theme="dark"] .original-job-card,
html[data-theme="dark"] .workspace-tile,
html[data-theme="dark"] .orbit-workspace-hero,
html[data-theme="dark"] .orbit-upload-card,
html[data-theme="dark"] .orbit-workspace-pane { color: #dce4ec; background: linear-gradient(145deg, #151c25, #10161e); border-color: #293542; box-shadow: var(--shadow-sm); }
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] strong,
html[data-theme="dark"] th,
html[data-theme="dark"] label { color: #f0f2f5; }
html[data-theme="dark"] p,
html[data-theme="dark"] small,
html[data-theme="dark"] td,
html[data-theme="dark"] .panel-head p,
html[data-theme="dark"] .view-heading p { color: #93a0af; }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { color: #f3f6f9; background: #090e14; border-color: #344251; }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus { border-color: #ff7417; box-shadow: 0 0 0 3px rgba(255,116,23,.11); outline: none; }
html[data-theme="dark"] table th,
html[data-theme="dark"] table td,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .panel-head { border-color: #293542; }
html[data-theme="dark"] tbody tr:hover td { background: #151c25; }
html[data-theme="dark"] .topbar-chip,
html[data-theme="dark"] .topbar-icon-button,
html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] .original-outline-button,
html[data-theme="dark"] .original-back-button { color: #dce4ec; background: #141b23; border-color: #293542; }
html[data-theme="dark"] .theme-toggle { background: #0d1218; border-color: #ff7417; box-shadow: inset 0 0 0 1px rgba(255,255,255,.015), 0 0 14px rgba(255,116,23,.12); }
html[data-theme="dark"] .theme-toggle span { color: #1c0b02; background: linear-gradient(135deg, #ff9a54, #ff7417); box-shadow: 0 0 14px rgba(255,116,23,.3); }
html[data-theme="dark"] .button.primary,
html[data-theme="dark"] .original-primary-button,
html[data-theme="dark"] .nav-link.active,
html[data-theme="dark"] .topbar-chip.primary-chip { color: #1d0d03; background: linear-gradient(135deg, #ff8a3d, #ff6810); border-color: #ff7417; box-shadow: 0 8px 22px rgba(255,105,16,.2); }
html[data-theme="dark"] .button.dark,
html[data-theme="dark"] .original-dark-button { color: #1d0d03; background: linear-gradient(135deg, #ff8a3d, #ff6810); border-color: #ff7417; }
html[data-theme="dark"] .nav-link { color: #aeb4bd; }
html[data-theme="dark"] .nav-link:hover { color: #ff9a54; background: #151c25; }
html[data-theme="dark"] .sidebar-user,
html[data-theme="dark"] .facility-card { background: #10161e; border-color: #293542; }
html[data-theme="dark"] .environment { color: #70e5a7; background: #173a29; border-color: #28694a; }
html[data-theme="dark"] .eyebrow { color: #ff9a54; }
html[data-theme="dark"] .time-clock-card,
html[data-theme="dark"] .login-form,
html[data-theme="dark"] .password-reset-form { color: #dce4ec; background: rgba(16,22,30,.97); border-color: #3a4959; }
html[data-theme="dark"] .time-clock-card h2,
html[data-theme="dark"] .login-form h2,
html[data-theme="dark"] .password-reset-form h2,
html[data-theme="dark"] .time-clock-card label,
html[data-theme="dark"] .login-form label,
html[data-theme="dark"] .password-reset-form label { color: #f0f2f5; }
html[data-theme="dark"] .time-clock-card input,
html[data-theme="dark"] .login-form input,
html[data-theme="dark"] .password-reset-form input,
html[data-theme="dark"] .login-form select,
html[data-theme="dark"] .authenticator-management-grid input,
html[data-theme="dark"] .authenticator-management-grid select { color: #f3f6f9; background: #090e14; border-color: #344251; }
html[data-theme="dark"] .time-clock-state { color: #aeb8c4; background: #0d1218; border-color: #293542; }
html[data-theme="dark"] .mfa-enrollment,
html[data-theme="dark"] .authenticator-status { border-color: #344251; }
html[data-theme="dark"] .mfa-enrollment ol { color: #c3ccd6; }
html[data-theme="dark"] .mfa-enrollment-secret,
html[data-theme="dark"] .authenticator-factor-list article { color: #dce4ec; background: #151c25; border-color: #344251; }
html[data-theme="dark"] .mfa-enrollment-secret output { color: #f3f6f9; background: #090e14; border-color: #344251; }
html[data-theme="dark"] .recovery-response { color: #ffe09b; background: #2c220c; border-color: #725818; }

/* Orbit gets the strongest CutForge treatment. */
html[data-theme="dark"] body[data-galaxy-module="orbit"] .content { background-image: radial-gradient(circle at 50% -20%, #182331 0, transparent 43%), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: auto, 24px 24px, 24px 24px; }
html[data-theme="dark"] .orbit-rulebook,
html[data-theme="dark"] .orbit-runtime-panel,
html[data-theme="dark"] .orbit-selected-job-card { border-top: 3px solid #ff7417; }
html[data-theme="dark"] .orbit-package-strip span { color: #c5cfda; background: #173a29; border-color: #28694a; }
html[data-theme="dark"] .orbit-package-strip b { color: #70e5a7; }
html[data-theme="dark"] .orbit-source-warning { color: #ffd166; background: #2c220c; border-color: #725818; }
html[data-theme="dark"] .orbit-stage-list details,
html[data-theme="dark"] .orbit-job-finding,
html[data-theme="dark"] .orbit-computer-card { background: #151c25; border-color: #293542; }
html[data-theme="dark"] .orbit-stage-list summary > span > b { color: #1c0b02; background: #ff7417; box-shadow: 0 0 14px rgba(255,116,23,.3); }
html[data-theme="dark"] .orbit-rule-list,
html[data-theme="dark"] .orbit-job-review-form,
html[data-theme="dark"] .orbit-program-catalog,
html[data-theme="dark"] .orbit-preflight-bar { background: #0d1218; border-color: #293542; }
html[data-theme="dark"] .orbit-rule-list article,
html[data-theme="dark"] .orbit-program-row,
html[data-theme="dark"] .orbit-computer-card summary,
html[data-theme="dark"] .orbit-job-metrics,
html[data-theme="dark"] .orbit-job-metrics article { border-color: #293542; }
html[data-theme="dark"] .orbit-job-live-head,
html[data-theme="dark"] .orbit-release-bar { color: #f3f6f9; background: linear-gradient(145deg, #18212b, #0d1319); border: 1px solid #3a4959; box-shadow: inset 4px 0 #ff7417; }
html[data-theme="dark"] .orbit-job-live-head h3,
html[data-theme="dark"] .orbit-release-bar strong { color: #f0f2f5; }
html[data-theme="dark"] .orbit-job-live-head p,
html[data-theme="dark"] .orbit-release-bar small { color: #aeb4bd; }
html[data-theme="dark"] .orbit-job-live-head .original-dark-button { color: #1d0d03; background: linear-gradient(135deg, #ff8a3d, #ff6810); border-color: #ff7417; }
html[data-theme="dark"] .orbit-job-metrics strong { color: #ff9a54; text-shadow: 0 0 14px rgba(255,116,23,.3); }
html[data-theme="dark"] .orbit-job-import,
html[data-theme="dark"] .orbit-job-files form,
html[data-theme="dark"] .orbit-upload-grid label { color: #dce4ec; background: #151c25; border-color: #3a4959; }
html[data-theme="dark"] .orbit-job-import strong,
html[data-theme="dark"] .orbit-job-finding summary strong,
html[data-theme="dark"] .orbit-review-source p,
html[data-theme="dark"] .orbit-review-people b,
html[data-theme="dark"] .orbit-report-history a { color: #f0f2f5; }
html[data-theme="dark"] .orbit-review-source { background: #293542; }
html[data-theme="dark"] .orbit-review-source p,
html[data-theme="dark"] .orbit-review-people span,
html[data-theme="dark"] .orbit-job-files > header,
html[data-theme="dark"] .orbit-report-history a { background: #151c25; border-color: #293542; }
html[data-theme="dark"] .orbit-workspace-hero { border-top-color: #ff7417; }
html[data-theme="dark"] .orbit-workspace-progress article span { color: #93a0af; background: #151c25; border-color: #3a4959; }
html[data-theme="dark"] .orbit-workspace-progress article.complete span,
html[data-theme="dark"] .orbit-workspace-progress article.current span,
html[data-theme="dark"] .orbit-progress-line i { color: #1c0b02; background: #ff7417; border-color: #ff7417; }
html[data-theme="dark"] .orbit-workspace-tabs { background: #0d1218; border-color: #293542; }
html[data-theme="dark"] .orbit-workspace-tabs button { color: #93a0af; }
html[data-theme="dark"] .orbit-workspace-tabs button.active { color: #ff9a54; border-color: #ff7417; }
html[data-theme="dark"] .pill.active { color: #1c0b02; background: #ff7417; }

@media (max-width: 760px) {
  .original-welcome { align-items: stretch; flex-direction: column; }
  .original-welcome-actions { flex-direction: column; }
  .original-welcome .original-primary-button { width: 100%; }
  .theme-toggle { grid-template-columns: 1fr; width: 40px; min-width: 40px; padding: 5px; }
  .theme-toggle b { display: none; }
}

/* Command Update Center and Emergency Recovery */
.update-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.command-update-layout,
.recovery-action-grid,
.factory-health-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.factory-health-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.factory-health-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.factory-health-card h3 { margin: .15rem 0 0; }
.factory-health-card dl { display: grid; gap: .65rem; margin: 0 0 1rem; }
.factory-health-card dl div { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); gap: .75rem; padding-bottom: .55rem; border-bottom: 1px solid var(--slate-200); }
.factory-health-card dt { color: var(--slate-500); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .045em; }
.factory-health-card dd { margin: 0; font-size: .82rem; overflow-wrap: anywhere; }
.recovery-break-glass { border: 1px solid var(--red-700); box-shadow: inset 4px 0 var(--red-700), var(--shadow-sm); }
.recovery-break-glass details { grid-column: 1 / -1; padding: .75rem; border: 1px solid var(--slate-200); border-radius: 8px; }
.recovery-break-glass details[open] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.recovery-break-glass summary { grid-column: 1 / -1; cursor: pointer; font-weight: 700; }
.external-service-list,
.continuity-kit-list { display: grid; gap: .7rem; margin-bottom: 1rem; }
.external-service-list article,
.continuity-kit-list article { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr) auto; align-items: center; gap: .65rem 1rem; padding: .8rem; border: 1px solid var(--slate-200); border-radius: 8px; }
.external-service-list article small,
.continuity-kit-list article small { grid-column: 1 / -1; }
.continuity-download-form { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: .55rem; }
.continuity-download-form label { min-width: min(100%, 250px); }
.continuity-download-form input { width: 100%; }
.continuity-safety-note { display: grid; gap: .25rem; margin-top: 1rem; padding: .8rem; color: var(--slate-600); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; }
.continuity-safety-note strong { color: var(--slate-900); }
html[data-theme="dark"] .factory-health-card dl div,
html[data-theme="dark"] .recovery-break-glass details,
html[data-theme="dark"] .external-service-list article,
html[data-theme="dark"] .continuity-kit-list article,
html[data-theme="dark"] .continuity-safety-note { border-color: #293542; }
html[data-theme="dark"] .continuity-safety-note { color: #aeb8c4; background: #0d1218; }

@media (max-width: 1100px) {
  .update-summary-grid,
  .factory-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .update-summary-grid,
  .command-update-layout,
  .recovery-action-grid,
  .factory-health-grid { grid-template-columns: 1fr; }
  .recovery-break-glass details[open] { grid-template-columns: 1fr; }
  .external-service-list article,
  .continuity-kit-list article { grid-template-columns: 1fr; }
  .continuity-download-form { justify-content: stretch; }
  .continuity-download-form .button { width: 100%; }
}
