body{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#eee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}#root,body{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f172a;--bg-card:#1e293b;--bg-hover:#334155;--border:#475569;--text:#f1f5f9;--text-muted:#94a3b8;--primary:#3b82f6;--primary-hover:#2563eb;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--radius:12px;--radius-sm:8px}body{color:#f1f5f9;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.login-container,body{background:#0f172a;background:var(--bg)}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);max-width:400px;padding:48px 40px;text-align:center;width:100%}.login-logo{font-size:3rem;margin-bottom:12px}.login-box h1{font-size:1.5rem;font-weight:600;margin-bottom:8px}.login-subtitle{color:#94a3b8;color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.login-field input{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text);font-size:1rem;outline:none;padding:12px 16px;transition:border-color .2s;width:100%}.login-field input:focus{border-color:#3b82f6;border-color:var(--primary)}.login-error{color:#ef4444;color:var(--danger);font-size:.85rem;margin-top:12px}.login-btn{background:#3b82f6;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:16px;padding:12px;transition:background .2s;width:100%}.login-btn:hover:not(:disabled){background:#2563eb;background:var(--primary-hover)}.login-btn:disabled{cursor:not-allowed;opacity:.5}.header-right{align-items:center;display:flex;gap:12px}.logout-btn{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:20px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:6px 12px;transition:all .2s}.logout-btn:hover{background:#334155;background:var(--bg-hover);color:#f1f5f9;color:var(--text)}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:#1e293b;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 24px}.header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.header h1{font-size:1.5rem;font-weight:600}.subtitle{color:#94a3b8;color:var(--text-muted);font-size:.9rem}.status{align-items:center;background:#0f172a;background:var(--bg);border-radius:20px;display:flex;font-size:.85rem;gap:8px;padding:6px 12px}.status .dot{background:#ef4444;background:var(--danger);border-radius:50%;height:8px;width:8px}.status.online .dot{background:#22c55e;background:var(--success)}.nav{background:#1e293b;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border);display:flex;gap:4px;padding:12px 24px}.nav button{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;font-size:.95rem;gap:8px;padding:10px 20px;transition:all .2s}.nav button:hover{background:#334155;background:var(--bg-hover);color:#f1f5f9;color:var(--text)}.nav button.active{background:#3b82f6;background:var(--primary);color:#fff}.nav button .icon{font-size:1.1rem}.main{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;width:100%}.tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{font-size:1.3rem;font-weight:600}.btn{align-items:center;background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text);cursor:pointer;display:inline-flex;font-size:.9rem;gap:6px;padding:10px 18px;transition:all .2s}.btn:hover{background:#334155;background:var(--bg-hover)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.primary{background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.btn.primary:hover{background:#2563eb;background:var(--primary-hover)}.btn.success{background:#22c55e;background:var(--success);border-color:#22c55e;border-color:var(--success);color:#fff}.btn.danger{background:#ef4444;background:var(--danger);border-color:#ef4444;border-color:var(--danger);color:#fff}.btn.small{font-size:.8rem;padding:6px 12px}.btn.full-width{justify-content:center;width:100%}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:background .2s;width:32px}.btn-icon:hover{background:#334155;background:var(--bg-hover)}.btn-icon.danger:hover{background:#ef444433}.btn-link{background:none;border:none;color:#3b82f6;color:var(--primary);cursor:pointer;text-decoration:underline}.toast{align-items:center;animation:slideIn .3s ease;background:#ef4444;background:var(--danger);border-radius:8px;border-radius:var(--radius-sm);color:#fff;display:flex;gap:12px;max-width:400px;padding:14px 20px;position:fixed;right:20px;top:20px;z-index:1000}.toast button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem}@keyframes slideIn{0%{transform:translateX(100%)}}.progress-panel{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin:12px 24px;padding:20px}.progress-info{display:flex;justify-content:space-between;margin-bottom:12px}.stage-badge{background:#3b82f6;background:var(--primary);border-radius:20px;font-size:.85rem;padding:4px 12px}.progress-text{font-size:1.1rem;font-weight:600}.progress-bar{background:#0f172a;background:var(--bg);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.progress-bar.overall{height:10px}.progress-bar.small{flex:1 1;height:6px}.progress-fill{background:linear-gradient(90deg,#3b82f6,#22c55e);background:linear-gradient(90deg,var(--primary),var(--success));height:100%;transition:width .3s}.progress-fill.archive{background:linear-gradient(90deg,#3b82f6,#60a5fa);background:linear-gradient(90deg,var(--primary),#60a5fa)}.progress-fill.transfer{background:linear-gradient(90deg,#f59e0b,#22c55e);background:linear-gradient(90deg,var(--warning),var(--success))}.progress-stages{display:flex;gap:16px;margin-bottom:12px}.progress-stage{align-items:center;background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex:1 1;gap:8px;opacity:.5;padding:8px 12px;transition:all .3s}.progress-stage.active{background:#3b82f626;border:1px solid #3b82f6;border:1px solid var(--primary);opacity:1}.progress-stage.done{opacity:.7}.stage-label{color:#94a3b8;color:var(--text-muted)}.stage-label,.stage-pct{font-size:.8rem;white-space:nowrap}.stage-pct{font-weight:600;min-width:35px;text-align:right}.progress-details{color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:20px}.current-file{flex:1 1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.empty-state{background:#1e293b;background:var(--bg-card);border:1px dashed #475569;border:1px dashed var(--border);border-radius:12px;border-radius:var(--radius);padding:60px 20px;text-align:center}.empty-state.small{padding:30px 20px}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state h3{margin-bottom:8px}.empty-state p{color:#94a3b8;color:var(--text-muted);margin-bottom:20px}.profiles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.profile-card{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:20px;transition:transform .2s,box-shadow .2s}.profile-card:hover{box-shadow:0 8px 24px #0000004d;transform:translateY(-2px)}.profile-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.profile-header h3{font-size:1.1rem}.profile-actions{display:flex;gap:4px}.profile-desc{color:#94a3b8;color:var(--text-muted);font-size:.9rem;margin-bottom:16px}.profile-meta{background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px}.meta-item{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:6px}.meta-icon{font-size:1rem}.backups-list{display:flex;flex-direction:column;gap:12px}.backup-item{align-items:center;background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:16px;padding:16px}.backup-icon{font-size:2rem}.backup-info{flex:1 1}.backup-name{font-weight:500;margin-bottom:4px}.backup-meta{color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:16px}.backup-actions{display:flex;gap:8px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:flex-start;background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:16px;padding:16px}.history-item.failed{border-color:#ef4444;border-color:var(--danger)}.history-item.completed{border-left:3px solid #22c55e;border-left:3px solid var(--success)}.history-status{font-size:1.5rem}.history-info{flex:1 1}.history-title{font-weight:500;margin-bottom:4px}.history-meta{color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:16px}.history-error{color:#ef4444;color:var(--danger);font-size:.85rem;margin-top:8px}.history-date{color:#94a3b8;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.settings-section{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin-bottom:20px;padding:20px}.settings-section h2{font-size:1.1rem;margin-bottom:16px}.settings-section .section-header{margin-bottom:16px}.ssh-list,.usb-list{display:flex;flex-direction:column;gap:10px}.ssh-item,.usb-item{align-items:center;background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:12px;padding:12px}.ssh-icon,.usb-icon{font-size:1.5rem}.ssh-info,.usb-info{flex:1 1}.ssh-name,.usb-name{font-weight:500}.ssh-host,.usb-path{color:#94a3b8;color:var(--text-muted);font-size:.85rem}.usb-space{color:#22c55e;color:var(--success);font-size:.8rem;margin-top:2px}.logs-container{background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);font-family:Fira Code,monospace;font-size:.8rem;max-height:300px;overflow-y:auto;padding:16px}.empty-log{color:#94a3b8;color:var(--text-muted)}.log-entry{border-bottom:1px solid #475569;border-bottom:1px solid var(--border);padding:4px 0}.log-entry.error{color:#ef4444;color:var(--danger)}.log-entry.success{color:#22c55e;color:var(--success)}.log-entry.info{color:#3b82f6;color:var(--primary)}.modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.modal.large{max-width:800px}.modal-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.modal-header h2{font-size:1.2rem}.btn-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;width:32px}.btn-close:hover{background:#334155;background:var(--bg-hover);color:#f1f5f9;color:var(--text)}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-footer{border-top:1px solid #475569;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row .form-group{flex:1 1}.form-group{margin-bottom:16px}.form-group label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.9rem;margin-bottom:6px}.form-group input,.form-group select{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text);font-size:.95rem;padding:10px 14px;width:100%}.form-group input:focus{border-color:#3b82f6;border-color:var(--primary);outline:none}.file-browser{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);overflow:hidden}.browser-toolbar{align-items:center;background:#1e293b;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 14px}.browser-toolbar .path{color:#94a3b8;color:var(--text-muted);font-family:monospace;font-size:.85rem}.browser-list{max-height:250px;overflow-y:auto}.browser-item{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:8px 14px;transition:background .15s}.browser-item:hover{background:#334155;background:var(--bg-hover)}.browser-item.selected{background:#3b82f633}.browser-item input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary);height:16px;width:16px}.item-icon{cursor:pointer;font-size:1.1rem}.item-name{cursor:pointer;flex:1 1}.item-size{font-size:.8rem}.item-size,.loading{color:#94a3b8;color:var(--text-muted)}.loading{padding:20px;text-align:center}.selected-paths{align-items:center;background:#3b82f61a;border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.path-tag{align-items:center;background:#3b82f6;background:var(--primary);border-radius:20px;color:#fff;display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.path-tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem}.destination-picker{border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);overflow:hidden}.dest-tabs{background:#0f172a;background:var(--bg);display:flex}.dest-tabs button{background:#0000;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;flex:1 1;padding:12px;transition:all .2s}.dest-tabs button:hover{background:#334155;background:var(--bg-hover)}.dest-tabs button.active{background:#3b82f6;background:var(--primary);color:#fff}.dest-content{padding:16px}.dest-info{color:#94a3b8;color:var(--text-muted);font-size:.9rem;padding:20px;text-align:center}.usb-drives{display:flex;flex-direction:column;gap:8px}.usb-drive{align-items:center;background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:background .2s}.usb-drive:hover{background:#334155;background:var(--bg-hover)}.usb-free{color:#22c55e;color:var(--success);font-size:.85rem}.usb-browser{display:flex;flex-direction:column;gap:12px}.usb-toolbar{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;justify-content:space-between}.usb-toolbar>div{display:flex;gap:8px}.usb-folders{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.usb-folder{background:#0f172a;background:var(--bg);border-radius:6px;cursor:pointer;padding:8px 12px}.usb-folder:hover{background:#334155;background:var(--bg-hover)}.usb-selected{background:#22c55e1a;border-radius:6px;color:#22c55e;color:var(--success);font-size:.9rem;padding:10px}.new-folder-row{align-items:center;display:flex;gap:8px}.new-folder-row input{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:6px;color:#f1f5f9;color:var(--text);flex:1 1;padding:8px}.ssh-picker{display:flex;flex-direction:column;gap:8px}.ssh-option{align-items:center;background:#0f172a;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.ssh-option:hover{background:#334155;background:var(--bg-hover)}.ssh-option.selected{background:#3b82f633;border:1px solid #3b82f6;border:1px solid var(--primary)}.ssh-host-small{color:#94a3b8;color:var(--text-muted);flex:1 1;font-size:.85rem}.ssh-option .check{color:#3b82f6;color:var(--primary);font-weight:700}.test-result{border-radius:8px;border-radius:var(--radius-sm);margin-top:16px;padding:12px;text-align:center}.test-result.success{background:#22c55e1a;color:#22c55e;color:var(--success)}.test-result.error{background:#ef44441a;color:#ef4444;color:var(--danger)}.schedule-picker{border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);overflow:hidden}.schedule-tabs{background:#0f172a;background:var(--bg);display:flex}.schedule-tabs button{background:#0000;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.85rem;padding:12px;transition:all .2s}.schedule-tabs button:hover{background:#334155;background:var(--bg-hover)}.schedule-tabs button.active{background:#3b82f6;background:var(--primary);color:#fff}.schedule-content{padding:16px}.schedule-time-row{align-items:center;display:flex;gap:12px}.schedule-time-row label{color:#94a3b8;color:var(--text-muted);font-size:.9rem;margin:0}.schedule-time-row input[type=time]{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text);font-size:1rem;padding:8px 12px}.schedule-weekly{display:flex;flex-direction:column;gap:14px}.schedule-days{display:flex;flex-wrap:wrap;gap:6px}.day-btn{align-items:center;background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:50%;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;height:44px;justify-content:center;transition:all .2s;width:44px}.day-btn:hover{background:#334155;background:var(--bg-hover);color:#f1f5f9;color:var(--text)}.day-btn.active{background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.retention-picker{background:#0f172a;background:var(--bg);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);padding:16px}.retention-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.retention-options button{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:20px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:8px 14px;transition:all .2s}.retention-options button:hover{background:#334155;background:var(--bg-hover);color:#f1f5f9;color:var(--text)}.retention-options button.active{background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.retention-custom{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.retention-custom label{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin:0}.retention-custom input[type=number]{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text);font-size:.9rem;padding:6px 10px;text-align:center;width:70px}.retention-hint{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-style:italic}@media (max-width:768px){.header{flex-direction:column;gap:12px}.nav{overflow-x:auto}.nav button .label{display:none}.main{padding:16px}.profiles-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.modal{border-radius:0;max-height:100vh}.progress-details{flex-wrap:wrap}}
/*# sourceMappingURL=main.6c56b5ba.css.map*/