/* A single-purpose panel: current conditions or saved startup preferences. */
#settings-dialog { width:min(620px,calc(100% - 32px)); max-width:calc(100% - 16px); max-height:calc(100dvh - 40px); padding:0; background:var(--surface); color:var(--ink); overscroll-behavior:contain; }
#settings-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.settings-heading { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; background:var(--surface); border-bottom:1px solid var(--line); }
.settings-heading h2 { font-size:18px; }
.settings-heading button { flex-shrink:0; }
.settings-tabs { flex-shrink:0; display:flex; gap:24px; padding:0 24px; border-bottom:1px solid var(--line); }
.settings-tabs button { padding:12px 0; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; font-size:14px; color:var(--muted); }
.settings-tabs button[aria-selected=true] { border-bottom-color:var(--accent); color:var(--accent); font-weight:700; }
.settings-columns { display:block; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px; scroll-padding-block:16px 72px; }
#settings-dialog .filters { display:grid; position:static; inset:auto; width:auto; max-width:100%; max-height:none; overflow:visible; padding:0; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); box-shadow:none; border-radius:0; z-index:auto; }
#settings-dialog :is(.filters label,.start-grid label) { display:flex; flex-direction:column; gap:7px; font-size:13px; color:var(--muted); }
#settings-dialog #start-form { min-width:0; padding:0; border:0; }
.settings-section-heading { grid-column:1/-1; margin-bottom:0; }
.settings-section-heading h3 { margin:0; font-size:16px; }
.settings-section-heading p { margin:4px 0 0; font-size:12px; }
#settings-dialog .budget-fields,#settings-dialog .filters > button { grid-column:1/-1; }
#settings-dialog .budget-fields { padding:12px; gap:12px; }
#settings-dialog .budget-fields p { font-size:12px; line-height:1.65; }
#settings-dialog .start-grid { gap:16px; margin-top:20px; }
#settings-dialog :is(select,input) { min-height:44px; width:100%; min-width:0; font-size:14px; }
#settings-dialog .recent-regions-section { padding:0; border:0; }
#settings-dialog .recent-regions-section > p { margin:6px 0; font-size:12px; }
#settings-dialog .recent-regions { max-height:132px; overflow:auto; margin:8px 0 0; padding:3px; }
#settings-dialog .start-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
#settings-dialog .start-actions button { font-size:13px; flex:1; padding:10px; }
#settings-dialog .start-actions .primary { flex-basis:100%; }
#settings-dialog #start-message:empty { display:none; }
#settings-dialog .filters > button[type=submit] { position:sticky; bottom:0; min-height:48px; margin-top:4px; box-shadow:0 0 0 8px var(--surface); }
@media(max-width:600px) {
  #settings-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:12px; }
  .settings-heading { padding:12px 16px; }
  .settings-heading h2 { font-size:16px; }
  .settings-tabs { padding:0 16px; }
  .settings-columns { padding:18px 16px; }
  #settings-dialog :is(.filters,.start-grid) { gap:14px 12px; }
  #settings-dialog :is(select,input) { font-size:16px; }
}
