/* ⚙ Настройки на всё окно (settings.js переключает разделы). Как в Discord: слева разделы, справа карточки до 740 px, ✕ «ESC» справа сверху.
   Телефон (≤ 760 px): сверху заголовок и вкладки разделов в одну строку, ниже — карточки. Окно постоянного размера, полоса прокрутки
   всегда занимает место (scrollbar-gutter), меняющиеся подписи держат свою высоту — при переключениях ничего не прыгает. */

#setDlg.st-dlg {
  --st-side:color-mix(in srgb, var(--card) 45%, var(--bg));
  --st-main:var(--bg);
  --st-card:color-mix(in srgb, var(--card) 82%, var(--bg));
  --st-field:color-mix(in srgb, var(--bg) 55%, var(--card));
  --st-bd:color-mix(in srgb, var(--line) 75%, transparent);
  --st-bd2:var(--line);
  --st-hair:color-mix(in srgb, var(--line) 60%, transparent);
  --st-on:color-mix(in srgb, var(--text) 11%, transparent);
  --st-acc:#F0609A;
  --st-ring:color-mix(in srgb, #C04BE8 55%, transparent);
  --st-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AAAAAA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --st-knob-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23fff'/%3E%3Cpath d='m6.2 6.2 5.6 5.6m0-5.6-5.6 5.6' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  --st-knob-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23fff'/%3E%3Cpath d='m5.6 9.3 2.3 2.3 4.6-4.9' fill='none' stroke='%2334C77B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0;
  border:0; border-radius:0; box-shadow:none; overflow:hidden; background:var(--st-main); color:var(--text);
}
@media (prefers-color-scheme: light) {
  #setDlg.st-dlg { --st-acc:#D6336C; --st-field:var(--bg);
    --st-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23606060' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
}
#setDlg.st-dlg[open] { display:flex; animation:st-in .16s ease-out; }
@keyframes st-in { from { opacity:0; transform:scale(1.015); } }
/* 🪟 приложение: под полосой заголовка 40 px (desktop.css сжимает окна по высоте — этому окну нужна вся) */
html.dk-tb #setDlg.st-dlg:modal { top:var(--dk-tbh, 40px); bottom:auto; height:calc(100dvh - var(--dk-tbh, 40px)); max-height:none !important; }

/* ---------- слева: разделы ---------- */
.st-side { flex:1 0 248px; display:flex; justify-content:flex-end; min-height:0; overflow-y:auto; background:var(--st-side); border-right:1px solid var(--st-bd); }
.st-side-in { width:248px; padding:56px 12px 24px 20px; box-sizing:border-box; }
#setDlg .st-title { margin:0 0 14px; padding:0 12px; font-size:12px !important; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--text2); }
.st-nav { display:flex; flex-direction:column; gap:2px; }
.st-tab { position:relative; display:flex; align-items:center; gap:12px; width:100%; height:42px; padding:0 12px; border:0; border-radius:10px; background:none;
  color:var(--text2); font:500 15px/1 var(--body); text-align:left; cursor:pointer; transition:background-color .12s, color .12s; }
.st-tab[hidden] { display:none; }
.st-tab .i { width:20px; height:20px; transition:color .12s; }
.st-tab:hover { background:var(--soft); color:var(--text); }
.st-tab[aria-selected="true"] { background:var(--st-on); color:var(--text); }
.st-tab[aria-selected="true"] .i { color:var(--st-acc); }
.st-tab[aria-selected="true"]::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:var(--grad); }
.st-tab:focus-visible { outline:2px solid var(--st-ring); outline-offset:1px; }
.st-tl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.st-ts { display:none; }

/* ---------- справа: карточки ---------- */
.st-main { flex:1 1 820px; min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; background:var(--st-main);
  scrollbar-width:thin; scrollbar-color:color-mix(in srgb, var(--text) 22%, transparent) transparent; }
