body{margin:0}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}}.Toastify__toast{--y:0;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;touch-action:none;z-index:0}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 0}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-brand{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}.navbar-menu{display:flex;gap:2rem}.navbar-link{border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.navbar-link:hover{background-color:#ffffff1a}.navbar-user{align-items:center;display:flex;gap:1rem}.navbar-username{font-weight:500}.navbar-role{background-color:#3498db;border-radius:12px;font-size:.875rem;padding:.25rem .75rem}.navbar-logout{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .3s}.navbar-logout:hover{background-color:#c0392b}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-width:400px;padding:2rem;width:100%}.login-title{color:#2c3e50;margin-bottom:2rem;text-align:center}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#667eea;outline:none}.login-button{background-color:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .3s}.login-button:hover:not(:disabled){background-color:#5568d3}.login-button:disabled{background-color:#ccc;cursor:not-allowed}.dashboard{margin:0 auto;max-width:1400px;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#2c3e50;margin-bottom:.5rem}.dashboard-header p{color:#7f8c8d}.running-backups-alert{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:2rem;padding:1.5rem}.alert-header h3{font-size:1.25rem;margin:0 0 1rem}.running-list{display:flex;flex-direction:column;gap:.75rem}.running-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:6px;display:flex;justify-content:space-between;padding:1rem}.running-info{display:flex;flex-direction:column;gap:.25rem}.installation-name{font-size:.875rem;opacity:.9}.running-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.time-info{font-size:.875rem;opacity:.9}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.stat-icon{font-size:2.5rem}.stat-content h3{color:#2c3e50;font-size:2rem;margin:0}.stat-content p{color:#7f8c8d;margin:0}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.quick-actions,.recent-syncs{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.quick-actions h2,.recent-syncs h2{border-bottom:2px solid #667eea;color:#2c3e50;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.syncs-list{display:flex;flex-direction:column;gap:1rem}.sync-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;display:flex;justify-content:space-between;padding:1rem}.sync-time{color:#7f8c8d;font-size:.875rem}.empty-message{color:#7f8c8d;padding:2rem;text-align:center}.actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;text-align:center;text-decoration:none;transition:transform .3s,box-shadow .3s}.action-card:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.action-icon{font-size:2rem}.status-badge{border-radius:12px;padding:.25rem .75rem;text-transform:uppercase}.status-in_progress{background:#ffffff4d;border:1px solid #ffffff80;color:#fff}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.running-item{align-items:flex-start;flex-direction:column}.running-meta{align-items:flex-start;margin-top:.5rem}}.installations-page{margin:0 auto;max-width:1200px;padding:2rem}.installations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.installation-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 1.5rem}.card-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.card-body{padding:1.5rem}.card-body p{color:#495057;margin:.5rem 0}.unique-id-section{margin:1rem 0}.unique-id-display{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.unique-id-display code{background:#f8f9fa;border-radius:4px;flex:1 1;font-size:.875rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis}.btn-copy{background:#007bff;font-size:1rem;padding:.5rem}.btn-copy:hover{background:#0056b3}.last-sync{color:#6c757d;font-size:.875rem;margin-top:1rem}.card-actions{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:.5rem;padding:1rem 1.5rem}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.installation-details-page{margin:0 auto;max-width:1400px;padding:2rem}.btn-back{margin-bottom:.5rem}.page-header{align-items:flex-start}.header-actions{display:flex;gap:1rem}.configs-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}.config-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .3s,box-shadow .3s}.config-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.config-header{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 1.5rem}.config-header h3{color:#2c3e50;font-size:1.25rem;margin:0 0 .5rem}.last-backup-info{align-items:center;display:flex;font-size:.875rem;gap:.75rem}.mini-status{border-radius:12px;font-weight:500;padding:.25rem .5rem}.mini-status.success{background:#d4edda;color:#155724}.mini-status.failed{background:#f8d7da;color:#721c24}.mini-status.in-progress{background:#d1ecf1;color:#0c5460}.mini-status.initiated{background:#fff3cd;color:#856404}.time-ago{color:#6c757d}.status{border-radius:12px;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.config-body{padding:1.5rem}.description{border-bottom:1px solid #f0f0f0;color:#6c757d;font-style:italic;margin-bottom:1.5rem;padding-bottom:1rem}.config-quick-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{color:#6c757d;font-size:.875rem}.info-value{color:#2c3e50;font-weight:600}.recent-backup-summary{background:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;padding:1rem}.recent-backup-summary h4{color:#2c3e50;font-size:.95rem;margin:0 0 .75rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item span{color:#6c757d;font-size:.875rem}.summary-item strong{color:#2c3e50;font-size:1.1rem}.config-actions{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:.5rem;padding:1rem 1.5rem}.btn{align-items:center;display:inline-flex;font-size:.875rem;gap:.25rem;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:background-color .3s}.btn-primary{background:#667eea}.btn-primary:hover{background:#5568d3}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}@media (max-width:1024px){.configs-list{grid-template-columns:1fr}.page-header{flex-direction:column;gap:1rem}.header-actions{width:100%}}.create-installation-page{margin:0 auto;max-width:800px;padding:2rem}.page-header h1{margin-bottom:.5rem}.page-header p{color:#7f8c8d}.installation-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.required{color:#e74c3c}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group small{color:#7f8c8d;display:block;font-size:.875rem;margin-top:.25rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.modal-overlay{align-items:center;animation:fadeIn .3s;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:2px solid #f0f0f0;padding:2rem 2rem 1rem}.modal-header h2{color:#2c3e50;margin:0}.modal-body{padding:2rem}.modal-footer{padding:1rem 2rem 2rem;text-align:right}.activation-info{text-align:center}.info-text{color:#2c3e50;font-size:1.1rem;margin-bottom:1.5rem}.activation-code-display{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0;padding:2rem}.activation-code{background:#fff3;border-radius:4px;color:#fff;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:2px;padding:.5rem 1rem;word-break:break-all}.btn-copy{background:#fff;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-copy:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.activation-instructions{background:#f8f9fa;border-radius:8px;margin:2rem 0;padding:1.5rem;text-align:left}.activation-instructions h3{color:#2c3e50;margin-top:0}.activation-instructions ol{margin:1rem 0 0;padding-left:1.5rem}.activation-instructions li{color:#495057;line-height:1.6;margin:.75rem 0}.warning-box{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;margin-top:1.5rem;padding:1rem}.warning-box strong{display:block;margin-bottom:.5rem}.create-backup-config-page{margin:0 auto;max-width:1000px;padding:2rem}.backup-config-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-section h2{border-bottom:2px solid #667eea;color:#2c3e50;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{border:none;margin:0;padding:0}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.array-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-bottom:1.5rem;padding:1.5rem}.array-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.array-item-header h3{color:#495057;font-size:1.1rem;margin:0}.form-actions{border-top:2px solid #dee2e6;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}.form-group label input[type=checkbox]{margin-right:.5rem;width:auto}.backup-logs-page{margin:0 auto;max-width:1600px;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#2c3e50;margin:0}.filters{align-items:center;display:flex;gap:1rem}.filters select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.filters select:focus{border-color:#667eea;outline:none}.logs-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;overflow-x:auto}.logs-table table{border-collapse:collapse;min-width:900px;width:100%}.logs-table td,.logs-table th{border-bottom:1px solid #dee2e6;padding:1rem;text-align:left}.logs-table th{background:#f8f9fa;color:#2c3e50;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.logs-table tbody tr{transition:background-color .2s}.logs-table tbody tr:hover{background:#f8f9fa}.schedule-info{color:#6c757d;font-size:.875rem;margin-top:.25rem}.status-badge{border-radius:16px;display:inline-block;font-size:.875rem;font-weight:500;padding:.375rem .75rem;white-space:nowrap}.status-success{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-in_progress{animation:pulse 2s infinite;background:#d1ecf1;color:#0c5460}.status-partial_success{background:#fff3cd;color:#856404}.status-initiated{background:#e2e3e5;color:#383d41}.status-cancelled{background:#f8d7da;color:#721c24;opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.sftp-summary{color:#2c3e50;font-weight:500}.btn-small{background:#667eea;border:none;border-radius:4px;color:#fff;display:inline-block;font-size:.875rem;padding:.375rem .75rem;text-decoration:none;transition:background-color .3s}.btn-small:hover{background:#5568d3}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;padding:2rem 0}.pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:.5rem 1rem;transition:all .3s}.pagination button:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.pagination button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination span{color:#2c3e50;font-weight:500}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:4rem 2rem;text-align:center}.empty-state p{color:#6c757d;font-size:1.25rem;margin-bottom:1.5rem}.loading{align-items:center;color:#7f8c8d;display:flex;font-size:1.25rem;height:400px;justify-content:center}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.logs-table{font-size:.875rem}.logs-table td,.logs-table th{padding:.75rem .5rem}}.backup-log-details-page{margin:0 auto;max-width:1200px;padding:2rem}.btn-back{background:none;border:none;color:#667eea;cursor:pointer;font-size:1rem;margin-bottom:1rem}.btn-back:hover{text-decoration:underline}.log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.log-header h1{margin:0}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.detail-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.detail-section.full-width{grid-column:1/-1}.detail-section h2{border-bottom:2px solid #667eea;color:#2c3e50;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.detail-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:last-child{border-bottom:none}.detail-row span{color:#6c757d}.detail-row strong{color:#2c3e50;text-align:right}.detail-row code{background:#f8f9fa;border-radius:4px;font-size:.875rem;padding:.25rem .5rem}.sftp-results{grid-gap:1rem;display:grid;gap:1rem}.sftp-result{background:#f8f9fa;border-left:4px solid;border-radius:4px;padding:1rem}.sftp-result.sftp-success{border-color:#28a745}.sftp-result.sftp-failed{border-color:#dc3545}.sftp-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.sftp-status{border-radius:12px;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.sftp-status.success{background:#d4edda;color:#155724}.sftp-status.failed{background:#f8d7da;color:#721c24}.sftp-details{color:#495057;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem}.error-section{background:#fff5f5;border:1px solid #feb2b2}.error-text{color:#c53030}.warnings-list{display:flex;flex-direction:column;gap:.75rem}.warning-item{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:4px;display:flex;gap:1rem;padding:.75rem}.warning-time{color:#6c757d;font-size:.875rem;white-space:nowrap}.warning-message{color:#92400e;flex:1 1}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.f4416d0a.css.map*/