/* Hypergrid 5.1 / 1.37 — shared primitives, derived from the existing Theme Engine.
   Scoped classes only. Never assume that a light/dark palette is the active theme. */
.kv-settings-section{background:var(--kv-bg-surface-1);border:1px solid var(--kv-border-subtle);border-radius:var(--kv-radius-card);padding:var(--kv-space-4);min-width:0}
.kv-settings-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,min(45%,360px));align-items:center;column-gap:var(--kv-space-5);row-gap:var(--kv-space-2);padding:var(--kv-space-3) var(--kv-space-2);border-bottom:1px solid var(--kv-border-subtle);color:var(--kv-text-primary);font-size:14px}
.kv-settings-row:last-child{border-bottom:0}
.kv-settings-row__help{color:var(--kv-text-secondary);font-size:12px;line-height:1.45}
.kv-settings-row__control{justify-self:stretch;min-width:0}
.kv-settings-row input:not([type=checkbox]),.kv-settings-row select,.kv-settings-row textarea{width:100%;max-width:100%;min-width:0;background:var(--kv-bg-surface-2);color:var(--kv-text-primary);border:1px solid var(--kv-border-interactive);border-radius:var(--kv-radius-control);min-height:36px;padding:8px 11px}
.kv-settings-save{display:flex;justify-content:flex-end;align-items:center;gap:var(--kv-space-3);padding:var(--kv-space-3);background:var(--kv-bg-floating);border:1px solid var(--kv-border-subtle);border-radius:var(--kv-radius-card)}
.kv-settings-status{font-size:12px;color:var(--kv-text-secondary)}
.kv-settings-status[data-state=dirty]{color:var(--kv-warning)}.kv-settings-status[data-state=saving]{color:var(--kv-info)}.kv-settings-status[data-state=error]{color:var(--kv-danger)}.kv-settings-status[data-state=saved]{color:var(--kv-success)}
.kv-empty-state{display:grid;place-content:center;gap:8px;padding:clamp(16px,5vh,64px) var(--kv-space-4);text-align:center;color:var(--kv-text-secondary)}
.kv-empty-state b{color:var(--kv-text-primary)}
:where(.kv-settings-row,.kv-settings-section,.kv-settings-save) :where(button,input,select,textarea,a):focus-visible{outline:2px solid var(--kv-focus-ring);outline-offset:2px}
@media(max-width:720px){.kv-settings-row{grid-template-columns:minmax(0,1fr)}.kv-settings-row__control{width:100%}}
@media(prefers-reduced-motion:reduce){.kv-settings-row,.kv-settings-section,.kv-settings-save{animation:none;transition:none}}
