/* Beluga: estilo das seções dos Ajustes (Geral, Este banco, Senha e cifra, Manutenção). Só variáveis do tema (beluga.css); classes com o prefixo st-. */

.st { display: grid; gap: 16px; }
.st-results { display: grid; gap: 10px; }
.st-results:empty { display: none; }
.st-infobody { display: grid; gap: 10px; }

/* ───────── cartão ───────── */
.st-card { display: grid; gap: 14px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.st-card--warn { border-color: color-mix(in srgb, var(--warn) 45%, var(--line)); }
.st-card--danger { border-color: color-mix(in srgb, var(--danger) 50%, var(--line)); }
.st-card__head { display: flex; align-items: flex-start; gap: 12px; }
.st-card__icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--accent-soft); color: var(--accent-ink); }
.st-card--warn .st-card__icon { background: var(--warn-soft); color: var(--warn); }
.st-card--danger .st-card__icon { background: var(--danger-soft); color: var(--danger); }
.st-card__title { flex: 1; min-width: 0; display: grid; gap: 2px; }
.st-card__title h3 { font-size: 16px; }
.st-card__title p { color: var(--muted); font-size: 13.5px; max-width: 72ch; }
.st-card__actions { flex: none; }
.st-card__body { display: grid; gap: 14px; }
@media (max-width: 560px) { .st-card { padding: 14px; } .st-card__head { flex-wrap: wrap; } }

/* ───────── lista de dados ───────── */
.st-kv { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--line); overflow: hidden; }
.st-kv__row { display: grid; gap: 2px; padding: 10px 14px; background: var(--surface); min-width: 0; }
.st-kv dt { color: var(--muted); font-size: 12.5px; }
.st-kv dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.st-kv dd.mono { font-weight: 500; font-size: 13px; }

/* ───────── resultado ───────── */
.st-result { display: flex; gap: 12px; padding: 14px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--raised); color: var(--text); }
.st-result--ok { border-color: var(--accent-line); background: var(--accent-soft); }
.st-result--warn { border-color: color-mix(in srgb, var(--warn) 50%, transparent); background: var(--warn-soft); }
.st-result--error { border-color: color-mix(in srgb, var(--danger) 55%, transparent); background: var(--danger-soft); }
.st-result--info { border-color: color-mix(in srgb, var(--info) 45%, transparent); }
.st-result__icon { flex: none; margin-top: 1px; }
.st-result--ok .st-result__icon { color: var(--accent-ink); }
.st-result--warn .st-result__icon { color: var(--warn); }
.st-result--error .st-result__icon { color: var(--danger); }
.st-result--info .st-result__icon { color: var(--info); }
.st-result__main { flex: 1; min-width: 0; display: grid; gap: 8px; }
.st-result__title { font-size: 15px; }
.st-result__list { margin: 0; padding-left: 20px; display: grid; gap: 4px; font-size: 13.5px; overflow-wrap: anywhere; }
.st-result__more { color: var(--muted); list-style: none; margin-left: -20px; }
.st-result__advice { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; }
.st-result__advice .bi { margin-top: 3px; color: var(--accent-ink); }
.st-result__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.st-raw { margin: 6px 0 0; padding: 10px; max-height: 260px; overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--sunken); color: var(--text); font-size: 12.5px; white-space: pre-wrap; overflow-wrap: anywhere; }

/* ───────── andamento ───────── */
.st-bar { height: 8px; border-radius: 999px; background: var(--sunken); border: 1px solid var(--line); overflow: hidden; }
.st-bar > i { display: block; width: 0; height: 100%; border-radius: 999px; background: var(--accent-ink); transition: width 0.25s ease; }
.st-bar--busy > i { width: 40%; animation: st-run 1.2s ease-in-out infinite; }
@keyframes st-run { from { margin-left: -40%; } to { margin-left: 100%; } }
.st-progress__label { font-size: 14px; }

/* ───────── ajustes de arquivo e senha ───────── */
.st-choices, .st-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; }
.st-choice { display: grid; gap: 6px; align-content: start; }
.st-changes__list { margin: 0; padding-left: 20px; display: grid; gap: 4px; font-weight: 600; }
.st-strength { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; align-items: center; }
.st-strength__bars { display: flex; gap: 4px; }
.st-strength__bars i { display: block; width: 28px; height: 6px; border-radius: 3px; background: var(--line-strong); }
.st-strength__bars i[data-on='true'] { background: var(--warn); }
.st-strength[data-level='1'] .st-strength__bars i[data-on='true'] { background: var(--danger); }
.st-strength[data-level='4'] .st-strength__bars i[data-on='true'], .st-strength[data-level='5'] .st-strength__bars i[data-on='true'] { background: var(--accent-ink); }
.st-strength__label { font-size: 13px; }
.st-strength .field__hint { grid-column: 1 / -1; }
.st-compat { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--raised); font-size: 13.5px; }
.st-compat p { margin-top: 2px; }
.st-compat[data-level='ok'] { border-color: var(--accent-line); background: var(--accent-soft); }
.st-compat[data-level='ok'] .bi { color: var(--accent-ink); }
.st-compat[data-level='warn'] { border-color: color-mix(in srgb, var(--warn) 50%, transparent); background: var(--warn-soft); }
.st-compat[data-level='warn'] .bi { color: var(--warn); }
.st-compat[data-level='weak'] { border-color: color-mix(in srgb, var(--danger) 55%, transparent); background: var(--danger-soft); }
.st-compat[data-level='weak'] .bi { color: var(--danger); }
.st-ciphers { list-style: none; margin: 10px 0 4px; padding: 0; display: grid; gap: 12px; }
.st-ciphers p { color: var(--muted); font-size: 13px; margin-top: 2px; }
.st-ciphers .badge { margin-left: 8px; }

/* ───────── Geral ───────── */
.st-switches { display: grid; gap: 14px; }
.st-switch { display: flex; align-items: flex-start; gap: 12px; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.st-switch[aria-pressed='true'] .switch__track { background: var(--accent-ink); }
.st-switch[aria-pressed='true'] .switch__track::after { transform: translateX(18px); background: var(--surface); }
.st-about { color: var(--muted); font-size: 13.5px; }
.st-storage { font-size: 14px; }
.st-dblist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.st-dblist li { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--raised); }
.st-dblist__name { flex: 1; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }

/* ───────── Manutenção ───────── */
.st-group { display: grid; gap: 12px; }
.st-group__head h3 { font-size: 16px; }
.st-group__head p { color: var(--muted); font-size: 13.5px; }
.st-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr)); gap: 14px; align-items: start; }
.st-tool { display: grid; gap: 10px; padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; }
.st-tool__head { display: flex; align-items: flex-start; gap: 12px; }
.st-tool__head h4 { margin: 0; font-size: 15px; }
.st-tool__lead { color: var(--muted); font-size: 13.5px; margin-top: 2px; }
.st-tool__reason { padding: 6px 10px; border-left: 3px solid var(--warn); background: var(--warn-soft); border-radius: 0 8px 8px 0; color: var(--text); }
.st-orphans, .st-sizes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.st-orphans li { display: grid; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.st-size { display: grid; gap: 4px; }
.st-size__head { display: flex; justify-content: space-between; gap: 10px; }
.st-size small { color: var(--muted); font-size: 12.5px; }
