.backup-shade{position:fixed;inset:0;z-index:1000;background:#07111ddb;padding:24px;overflow:auto;color:#172033}.backup-modal{max-width:1320px;margin:auto;background:#f4f7fb;border-radius:20px;padding:30px;box-shadow:0 24px 80px #0007;min-height:calc(100vh - 48px)}.backup-modal>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.backup-modal h1{font-size:30px;margin:0}.backup-modal h2{font-size:24px;line-height:1.08;margin:0 0 18px}.backup-modal p{margin:0;color:#6a7890}.header-actions{display:flex;align-items:center;gap:12px}.backup-modal button{min-height:46px;padding:0 18px;border:1px solid #cdd7e6;border-radius:10px;background:#fff;color:#172033;font:inherit;font-weight:650;cursor:pointer}.backup-modal button:hover{border-color:#8fa2bc}.backup-modal button:focus-visible,.backup-modal input:focus-visible,.backup-modal select:focus-visible,.backup-modal summary:focus-visible{outline:3px solid #8cb4ff;outline-offset:2px}.backup-modal button.primary{background:#3560eb;border-color:#3560eb;color:#fff}.backup-modal button.primary:hover{background:#284ed0}.backup-close,.copy-close{width:54px;padding:0!important;font-size:28px!important;line-height:1}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.backup-card,.storage-section,.tasks-section{background:#fff;border:1px solid #dbe3ee;border-radius:15px;padding:24px}.backup-modal form{display:grid;gap:15px}.backup-modal label{display:grid;gap:7px;font-size:14px;font-weight:700}.backup-modal input,.backup-modal select{min-height:48px;box-sizing:border-box;border:1px solid #cbd6e5;border-radius:10px;background:#fff;padding:10px 14px;color:#172033;font:inherit}.choice-box{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f6f8fc;border:1px solid #dfe6ef;border-radius:12px;padding:18px}.backup-modal label.check{display:flex;align-items:center;justify-content:flex-start;gap:10px}.backup-modal .check input{min-height:auto;width:19px;height:19px;margin:0}.s3-manual{border-top:1px solid #e3e8f0;padding-top:15px}.conditional,.task-s3{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.conditional[hidden],.task-s3[hidden]{display:none}.backup-fields{display:grid;gap:12px}.backup-fields.two{grid-template-columns:1fr 1fr}.backup-fields.three{grid-template-columns:1fr 1fr 1fr}.backup-message{position:sticky;top:5px;z-index:3;margin:-12px 0 16px;padding:12px 16px;border-radius:10px;background:#e9f8ee;color:#176b38}.backup-message.error{background:#ffeded;color:#a02727}.storage-section{margin-top:28px;background:transparent;border:0;padding:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.section-head h2{margin-bottom:4px}.section-head button{min-width:148px}.storage-new{border:1px dashed #b8c6da;border-radius:14px;background:#fff;padding:16px;margin-bottom:16px}.storage-new summary{font-weight:750;cursor:pointer}.storage-new[open] summary{margin-bottom:16px}.storage-list{display:grid;gap:14px}.storage-card{background:#fff;border:1px solid #d8e1ed;border-radius:14px;box-shadow:0 2px 6px #1720330b}.storage-card summary{min-height:78px;padding:0 24px;display:flex;align-items:center;gap:14px;cursor:pointer;list-style-position:outside}.storage-card summary::marker{color:#6b7890}.storage-card strong{font-size:19px;margin-right:auto}.s3-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#eaf0ff;color:#3560eb;font-weight:800}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:750}.badge.good{background:#dcfce7;color:#17803d}.badge.active,.badge.s3{background:#dce9ff;color:#2459d6}.badge.muted,.badge.local{background:#edf1f5;color:#556274}.storage-edit{border-top:1px solid #e3e8f0;padding:20px 24px 24px}.form-actions{display:flex;gap:10px}.danger-text{color:#b42318!important;border-color:#f0b1ac!important}.tasks-section{margin-top:26px;padding:24px 0 0;overflow:hidden}.tasks-section>h2{padding:0 24px}.table-wrap{overflow:auto}.backup-modal table{width:100%;min-width:1220px;border-collapse:collapse}.backup-modal th,.backup-modal td{text-align:left;padding:15px 14px;border-top:1px solid #e5eaf1;vertical-align:middle}.backup-modal th{font-size:12px;line-height:1.15}.backup-modal td{font-size:13px}.backup-modal td small{display:block;color:#718096;margin-top:3px}.backup-modal code{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d6b82}.count-button{min-height:34px!important;padding:0 12px!important;color:#2459d6!important;background:#edf3ff!important}.icon-danger{width:38px;min-height:38px!important;padding:0!important;background:#fff0f0!important;border-color:#f3b7b7!important;color:#c12626!important;font-size:22px!important}.ok-text{color:#168144;font-weight:700}.error-short{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bd2828}.empty{text-align:center;padding:24px;color:#718096}.copy-shade{position:fixed;inset:0;z-index:1100;background:#07111d99;display:grid;place-items:center;padding:20px}.copy-modal{width:min(620px,100%);max-height:80vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;position:relative;box-shadow:0 24px 80px #0006}.copy-modal h2{margin:0 48px 5px 0}.copy-close{position:absolute;right:18px;top:18px}.copy-list{display:grid;gap:10px;margin-top:20px}.copy-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #e1e7ef;border-radius:11px}.copy-item small{display:block;color:#718096;margin-top:4px}@media(max-width:900px){.backup-grid{grid-template-columns:1fr}.backup-modal{padding:20px}.backup-fields.three{grid-template-columns:1fr 1fr}.storage-card summary{flex-wrap:wrap;padding:16px}.storage-card strong{min-width:50%}}@media(max-width:620px){.backup-shade{padding:0}.backup-modal{min-height:100vh;border-radius:0}.backup-modal>header{align-items:flex-start}.backup-modal h1{font-size:25px}.header-actions{gap:8px}.backup-modal button{padding:0 12px}.choice-box,.backup-fields.two,.backup-fields.three,.conditional,.task-s3{grid-template-columns:1fr}.section-head{align-items:flex-start}.storage-card summary .badge{font-size:11px}.form-actions{flex-direction:column}}
@media(max-width:620px){.backup-modal .section-head{align-items:stretch;flex-direction:column}.backup-modal .section-head button{width:100%}}

/* Keep the S3 connection name and both status badges on one row. */
.storage-card summary{flex-wrap:nowrap}
.storage-card strong{min-width:0;white-space:nowrap}
.planned-run{color:#2459d6;font-weight:700;white-space:nowrap}.planned-run small{font-weight:500;white-space:nowrap}
.slot-hint{margin-top:-5px;padding:9px 12px;border-radius:9px;background:#edf8f1;color:#18733b;font-size:13px;font-weight:700}.slot-hint.busy{background:#fff4dc;color:#9a5a00}
.server-task-note,.server-restore-note{margin:0!important;padding:10px 12px;border-radius:10px;background:#eef4ff;color:#38527a!important;font-size:13px;line-height:1.45}.server-restore-note{margin-top:14px!important}.server-restore-note code{display:inline;max-width:none;font-size:12px;white-space:normal}
.permission-skip{margin-top:2px}.permission-help{margin-top:-9px!important;font-size:12px;line-height:1.4}.task-actions{display:flex;align-items:center;gap:7px}.icon-edit{width:38px;min-height:38px!important;padding:0!important;background:#edf3ff!important;border-color:#bfd0f5!important;color:#2459d6!important;font-size:19px!important}.task-edit-modal{width:min(760px,100%)}.task-edit-modal form{margin-top:20px}
.task-edit-modal form{display:grid;gap:15px}.task-edit-modal label{display:grid;gap:7px;font-size:14px;font-weight:700}.task-edit-modal input,.task-edit-modal select{width:100%;min-height:48px;box-sizing:border-box;border:1px solid #cbd6e5;border-radius:10px;background:#fff;padding:10px 14px;color:#172033;font:inherit}.task-edit-modal .backup-fields{display:grid;gap:12px}.task-edit-modal .backup-fields.three{grid-template-columns:1fr 1fr 1fr}.task-edit-modal .task-s3{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-edit-modal .task-s3[hidden]{display:none}.task-edit-modal button.primary{min-height:48px;border:1px solid #3560eb;border-radius:10px;background:#3560eb;color:#fff;font:inherit;font-weight:700;cursor:pointer}.task-edit-modal .slot-hint{margin-top:-5px}
@media(max-width:620px){.task-edit-modal .backup-fields.three,.task-edit-modal .task-s3{grid-template-columns:1fr}}
@media(max-width:900px){.storage-card summary{padding:14px 16px;gap:10px}.storage-card strong{min-width:0}.storage-card .s3-icon{width:38px;height:38px;flex:0 0 38px}.storage-card summary .badge{padding:5px 8px}}
@media(max-width:620px){.storage-card summary{padding:12px;gap:7px}.storage-card strong{font-size:16px}.storage-card summary .badge{font-size:10px;padding:4px 6px}}
.backup-column{display:grid;gap:20px;align-content:start}.local-storage-card{border-color:#c9d7f0;background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}.local-storage-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.local-storage-title h2{margin-bottom:6px}.local-storage-title p{font-size:13px;line-height:1.45}.local-storage-card details{border:1px solid #dbe3ee;border-radius:11px;background:#fff;margin-top:10px}.local-storage-card summary{cursor:pointer;padding:15px 16px;font-weight:750;list-style-position:inside}.local-storage-card details[open] summary{border-bottom:1px solid #e5eaf1}.local-storage-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 16px}.local-storage-card details>.check{margin:0 16px 12px}.local-storage-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.local-transfer-status{margin-top:14px;padding:11px 13px;border-radius:9px;background:#edf8f1;color:#18733b;font-size:13px;font-weight:700;overflow-wrap:anywhere}.local-transfer-status.error{background:#ffeded;color:#a02727}.local-transfer-history{margin-top:7px!important;font-size:12px}.transfer-warning{margin:0 16px 14px!important;padding:9px 11px;border-radius:8px;background:#eef4ff;color:#38527a!important;font-size:12px;line-height:1.4}.transfer-warning.late{background:#ffeded;color:#a02727!important;font-weight:700}.backup-modal button:disabled{cursor:not-allowed;opacity:.5}.local-storage-card .badge{flex:0 0 auto}
@media(max-width:620px){.local-storage-title{display:grid}.local-storage-fields,.local-storage-actions{grid-template-columns:1fr}}

/* Local storage workflow: keep the hierarchy aligned with the established panel card. */
.local-storage-card{padding:28px;background:#fff;border-color:#dbe3ee}
.local-storage-card>h2{font-size:27px;margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid #dfe6ef}
.local-storage-card details{border:0;border-radius:0;background:transparent;margin:0;border-bottom:1px solid #dfe6ef}
.local-storage-card summary{display:flex;align-items:center;justify-content:space-between;padding:20px 4px;font-size:19px;list-style:none}
.local-storage-card summary::-webkit-details-marker{display:none}
.local-storage-card summary::after{content:'⌄';color:#7c8ca5;font-size:24px;line-height:1;transform:rotate(0deg)}
.local-storage-card details[open] summary{border:0}
.local-storage-card details[open] summary::after{transform:rotate(180deg)}
.local-storage-fields{grid-template-columns:1fr;padding:8px 4px 24px;gap:15px}
.local-storage-fields label{font-size:15px}
.local-storage-fields input,.local-storage-fields select{min-height:54px;font-size:16px}
.local-settings-save{width:100%;min-height:52px!important;margin-top:2px}
.local-jobs{padding:6px 4px 8px}
.local-job-head,.local-job-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(110px,1.4fr) 76px 54px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5eaf1}
.local-job-head{color:#74839b;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.local-job-row{font-size:13px}
.local-job-time{display:block}
.local-job-time .local-time-view{border:0;background:transparent;padding:4px 0;min-height:30px;color:inherit;font:inherit;cursor:text}
.local-job-time .local-time-view:hover{text-decoration:underline;text-decoration-style:dotted}
.local-job-time .local-time-view:focus-visible{outline:2px solid #8cb4ff;outline-offset:2px;border-radius:3px}
.local-job-time input:not([hidden]){width:105px;min-height:34px;padding:4px 6px;font-size:13px}
.local-job-time [hidden]{display:none!important}
.local-job-switch{display:block!important;position:relative;width:48px;height:28px;justify-self:end}
.local-job-switch input{position:absolute;opacity:0;pointer-events:none}
.local-job-switch span{display:block;width:48px;height:28px;border-radius:999px;background:#c8d1df;transition:.18s;cursor:pointer}
.local-job-switch span::after{content:'';display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transform:translate(3px,3px);transition:.18s}
.local-job-switch input:checked+span{background:#16a66a}
.local-job-switch input:checked+span::after{transform:translate(23px,3px)}
.local-job-row.late .local-job-switch input:checked+span{background:#dc3e38}
.local-job-switch input:focus-visible+span{outline:3px solid #8cb4ff;outline-offset:2px}
.local-storage-card .transfer-warning{margin:10px 4px 22px!important;padding:0;background:transparent;color:#74839b!important;font-size:12px}
.local-storage-actions{margin-top:24px}
.local-storage-actions button{width:100%}
.local-transfer-summary{margin-top:14px!important;color:#74839b!important;font-size:13px;line-height:1.45}
.local-operation{margin-top:10px;padding:10px 12px;border-radius:9px;background:#edf8f1;color:#18733b;font-size:13px;font-weight:700}
.local-operation.error{background:#ffeded;color:#a02727}
@media(max-width:620px){.local-storage-card{padding:20px}.local-job-head{display:none}.local-job-row{grid-template-columns:1fr auto;padding:14px 0}.local-job-row>span{grid-column:1}.local-job-switch{grid-column:2;grid-row:1/4}.local-storage-actions{grid-template-columns:1fr}.local-storage-card summary{font-size:17px}}
