.backup-section { border-block: 1px solid var(--line); padding: 18px 0; margin-bottom: 24px; min-width: 0; }
.backup-section>summary { font-size: 17px; font-weight: 600; cursor: pointer; }
.backup-section>summary span { font-size: 12px; color: var(--muted); margin-left: 10px; }
.backup-toolbar,.backup-policy { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.backup-section>.backup-toolbar { margin: 20px 0; }
.backup-policy { padding: 14px 0; gap: 16px; }
.backup-policy label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; }
#backupsPanel .backup-policy label { display: flex; align-items: center; flex-direction: row; }
#backupsPanel input[type=checkbox],.backup-dialog input[type=checkbox] { width: 18px; height: 18px; min-height: 0; flex: 0 0 18px; margin: 0; padding: 0; }
.backup-policy select { padding: 8px; border: 1px solid var(--line); border-radius: 4px; color: var(--text); background: var(--panel); }
.backup-message,.backup-status,.backup-audit { font-size: 12px; margin-block: 12px; }
.backup-scroll { overflow: auto; }
.backup-scroll table { width: 100%; text-align: left; border-collapse: collapse; font-size: 13px; }
.backup-scroll th,.backup-scroll td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.backup-scroll small { display: block; color: var(--muted); margin-top: 5px; }
.backup-dialog { width: min(560px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: var(--text); padding: 24px; }
.backup-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.backup-dialog h3 { margin-top: 0; font-size: 19px; }
.backup-dialog p,.backup-dialog li { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.backup-dialog label { display: grid; gap: 8px; margin-block: 16px; font-size: 13px; }
.backup-dialog input[type=password] { width: 100%; min-width: 0; padding: 10px; background: var(--panel-2); color: var(--text); border: 1px solid var(--line); border-radius: 4px; }
.backup-dialog .backup-confirm { display: flex; align-items: center; }
.backup-dialog [role=alert] { color: var(--down); }
@media(max-width:600px){.backup-scroll table { min-width: 600px; }.backup-policy { align-items: stretch; flex-direction: column; }}
