.backup-workspace { background: var(--surface); padding: 20px; min-width: 0; }
.backup-workspace [hidden] { display: none !important; }
.backup-heading, .backup-actions, .backup-schedule, .backup-test-controls { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.backup-heading { justify-content: space-between; }
.backup-heading h2 { font-size: 22px; margin: 0; }
.backup-actions button { min-height: 38px; }
#backup-refresh, #backup-restore-close { width: 40px; height: 40px; padding: 0; font-size: 22px; }
#backup-message { min-height: 22px; overflow-wrap: anywhere; }
.backup-summary { display: grid; grid-template-columns: minmax(180px,1fr) minmax(0,2fr); gap: 18px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.backup-summary div:last-child { grid-column: 1 / -1; }
.backup-summary dt { color: var(--muted); font-size: 13px; }
.backup-summary dd { margin: 6px 0 0; font-size: 15px; overflow-wrap: anywhere; }
.backup-summary div:first-child dd { font-size: 19px; font-weight: 600; }
.backup-schedule { margin: 20px 0; align-items: end; }
.backup-schedule strong { align-self: center; font-size: 14px; }
.backup-schedule label { width: 170px; }
.backup-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.backup-tabs button { background: transparent; color: var(--text); border-radius: 0; border-bottom: 3px solid transparent; font-size: 14px; }
.backup-tabs [aria-selected="true"] { border-color: var(--primary); color: var(--primary-dark); }
.backup-table-scroll { width: 100%; overflow-x: auto; }
.backup-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.backup-table th, .backup-table td { padding: 12px 8px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.backup-table th { background: var(--surface-soft); }
.backup-table td:first-child { max-width: 380px; min-width: 200px; overflow-wrap: anywhere; }
.backup-table small { display: block; margin-top: 5px; color: var(--muted); overflow-wrap: anywhere; }
.backup-table .backup-actions { min-width: 150px; gap: 6px; }
.backup-table .backup-actions button { font-size: 12px; padding: 8px; }
.backup-test-controls { align-items: end; }
.backup-test-controls label { flex: 1; min-width: 0; }
.backup-test-controls select { width: 100%; min-width: 0; }
#backup-test-result { margin-top: 20px; overflow-wrap: anywhere; }
#backup-test-result h3 { font-size: 17px; }
.backup-checks { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-left: 18px; color: var(--primary-dark); font-size: 13px; }
.backup-warning { color: var(--danger); }
.backup-restore-dialog { width: min(620px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; padding: 20px; color: var(--text); }
.backup-restore-dialog::backdrop { background: rgba(0,0,0,.45); }
.backup-restore-dialog .backup-heading h2 { font-size: 19px; }
.backup-restore-dialog label { display: grid; gap: 6px; margin: 14px 0; }
.backup-restore-dialog input, .backup-restore-dialog textarea { width: 100%; min-width: 0; }
#backup-restore-file { overflow-wrap: anywhere; font-size: 13px; }
#backup-restore-confirmation { font-size: 12px; }
@media (max-width: 650px) {
  .backup-workspace { padding: 14px; }
  .backup-summary { grid-template-columns: minmax(0,1fr); }
  .backup-summary div:last-child { grid-column: auto; }
  .backup-schedule strong { flex-basis: 100%; }
  .backup-test-controls { flex-direction: column; align-items: stretch; }
  .backup-test-controls label { width: 100%; }
  .backup-tabs button { padding: 10px; }
  #backup-history .backup-table, #backup-history .backup-table tbody { display: block; width: 100%; }
  #backup-history .backup-table thead { display: none; }
  #backup-history .backup-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-bottom: 1px solid var(--line); padding: 10px 0; }
  #backup-history .backup-table td { display: block; border: 0; padding: 6px 0; min-width: 0; max-width: none; overflow-wrap: anywhere; }
  #backup-history .backup-table td:first-child, #backup-history .backup-table td:last-child { grid-column: 1 / -1; }
  #backup-history .backup-table td:nth-child(2)::before { content: 'Origem'; }
  #backup-history .backup-table td:nth-child(3)::before { content: 'Tamanho'; }
  #backup-history .backup-table td:nth-child(4)::before { content: 'Teste'; }
  #backup-history .backup-table td:nth-child(n+2):nth-child(-n+4)::before { display: block; font-size: 12px; color: var(--muted); margin-bottom: 3px; }
  #backup-history .backup-table .backup-actions { justify-content: flex-end; }
}
