:root{--bg-body:#161920;--bg-sidebar:#232936;--bg-sidebar-hover:#2d3545;--bg-card:#1e232d;--border-color:#323a4a;--text-main:#f8f9fa;--text-muted:#8b949e;--accent-red:#f33a4c;--accent-blue:#2f81f7;--color-online:#2ea043;--color-offline:#f33a4c}body{background-color:var(--bg-body);color:var(--text-main);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}.app-layout{width:100vw;height:100vh;display:flex}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:260px;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px;display:flex}.sidebar-header h3{margin:0;font-size:18px;font-weight:600}.nav-list{flex:1;margin:0;padding:10px 0;list-style:none;overflow-y:auto}.nav-item{cursor:pointer;color:#b0bac5;border-left:4px solid #0000;align-items:center;gap:15px;padding:12px 20px;font-weight:500;transition:background .2s,color .2s;display:flex}.nav-item:hover{background-color:var(--bg-sidebar-hover);color:var(--text-main)}.nav-item.active{background-color:var(--bg-sidebar-hover);color:var(--text-main);border-left-color:var(--accent-red)}.main-content{flex:1;padding:30px;overflow-y:auto}.view-title{border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:20px;padding-bottom:10px}.console-output{color:#0f0;white-space:pre-wrap;border:1px solid var(--border-color);background-color:#0d1117;border-radius:5px;height:calc(100vh - 250px);padding:15px;font-family:monospace;overflow-y:auto}.btn{color:#fff;cursor:pointer;border:none;border-radius:5px;padding:10px 15px;font-weight:700}.btn-start{background-color:var(--color-online)}.btn-stop{background-color:var(--color-offline)}.command-form{gap:10px;margin-top:15px;display:flex}.command-input{border:1px solid var(--border-color);color:#fff;background-color:#0d1117;border-radius:5px;flex:1;padding:12px}.btn-send{background-color:var(--accent-blue);padding:12px 25px}.data-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:15px;padding:20px}.backup-list{margin:0;padding:0;list-style:none}.backup-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px;transition:background-color .2s;display:flex}.backup-item:last-child{border-bottom:none}.backup-item:hover{background-color:#232936}.backup-info{flex-direction:column;gap:5px;display:flex}.backup-date{color:var(--text-main);font-size:16px;font-weight:500}.backup-size{color:var(--text-muted);font-size:12px}.btn-download{background-color:var(--btn-secondary);text-decoration:none;display:inline-block}.login-wrapper{background-color:var(--bg-body);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-form{background-color:var(--bg-card);text-align:center;border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:320px;padding:40px;box-shadow:0 8px 32px #0006}.login-form h2{color:var(--text-main);margin-top:0;margin-bottom:25px;font-size:22px}.login-input{box-sizing:border-box;width:100%;color:var(--text-main);border:1px solid var(--border-color);background-color:#0d1117;border-radius:6px;outline:none;margin-bottom:20px;padding:12px 15px;font-size:15px;transition:border-color .2s}.login-input:focus{border-color:var(--accent-blue)}.btn-primary{background-color:var(--accent-blue);border-radius:6px;width:100%;padding:12px;font-size:15px;transition:background-color .2s}.btn-primary:hover{background-color:#1f6feb}.btn-logout{background-color:var(--bg-sidebar);color:var(--text-muted);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-logout:hover{background-color:var(--bg-sidebar-hover);color:var(--text-main)}.status-container{align-items:center;gap:15px;margin-bottom:25px;display:flex}.status-label{color:var(--text-muted);font-size:16px}.status-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700}.status-badge.online{color:#3fb950;background-color:#2ea04326;border:1px solid #2ea0434d}.status-badge.offline{color:#ff6a7a;background-color:#f33a4c26;border:1px solid #f33a4c4d}
