.backup-welcome { margin-bottom: 28px; padding: 20px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface-2); }
.backup-welcome small, .backup-private-note { color: var(--muted); line-height: 1.55; }
.backup-core-contents { display: grid; gap: 7px; padding: 16px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; }
.backup-core-contents span { color: var(--muted); line-height: 1.55; }
.backup-content-choice { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.backup-content-choice input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin-top: 3px; accent-color: var(--gold); }
.backup-content-choice span { display: grid; gap: 5px; }
.backup-content-choice small { color: var(--muted); line-height: 1.45; }
.backup-warning { border-color: var(--gold) !important; color: var(--gold); }
#backupRestoreDialog { width: min(920px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); padding: 0; background: var(--surface); color: var(--text); border: 1px solid var(--line-strong); border-radius: 16px; box-shadow: var(--shadow); }
#backupRestoreDialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.backup-restore-content { padding: 24px; display: grid; gap: 18px; }
.backup-restore-content .panel-head { margin-bottom: 0; }
.backup-restore-content p { margin: 0; line-height: 1.55; }
.backup-restore-content progress { width: 100%; height: 12px; accent-color: var(--gold); }
.backup-restore-step { display: grid; gap: 14px; }
.backup-restore-step[hidden], #backupRestoreDialog [hidden] { display: none !important; }
.backup-restore-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.backup-restore-summary > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.backup-restore-summary small { display: block; margin-bottom: 6px; color: var(--muted); }
.backup-folder-mapping { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.backup-folder-mapping code { color: var(--text); overflow-wrap: anywhere; white-space: normal; }
.backup-folder-mapping .backup-path-choice { display: flex; gap: 8px; }
.backup-folder-mapping input { flex: 1; min-width: 0; }
.backup-folder-mapping small, .backup-restore-reconnect { color: var(--muted); line-height: 1.5; }
.backup-browser-list { max-height: 280px; overflow: auto; display: grid; gap: 8px; }
.backup-browser-list button, .backup-cloud-file { display: flex; text-align: left; justify-content: space-between; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--surface-2); cursor: pointer; }
.backup-browser-list button:hover, .backup-cloud-file:hover { border-color: var(--gold); background: var(--surface-3); }
.backup-browser-list button:focus-visible, .backup-cloud-file:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.backup-cloud-file span { display: grid; gap: 5px; }
.backup-cloud-file small { color: var(--muted); }
@media (max-width: 650px) { .backup-restore-content { padding: 16px; } .backup-path-choice { flex-wrap: wrap; } .backup-path-choice input { width: 100%; } }
