#settings-dialog.settings-modal { width: min(1080px, calc(100vw - 40px)); max-width: 1080px; padding: 0; max-height: 90vh; overflow: hidden; }
#settings-dialog[open] { display: flex; flex-direction: column; }
.settings-header, .settings-footer { flex-shrink: 0; }
.settings-header { padding: 24px 28px 16px; margin: 0; border-bottom: 1px solid #dce5d8; }
.settings-header h2 { margin: 5px 0; }
.settings-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); height: min(680px, 68vh); min-height: 0; flex-shrink: 1; }
.settings-nav { padding: 20px 14px; background: #f2f5eb; display: flex; flex-direction: column; gap: 7px; border-right: 1px solid #dce5d8; }
.settings-nav button { padding: 12px 14px; text-align: left; border: 0; border-radius: 10px; background: transparent; color: #405b49; font: inherit; cursor: pointer; }
.settings-nav button[aria-current="page"] { background: #dfe9d9; color: #173e35; font-weight: 700; }
.settings-content { padding: 24px 28px; overflow: auto; min-width: 0; min-height: 0; overscroll-behavior: contain; }
.settings-content h3 { margin: 0 0 12px; font-size: 21px; }
.settings-content p { line-height: 1.7; }
.settings-card { border: 1px solid #dce5d8; border-radius: 15px; padding: 18px; margin: 14px 0; background: #fafbf5; overflow-wrap: anywhere; }
.settings-card h4 { margin: 0 0 8px; font-size: 16px; }
.settings-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 13px; }
.settings-status { display: inline-block; background: #e5ebdc; color: #395443; border-radius: 20px; padding: 4px 10px; font-size: 12px; }
.settings-status[data-status="failed"], .settings-status[data-status="missing"] { background: #f5e8da; color: #89512e; }
.settings-muted { color: #637566; font-size: 13px; }
.settings-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.settings-form label, .settings-key label { display: grid; gap: 6px; color: #354f40; font-size: 13px; }
.settings-form input, .settings-form select, .settings-key input, .settings-key select { width: 100%; min-width: 0; box-sizing: border-box; padding: 11px 12px; border: 1px solid #cdd9c9; border-radius: 9px; background: #fffef9; font: inherit; }
.settings-form .settings-wide { grid-column: 1 / -1; }
.settings-check { display: flex !important; flex-direction: row; align-items: center; gap: 9px !important; margin: 9px 0; font-size: 13px; }
.settings-check input[type="checkbox"] { width: auto; }
.settings-key { margin: 13px 0; }
.settings-footer { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 14px 28px; border-top: 1px solid #dce5d8; background: #fffdf5; }
#settings-feedback { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.settings-feature-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.settings-feature-heading h4 { margin: 0; }
.settings-repair-row { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 12px; margin: 14px 0; }
.settings-repair-row p { margin: 5px 0; }
.settings-guide { padding: 14px 18px; border-radius: 12px; background: #eaf0df; margin-bottom: 20px; }
.settings-guide ol { margin: 8px 0; padding-left: 22px; line-height: 1.9; }
.settings-nav :focus-visible, .settings-content :focus-visible { outline: 2px solid #39745c; outline-offset: 3px; }
.settings-inline-result { white-space: pre-line; color: #405b49; font-size: 13px; }
.settings-issue { margin: 12px 0; padding: 12px 16px; background: #f5eddf; border: 1px solid #e3d9c4; border-radius: 12px; line-height: 1.7; font-size: 13px; }
.settings-issue button { margin-left: 12px; }
@media (max-width: 700px) {
  #settings-dialog.settings-modal { width: calc(100vw - 16px); max-height: 94dvh; }
  .settings-header { padding: 18px 16px 12px; }
  .settings-layout { display: flex; flex-direction: column; height: 70dvh; }
  .settings-nav { flex-direction: row; flex-shrink: 0; overflow: auto; padding: 8px; border-right: 0; border-bottom: 1px solid #dce5d8; }
  .settings-nav button { padding: 10px; white-space: nowrap; }
  .settings-content { padding: 18px 14px; flex: 1; }
  .settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-footer { padding: 12px 16px; }
  .settings-card { padding: 15px; }
}
