/* A single, navigable staff workspace; individual settings retain their owners. */
#settings-dialog {
  width:min(1080px,calc(100vw - 48px));
  max-width:none;
  height:min(800px,calc(100dvh - 56px));
  max-height:calc(100dvh - 56px);
  padding:0;
  overflow:hidden;
  border:1px solid #ffffff;
  border-radius:24px;
  background:var(--sp-panel-paper);
  color:var(--sp-panel-ink);
}
#settings-dialog .settings-workspace {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
}
#settings-dialog .settings-workspace-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin:0;
  padding:27px 34px 24px;
  border-bottom:1px solid var(--sp-panel-line);
  background:var(--sp-panel-paper);
}
#settings-dialog .settings-workspace-header .eyebrow {
  display:block;
  font-size:10px;
  font-weight:400;
  letter-spacing:.17em;
  color:var(--sp-panel-muted);
}
#settings-dialog .settings-workspace-header h2 {
  margin:8px 0 6px;
  font-size:27px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.025em;
}
#settings-dialog .settings-workspace-header p {
  margin:0;
  font-size:12px;
  line-height:1.9;
  color:var(--sp-panel-muted);
}
#settings-dialog .settings-workspace-header .icon-button {
  flex:none;
  width:38px;
  height:38px;
  margin:2px -7px 0 0;
  border:1px solid transparent;
  border-radius:50%;
}
#settings-dialog .settings-workspace-header .icon-button:hover {
  border-color:var(--sp-panel-line);
  background:var(--sp-panel-soft);
}
#settings-dialog .settings-workspace-body {
  display:grid;
  grid-template-columns:218px minmax(0,1fr);
  min-width:0;
  min-height:0;
  overflow:hidden;
}
#settings-dialog .settings-navigation {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  padding:25px 17px;
  border-right:1px solid var(--sp-panel-line);
  background:var(--sp-panel-soft);
  overflow:auto;
}
#settings-dialog .settings-navigation button {
  position:relative;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-height:70px;
  width:100%;
  padding:14px 16px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:var(--sp-panel-muted);
  font:inherit;
  font-size:13px;
  line-height:1.5;
  text-align:left;
}
#settings-dialog .settings-navigation button>svg { width:18px; height:18px; stroke-width:1.35; color:var(--sp-panel-muted); }
#settings-dialog .settings-navigation button>span { display:block; min-width:0; }
#settings-dialog .settings-navigation button:hover:enabled {
  background:#ffffffa3;
  color:var(--sp-panel-ink);
}
#settings-dialog .settings-navigation button[aria-selected="true"] {
  background:#ffffffed;
  border-color:var(--sp-panel-line);
  color:var(--sp-panel-ink);
  box-shadow:0 4px 16px #00000003;
}
#settings-dialog .settings-navigation button[aria-selected="true"]::before {
  content:"";
  position:absolute;
  left:-1px;
  top:22px;
  bottom:22px;
  width:2px;
  border-radius:2px;
  background:var(--accent);
}
#settings-dialog .settings-tab-title { display:block; font-size:13px; font-weight:500; letter-spacing:.015em; }
#settings-dialog .settings-tab-description { display:block; font-size:11px; font-weight:400; line-height:1.6; color:var(--sp-panel-muted); }
#settings-dialog .settings-content {
  min-width:0;
  min-height:0;
  padding:29px 34px 35px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--sp-panel-line) transparent;
  scrollbar-gutter:stable;
  background:var(--sp-panel-paper);
}
#settings-dialog .settings-panel { min-width:0; }
#settings-dialog .settings-panel[hidden] { display:none!important; }
#settings-dialog .settings-panel-heading {
  margin:0 0 25px;
  padding:0 0 22px;
  border-bottom:1px solid var(--sp-panel-line);
}
#settings-dialog .settings-panel-heading .eyebrow { font-size:9px; letter-spacing:.15em; }
#settings-dialog .settings-panel-heading h3 {
  margin:8px 0 8px;
  font-size:23px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.015em;
}
#settings-dialog .settings-panel-heading p { margin:0; font-size:12px; color:var(--sp-panel-muted); line-height:1.9; }
#settings-dialog .settings-section { min-width:0; margin:0 0 26px; }
#settings-dialog .settings-section+.settings-section { border-top:1px solid var(--sp-panel-line); padding-top:25px; }
#settings-dialog .settings-section>h4 { margin:0 0 17px; font-size:14px; line-height:1.7; font-weight:500; }
#settings-dialog .field { gap:9px; margin:0 0 22px; font-size:12px; line-height:1.7; font-weight:400; }
#settings-dialog .field>input,
#settings-dialog .field>select,
#settings-dialog .field>textarea {
  min-width:0;
  width:100%;
  padding:12px 14px;
  border-radius:11px;
  font-size:13px;
  line-height:1.8;
  background:#ffffffd9;
}
#settings-dialog .field>textarea { min-height:115px; resize:vertical; }
#settings-dialog .field-row { gap:20px; }
#settings-dialog .field-row>.field { min-width:0; }
#settings-dialog .settings-parameter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#settings-dialog .settings-parameter-grid>.field { min-width:0; margin-bottom:0; }
#settings-dialog .settings-context-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  margin-top:3px;
  border:1px solid var(--sp-panel-line);
  border-radius:13px;
  background:var(--sp-panel-soft);
}
#settings-dialog .settings-context-summary>div { min-width:0; }
#settings-dialog .settings-context-summary .eyebrow { display:block; margin-bottom:7px; font-size:9px; letter-spacing:.12em; }
#settings-dialog .settings-context-summary strong { display:block; color:var(--sp-panel-ink); font-size:13px; font-weight:500; line-height:1.8; overflow-wrap:anywhere; }
#settings-dialog .settings-context-summary .text-button { flex:none; margin:0; gap:8px; min-height:40px; padding:8px 0; font-size:11px; }
#settings-dialog .settings-context-summary .text-button svg { width:14px; height:14px; }
#settings-dialog .field input:focus-visible,
#settings-dialog .field select:focus-visible,
#settings-dialog .field textarea:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}
#settings-dialog .company-template-actions { align-items:center; gap:9px; margin:16px 0 12px; }
#settings-dialog .company-template-actions button { min-height:40px; }
#settings-dialog .company-template-actions .text-button { margin-left:0; padding:8px 3px; }
#settings-dialog .template-settings-note { margin:9px 0 16px; font-size:12px; line-height:1.85; }
#settings-dialog .template-preview {
  margin:24px 0 0;
  padding:22px;
  border-radius:15px;
  background:#ffffff9c;
}
#settings-dialog .template-preview-title { font-size:17px; font-weight:500; }
#settings-dialog .template-version { margin-top:5px; vertical-align:middle; font-weight:400; }
#settings-dialog .template-criterion { padding:15px 16px; }
#settings-dialog .template-criterion>strong { font-size:13px; line-height:1.8; font-weight:500; }
#settings-dialog .template-question-preview { margin-top:19px; }
#settings-dialog .mode-options { gap:12px; }
#settings-dialog .mode-options>label { min-width:0; padding:17px 15px; border-radius:12px; align-items:flex-start; }
#settings-dialog .mode-options input { margin-top:4px; }
#settings-dialog .mode-options strong { font-size:13px; line-height:1.7; font-weight:500; }
#settings-dialog .mode-options small { margin-top:4px; font-size:11px; line-height:1.8; }
#settings-dialog .api-info { margin:24px 0 16px; padding:17px 20px; border-radius:13px; font-size:12px; line-height:1.9; }
#settings-dialog .settings-note { margin:12px 0 20px; font-size:12px; line-height:1.95; }
#settings-dialog #settings-color-container { min-width:0; }
#settings-dialog .interface-theme-controls { border:0; padding:0; margin:0 0 29px; }
#settings-dialog .interface-theme-controls h3 { font-size:15px; font-weight:500; }
#settings-dialog .interface-theme-help { max-width:590px; margin-bottom:18px; }
#settings-dialog .interface-theme-choices { gap:10px; }
#settings-dialog .interface-theme-choice { min-height:50px; padding:11px 13px; font-size:12px; border-radius:12px; }
#settings-dialog .interface-theme-custom { margin-top:20px; }
#settings-dialog .interface-theme-actions { margin-top:20px; }
#settings-dialog .interface-theme-status { margin-top:10px; }
#settings-dialog .portrait-shortcut {
  padding:25px 0 0;
  margin:0;
  border:0;
  border-top:1px solid var(--sp-panel-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#settings-dialog .portrait-shortcut>strong { font-size:15px; line-height:1.7; font-weight:500; }
#settings-dialog .portrait-shortcut>p { margin:9px 0 18px; font-size:12px; line-height:1.9; }
#settings-dialog .appearance-shortcut-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#settings-dialog .appearance-shortcut-actions button {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 14px;
  border-radius:12px;
  font-size:12px;
  text-align:center;
  white-space:normal;
  line-height:1.7;
}
#settings-dialog .appearance-shortcut-actions button:last-child { grid-column:1/-1; }
#settings-dialog #settings-background-label { margin:15px 0 0; color:var(--sp-panel-muted); font-size:11px; }
#settings-dialog .settings-appearance-tools { padding-top:0; border-top:0; margin-bottom:28px; }
#settings-dialog .settings-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#settings-dialog .settings-tool-grid .settings-tool-card {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  min-height:90px;
  padding:18px;
  border:1px solid var(--sp-panel-line);
  border-radius:14px;
  background:#ffffffb8;
  color:var(--sp-panel-ink);
  text-align:left;
  box-shadow:0 4px 18px #00000003;
}
#settings-dialog .settings-tool-grid .settings-tool-card:hover:enabled { border-color:var(--accent); background:#fff; box-shadow:0 6px 22px #00000005; }
#settings-dialog .settings-tool-card>svg:first-child { width:22px; height:22px; stroke-width:1.3; color:var(--sp-panel-accent); }
#settings-dialog .settings-tool-card>span { display:block; min-width:0; }
#settings-dialog .settings-tool-card strong { display:block; font-size:13px; font-weight:500; line-height:1.7; }
#settings-dialog .settings-tool-card small { display:block; margin-top:4px; font-size:11px; line-height:1.8; color:var(--sp-panel-muted); }
#settings-dialog .settings-tool-card>svg:last-child { width:15px; height:15px; margin-left:auto; color:var(--sp-panel-muted); stroke-width:1.4; }
#settings-dialog .settings-tool-grid .settings-tool-preview { grid-column:1/-1; min-height:82px; background:var(--sp-panel-soft); }
#settings-dialog #settings-color-container>.interface-theme-controls { padding-top:26px; border-top:1px solid var(--sp-panel-line); }
#settings-dialog .settings-workspace-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-height:94px;
  padding:18px 29px 18px 34px;
  border-top:1px solid var(--sp-panel-line);
  background:var(--sp-panel-paper);
}
#settings-dialog .settings-save-note { min-width:0; color:var(--sp-panel-muted); font-size:11px; line-height:1.85; }
#settings-dialog .settings-save-note p { margin:0; }
#settings-dialog .settings-save-note>small { display:block; font-size:10px; line-height:1.8; margin-top:3px; color:var(--sp-panel-muted); }
#settings-dialog .settings-footer-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex:none; }
#settings-dialog .settings-footer-actions>.button { min-height:48px; margin:0; padding:13px 20px; font-size:12px; }
#settings-dialog .settings-footer-actions>.secondary { min-width:85px; }
#settings-dialog #settings-workspace-status { margin:4px 0 0; font-size:12px; line-height:1.8; color:var(--sp-panel-error); overflow-wrap:anywhere; }
#settings-dialog #settings-workspace-status:empty { display:none; }
#settings-dialog #save-settings { flex:none; width:auto; min-width:178px; min-height:48px; margin:0; padding:13px 22px; border-radius:100px; font-size:12px; }