.st-col { display:flex; align-items:flex-start; padding:56px 0 64px 40px; }
#setDlg .st-body { flex:1 1 auto; min-width:0; max-width:740px; display:flex; flex-direction:column; gap:0; }
.st-pane { display:flex; flex-direction:column; gap:16px; }
.st-pane[hidden] { display:none; }
#setDlg .st-ph { margin:0 0 4px; font-size:21px; font-weight:700; line-height:28px; letter-spacing:-.01em; color:var(--text); }
/* ✕ и «ESC» — справа от карточек, всегда на месте при прокрутке */
.st-tools { position:sticky; top:56px; flex:none; width:72px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.st-x { display:grid; place-items:center; width:36px; height:36px; padding:0; border:2px solid color-mix(in srgb, var(--text) 38%, transparent); border-radius:50%;
  background:none; color:var(--text2); cursor:pointer; transition:background-color .12s, color .12s, border-color .12s; }
.st-x .i { width:18px; height:18px; stroke-width:2.2; }
.st-x:hover { background:var(--soft); color:var(--text); border-color:var(--text); }
.st-x:focus-visible { outline:2px solid var(--st-ring); outline-offset:2px; }
.st-esc { font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--text2); user-select:none; }
#setDlg .st-ver { margin:28px 0 0; padding:0; border:0; text-align:left; font-size:12px; color:var(--text2); opacity:.75; }

/* карточка-группа */
#setDlg .tk-grp { display:flex; flex-direction:column; gap:0; padding:4px 20px; border:1px solid var(--st-bd); border-radius:16px; background:var(--st-card); }
#setDlg .tk-grp[hidden] { display:none; }
#setDlg .tk-grp + .tk-grp { border-top:1px solid var(--st-bd); padding-top:4px; }
#setDlg .tk-gh { margin:0; padding:14px 0 4px; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--text2); }
/* раздел из одной карточки: её заголовок = заголовок раздела (для чтения с экрана остаётся) */
.st-solo > .tk-grp > .tk-gh { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* строки карточки: одинаковые отступы, тонкая черта между видимыми */
#setDlg :is(.tk-grp, .tk-procbody) > :is(.tk-row, .tk-swr, .chk, .tk-bg, .st-devs, .st-key, .cu-prev) { margin:0; padding:16px 0; }
#setDlg :is(.tk-grp, .tk-procbody) > :is(.tk-row, .tk-swr, .chk, .tk-bg, .st-devs, .st-key):not([hidden]) ~ :is(.tk-row, .tk-swr, .chk, .tk-bg, .st-devs, .st-key):not([hidden]) { border-top:1px solid var(--st-hair); }
#setDlg .tk-procbody { gap:0; }
#setDlg .tk-procrow { margin:0; padding:16px 0; border-radius:0; background:none; }
#setDlg .tk-row { gap:8px; }
#setDlg .tk-row > label, #setDlg .tk-row > .tk-lbl { font-size:13px; font-weight:500; color:var(--text); line-height:18px; }
#setDlg .tk-swr { gap:20px; }
#setDlg .tk-swr-t { gap:3px; }
#setDlg .tk-swr-t b, #setDlg .tk-swr-t label { font-size:14.5px; font-weight:500; line-height:20px; color:var(--text); }
#setDlg .tk-swr-t small, #setDlg .tk-small { font-size:12.5px; line-height:18px; color:var(--text2); }
#setDlg .tk-warn-t { color:var(--warn); }
/* «Сейчас: +3 дБ» у автогромкости — место всегда занято (талк.css .tk-live — плашка стрима, тут не она) */
#setDlg .tk-swr-t small.tk-live { display:block; min-height:18px; margin:0; padding:0; border:0; border-radius:0; background:none; color:var(--ok); font-weight:500; }
#setDlg .tk-swr-t small.tk-live[hidden] { visibility:hidden; }
/* подписи, которые меняются по ходу, держат высоту */
#setDlg #procD { min-height:36px; }
#setDlg #outNote, #setDlg #nzNote { min-height:18px; }
#setDlg #camResN { min-height:18px; }
#setDlg .tk-vu-foot { min-height:18px; }
/* «Вас слышно» / «Тишина» / пусто — место под них всегда одно, подпись слева не переносится заново */
#setDlg .tk-vu-st { min-width:112px; justify-content:flex-end; }
#setDlg .tk-vu-st:empty { display:inline-flex; visibility:hidden; }

/* устройства: микрофон и выход — рядом */
.st-devs { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.st-devs > .tk-row { padding:0 !important; border:0 !important; }
.st-devs > .tk-row[hidden] { display:none; }
.st-devs:has(> #sinkRow[hidden]) { grid-template-columns:minmax(0, 1fr); }

/* поля ввода и выпадающие списки — в одном стиле */
#setDlg :is(input:not([type]), input[type="text"], select) { width:100%; height:44px; min-height:44px; box-sizing:border-box; padding:0 14px; border:1px solid var(--st-bd2); border-radius:10px;
  background-color:var(--st-field); color:var(--text); font:400 14.5px/1.2 var(--body); transition:border-color .12s, box-shadow .12s, background-color .12s; }
#setDlg select { -webkit-appearance:none; appearance:none; padding-right:40px; cursor:pointer; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
  background-image:var(--st-chev); background-repeat:no-repeat; background-position:right 12px center; background-size:18px 18px; }
#setDlg :is(input:not([type]), input[type="text"], select):hover { border-color:color-mix(in srgb, var(--text) 32%, var(--st-bd2)); }
#setDlg :is(input:not([type]), input[type="text"], select):focus { outline:none; border-color:#C04BE8; box-shadow:0 0 0 3px color-mix(in srgb, #C04BE8 26%, transparent); }
#setDlg option { background:var(--card); color:var(--text); }

/* переключатели в ряд (наушники/колонки, шумодав, разрешение камеры, ссылки) */
#setDlg .seg { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0, 1fr); width:100%; box-sizing:border-box; padding:3px; gap:3px; border:1px solid var(--st-bd2); border-radius:12px; background:var(--st-field); }
#setDlg .seg label > span { display:flex; align-items:center; justify-content:center; gap:8px; height:100%; min-height:36px; box-sizing:border-box; padding:6px 10px; border-radius:9px;
  font-size:13.5px; color:var(--text2); white-space:nowrap; text-align:center; transition:background-color .12s, color .12s, box-shadow .12s; }
