.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column}.sidebar-title{padding:0 20px 20px;font-size:18px;font-weight:700;border-bottom:1px solid var(--border);margin-bottom:10px}.sidebar-nav{list-style:none;flex:1}.sidebar-nav li{padding:12px 20px;cursor:pointer;color:var(--text-secondary);transition:all .2s;border-left:3px solid transparent}.sidebar-nav li:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-nav li.active{background:var(--bg-card);color:var(--accent);border-left-color:var(--accent)}.sidebar-status{padding:15px 20px;border-top:1px solid var(--border);font-size:13px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-dot.running{background:var(--green)}.status-dot.stopped{background:var(--red)}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #22c55e99}50%{opacity:.5;box-shadow:0 0 0 4px #22c55e00}}.main-content{flex:1;padding:24px;overflow-y:auto;max-height:100vh}.page-title{font-size:22px;font-weight:600;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.stat-card .label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.stat-card .value{font-size:20px;font-weight:600}.stat-card .value.green{color:var(--green)}.stat-card .value.red{color:var(--red)}.stat-card .value.orange{color:var(--orange)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.card-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-secondary)}table{width:100%;border-collapse:collapse;font-size:13px}table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:500}table td{padding:8px 12px;border-bottom:1px solid var(--border)}table tr:hover{background:#ffffff05}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:opacity .2s}.btn:hover{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-green{background:var(--green);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-orange{background:var(--orange);color:#000}.btn-blue{background:var(--accent);color:#fff}.btn-group{display:flex;gap:8px;margin-bottom:16px}input[type=number],input[type=text],input[type=password],select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:6px;font-size:13px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.form-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.log-container{max-height:300px;overflow-y:auto;font-size:12px;font-family:monospace}.log-entry{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03)}.log-entry .time{color:var(--text-secondary);margin-right:8px}.log-entry.ERROR{color:var(--red)}.log-entry.WARNING{color:var(--yellow)}.progress-bar{background:var(--bg-primary);border-radius:4px;height:20px;overflow:hidden;margin-bottom:8px}.progress-bar .fill{height:100%;background:var(--accent);transition:width .3s;border-radius:4px}.progress-info{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.filled{background:#22c55e1a}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d26;--bg-card: #1e2130;--border: #2a2d3a;--text-primary: #e1e4ea;--text-secondary: #8b8fa3;--accent: #3b82f6;--green: #22c55e;--red: #ef4444;--orange: #f59e0b;--yellow: #eab308}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
