/* BMSDock v10 UI 1.9.54 — Map Filter Control Style Fix
   Authoritative owner for Settings content layout, typography and controls.
   Modal shell stays in panels-ui.css; shared Close/Actions/Share foundations stay shared. */

#settingsOverlay{
  --settings-header-size:var(--ui-font-title);
  --settings-text-size:var(--ui-font-control);
  --settings-meta-size:var(--ui-font-technical);
  --settings-title-weight:var(--ui-weight-bold);
  --settings-text-weight:var(--ui-weight-regular);
  --settings-control-height:var(--ui-control-compact-height);
  --settings-action-height:var(--ui-control-action-height);
  --settings-control-radius:var(--ui-radius-control);
  --settings-section-radius:var(--ui-radius-card);
  --settings-section-padding:var(--ui-space-12);
  --settings-section-gap:10px;
  --settings-row-gap:var(--ui-space-8);
  --settings-field-gap:10px;
  --settings-border-color:var(--ui-color-border);
  --settings-control-bg:var(--ui-color-surface);
  --settings-label-color:var(--ui-color-subtle);
  --settings-value-color:var(--ui-color-muted);
  --settings-focus-ring:rgba(100,116,139,.18);
}

/* Header */
#settingsOverlay .settings-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
  flex-wrap:nowrap;
}
#settingsOverlay .settings-panel-title{
  font-size:var(--settings-header-size) !important;
  font-weight:var(--settings-title-weight) !important;
  line-height:1.2 !important;
}
#settingsOverlay .settings-head-actions{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:auto;
  flex:0 0 auto;
  flex-wrap:nowrap;
}

/* Shared Settings spacing */
#settingsOverlay .settings-card-panel{
  gap:var(--settings-section-gap) !important;
}


/* Four semantic Settings blocks: Track / Graph / Map / Motor. */
#settingsOverlay .settings-section{
  display:flex;
  flex-direction:column;
  gap:var(--settings-row-gap) !important;
  padding:var(--settings-section-padding) !important;
  border:1px solid var(--settings-border-color) !important;
  border-radius:var(--settings-section-radius) !important;
  background:var(--ui-color-surface-soft);
  box-shadow:none;
}
#settingsOverlay .track-info-section{
  overflow:visible;
}

#settingsOverlay .settings-section-title{
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-title-weight) !important;
  line-height:1.3 !important;
}
#settingsOverlay .settings-section-sub,
#settingsOverlay .settings-hint{
  color:var(--settings-label-color) !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-text-weight) !important;
  line-height:1.4 !important;
}

/* Track Info: title outside, one disclosure box below, all track data inside. */

#settingsOverlay .track-info-title{
  display:block;
}
#settingsOverlay .track-info-box{
  width:100%;
  margin:0;
  border:1px solid var(--settings-border-color);
  border-radius:var(--settings-control-radius);
  background:var(--settings-control-bg);
  overflow:hidden;
}
#settingsOverlay .track-info-box-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 10px 0 12px;
}
#settingsOverlay .track-info-box-summary::-webkit-details-marker{display:none;}
#settingsOverlay .track-info-box-main{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--settings-value-color);
  font-size:var(--settings-meta-size);
  font-weight:var(--settings-text-weight);
  line-height:1.2;
}
#settingsOverlay .track-info-box-arrow{
  color:var(--settings-label-color);
  font-size:16px;
  font-weight:var(--settings-title-weight);
  line-height:1;
  transform:translateY(-1px);
}
#settingsOverlay .track-info-box[open] .track-info-box-arrow{
  transform:rotate(180deg) translateY(1px);
}
#settingsOverlay .track-info-box-details{
  margin:0;
  border:0;
  border-top:1px solid var(--settings-border-color);
  border-radius:0 !important;
  background:var(--settings-control-bg) !important;
  color:#334155 !important;
  padding:10px 12px !important;
  font-size:var(--settings-meta-size) !important;
  font-weight:var(--settings-text-weight) !important;
  line-height:1.45 !important;
  max-height:165px;
  overflow:auto;
}
#settingsOverlay .settings-diagnostics .warn{
  color:#ffd15a;
  font-weight:900;
}

