/* Shared internal workspace finish; module layout and workflow remain local. */
.operational-workspace a.portal-return {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  min-height: 38px; padding: 8px 12px; border: 1px solid #cbd9e1; border-radius: 10px;
  color: #476475; background: #fff; font: 700 12px "Source Sans 3", sans-serif;
  text-decoration: none; white-space: nowrap; flex-shrink: 0; box-shadow: none;
}
.operational-workspace a.portal-return:hover { background: #edf5f6; border-color: #8eabb7; }
.operational-workspace .portal-return svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.operational-workspace {
  --workspace-ink: #143649;
  --workspace-muted: #526b78;
  --workspace-line: #d6e1e6;
  --workspace-accent: #007d78;
  --shadow: 0 3px 14px rgb(16 45 66 / 5%);
  min-width: 0;
  color: var(--workspace-ink);
  background: #f3f6f7;
  font-family: "Source Sans 3", sans-serif;
}
.operational-workspace :where(input, select, textarea, button) { font: inherit; }
.operational-workspace :where(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--workspace-accent);
  outline-offset: 3px;
}
.operational-workspace :where(.portal-header, .ops-header, .bo-header, .memento-topbar, .database-topbar, .tree-topbar) {
  min-height: 68px;
  border-bottom: 1px solid var(--workspace-line);
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}
.operational-workspace :where(.portal-brand-logo, .workspace-logo, .memento-brand img, .database-brand img, .tree-brand-logo) {
  display: block;
  flex: 0 0 auto;
  width: 106px;
  height: 38px;
  object-fit: contain;
}
.operational-workspace :where(.portal-brand, .ops-brand, .bo-brand, .memento-brand, .database-brand, .tree-brand) {
  gap: 16px;
}
.operational-workspace :where(.portal-brand strong, .ops-brand strong, .bo-brand strong, .memento-brand strong, .database-brand strong, .tree-brand strong) {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 23px;
  line-height: 1.15;
}
.operational-workspace :where(.portal-primary, .portal-secondary, .ops-primary, .ops-secondary, .ops-link-button, .ops-icon-button, .bo-user button, .button) {
  border-radius: 8px;
  box-shadow: none;
}
.operational-workspace :where(.panel, .map-panel, .results-panel, .ops-map-card, .ops-metric, .bo-workspace, .database-workspace) {
  border-color: var(--workspace-line);
  border-radius: 12px;
  box-shadow: var(--shadow);
}
.operational-workspace :where(.library-rail, .table-rail) { background: #f8fafb; border-right: 1px solid var(--workspace-line); }
.operational-workspace :is(.rail-intro h1, .rail-heading h2, .library-item, .table-button, .rail-empty strong, .rail-footer span) { color: var(--workspace-ink); }
.operational-workspace :is(.rail-intro span, .rail-heading > div span, .library-item small, .library-item b, .table-button small, .rail-empty, .rail-footer small) { color: var(--workspace-muted); }
.operational-workspace :is(.library-item, .table-button):hover { color: var(--workspace-ink); background: #edf2f4; }
.operational-workspace :is(.library-item, .table-button).is-active { color: #006a65; background: #e0efec; }
.operational-workspace .table-button.is-active small { color: #32645f; }
.operational-workspace :is(.library-search, .table-filter input) { background: #fff; border-color: var(--workspace-line); border-radius: 7px; }
.operational-workspace :is(.library-search input, .table-filter input) { color: var(--workspace-ink); }
.operational-workspace :is(.library-search input, .table-filter input)::placeholder { color: #526b78; }
.operational-workspace .library-rail .icon-button { color: #006f69; background: #fff; border-color: #bed6d3; }
.operational-workspace :is(.rail-heading, .rail-footer) { border-color: var(--workspace-line); }
.operational-workspace .records-stage { background: #fff; }
.operational-workspace .welcome-state { grid-template-columns: 64px minmax(0,1fr); gap: 24px; }
.operational-workspace .welcome-mark { width: 64px; height: 64px; border-radius: 12px; box-shadow: none; background: #e1efed; color: #006e6a; }
.operational-workspace .welcome-mark svg { width: 34px; }
.operational-workspace .welcome-state h2 { font-size: clamp(30px,3.4vw,46px); line-height: 1.1; max-width: 650px; }
.operational-workspace .welcome-state p { font-size: 16px; }
.operational-workspace :where(.library-item, .table-item) { border-radius: 7px; }
.operational-workspace :where(.library-item.is-active, .table-item.is-active) {
  box-shadow: inset 3px 0 0 var(--workspace-accent);
}
.operational-workspace :is(.database-heading h1, .tree-titlebar h1, .bo-hero h1, .page-heading h1) {
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.1;
}
.operational-workspace :where(.bo-hero, .database-heading, .tree-titlebar) { gap: 24px; }
.operational-workspace .bo-shell { padding: 26px clamp(16px, 3vw, 48px) 48px; }
.operational-workspace .bo-hero { grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); }
.operational-workspace .bo-hero > div > p:last-child { margin-top: 9px; font-size: 15px; }
.operational-workspace .bo-metrics article { background: #fff; border-color: var(--workspace-line); border-radius: 9px; }
.operational-workspace .bo-workspace { grid-template-columns: minmax(270px, 320px) minmax(0, 1fr); }
.operational-workspace .bo-queue-panel { background: #f8fafb; }
.operational-workspace .bo-empty-detail { min-height: 400px; }
.operational-workspace .ops-nav { border-bottom: 1px solid var(--workspace-line); border-radius: 0; background: transparent; }
.operational-workspace .ops-nav button { border-radius: 7px 7px 0 0; }
.operational-workspace .ops-metric { background: #fff; }
.operational-workspace .ops-metric strong { font-variant-numeric: tabular-nums; }
.operational-workspace .tree-kpis { box-shadow: none; }
.operational-workspace .tree-kpis article { background: #fff; }
.planning-workspace .app-shell { max-width: 1800px; }
.planning-workspace .topbar { padding-bottom: 20px; border-bottom: 1px solid var(--workspace-line); }
.planning-workspace .brand-block { align-items: flex-start; gap: 20px; }
.planning-workspace .brand-copy h1 { font-family: "Barlow Condensed", sans-serif; font-size: 34px; letter-spacing: 0; }
.planning-workspace .brand-title-row { display: flex; flex-wrap: wrap; gap: 8px; }
.planning-workspace .brand-title-row h1 { flex: 1 1 100%; margin: 0 0 4px; }
.planning-workspace .button.primary { background: #007e78; border-color: #007e78; color: #fff; }
.planning-workspace .button.primary:hover:not(:disabled) { background: #006660; }
.planning-workspace .button.primary:disabled { opacity: .45; }
.planning-workspace .brand-copy > .subtle { max-width: 660px; font-size: 14px; }
.planning-workspace .file-chip { border-radius: 9px; box-shadow: none; background: #fff; }
.planning-workspace .chip-mark { border-radius: 6px; box-shadow: none; }
.planning-workspace .panel { background: #fff; }
.planning-workspace .panel-header { border-bottom-color: var(--workspace-line); }
.planning-workspace :where(input:not([type=checkbox]):not([type=radio]), select, textarea) { border-radius: 7px; }
.operational-workspace .login-brand .workspace-logo { width: 92px; height: 34px; }
@media (max-width: 1000px) {
  .operational-workspace .bo-hero { grid-template-columns: 1fr; }
  .operational-workspace .bo-metrics { max-width: 660px; }
}
@media (max-width: 760px) {
  .operational-workspace :where(.ops-header, .bo-header) { flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
  .operational-workspace .bo-workspace { grid-template-columns: minmax(0, 1fr); }
  .operational-workspace .bo-queue-panel { border-right: 0; border-bottom: 1px solid var(--workspace-line); }
  .operational-workspace .bo-queue { max-height: 300px; }
  .operational-workspace .bo-detail { padding: 16px; }
  .operational-workspace .bo-user { margin-left: auto; }
  .operational-workspace .bo-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .operational-workspace .bo-metrics article { padding: 10px; min-width: 0; }
  .operational-workspace .bo-metrics strong { font-size: 25px; overflow-wrap: anywhere; }
  .planning-workspace .brand-block { flex-wrap: wrap; gap: 12px; }
  .operational-workspace .welcome-state { grid-template-columns: minmax(0,1fr); }
  .operational-workspace :where(.memento-brand img, .database-brand img, .tree-brand-logo) { width: 86px; height: 31px; }
}
