/* SensiGrow Settings only. Put this file in the application's assets folder. */
#settings-workspace { padding: 16px; font-size: 15px; color: #263b50; }
#settings-workspace .settings-shell {
  display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 20px;
  height: calc(100vh - 120px); height: calc(100dvh - 120px); min-height: 0;
}
#settings-workspace .settings-sidebar {
  display: flex; flex-direction: column; min-height: 0;
  background: white; border: 1px solid #dce5ed; border-radius: 12px; overflow: hidden;
}
#settings-workspace .settings-sidebar-heading { padding: 18px 16px 14px; border-bottom: 1px solid #e7edf3; }
#settings-workspace .settings-sidebar-heading h5 { margin: 0 0 12px; font-size: 17px; font-weight: 700; }
#settings-workspace .settings-entity-list { flex: 1; min-height: 0; overflow: auto; padding: 8px; scrollbar-gutter: stable; }
#settings-workspace .settings-entity-group { margin-bottom: 8px; }
#settings-workspace button.settings-nav-toggle { cursor: pointer; display: block; width: 100%; text-align: start; padding: 10px 8px; font-size: 14px; line-height: 1.5; color: #52677e; font-weight: 700; background: transparent; border: 0; box-shadow: none; }
#settings-workspace button.settings-nav-toggle::before { content: "▾"; display: inline-block; width: 18px; color: #60758b; }
#settings-workspace button.settings-nav-toggle[aria-expanded="false"]::before { content: "▸"; }
#settings-workspace .settings-entity-group:has(.nav-link.active) > button.settings-nav-toggle { color: #126c94; }
#settings-workspace .settings-entity-group:not(:has(.nav-link:not([style*="display: none"]))) { display: none; }
#settings-workspace .settings-entity-link {
  color: #475b70; font-size: 14px; line-height: 1.5; padding: 9px 12px;
  margin: 2px 0; border-radius: 7px; overflow-wrap: anywhere;
}
#settings-workspace .settings-entity-link:hover { background: #f0f6fa; color: #126c94; }
#settings-workspace .settings-entity-link.active { background: #e6f3fa; color: #125f82; font-weight: 700; box-shadow: inset 3px 0 #177da5; }
#settings-workspace .settings-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; overflow: hidden; padding: 0 2px 8px; }
#settings-workspace .settings-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; padding: 2px 0 16px; }
#settings-workspace #page-title { font-size: 24px; font-weight: 700; margin: 0 0 6px; }
#settings-workspace .settings-toolbar p { margin: 0; font-size: 13px; color: #65778a; }
#settings-workspace .settings-actions { display: flex; flex-wrap: wrap; gap: 9px; }
#settings-workspace .btn { min-height: 40px; padding: 8px 14px; border-radius: 8px; font-size: 14px; font-weight: 600; }
#settings-workspace .btn-primary { background: #177da5; border-color: #177da5; }
#settings-workspace .settings-filter-panel { position: relative; z-index: 60; isolation: isolate; background: #fff; border: 1px solid #dce5ed; border-radius: 12px; padding: 18px; }
#settings-workspace .settings-search-row { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
#settings-workspace .settings-record-search { flex: 1; max-width: 660px; }
#settings-workspace .settings-record-search label,
#settings-workspace .settings-filter-label { display: block; font-size: 13px; color: #52677e; font-weight: 600; margin-bottom: 6px; }
#settings-workspace .form-control { min-height: 40px; font-size: 14px; border-radius: 8px; border-color: #d5e0e9; }
#settings-workspace .Select-control { min-height: 40px; border-radius: 8px; border-color: #d5e0e9; }
#settings-workspace .Select-menu-outer { z-index: 30; }
#settings-workspace .settings-filter-panel .Select-menu-outer { z-index: 1000 !important; }
#settings-workspace .Select-placeholder,
#settings-workspace .Select-value-label { font-size: 14px; }
#settings-workspace .settings-table-meta { position: relative; z-index: 20; isolation: isolate; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 0; }
#settings-workspace #selection-bar { font-size: 14px; color: #52677e; }
#settings-workspace .settings-table-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 13px; }
#settings-workspace .settings-page-size { width: 85px; position: relative; z-index: 30; }
#settings-workspace .settings-column-picker { position: relative; }
#settings-workspace .settings-column-picker > summary { cursor: pointer; background: white; border: 1px solid #d5e0e9; border-radius: 8px; padding: 10px 12px; }
#settings-workspace .settings-table-tools { position: relative; }
#settings-workspace .settings-column-picker { position: relative; z-index: 1000; }
#settings-workspace .settings-column-picker[open] { flex-basis: auto; }
#settings-workspace .settings-column-options {
  position: absolute; z-index: 10000; inset-inline-end: 0; top: calc(100% + 8px); bottom: auto;
  width: 320px; max-width: 85vw; max-height: min(360px, 55vh); overflow: auto;
  padding: 12px; background: #fff;
  border: 1px solid #d5e0e9; border-radius: 10px; box-shadow: 0 10px 30px #233e5520;
}
#settings-workspace .settings-column-options label { display: flex; align-items: center; gap: 9px; padding: 7px; font-size: 14px; }
#settings-workspace .settings-grid-panel { position: relative; z-index: 1; display: flex; flex: 1 1 0; flex-direction: column; min-height: 200px; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dce5ed; border-radius: 12px; padding: 1px 1px 8px; }
#settings-workspace .settings-grid-panel .show-hide { display: none !important; }
#settings-workspace .settings-grid-panel > div,
#settings-workspace #table-wrapper { display: flex; flex: 1 1 0; flex-direction: column; min-height: 0; min-width: 0; height: 100%; }
#settings-workspace #table-wrapper > div { flex: 1 1 0; min-height: 0; }
#settings-workspace #setting-table { height: 100%; min-height: 0; }
#settings-workspace .dash-spreadsheet.dash-freeze-left { max-width: none; }
#settings-workspace .dash-spreadsheet-container .dash-spreadsheet-inner { font-family: Arial, sans-serif; }
#settings-workspace .dash-spreadsheet-container tr:hover td { background-color: #edf6fb !important; }
#settings-workspace .previous-next-container { padding: 10px 12px 0; }
#settings-workspace .settings-empty-state:not(:empty) { padding: 18px; margin-top: 10px; background: #eef5fa; border-radius: 10px; color: #52677e; }
#settings-workspace :is(button, input, summary, a):focus-visible { outline: 2px solid #177da5; outline-offset: 3px; }
/* Small readability increase across dense settings controls and rows. */
#settings-workspace { font-size: 16px; }
#settings-workspace .settings-entity-link { font-size: 15px; }
#settings-workspace button.settings-nav-toggle {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 800;
  padding: 14px 12px;
  color: #263e55;
  background: #f1f6fa;
  border-radius: 8px;
  margin: 5px 0;
}
#settings-workspace button.settings-nav-toggle::before { width: 24px; font-size: 18px; }
#settings-workspace button.settings-nav-toggle:hover { background: #e5f1f8; color: #105f82; }
#settings-workspace .settings-filter-label,
#settings-workspace .settings-record-search label { font-size: 14px; }
#settings-workspace .form-control,
#settings-workspace .Select-placeholder,
#settings-workspace .Select-value-label { font-size: 15px; }
#settings-workspace #selection-bar { font-size: 15px; }
#settings-workspace .dash-spreadsheet-container .dash-spreadsheet-inner { font-size: 16px; }
#settings-workspace .settings-column-options label { font-size: 15px; }
/* Offcanvas is rendered in a portal, so scope it by its own class. */
.settings-editor .offcanvas-header { background: #f2f7fb; border-bottom: 1px solid #dce5ed; padding: 20px 24px; }
.settings-editor .offcanvas-title { font-size: 20px; font-weight: 700; }
.settings-editor .offcanvas-body { padding: 24px; font-size: 15px; }
.settings-editor .form-label { font-size: 14px; font-weight: 600; color: #43566c; }
.settings-editor .form-control { min-height: 42px; font-size: 15px; border-radius: 8px; }
.settings-editor .Select-control { min-height: 42px; border-radius: 8px; }
.settings-editor hr { opacity: .1; margin: 20px 0; }
.settings-editor .btn { min-height: 42px; border-radius: 8px; width: 100%; }
@media (max-width: 1100px) {
  #settings-workspace .settings-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 14px; }
  #settings-workspace .settings-toolbar { align-items: flex-start; }
}
@media (max-width: 720px) {
  #settings-workspace { padding: 10px; }
  #settings-workspace .settings-shell { grid-template-columns: 1fr; height: auto; }
  #settings-workspace .settings-sidebar { max-height: 260px; }
  #settings-workspace .settings-sidebar-heading { padding: 12px; }
  #settings-workspace .settings-search-row { align-items: stretch; flex-direction: column; }
  #settings-workspace .settings-main { height: auto; min-height: 65vh; overflow: visible; }
  #settings-workspace .settings-grid-panel { flex: none; min-height: 60vh; }
  #settings-workspace .settings-table-tools { width: 100%; }
}
