/* Shared compact top bar for FrameCalc 2D, GrillageCalc and FrameCalc 3D. */
.menubar.framecalc-menubar {
  display:flex;
  flex-flow:row nowrap;
  align-items:center;
  gap:5px;
  min-height:30px;
  flex:0 0 auto;
  padding:2px 8px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  font:11px Arial,sans-serif;
}
.framecalc-menubar .brand-wrap,
.framecalc-menubar > .title {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
  padding:0 5px 0 0;
  margin:0;
}
.framecalc-menubar .brand-sub,
.framecalc-menubar > .title {
  font:700 11px Arial,sans-serif;
  line-height:1.1;
  letter-spacing:0;
  white-space:nowrap;
}
.framecalc-menubar .menu-controls,
.framecalc-menubar .analysis-controls {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  flex-wrap:nowrap;
  gap:4px;
  min-width:0;
  overflow:visible;
}
.framecalc-menubar .analysis-controls {
  padding:0 5px;
  border-left:1px solid #b8b8b8;
  border-right:1px solid #b8b8b8;
}
.framecalc-menubar button,
.framecalc-menubar select {
  flex:0 0 auto;
  height:24px;
  min-height:24px;
  padding:0 6px;
  border:1px solid #b8b8b8;
  border-radius:3px;
  font:11px Arial,sans-serif;
  line-height:normal;
  white-space:nowrap;
}
.framecalc-menubar button:disabled { opacity:.58; cursor:not-allowed; }
.framecalc-menubar #run-analysis-btn { background:#1a6fc4; border-color:#155aa0; color:#fff; font-weight:700; }
.framecalc-menubar #run-analysis-btn:hover { background:#155aa0; }
.framecalc-menubar .top-control {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:4px;
  font:11px Arial,sans-serif;
  white-space:nowrap;
}
.framecalc-menubar #result-name { min-width:100px; width:110px; max-width:160px; }
.framecalc-menubar #unit-system { min-width:0; width:137px; }
.framecalc-menubar #display-mode { min-width:45px; width:45px; padding:0 4px; }
.framecalc-menubar .toolbar-decimals :is(#result-digits,#dp-select,#decimal-places) { min-width:40px; width:40px; padding:0 3px; }
.framecalc-menubar #save-state { font:11px Arial,sans-serif; white-space:nowrap; margin-left:3px; }
.framecalc-menubar #analysis-status {
  display:inline-block;
  flex:0 0 auto;
  border:1px solid transparent;
  border-radius:3px;
  padding:3px 5px;
  font:700 10px Arial,sans-serif;
  line-height:1.1;
  white-space:nowrap;
  background:transparent;
  color:inherit;
}
.framecalc-menubar #analysis-status[data-state="dirty"],
.framecalc-menubar #analysis-status[data-state="failed"] { background:#fff0cd; border-color:#ba8224; color:#6b4300; }
.framecalc-menubar #analysis-status[data-state="current"] { background:#e6f4e9; border-color:#679873; color:#1c5c2e; }
.framecalc-menubar #analysis-status[data-state="running"] { background:#dcecff; border-color:#8daecc; color:#194b7e; }
.framecalc-menubar #project-title-display {
  display:block;
  flex:1 0 65px;
  min-width:65px;
  max-width:none;
  margin-left:auto;
  padding:0 0 0 5px;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
  white-space:nowrap;
  font:700 11px Arial,sans-serif;
}
.framecalc-menubar #status-top { display:none; }
.workflow-notice {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  flex-wrap:wrap;
  gap:6px;
  padding:4px 8px;
  border-bottom:1px solid #b8c2cc;
  background:#fff0cd;
  color:#6b4300;
  font:11px Arial,sans-serif;
}
.workflow-notice[hidden] { display:none; }
.workflow-notice button { font:inherit; padding:2px 6px; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar .analysis-controls { border-color:#707b84; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #run-analysis-btn { background:#82b4ff; border-color:#82b4ff; color:#0d1722; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #run-analysis-btn:hover { background:#aad0ff; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #analysis-status[data-state="dirty"],
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #analysis-status[data-state="failed"] { background:#493720; border-color:#99713b; color:#ffda91; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #analysis-status[data-state="current"] { background:#203d2b; border-color:#548564; color:#b4ecc3; }
body:is(.theme-night,.theme-dark,.theme-matrix) .framecalc-menubar #analysis-status[data-state="running"] { background:#243c52; border-color:#567d9d; color:#cee6ff; }

/* Keep display controls compact: each slider stays on one line with its
   label/readout at the left, matching the visibility panel's other controls. */
.canvas-toolbar .visibility-panel .visibility-slider {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:260px;
}
.canvas-toolbar .visibility-panel .visibility-slider input[type="range"] {
  flex:1 1 180px;
  width:auto;
  min-width:150px;
  margin:0;
}
.canvas-toolbar .visibility-panel .visibility-slider > span {
  min-width:28px;
  text-align:right;
  font-size:.95em;
}
