body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background:linear-gradient(135deg,#23272f,#2c313a);font-family:Vazirmatn,IRANSans,Roboto,Arial,sans-serif;margin:0;min-height:100vh}.login-container{align-items:center;background:#232323;border-radius:18px;box-shadow:0 6px 32px 0 #2222222e;display:flex;flex-direction:column;margin:80px auto;max-width:400px;padding:2.5rem 2rem 2rem}.login-container h2{color:#61dafb;font-size:2rem;font-weight:700;letter-spacing:1px;margin-bottom:1.7rem}.login-container form{display:flex;flex-direction:column;gap:1.2rem;width:100%}.login-container label{color:#bfc9d1;display:block;font-size:1rem;font-weight:500;margin-bottom:.4rem}.login-container input{background:#222;border:none;border-radius:8px;color:#fff;font-size:1rem;outline:none;padding:.7rem 1rem;transition:box-shadow .2s;width:100%}.login-container input:focus{box-shadow:0 0 0 2px #61dafb}.login-container .error{background:#2c1a1a;border-radius:6px;color:#ff4d4f;font-size:.95rem;margin-bottom:.5rem;padding:.5rem 1rem}.login-container button[type=submit]{background:linear-gradient(90deg,#61dafb,#4f8cff);border:none;border-radius:8px;color:#23272f;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding:.8rem 0;transition:background .2s,color .2s}.login-container button[type=submit]:hover{background:linear-gradient(90deg,#4f8cff,#61dafb);color:#fff}.settings-modal-overlay{align-items:center;background:#222222bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{animation:modalIn .2s cubic-bezier(.4,1.6,.6,1) 1;background:#232323;border-radius:18px;box-shadow:0 8px 40px 0 #22222238;max-width:520px;min-width:380px;padding:2.5rem 2.5rem 2rem;position:relative;width:100%}.settings-title{color:#61dafb;font-size:2rem;font-weight:700;margin-bottom:1.7rem;text-align:center}.settings-form{display:flex;flex-direction:column;gap:1.2rem;width:100%}.settings-form-grid{grid-gap:1.2rem 2rem;display:grid;gap:1.2rem 2rem;grid-template-columns:1fr 1fr}.settings-form-group{display:flex;flex-direction:column;gap:.4rem}.settings-form-group label{color:#bfc9d1;font-size:1rem;font-weight:500}.settings-form-group input,.settings-form-group select{background:#222;border:none;border-radius:8px;color:#fff;font-size:1rem;outline:none;padding:.7rem 1rem;transition:box-shadow .2s;width:100%}.settings-form-group input:focus,.settings-form-group select:focus{box-shadow:0 0 0 2px #61dafb}.settings-switch{align-items:center!important;flex-direction:row!important;gap:.7rem!important;margin-top:.5rem}.settings-form-btn{background:linear-gradient(90deg,#61dafb,#4f8cff);border:none;border-radius:8px;color:#23272f;cursor:pointer;font-size:1.1rem;font-weight:600;grid-column:span 2;margin-top:.5rem;padding:.8rem 0;transition:background .2s,color .2s}.settings-form-btn:hover{background:linear-gradient(90deg,#4f8cff,#61dafb);color:#fff}@media (max-width:700px){.settings-modal{min-width:0;min-width:auto;padding:1.2rem .5rem}.settings-form-grid{gap:1rem;grid-template-columns:1fr}.settings-form-btn{grid-column:span 1}}.dashboard-container{align-items:stretch;background:#222;border-radius:24px;box-shadow:0 8px 40px 0 #00000038;box-sizing:border-box;display:flex;flex-direction:column;margin:40px auto 0;max-width:1200px;min-height:700px;padding:2.5rem 2.5rem 2rem;width:100%}body{overflow-x:hidden}.main-header{box-sizing:border-box;min-width:0;min-width:auto}.dashboard-container h2{font-size:2.1rem;margin-bottom:2rem}.dashboard-container h2,.dashboard-container h3{color:#61dafb;font-weight:700;letter-spacing:1px}.dashboard-container h3{font-size:1.3rem;margin-bottom:1.5rem}.dashboard-table-wrapper{overflow-x:auto;width:100%}.dashboard-table{background:#232323;border-collapse:initial;border-radius:18px;border-spacing:0;box-shadow:0 4px 24px 0 #2222222e;margin-bottom:2rem;overflow:hidden;width:100%}.dashboard-table td,.dashboard-table th{padding:1rem .7rem;text-align:center}.dashboard-table th{background:linear-gradient(90deg,#232323 60%,#222);border-bottom:2px solid #222;color:#4f8cff;font-size:1.08rem;font-weight:700;letter-spacing:.5px;padding:1.1rem .7rem;text-align:center}.dashboard-table td{background:#232323;border-bottom:1px solid #232;color:#e3e8ef;font-size:1.01rem;padding:1rem .7rem;text-align:center}.dashboard-table td,.dashboard-table tr{transition:background .2s}.dashboard-table tr:hover td{background:#232f4b;color:#fff}.dashboard-table tr:nth-child(2n) td{background:#23262b}.dashboard-table tr:last-child td{border-bottom:none}.dashboard-stats{display:flex;gap:2.5rem;justify-content:flex-start;margin-bottom:2.5rem;padding:0 .5rem;width:100%}.dashboard-stat{align-items:flex-start;background:linear-gradient(120deg,#222 60%,#232323);border:1.5px solid #232323;border-radius:18px;box-shadow:0 4px 24px 0 #0000002e;display:flex;flex:none;flex-direction:column;min-width:220px;overflow:hidden;padding:1.7rem 1.5rem 1.3rem;position:relative;transition:box-shadow .2s,border .2s}.dashboard-stat:hover{border:1.5px solid #61dafb;box-shadow:0 8px 32px 0 #61dafb1a}.stat-label{color:#bfc9d1;font-size:1.08rem;font-weight:500;letter-spacing:.5px;margin-bottom:.7rem}.stat-value{color:#61dafb;font-size:2.3rem;font-weight:800;letter-spacing:1px;margin-bottom:.2rem}.dashboard-ftp{max-width:320px;min-width:260px}.ftp-status-list{gap:.5rem;margin-top:.7rem}.ftp-status,.ftp-status-list{display:flex;flex-direction:column;width:100%}.ftp-status{align-items:flex-start;background:#222;border-left:5px solid #61dafb;border-radius:10px;box-shadow:0 2px 8px 0 #0000001a;color:#fff;font-size:1.08rem;margin-bottom:.3rem;padding:.6rem 1rem .8rem;transition:border .2s}.ftp-status.online{background:#1e3a2a;border-left:5px solid #4fffa3;color:#4fffa3}.ftp-status.offline{background:#3a1e1e;border-left:5px solid #ff4d4f;color:#ff4d4f}.ftp-status strong{color:#61dafb;font-size:1.1rem;margin-bottom:.2rem}.ftp-meta{color:#bfc9d1;font-size:1rem;margin-left:.2rem;margin-top:.15rem}.ftp-meta span{color:#fff;font-weight:600}.loading-spinner{align-items:center;display:flex;height:120px;justify-content:center;width:100%}.loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #232323;border-radius:50%;border-top-color:#61dafb;height:38px;width:38px}.loading-spinner .loading-text{color:#61dafb;font-size:1.1rem;font-weight:600;letter-spacing:1px;margin-left:1.2rem}.ftp-form{background:#232323;border-radius:16px;box-shadow:0 2px 16px 0 #22222221;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:900px;padding:2rem 2.5rem 1.5rem}.ftp-form h3{margin-bottom:1.5rem}.ftp-form-grid{grid-gap:1.5rem 2rem;display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.ftp-form-group{display:flex;flex-direction:column;gap:.5rem}.ftp-form-group label{color:#bfc9d1;font-size:1rem;font-weight:500;margin-bottom:.2rem}.ftp-form-group input{background:#222;border:none;border-radius:8px;color:#fff;font-size:1rem;outline:none;padding:.7rem 1rem;transition:box-shadow .2s}.ftp-form-group input:focus{box-shadow:0 0 0 2px #61dafb}.ftp-form-btn{background:linear-gradient(90deg,#61dafb,#4f8cff);border:none;border-radius:8px;box-shadow:0 2px 8px 0 #61dafb14;color:#23272f;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:2rem;padding:.9rem 2.5rem;transition:background .2s,color .2s}.ftp-form-btn:hover{background:linear-gradient(90deg,#4f8cff,#61dafb);color:#fff}.ftp-add-btn{background:linear-gradient(90deg,#61dafb,#4f8cff);border:none;border-radius:8px;box-shadow:0 2px 8px 0 #61dafb14;color:#23272f;cursor:pointer;font-size:1.1rem;font-weight:700;margin-bottom:2.2rem;padding:.8rem 2.2rem;transition:background .2s,color .2s}.ftp-add-btn:hover{background:linear-gradient(90deg,#4f8cff,#61dafb);color:#fff}.ftp-modal-overlay{align-items:center;background:#222222bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ftp-modal{animation:modalIn .2s cubic-bezier(.4,1.6,.6,1) 1;background:#232323;border-radius:18px;box-shadow:0 8px 40px 0 #22222238;max-width:520px;min-width:380px;padding:2.5rem 2.5rem 2rem;position:relative;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.main-header{background:#222;border-bottom:1.5px solid #232323;box-shadow:0 2px 16px 0 #00000021;height:74px;justify-content:space-between;padding:0 2.5rem;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.header-left,.main-header{align-items:center;display:flex}.header-left{gap:1.5rem}.header-logo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#61dafb 30%,#4f8cff);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2rem;font-weight:900;letter-spacing:2px}.header-nav{display:flex;gap:.8rem;margin-left:2.5rem}.header-link{border-radius:8px;color:#bfc9d1;font-size:1.08rem;font-weight:600;padding:.5rem 1.1rem;position:relative;text-decoration:none;transition:background .2s,color .2s}.header-link:hover{background:#232323;color:#61dafb}.header-link.active{background:#61dafb;color:#222;font-weight:800}.header-dropdown{transition:background .2s,color .2s!important}.header-dropdown:hover{background:#232323!important;color:#61dafb!important}.header-dropdown.active{background:#61dafb!important;color:#222!important;font-weight:800}.header-user{background:#232323;border-radius:6px;color:#bfc9d1;font-size:1.05rem;font-weight:500;gap:.7rem;margin-left:1.5rem;padding:.4rem 1rem}.header-avatar,.header-user{align-items:center;display:flex}.header-avatar{background:#61dafb;border-radius:50%;color:#222;font-size:1.1rem;font-weight:800;height:32px;justify-content:center;width:32px}.dc-btn-cancel{background:#2c313a;border:1px solid #3a4252;border-radius:8px;color:#bfc9d1;font-weight:600;margin-right:8px;min-width:100px;transition:background .2s,color .2s}.dc-btn-cancel:hover{background:#23272f;color:#61dafb}.dc-btn-submit{background:linear-gradient(90deg,#61dafb,#4f8cff);border:none;border-radius:8px;color:#23272f;font-weight:600;min-width:100px;transition:background .2s,color .2s}.dc-btn-submit:hover{background:linear-gradient(90deg,#4f8cff,#61dafb);color:#181b23}.dc-status-pill{align-items:center;border-radius:16px;box-shadow:0 2px 8px 0 #38f9d733;display:inline-flex;font-size:14px;font-weight:700;height:32px;justify-content:center;letter-spacing:.5px;margin:0 auto;padding:0 18px;text-align:center}.dc-status-pill .dc-status-dot{border-radius:50%;box-shadow:0 0 6px currentColor;height:8px;margin-right:8px;width:8px}.dc-status-active{background:linear-gradient(90deg,#43e97b,#38f9d7);color:#181b23}.dc-status-active .dc-status-dot{background:#000;color:#000}.dc-status-inactive{background:linear-gradient(90deg,#ff5858,#f09819);box-shadow:0 2px 8px 0 #ff585833;color:#fff}.dc-status-inactive .dc-status-dot{background:#000;color:#000}
/*# sourceMappingURL=main.c53e3d03.css.map*/