/* FEMCalc night mode. Loaded after the app and shared theme styles so the
   legacy hard-coded light colours and FrameCalc skin cannot leak through. */
body.theme-night {
  color-scheme:dark;
  background:var(--theme-bg)!important;
  color:var(--theme-text)!important;
}

body.theme-night .menubar {
  background:linear-gradient(#41494f,#363d42)!important;
  border-bottom-color:var(--theme-border-strong)!important;
  color:var(--theme-text)!important;
}
body.theme-night .app-title,
body.theme-night .brand-wrap .app-title,
body.theme-night .brand-main,
body.theme-night .brand-sub,
body.theme-night .top-control,
body.theme-night .project-title { color:var(--theme-text)!important; }
body.theme-night .sep { background:var(--theme-border)!important; }

body.theme-night button,
body.theme-night select,
body.theme-night input[type="button"],
body.theme-night input[type="submit"] {
  background:var(--theme-control-bg)!important;
  border-color:var(--theme-control-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night button:hover,
body.theme-night select:hover,
body.theme-night input[type="button"]:hover,
body.theme-night input[type="submit"]:hover {
  background:var(--theme-control-hover)!important;
  border-color:#9aa6ae!important;
}
body.theme-night button.primary,
body.theme-night .calculate-main,
body.theme-night .mesh-gen button.primary,
body.theme-night .canvas-toolbar button.active {
  background:#397fc7!important;
  border-color:#8bbcff!important;
  color:#fff!important;
}
body.theme-night .danger:hover {
  background:#4a2828!important;
  border-color:#ff9e9e!important;
  color:#ffb0b0!important;
}

body.theme-night .tabbar { background:var(--theme-tab)!important; border-bottom-color:var(--theme-border-strong)!important; }
body.theme-night .tab { background:var(--theme-tab)!important; color:var(--theme-muted)!important; border-color:var(--theme-border)!important; }
body.theme-night .tab:hover { background:var(--theme-control-hover)!important; color:var(--theme-text)!important; }
body.theme-night .tab.active { background:var(--theme-tab-active)!important; color:var(--theme-text)!important; border-bottom-color:var(--theme-accent)!important; }

body.theme-night .grid-area,
body.theme-night .grid-scroll,
body.theme-night .canvas-area,
body.theme-night [id^="tab-"],
body.theme-night [id^="results-content-"],
body.theme-night #diff-results,
body.theme-night #shear-scan-results { background:var(--theme-panel)!important; color:var(--theme-text)!important; }
body.theme-night .grid-area { border-color:var(--theme-border-strong)!important; }
body.theme-night .splitter { background:linear-gradient(to right,#343b40,#59636a,#343b40)!important; border-color:var(--theme-border)!important; }
body.theme-night .grid-header,
body.theme-night .load-section-title,
body.theme-night .status-bar { background:var(--theme-header)!important; border-color:var(--theme-border)!important; color:var(--theme-text)!important; }
body.theme-night .grid-header .meta,
body.theme-night .status-bar .status-stats { color:var(--theme-muted)!important; }
body.theme-night .grid-scroll::-webkit-scrollbar-track { background:#2d3337; }
body.theme-night .grid-scroll::-webkit-scrollbar-thumb { background:#66727a; }

body.theme-night .sp-table th,
body.theme-night .res-table th {
  background:var(--theme-table-head)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night .sp-table th .unit,
body.theme-night .res-table th .unit { color:var(--theme-muted)!important; }
body.theme-night .sp-table td,
body.theme-night .res-table td,
body.theme-night .res-table td:first-child {
  background:var(--theme-table-cell)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night .sp-table tr:hover td,
body.theme-night .res-table tr:hover td { background:var(--theme-table-hover)!important; }
body.theme-night .result-pager {
  background:var(--theme-panel)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-muted)!important;
}
body.theme-night .result-pager .btn.small {
  background:var(--theme-control)!important;
  border-color:var(--theme-control-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night .sp-table td.grid-range-selected { background:#405c73!important; }
body.theme-night .sp-table td.grid-range-anchor { box-shadow:inset 0 0 0 2px var(--theme-accent)!important; }
body.theme-night .col-resizer:hover,
body.theme-night .col-resizer.active { background:rgba(139,188,255,.24)!important; }
body.theme-night .sp-table input,
body.theme-night .sp-table select,
body.theme-night input[type="text"],
body.theme-night input[type="number"],
body.theme-night textarea {
  background:var(--theme-table-cell)!important;
  border-color:var(--theme-control-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night .sp-table input { background:transparent!important; }
body.theme-night input:focus,
body.theme-night select:focus,
body.theme-night textarea:focus,
body.theme-night .sp-table input:focus {
  background:var(--theme-input-focus)!important;
  outline-color:var(--theme-accent)!important;
  color:var(--theme-text)!important;
}

body.theme-night .note,
body.theme-night .mesh-gen,
body.theme-night .mesh-simple-panel,
body.theme-night .info-wrap,
body.theme-night .advanced-panel,
body.theme-night .manual-entry-panel {
  background:var(--theme-panel-2)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-muted)!important;
}
body.theme-night .note b,
body.theme-night .info-field label,
body.theme-night .mesh-gen label,
body.theme-night .mesh-size-control { color:var(--theme-text)!important; }
body.theme-night .note kbd { background:var(--theme-control-bg)!important; border-color:var(--theme-border)!important; color:var(--theme-text)!important; }
body.theme-night .advanced-panel summary,
body.theme-night .manual-entry-panel summary {
  background:var(--theme-header)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}

body.theme-night .canvas-toolbar,
body.theme-night .canvas-bottom-bar {
  background:var(--theme-toolbar)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-muted)!important;
}
body.theme-night .view-menu summary,
body.theme-night .display-menu summary,
body.theme-night .menu-panel {
  background:var(--theme-control-bg)!important;
  border-color:var(--theme-control-border)!important;
  color:var(--theme-text)!important;
}
body.theme-night .menu-panel { box-shadow:0 8px 24px rgba(0,0,0,.48)!important; }
body.theme-night .view-menu summary::after,
body.theme-night .display-menu summary::after { color:var(--theme-muted)!important; }
body.theme-night canvas { background:var(--canvas-bg)!important; }

body.theme-night .summary-banner,
body.theme-night .validation { background:linear-gradient(var(--theme-header),var(--theme-panel-2))!important; border-color:var(--theme-border)!important; }
body.theme-night .summary-stat { background:var(--theme-table-cell)!important; border-color:var(--theme-border)!important; color:var(--theme-text)!important; }
body.theme-night .summary-stat .label,
body.theme-night .summary-stat .sub,
body.theme-night .validation-item,
body.theme-night .validation-item .value,
body.theme-night .no-results { color:var(--theme-muted)!important; }
body.theme-night .summary-stat .value { color:var(--theme-text)!important; }
body.theme-night .summary-stat .value.neg { color:#ff9e9e!important; }
body.theme-night .summary-stat .value.pos { color:#8bbcff!important; }
body.theme-night .pill { background:#31475d!important; color:#b9d8ff!important; }
body.theme-night .warn-banner { background:var(--sc-warn-bg)!important; border-color:#8a7547!important; color:var(--sc-warn)!important; }

@media print {
  body.theme-night { color-scheme:light; background:#fff!important; color:#111!important; }
}