#setDlg .seg label:hover > span { color:var(--text); background:var(--soft); }
#setDlg .seg input:checked + span { background:color-mix(in srgb, var(--text) 13%, var(--st-field)); color:var(--text); font-weight:500; box-shadow:0 1px 2px rgba(0,0,0,.25); }
#setDlg .seg input:focus-visible + span { outline:2px solid var(--st-ring); outline-offset:0; }
#setDlg .tk-out .i { width:17px; height:17px; }
#setDlg .tk-nz label > span { flex-direction:column; gap:2px; padding:7px 6px; white-space:normal; line-height:1.2; }
#setDlg .tk-nz b { font-size:13.5px; font-weight:500; }
#setDlg .tk-nz small { font-size:11.5px; color:var(--text2); }
#setDlg .seg.cu-res span, #setDlg .seg.al-seg span { font-variant-numeric:tabular-nums; }

/* режим ввода — две карточки */
#setDlg .tk-modes { gap:10px; }
#setDlg .tk-mode { padding:12px 14px; border:1px solid var(--st-bd2); border-radius:12px; background:var(--st-field); gap:12px; }
#setDlg .tk-mode:hover { border-color:color-mix(in srgb, var(--text) 30%, var(--st-bd2)); }
#setDlg .tk-mode:has(input:checked) { border-color:color-mix(in srgb, var(--ok) 70%, var(--st-bd2)); background:color-mix(in srgb, var(--ok) 9%, var(--st-field)); }
#setDlg .tk-mode input:checked + .tk-mode-r { box-shadow:inset 0 0 0 3px var(--st-field); }
#setDlg .tk-mode-t b { font-size:14px; line-height:19px; }
#setDlg .tk-mode-t small { font-size:12.5px; line-height:17px; }

