/* settings module (worker Settings tab): layout only; the controls are the shared .switch .chips .changebar .diff from
   00_base.css. Engine colours: --stg-mip / --stg-cg (also --eng-mip / --eng-cg in 40_routing.css). */
:root { --stg-mip: #1F5FAF; --stg-cg: #2E8763; --stg-chg: #D99A00; }
.stg { --stg-pad: 24px; }
.stg .xf-head { margin-bottom: 6px; }
.stg-row { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 8px 32px; align-items: start;
  padding: 18px 0; border-top: 1px solid var(--hair2); position: relative; }
.stg-row::before { content: ''; position: absolute; left: calc(-1 * var(--stg-pad)); top: 14px; bottom: 14px; width: 4px; border-radius: 0 3px 3px 0; background: transparent; transition: background-color .15s; }
.stg-row.chg::before { background: var(--stg-chg); }
.stg-l h3 { font-size: 15px; font-weight: 600; margin: 0; line-height: 1.35; }
.stg-l p { margin: 2px 0 0; font-size: 13.5px; color: var(--ink2); line-height: 1.4; }
.stg-c { min-width: 0; padding-top: 1px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.stg-c > .chips, .stg-c > .stg-kv { flex: 1 1 100%; }
.stg-line { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; }
.stg-tag { font-size: 12px; color: var(--muted); font-weight: 500; }
.stg-note { margin: 0; font-size: 12.5px; color: var(--muted); flex: 1 1 100%; }
.stg-note a { text-decoration: underline; text-underline-offset: 2px; }
.stg-warn { margin: 0; flex: 1 1 100%; font-size: 12.5px; font-weight: 600; color: var(--ns-t); display: flex; align-items: center; gap: 7px; }
.stg-warn::before { content: '!'; width: 16px; height: 16px; border-radius: 50%; background: var(--ns-t); color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.stg-lk { flex: none; vertical-align: -2px; }
.stg .xf-tools .lock { font-size: 12.5px; }
/* values the worker or its job decides (shown, not set here) */
.stg-val { font-size: 14px; font-weight: 600; color: var(--ink); }
.stg-kv { max-width: 520px; min-width: 0; }   /* a flex item grid: without min-width 0 it keeps its min-content width (480 px at phone width) */
.stg-sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; vertical-align: 0; }
.stg-sw.e-mip { background: var(--stg-mip); } .stg-sw.e-cg { background: var(--stg-cg); }
/* serves: "All clients" set apart from the client chips */
.stg-serves > button:first-child { margin-right: 12px; position: relative; }
.stg-serves > button:first-child::after { content: ''; position: absolute; right: -10px; top: 6px; bottom: 6px; width: 1px; background: var(--hair); }
.stg-diff { margin-top: 10px; } .stg-diff td:first-child { white-space: nowrap; }
@media (max-width: 760px) {
  .stg-row { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 16px 0; }
  .card.xf.stg { padding: 18px 16px 6px; --stg-pad: 16px; }
  .changebar .btn { flex: 1 1 auto; }
}