/* Graph / map rows */


#settingsOverlay .graph-settings-title,
#settingsOverlay .map-settings-title{
  margin-bottom:1px;
}
#settingsOverlay .graph-setting-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(132px,46%);
  align-items:center;
  gap:var(--settings-field-gap) !important;
}
#settingsOverlay .graph-setting-label{
  color:var(--settings-label-color) !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-text-weight) !important;
  line-height:1.3 !important;
}

/* Form controls */
#settingsOverlay .settings-select,
#settingsOverlay .settings-input,
#settingsOverlay .settings-language-switch .language-dropdown-toggle,
#settingsOverlay .settings-refresh-btn{
  height:var(--settings-control-height) !important;
  min-height:var(--settings-control-height) !important;
  border:1px solid var(--settings-border-color) !important;
  border-radius:var(--settings-control-radius) !important;
  box-sizing:border-box !important;
}
#settingsOverlay .settings-select,
#settingsOverlay .settings-input{
  background:var(--settings-control-bg);
  font-family:inherit !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-text-weight) !important;
  line-height:1.2 !important;
}
#settingsOverlay select.settings-select{
  width:100%;
  padding:0 30px 0 10px;
}
#settingsOverlay input.settings-input{
  padding:0 10px;
  text-align:center;
}
#settingsOverlay #graphSmoothingModeSelect,
#settingsOverlay #graphLineWidthSelect,
#settingsOverlay #mapPointSizeSelect,
#settingsOverlay #mapOutlierFilterSelect,
#settingsOverlay #motorPresetSelect,
#settingsOverlay #polePairsInput{
  color:var(--settings-value-color) !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-title-weight) !important;
  background-color:var(--settings-control-bg) !important;
}
#settingsOverlay select.settings-select option{
  font-family:inherit !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-title-weight) !important;
  color:var(--settings-value-color) !important;
}
#settingsOverlay .graph-line-width-select{cursor:pointer;}

/* Settings language: shared dropdown mechanics come from style.css. */
#settingsOverlay .settings-language-switch{z-index:30;}
#settingsOverlay .settings-language-switch .language-dropdown-toggle,
#settingsOverlay .settings-language-switch .language-option{
  font-family:inherit !important;
  font-size:var(--settings-text-size) !important;
  font-weight:var(--settings-text-weight) !important;
}
#settingsOverlay .settings-language-switch .language-dropdown-toggle{
  min-width:88px;
  height:var(--settings-control-height) !important;
  min-height:var(--settings-control-height) !important;
  padding:0 9px 0 10px !important;
  border-radius:var(--settings-control-radius) !important;
  background:#f1f5f9;
  color:var(--settings-value-color);
  border-color:var(--settings-border-color);
  box-shadow:none;
}
#settingsOverlay .settings-language-switch .language-dropdown-menu{
  right:0;
  top:calc(100% + 6px);
  bottom:auto;
  background:var(--settings-control-bg);
  border-color:var(--settings-border-color);
  box-shadow:0 14px 24px rgba(15,23,42,.16);
  z-index:20;
}
#settingsOverlay .settings-language-switch .language-option{
  min-height:var(--settings-control-height) !important;
  height:var(--settings-control-height) !important;
  color:#334155;
}
#settingsOverlay .settings-language-switch .language-option:hover{background:#f1f5f9;}
#settingsOverlay .settings-language-switch .language-option.active{
  background:var(--ui-color-primary);
  color:var(--ui-action-primary-fg);
}
#settingsOverlay .settings-language-switch .language-arrow{transform:translateY(1px);}

/* Motor */
#settingsOverlay .motor-settings-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 78px var(--settings-control-height) !important;
  gap:7px !important;
  align-items:center !important;
}
#settingsOverlay .settings-refresh-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--settings-control-height) !important;
  padding:0;
  color:var(--settings-value-color) !important;
  background:var(--settings-control-bg) !important;
  font-size:18px !important;
  font-weight:var(--settings-title-weight) !important;
  line-height:1;
}