/* шкала уровня — потолще, на подложке поля */
#setDlg .tk-sens { gap:10px; }
#setDlg .tk-sens > .tk-swr { padding:0; border:0; }
#setDlg .tk-vu { height:28px; }
#setDlg .tk-vu-bar { height:12px; border-radius:6px; }
#setDlg .tk-vu-fill { clip-path:inset(0 calc((1 - var(--lv)) * 100%) 0 0 round 6px); }
#setDlg .tk-vu-range { height:28px; }
#setDlg .tk-vu-range::-webkit-slider-runnable-track { height:28px; }
#setDlg .tk-vu-range::-webkit-slider-thumb { height:24px; margin-top:2px; }
#setDlg .tk-vu-mark { box-shadow:0 0 0 2px var(--st-card); }

/* кнопки внутри карточек */
#setDlg .btn.tk-test, #setDlg .btn.cu-test { min-height:38px; padding:0 16px; border-radius:10px; border:1px solid var(--st-bd2); background:var(--st-field); font-size:13.5px; }
#setDlg .btn.tk-test { min-width:148px; }
#setDlg .btn.cu-test { min-width:204px; }   /* «Проверить камеру» ↔ «Остановить проверку» — ширина та же */
#setDlg .btn.tk-test:hover, #setDlg .btn.cu-test:hover { background:color-mix(in srgb, var(--text) 8%, var(--st-field)); }
#setDlg .btn.tk-test.on { border-color:color-mix(in srgb, var(--ok) 60%, var(--st-bd2)); color:var(--ok); }
#setDlg .btn.cu-test.on { background:rgba(0,0,0,.6); color:#fff; border-color:transparent; }
#setDlg :is(.btn, .tk-keybtn, .tk-tg, .cu-tg, .tk-bg):focus-visible { outline:2px solid var(--st-ring); outline-offset:2px; }
#setDlg .tk-keybtn { min-height:40px; border-radius:10px; border-color:var(--st-bd2); background:var(--st-field); }
#setDlg .tk-keybtn kbd { background:var(--st-card); }

/* «Звуки» — тумблер вместо галочки (тот же <input type="checkbox">) */
#setDlg .st-chk { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; }
.st-chk > span { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
#setDlg .st-chk b { font-size:14.5px; font-weight:500; line-height:20px; color:var(--text); }
.st-chk small { font-size:12.5px; line-height:18px; color:var(--text2); }
/* ✓ / ✕ в ручке — как у .tk-tg (у камеры свой .cu-tg — те же значки) */
#setDlg .cu-tg { transition:background-color .18s; }
#setDlg .cu-tg-k { transition:transform .2s cubic-bezier(.3, .7, .4, 1); }
#setDlg .cu-tg-k::before, #setDlg .cu-tg-k::after { content:""; position:absolute; left:50%; top:50%; width:8px; height:2px; margin:-1px 0 0 -4px; border-radius:1px;
  background:#8a8a8a; transition:transform .2s, width .2s, background-color .2s; }
#setDlg .cu-tg-k::before { transform:rotate(45deg); }
#setDlg .cu-tg-k::after { transform:rotate(-45deg); }
#setDlg .cu-tg[aria-checked="true"] .cu-tg-k::before { width:5px; background:var(--ok); transform:translate(-2px, 1.5px) rotate(45deg); }
#setDlg .cu-tg[aria-checked="true"] .cu-tg-k::after { width:9px; background:var(--ok); transform:translate(1.6px, -.2px) rotate(-45deg); }
#setDlg input.st-sw { -webkit-appearance:none; appearance:none; flex:none; width:42px; height:24px; min-height:0; margin:0; padding:0; border:0; border-radius:12px; cursor:pointer;
  background:var(--st-knob-off) 3px 50% / 18px 18px no-repeat, color-mix(in srgb, var(--text) 26%, transparent); transition:background-color .15s, background-position .2s; }
#setDlg input.st-sw:hover { background-color:color-mix(in srgb, var(--text) 34%, transparent); }
#setDlg input.st-sw:checked { background:var(--st-knob-on) 21px 50% / 18px 18px no-repeat, var(--ok); }
#setDlg input.st-sw:focus-visible { outline:2px solid var(--st-ring); outline-offset:3px; }

