/* SH Body Farm facility overlay — based on the supplied simulation.
   Load after workspace.css and the selected base theme.
   Branding and presentation only: no workflow or authorization changes.
   Optional banner: see FACILITY_THEME_README.md. */
:root {
  --bf-primary: #0863cc;
  --bf-primary-hover: #064d9f;
  --bf-primary-soft: #eaf2ff;
  --bf-primary-ink: #0753ab;
  --bf-sidebar: #202f42;
  --bf-sidebar-muted: #c0c9d4;
  --bf-accent: #e94d00;
  --bf-focus: #0753ab;
  --bf-paper: #f2f6fa;
  --bf-surface: #fff;
  --bf-ink: #172844;
  --bf-muted: #5b6b82;
  --bf-border: #d6e0ec;
  --bf-radius: 9px;
  --bf-sidebar-width: 280px;
  --bf-header-height: 82px;
  --facility-banner-height: 0px;
  --facility-banner-image: none;
}
/* A clean original banner may be enabled without changing application HTML.
   Set these variables here AFTER uploading a local image:
   :root { --facility-banner-height: 140px;
           --facility-banner-image: url('branding/facility-banner.jpg'); }
   The URL is relative to this stylesheet. No external assets are requested. */
body.bf-app { background: linear-gradient(125deg, #edf3fa, #f8fafc 65%); }
.bf-app::before {
  content: '';
  display: block;
  position: sticky;
  top: 0;
  z-index: 102;
  flex: 0 0 var(--facility-banner-height);
  height: var(--facility-banner-height);
  background-color: #23352d;
  background-image: var(--facility-banner-image);
  background-size: cover;
  background-position: center;
}
.bf-app .site-header {
  top: var(--facility-banner-height);
  background: linear-gradient(100deg, #f04a00 0%, #fc6515 39%, #f4d9d2 65%, #eef3f9 82%);
  border-bottom: 1px solid #cbd7e5;
  padding: 12px 26px;
  box-shadow: 0 2px 5px #1529460b;
}
.bf-app .bf-brand { gap: 12px; }
.bf-app .bf-brand-mark { display: none; }
.bf-app .bf-brand > span:last-child { display: flex; align-items: center; gap: 22px; min-width: 0; }
.bf-app .bf-brand strong {
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.4rem, 2.3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.02em;
  text-shadow: 0 1px 2px #77300060;
  line-height: 1.15;
}
.bf-app .bf-brand small {
  color: #3a210f;
  font-size: .84rem;
  font-weight: 600;
  max-width: 26ch;
  text-shadow: none;
}
.bf-app .bf-brand:focus-visible { outline-color: #182b47; }
.bf-app .bf-header-note { visibility: hidden; }
.bf-app .version-number { color: #33435b; border: 0; padding: 4px 0; font-size: .8rem; font-weight: 600; }
.bf-app .bf-account-toggle { border-radius: 7px; }
.bf-app .bf-account-toggle:hover { background: #ffffff90; }
.bf-app .bf-avatar { background: #1d2d43; color: #fff; width: 40px; height: 40px; }
.bf-app .bf-account-identity strong { font-size: .85rem; color: #172844; }
.bf-app .bf-account-identity small { font-size: .74rem; color: #52637d; }
.bf-app .bf-account-panel { min-width: 245px; padding: 10px; border-radius: 11px; box-shadow: 0 9px 26px #18315320; }
.bf-app .bf-account-panel button { min-height: 48px; border-radius: 6px; font-size: .86rem; }
.bf-app .bf-account-panel button:last-child { color: #b42318; border-top: 1px solid var(--bf-border); border-radius: 0; margin-top: 6px; }
.bf-app #tabs {
  top: calc(var(--bf-header-height) + var(--facility-banner-height));
  background: linear-gradient(115deg, #253549, #1b283b);
  padding: 22px 15px;
  border-right: 1px solid #32465e;
}
.bf-app #tabs button { min-height: 43px; border-radius: 6px; padding: 10px 13px; font-size: .86rem; }
.bf-app #tabs button[aria-current] {
  background: linear-gradient(110deg, #c43c00, #ce4300);
  color: #fff;
  box-shadow: inset 0 0 0 1px #f97e35, 0 2px 6px #0002;
  font-weight: 650;
}
.bf-app #tabs .bf-nav-group { border-top: 1px solid #8b9bad70; padding-top: 16px; margin: 15px 0 4px; padding-left: 10px; letter-spacing: .025em; font-size: .7rem; }
.bf-app #tabs .bf-nav-icon { font-size: 1.13rem; color: #edf3ff; opacity: 1; }
.bf-app .bf-nav-footnote { color: #c0c9d4; }
.bf-app #dashboard > .heading { padding: 24px 30px 22px; }
.bf-app #dashboard > .heading h1 {
  color: #14274e;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 2.8vw, 2.65rem);
  line-height: 1.2;
}
.bf-app .bf-eyebrow { color: #a73500; }
.bf-app #bf-page-description { font-size: .95rem; line-height: 1.65; max-width: 84ch; }
.bf-app #content { padding: 0 30px 32px; }
.bf-app .bf-breadcrumb { margin-bottom: 17px; }
.bf-app .bf-breadcrumb li { font-size: .84rem; color: #4f6180; }
.bf-app .bf-breadcrumb button { color: #0753ab; text-decoration: none; }
.bf-app .bf-breadcrumb button:hover { text-decoration: underline; }
.bf-app .bf-breadcrumb [aria-current=page] { color: #40567b; }
.bf-app .bf-summary { border-radius: 8px; background: #eaf2ff; border-color: #d4e2f4; min-height: 118px; box-shadow: none; }
.bf-app .bf-summary:nth-child(2) { background: #edf8f3; border-color: #d6e9df; }
.bf-app .bf-summary:nth-child(3) { background: #fff4e9; border-color: #f0dfce; }
.bf-app .bf-summary:nth-child(4) { background: #edf0f6; border-color: #dce2ec; }
.bf-app .bf-summary:hover { border-color: #6e90bd; }
.bf-app .bf-summary strong { color: #1c304e; font-size: 2rem; }
.bf-app .bf-summary-label { color: #354865; font-size: .83rem; }
.bf-app .bf-summary small { color: #244d7c; }
.bf-app .panel, .bf-app #content .panel, .bf-app .bf-action-section { border-radius: 8px; box-shadow: 0 1px 3px #1b32520a; }
.bf-app .bf-action-section { border-top: 3px solid #d64a08; }
.bf-app .bf-action-section h3, .bf-app .bf-overview-heading h2 { color: #172c50; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
.bf-app .bf-action-card > span:first-child { background: #fff1e8; color: #a83a00; }
.bf-app .bf-action-card:hover { background: #f0f5fc; }
.bf-app .bf-overview-note { background: #eaf1fa; border-left-color: #315e98; }
.bf-app .bf-overview-note p { color: #385473; }
.bf-app th { background: #e1e8f1; color: #172844; font-size: .8rem; }
.bf-app th + th { border-left: 1px solid #ced9e7; }
.bf-app .tablewrap { border-color: #d2ddeb; }
.bf-app input, .bf-app select, .bf-app textarea { border-color: #bac9dc; background: #fcfdff; }
.bf-app #auth { border-top: 4px solid #ce4300; }
.bf-app #auth h1 { font-family: Georgia, 'Times New Roman', serif; color: #172c50; }
.bf-app .site-footer { background: #edf2f8; }
.bf-mobile header { background: linear-gradient(110deg, #ba3a00, #d64a08); }
@media (min-width: 1101px) { .bf-app .bf-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .bf-app .bf-brand > span:last-child { gap: 14px; } .bf-app .bf-brand small { font-size: .76rem; } }
@media (max-width: 1100px) { .bf-app .bf-brand small { display: none; } }
@media (min-width: 761px) and (max-width: 960px) { :root { --bf-sidebar-width: 230px; } }
@media (max-width: 760px) {
  :root { --bf-header-height: 74px; }
  .bf-app .site-header { padding: 10px 14px; gap: 8px; background: linear-gradient(100deg, #f04a00 0%, #f96b24 43%, #edf3f9 85%); }
  .bf-app .bf-brand strong { font-size: 1.35rem; max-width: 16ch; }
  .bf-app .bf-brand > span:last-child { display: block; }
  .bf-app .bf-account { margin-left: auto; }
  .bf-app .bf-avatar { height: 34px; width: 34px; }
  .bf-app .bf-menu-toggle { background: #fff; color: #20334f; border: 1px solid #c4d1df; }
  .bf-app #tabs { width: min(310px, 85vw); }
  .bf-app #dashboard > .heading { padding: 22px 18px 20px; }
  .bf-app #dashboard > .heading h1 { font-size: 1.8rem; }
  .bf-app #content { padding: 0 18px 26px; }
  .bf-app .bf-summary { padding: 15px; min-height: 110px; }
  .bf-app .bf-summary-label { font-size: .73rem; }
  .bf-app .bf-breadcrumb li { font-size: .78rem; }
  .bf-app .bf-account-panel { right: 0; min-width: 230px; }
}
@media (max-width: 390px) {
  .bf-app .bf-brand strong { font-size: 1.15rem; }
  .bf-app .site-header { gap: 6px; }
}
@media print { .bf-app::before { display: none; } }

/* Compact header branding: use the existing image in place of the title/tagline. */
:root {
  --facility-banner-height: 0px;
  --facility-banner-image: none;
  --bf-header-height: 96px;
}
.bf-app::before { display: none; }
.bf-app .bf-brand { flex: 0 1 auto; min-width: 0; }
.bf-app .bf-logo {
  display: block;
  width: clamp(240px, 42vw, 500px);
  height: calc(var(--bf-header-height) - 24px);
  max-width: 100%;
  object-fit: cover;
  object-position: center 60%;
  border-radius: 4px;
}
.bf-app .bf-brand > span:last-child { display: none; }
.bf-app .bf-header-note { display: none; }
.bf-app .version-number { margin-left: auto; }
@media (max-width: 760px) {
  :root { --bf-header-height: 80px; }
  .bf-app .bf-logo {
    width: clamp(140px, 46vw, 260px);
    height: calc(var(--bf-header-height) - 20px);
  }
}

/* Edge-to-edge header image; retain a separate light area for account controls. */
.bf-app .site-header { padding: 0; gap: 0; background: #edf3f9; }
.bf-app .bf-brand {
  flex: 1 1 0;
  align-self: stretch;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}
.bf-app .bf-logo {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  max-width: none;
  border-radius: 0;
  object-fit: contain;
  object-position: left center;
}
.bf-app .version-number { flex: none; margin-left: 0; padding: 0 14px; }
.bf-app .bf-account { flex: none; margin: 0 18px 0 0; }
@media (max-width: 760px) {
  .bf-app .bf-menu-toggle { flex: none; margin: 0 8px; }
  .bf-app .bf-account { margin: 0 8px 0 0; }
}

/* Simulation palette: navy workspace, vivid orange navigation, blue controls. */
:root {
  --bf-primary: #0069df;
  --bf-primary-hover: #0055b8;
  --bf-primary-soft: #e8f1ff;
  --bf-primary-ink: #005ac2;
  --bf-sidebar: #202e41;
  --bf-sidebar-muted: #bcc6d3;
  --bf-accent: #f45100;
  --bf-focus: #0069df;
  --bf-paper: #f3f6fa;
  --bf-surface: #ffffff;
  --bf-ink: #203049;
  --bf-muted: #68758b;
  --bf-border: #d7e0ec;
}
body.bf-app { background: linear-gradient(115deg, #eef3fa, #f8fafc 72%); }
.bf-app #tabs { background: linear-gradient(115deg, #253449, #1b283a); border-right-color: #34465f; }
.bf-app #tabs button, .bf-app #tabs .bf-backup-link { color: #eef3fb; }
.bf-app #tabs button:hover, .bf-app #tabs .bf-backup-link:hover { background: #ffffff12; color: #fff; }
.bf-app #tabs button[aria-current] {
  background: linear-gradient(105deg, #f04b00, #ff5b00);
  color: #fff;
  box-shadow: inset 0 0 0 1px #ff7d30, 0 2px 5px #0002;
}
.bf-app #tabs .bf-nav-group { color: #bcc6d3; border-top-color: #8290a275; }
.bf-app #tabs .bf-nav-icon { color: #f2f5fc; }
.bf-app #dashboard > .heading h1, .bf-app .bf-action-section h3, .bf-app .bf-overview-heading h2 { color: #14264f; }
.bf-app #bf-page-description, .bf-app .bf-action-section > p, .bf-app .bf-action-card small { color: #68758b; }
.bf-app .bf-eyebrow { color: #b33c00; }
.bf-app .bf-breadcrumb button { color: #1265cc; }
.bf-app .bf-breadcrumb [aria-current=page] { color: #435d83; }
.bf-app .bf-breadcrumb-separator { color: #a7b4c8; }
.bf-app .bf-summary { background: #edf4ff; border-color: #d9e5f5; }
.bf-app .bf-summary:nth-child(2) { background: #fff5ec; border-color: #f0e1d3; }
.bf-app .bf-summary:nth-child(3) { background: #effaf5; border-color: #d9ebe2; }
.bf-app .bf-summary:nth-child(4) { background: #f0f3f7; border-color: #dce3ed; }
.bf-app .bf-summary strong { color: #203049; }
.bf-app .bf-summary-label { color: #34465f; }
.bf-app .bf-summary small { color: #38587f; }
.bf-app .bf-summary:nth-child(1) .bf-summary-label .bf-outline-icon { color: #31455f; }
.bf-app .bf-summary:nth-child(2) .bf-summary-label .bf-outline-icon { color: #e77b00; }
.bf-app .bf-summary:nth-child(3) .bf-summary-label .bf-outline-icon { color: #079a55; }
.bf-app .bf-summary:nth-child(4) .bf-summary-label .bf-outline-icon { color: #4a586d; }
.bf-app .bf-action-section { border-top-color: #f45100; }
.bf-app .bf-action-card > span:first-child { background: #fff0e6; color: #d44700; }
.bf-app .bf-action-card:hover { background: #eef4fc; color: #174b89; }
.bf-app button.secondary { background: #fff; color: #0064d5; border-color: #83aff0; }
.bf-app button.secondary:hover { background: #eaf2ff; color: #0053b3; }
.bf-app th { background: #e1e7f0; color: #202d43; }
.bf-app th + th { border-left-color: #d0dbe9; }
.bf-app input, .bf-app select, .bf-app textarea { background: #fcfdff; border-color: #c5d1e1; }
.bf-app .bf-account-panel { background: #fff; border-color: #d3ddea; }
.bf-app .bf-account-panel button:hover { background: #e8f1ff; }
.bf-app .bf-account-panel button:last-child { color: #d82525; }
.bf-app .bf-avatar { background: #202d41; color: #fff; }
.bf-app .bf-overview-note { background: #eaf1fb; border-left-color: #3d6aab; }
.bf-app .bf-overview-note p { color: #405e84; }
.bf-app .site-footer { background: #eef3f9; color: #61738b; }

/* Readable shared-header fallback when no facility image is configured. */
.bf-app .bf-brand:not(:has(.bf-logo)){padding:12px 24px}.bf-app .bf-brand:not(:has(.bf-logo))>span:last-child{display:block}.bf-app .bf-brand:not(:has(.bf-logo)) strong{color:var(--bf-ink);text-shadow:none;font:700 1.15rem/1.25 var(--bf-font)}.bf-app .bf-brand:not(:has(.bf-logo)) small{display:block;color:var(--bf-muted);text-shadow:none;font-weight:400}