/* Actions. Structural rules stay unscoped so Share can keep its approved display/layout override. */
.clear-track-btn.settings-action{
  display:block !important;
  width:100%;
  padding:0 14px;
  border:1px solid #e2e8f0;
  background:var(--ui-color-surface-soft);
  color:#111827;
  text-align:center;
  box-shadow:none;
}
#settingsOverlay .clear-track-btn.settings-action{
  height:var(--ui-action-height) !important;
  min-height:var(--ui-action-height) !important;
  border-radius:var(--ui-action-radius) !important;
  font-size:var(--ui-action-font-size) !important;
  font-weight:var(--ui-action-font-weight) !important;
  line-height:1.2 !important;
}
.clear-track-btn.settings-action.danger{border-color:#fecaca;}
#settingsOverlay .clear-track-btn.settings-action.danger{
  background:var(--ui-action-danger-bg) !important;
  color:var(--ui-action-danger-fg) !important;
}

/* Stage 1 — primary track actions: Home + Reset share one horizontal row. */
#settingsOverlay .settings-track-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
}
#settingsOverlay .settings-track-actions .settings-track-action{
  width:100% !important;
  min-width:0;
  height:var(--ui-action-height) !important;
  min-height:var(--ui-action-height) !important;
  padding:0 10px !important;
  border-radius:var(--ui-action-radius) !important;
  font-size:var(--ui-action-font-size) !important;
  font-weight:var(--ui-action-font-weight) !important;
  line-height:1.2 !important;
  box-shadow:none !important;
}
/* Muted outline actions, matching the Settings visual language. */
#settingsOverlay .settings-home-action{
  background:#f7f9ff !important;
  border-color:#cbdafe !important;
  color:#2563eb !important;
}
#settingsOverlay .settings-home-action:hover{
  background:#eef4ff !important;
  border-color:#b9ccfb !important;
}
#settingsOverlay #clearTrackBtn{
  background:#fff7f7 !important;
  border-color:#fecaca !important;
  color:#dc2626 !important;
}
#settingsOverlay #clearTrackBtn:hover{
  background:#fff0f0 !important;
  border-color:#f8b4b4 !important;
}
#settingsOverlay .settings-track-actions .settings-track-action:focus-visible{
  box-shadow:0 0 0 3px rgba(37,99,235,.20);
}
#settingsOverlay .settings-track-actions #clearTrackBtn:focus-visible{
  box-shadow:0 0 0 3px rgba(220,38,38,.20);
}

/* Build metadata */
#settingsOverlay .settings-build-label{
  width:100%;
  margin-top:-5px;
  color:var(--settings-label-color);
  font-size:var(--settings-meta-size) !important;
  font-weight:var(--settings-text-weight) !important;
  line-height:1.3 !important;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Interaction states */
#settingsOverlay .settings-select:hover,
#settingsOverlay .settings-input:hover,
#settingsOverlay .settings-language-switch .language-dropdown-toggle:hover,
#settingsOverlay .settings-refresh-btn:hover{
  border-color:#cbd5e1 !important;
}
#settingsOverlay .settings-select:focus-visible,
#settingsOverlay .settings-input:focus-visible,
#settingsOverlay .settings-language-switch .language-dropdown-toggle:focus-visible,
#settingsOverlay .settings-refresh-btn:focus-visible{
  outline:none !important;
  border-color:#94a3b8 !important;
  box-shadow:0 0 0 3px var(--settings-focus-ring) !important;
}

@media (max-width:520px){
  #settingsOverlay .settings-head-actions{gap:6px;}
  #settingsOverlay .settings-language-switch .language-dropdown-toggle{min-width:84px;}
  #settingsOverlay .graph-setting-row{
    grid-template-columns:minmax(0,1fr) minmax(126px,48%);
    gap:9px !important;
  }
}