/* «Можно ли свернуть…» */
#setDlg .tk-bg { width:auto; min-height:0; margin:0 -10px; padding:14px 10px; border-radius:10px; font-size:14px; color:var(--text2); }
#setDlg .tk-bg:hover, #setDlg .tk-bg[aria-expanded="true"] { background:var(--soft); color:var(--text); }
#setDlg .tk-bg-t { margin:0 0 16px; padding:12px 14px; border-radius:10px; background:var(--st-field); }
#setDlg .tk-procoff { margin:12px 0 4px; padding:10px 12px; border-radius:10px; }
#setDlg .tk-lat { margin:0 0 16px; padding:10px 12px; border-radius:10px; background:var(--st-field); }
#setDlg .al-set .tk-small { margin:0; }

/* горячие клавиши: действие — сочетание */
.st-key { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14.5px; color:var(--text); }
.st-key[hidden] { display:none; }
#setDlg .st-keys > .tk-small { padding:16px 0 0; }
.st-kc { flex:none; display:inline-flex; align-items:center; gap:5px; }
.st-kc kbd { display:inline-grid; place-items:center; min-width:30px; height:28px; box-sizing:border-box; padding:0 8px; border:1px solid var(--st-bd2); border-radius:7px;
  background:var(--st-field); box-shadow:0 2px 0 var(--st-bd2); color:var(--text); font:600 12.5px/1 var(--body); }
#setDlg #deskKeys > .tk-small { padding:16px 0 0; }
#setDlg .dk-krow { gap:12px; }
#setDlg .dk-krow .tk-keybtn { min-width:212px; justify-content:space-between; }   /* у всех строк одна ширина — ✕ и тумблер в один столбец */

/* 📷 превью камеры */
#setDlg .cu-set > .cu-prev { margin:16px 0 0; padding:0; border-color:var(--st-bd2); background:var(--st-field); }
#setDlg .cu-set > .cu-prev.on { background:#000; }
#setDlg .cu-set > .cu-prev + .tk-row { border-top:0; }