@media(max-width:900px) {
  #settings-dialog { width:calc(100vw - 32px); height:calc(100dvh - 40px); max-height:calc(100dvh - 40px); }
  #settings-dialog .settings-workspace-header { padding:24px 27px 21px; }
  #settings-dialog .settings-workspace-body { grid-template-columns:184px minmax(0,1fr); }
  #settings-dialog .settings-navigation { padding:22px 12px; }
  #settings-dialog .settings-navigation button { padding:13px 12px; }
  #settings-dialog .settings-content { padding:26px 26px 31px; }
  #settings-dialog .settings-workspace-footer { padding:17px 25px; gap:18px; }
  #settings-dialog #save-settings { min-width:154px; padding-left:18px; padding-right:18px; }
  #settings-dialog .interface-theme-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #settings-dialog .interface-theme-choice { min-height:50px; font-size:11px; padding:10px; }
  #settings-dialog .settings-tab-title { font-size:12px; }
  #settings-dialog .settings-tab-description { font-size:10px; }
  #settings-dialog .settings-parameter-grid { grid-template-columns:1fr; gap:18px; }
  #settings-dialog .settings-context-summary { align-items:flex-start; flex-direction:column; gap:9px; }
  #settings-dialog .settings-tool-grid { grid-template-columns:1fr; }
  #settings-dialog .settings-tool-grid .settings-tool-preview { grid-column:auto; }
  #settings-dialog .settings-tool-grid .settings-tool-card { min-height:78px; padding:16px; }
}
@media(max-width:700px) {
  #settings-dialog { width:calc(100vw - 22px); height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); border-radius:19px; }
  #settings-dialog .settings-workspace-header { padding:20px 22px 17px; gap:15px; }
  #settings-dialog .settings-workspace-header h2 { font-size:24px; margin-top:6px; }
  #settings-dialog .settings-workspace-header p { font-size:11px; line-height:1.8; }
  #settings-dialog .settings-workspace-header .eyebrow { font-size:9px; }
  #settings-dialog .settings-workspace-header .icon-button { width:36px; height:36px; min-width:36px; margin-right:-5px; }
  #settings-dialog .settings-workspace-body { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  #settings-dialog .settings-navigation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; padding:12px 17px; border-right:0; border-bottom:1px solid var(--sp-panel-line); overflow:visible; }
  #settings-dialog .settings-navigation button { min-height:46px; padding:10px 6px; align-items:center; justify-content:center; gap:6px; font-size:11px; text-align:center; border-radius:10px; }
  #settings-dialog .settings-navigation button>svg { width:15px; height:15px; }
  #settings-dialog .settings-navigation button[aria-selected="true"]::before { display:none; }
  #settings-dialog .settings-tab-title { font-size:11px; }
  #settings-dialog .settings-tab-description { display:none; }
  #settings-dialog .settings-content { padding:25px 23px 30px; scrollbar-gutter:auto; }
  #settings-dialog .settings-panel-heading { margin-bottom:23px; padding-bottom:20px; }
  #settings-dialog .settings-panel-heading h3 { font-size:22px; }
  #settings-dialog .settings-panel-heading p { font-size:12px; }
  #settings-dialog .field-row { grid-template-columns:1fr; gap:0; }
  #settings-dialog .field>input,#settings-dialog .field>select,#settings-dialog .field>textarea { font-size:16px; padding:11px 12px; }
  #settings-dialog .mode-options { grid-template-columns:1fr; }
  #settings-dialog .template-preview { padding:18px; margin-top:20px; }
  #settings-dialog .settings-workspace-footer { min-height:0; padding:16px 21px; gap:16px; }
  #settings-dialog #save-settings { min-width:145px; min-height:46px; padding:11px 16px; font-size:11px; }
  #settings-dialog .settings-save-note { font-size:10px; line-height:1.8; }
  #settings-dialog .settings-save-note>small { font-size:10px; }
  #settings-dialog .settings-footer-actions { gap:8px; }
  #settings-dialog .settings-footer-actions>.button { padding-left:15px; padding-right:15px; font-size:11px; }
  #settings-dialog .settings-footer-actions>.secondary { min-width:70px; }
  #settings-dialog .interface-theme-color-input { min-height:44px!important; height:44px; }
}
@media(max-width:430px) {
  #settings-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); border-radius:17px; }
  #settings-dialog .settings-workspace-header { padding:17px 19px 15px; }
  #settings-dialog .settings-workspace-header h2 { font-size:22px; }
  #settings-dialog .settings-workspace-header p { max-width:225px; font-size:11px; }
  #settings-dialog .settings-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 15px; gap:5px 7px; }
  #settings-dialog .settings-navigation button { min-height:41px; padding:9px 10px; flex-direction:row; gap:6px; }
  #settings-dialog .settings-content { padding:22px 19px 27px; }
  #settings-dialog .settings-panel-heading { padding-bottom:18px; margin-bottom:21px; }
  #settings-dialog .settings-panel-heading h3 { font-size:20px; }
  #settings-dialog .settings-panel-heading .eyebrow { font-size:9px; }
  #settings-dialog .settings-section { margin-bottom:21px; }
  #settings-dialog .company-template-actions { gap:8px; }
  #settings-dialog .company-template-actions button { min-height:44px; font-size:11px; }
  #settings-dialog .template-preview { padding:15px; }
  #settings-dialog .template-preview-title { display:block; font-size:16px; line-height:1.6; }
  #settings-dialog .template-version { margin-left:0; margin-top:8px; }
  #settings-dialog .template-criterion { padding:13px; }
  #settings-dialog .template-criterion>strong { font-size:12px; }
  #settings-dialog .api-info { padding:15px; }
  #settings-dialog .settings-workspace-footer { flex-direction:column; align-items:stretch; gap:10px; padding:12px 18px 15px; }
  #settings-dialog .settings-save-note { font-size:10px; line-height:1.7; }
  #settings-dialog #save-settings { width:100%; min-width:0; min-height:46px; font-size:12px; }
  #settings-dialog .settings-footer-actions { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:9px; width:100%; }
  #settings-dialog .settings-footer-actions>.button { width:100%; min-width:0; padding-left:12px; padding-right:12px; font-size:12px; }
  #settings-dialog .settings-footer-actions>#save-settings { padding-left:12px; padding-right:12px; gap:9px; }
  #settings-dialog .interface-theme-choice { min-height:49px; font-size:11px; }
  #settings-dialog .interface-theme-custom-label { width:100%; }
  #settings-dialog .interface-theme-actions { justify-content:flex-start; gap:8px; }
  #settings-dialog .interface-theme-actions .small-button { padding-left:12px; padding-right:12px; min-height:44px; font-size:11px; }
  #settings-dialog .appearance-shortcut-actions { grid-template-columns:1fr; }
  #settings-dialog .appearance-shortcut-actions button:last-child { grid-column:auto; }
  #settings-dialog .settings-context-summary { padding:16px; }
  #settings-dialog .settings-context-summary .text-button { min-height:44px; }
  #settings-dialog .settings-tool-grid .settings-tool-card { padding:15px; gap:11px; }
}
@media(max-height:650px) and (min-width:701px) {
  #settings-dialog { height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); }
  #settings-dialog .settings-workspace-header { padding-top:17px; padding-bottom:15px; }
  #settings-dialog .settings-workspace-header h2 { font-size:23px; margin-top:4px; }
  #settings-dialog .settings-workspace-header p { font-size:11px; }
  #settings-dialog .settings-navigation { padding-top:17px; padding-bottom:17px; }
  #settings-dialog .settings-navigation button { min-height:63px; }
  #settings-dialog .settings-content { padding-top:22px; }
  #settings-dialog .settings-workspace-footer { min-height:78px; padding-top:13px; padding-bottom:13px; }
}
@media(pointer:coarse) {
  #settings-dialog .settings-navigation button,#settings-dialog .settings-workspace-header .icon-button { min-height:44px; }
  #settings-dialog .settings-workspace-header .icon-button { min-width:44px; }
}
@media(prefers-reduced-motion:reduce) {
  #settings-dialog * { transition:none!important; scroll-behavior:auto!important; }
}
