.backup-main { max-width:900px; margin:2rem auto; padding:1rem; line-height:1.6; }
.backup-main section { padding:1.1rem; margin:1rem 0; border:1px solid var(--border,#7e8268); border-radius:6px; background:var(--panel,#20251c); }
.backup-main h1 { margin-top:0; }
.backup-main p, .backup-main li { overflow-wrap:anywhere; }
.backup-actions, #backup-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }
.backup-main input[type=file] { display:block; max-width:100%; margin:.75rem 0; }
.backup-main fieldset { border:0; padding:0; margin:1rem 0; }
.backup-main legend { font-weight:700; }
.backup-section { display:flex; gap:.7rem; align-items:start; padding:.8rem 0; border-bottom:1px solid var(--border,#7e8268); cursor:pointer; }
.backup-section input { margin-top:.4rem; width:20px; height:20px; flex-shrink:0; }
.backup-section small { display:block; color:var(--text-muted,#b9bdb6); }
.backup-confirm { border-left:4px solid var(--accent,#d9802e)!important; }
.backup-main .btn { min-height:44px; }
.backup-main :focus-visible { outline:2px solid var(--accent,#d9802e); outline-offset:3px; }
#backup-message { min-height:1.7em; }
#planning-backup-main { border-top:2px solid var(--border,#7e8268); }
#planning-message { min-height:1.7em; }
.planning-review-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:.6rem; }
.planning-review-controls select { max-width:100%; min-height:44px; }
.planning-review-controls p { margin:.2rem 0; }
.planning-mode-group { border:1px solid var(--border,#7e8268)!important; border-radius:6px; padding:.6rem .8rem!important; }
.planning-section-row { padding-bottom:.7rem; }
.planning-section-row .backup-section { border-bottom:0; padding-bottom:.4rem; }
.planning-section-row details { margin-left:2rem; overflow-wrap:anywhere; }
.planning-section-row summary { cursor:pointer; min-height:32px; }
.planning-section-row details p { margin:.3rem 0; font-size:.95rem; }
#planning-selection-count { font-weight:700; }
@media(max-width:600px) { .backup-main { margin:.7rem auto; padding:.7rem; } .backup-main section { padding:.8rem; } }