/* ---------- узкое окно: разделы — вкладки сверху ---------- */
@media (max-width: 1100px) and (min-width: 761px) {
  .st-side { flex-basis:220px; }
  .st-side-in { width:220px; padding-left:12px; }
  .st-col { padding-left:28px; }
  .st-tools { width:60px; }
  #setDlg #camResN { min-height:36px; }
}
@media (max-width: 760px) {
  #setDlg.st-dlg[open] { flex-direction:column; }
  .st-side { flex:none; display:block; overflow:visible; border-right:0; border-bottom:1px solid var(--st-bd); }
  .st-side-in { width:auto; padding:0 16px 10px; }
  #setDlg .st-title { height:56px; margin:0; padding:0 48px 0 2px; display:flex; align-items:center; font-size:18px !important; letter-spacing:0; text-transform:none; color:var(--text); }
  .st-nav { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0, 1fr); gap:4px; }
  .st-tab { flex-direction:column; justify-content:center; gap:4px; height:54px; padding:0 2px; font-size:11.5px; font-weight:500; text-align:center; }
  .st-tab .i { width:21px; height:21px; }
  .st-tab[aria-selected="true"]::before { left:50%; top:auto; bottom:0; width:24px; height:3px; margin-left:-12px; border-radius:3px 3px 0 0; }
  .st-tl { display:none; }
  .st-ts { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .st-main { flex:1 1 auto; }
  .st-col { display:block; padding:16px 16px 40px; }
  #setDlg .st-body { max-width:none; }
  #setDlg .st-ph { display:none; }
  .st-pane { gap:12px; }
  .st-tools { position:absolute; top:10px; right:10px; width:auto; }
  .st-esc { display:none; }
  .st-x { width:36px; height:36px; border-width:0; background:var(--soft); }
  #setDlg .tk-grp { padding:2px 16px; border-radius:14px; }
  #setDlg :is(.tk-grp, .tk-procbody) > :is(.tk-row, .tk-swr, .chk, .tk-bg, .st-devs, .st-key, .cu-prev) { padding:14px 0; }
  #setDlg .tk-gh { padding-top:12px; }
  .st-devs { grid-template-columns:minmax(0, 1fr); gap:14px; }
  #setDlg .tk-modes { grid-template-columns:minmax(0, 1fr); }
  #setDlg .tk-swr { gap:14px; }
  #setDlg .tk-testrow, #setDlg .tk-keyrow { flex-wrap:wrap; row-gap:10px; }
  #setDlg .tk-testrow .tk-swr-t, #setDlg .tk-keyrow .tk-swr-t { flex-basis:100%; }
  #setDlg .btn.tk-test { width:100%; min-height:42px; }
  #setDlg .tk-vu-foot { flex-wrap:nowrap; align-items:flex-start; }
  #setDlg #vuNote { flex:1; min-height:36px; }
  #setDlg #procD { min-height:54px; }
  #setDlg #outNote, #setDlg #nzNote { min-height:36px; }
  #setDlg #camResN { min-height:36px; }
  #setDlg .tk-bg { margin:0 -8px; padding:12px 8px; }
  #setDlg .st-ver { margin-top:20px; text-align:center; }
}
@media (max-width: 400px) { #setDlg #procD { min-height:72px; } }
/* телефон без клавиатуры: горячие клавиши не нужны */
@media (hover: none) and (pointer: coarse) { #stt-keys { display:none; } }
@media (prefers-reduced-motion: reduce) {
  #setDlg.st-dlg[open] { animation:none; }
  .st-tab, .st-x, #setDlg input.st-sw { transition:none; }
}

/* 🌍 «Прочее» → «Сервер» (приложение): радио-строки постоянной высоты, место под пинг зарезервировано — ничего не прыгает */
#setDlg .st-srv-grp { margin-top:14px; }
#setDlg .st-srv-h { display:flex; align-items:center; justify-content:space-between; gap:8px; }
#setDlg .st-srv-re { width:32px; height:32px; flex:none; border:1px solid var(--st-bd2); border-radius:9px; background:var(--st-field); color:var(--text2); font-size:16px; line-height:1; cursor:pointer; }
#setDlg .st-srv-re:hover:not(:disabled) { color:var(--text); background:var(--soft); }
#setDlg .st-srv-re:disabled { opacity:.5; cursor:default; }
#setDlg .st-srv-re:focus-visible { outline:2px solid var(--st-ring); outline-offset:1px; }
#setDlg .st-srv { display:flex; flex-direction:column; gap:6px; padding:8px 0; }
#setDlg .st-srv-row { display:flex; align-items:center; gap:12px; height:56px; box-sizing:border-box; padding:0 12px; border:1px solid var(--st-bd2); border-radius:12px; background:var(--st-field); cursor:pointer; }
#setDlg .st-srv-row:hover { background:var(--soft); }
#setDlg .st-srv-row:has(input:checked) { border-color:var(--text2); background:color-mix(in srgb, var(--text) 8%, var(--st-field)); }
#setDlg .st-srv-row:has(input:focus-visible) { outline:2px solid var(--st-ring); outline-offset:0; }
#setDlg .st-srv-row input { flex:none; margin:0; width:16px; height:16px; accent-color:var(--text); }
#setDlg .st-srv-t { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
#setDlg .st-srv-t b { font-size:13px; font-weight:500; color:var(--text); line-height:18px; min-height:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#setDlg .st-srv-t small { font-size:12px; color:var(--text2); line-height:16px; min-height:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#setDlg .st-srv-ms { flex:none; min-width:84px; text-align:right; font-size:12px; color:var(--text2); font-variant-numeric:tabular-nums; }
#setDlg .st-srv-ms.bad { opacity:.8; }
#setDlg .st-srv-err { min-height:18px; }
#setDlg .st-srv-err[hidden] { display:block; visibility:hidden; }
#setDlg .st-srv-q { margin:0; }
@media (max-width:520px) { #setDlg .st-srv-ms { min-width:72px; } }
