@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#080c15;--bg-surface:#0d1525;--bg-card:#111827;--bg-card-hover:#161f30;--bg-elevated:#1c2840;--border:#ffffff12;--border-hover:#ffffff24;--text-primary:#f0f4ff;--text-secondary:#89b;--text-muted:#4a5a7a;--accent:#3b82f6;--accent-hover:#2563eb;--accent-glow:#3b82f640;--green:#22c55e;--green-dim:#22c55e1f;--green-border:#22c55e4d;--yellow:#eab308;--yellow-dim:#eab3081f;--yellow-border:#eab3084d;--red:#ef4444;--red-dim:#ef44441f;--red-border:#ef44444d;--blue:#38bdf8;--blue-dim:#38bdf81f;--purple:#a78bfa;--radius-card:14px;--radius-sm:8px;--radius-pill:999px;--shadow-card:0 4px 24px #0006;--shadow-card-hover:0 8px 40px #00000080;--transition:.2s ease}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(80% 40% at 50% 0,#3b82f614 0%,#0000 60%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.admin-layout{background-color:var(--bg-base);min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#080c15f2;flex-direction:column;flex-shrink:0;width:260px;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border);padding:1.5rem}.sidebar-header .logo{color:var(--text-primary);margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.project-selector{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.5rem .75rem}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex}.nav-item{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-item.active{color:var(--accent);border-right:3px solid var(--accent);background:#3b82f61a}.sidebar-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.user-info{flex-direction:column;font-size:.8rem;display:flex}.user-name{color:var(--text-primary);font-weight:600}.user-email{color:var(--text-muted);font-size:.75rem}.btn-logout{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);background:0 0;border:none;padding:.5rem}.btn-logout:hover{background:var(--red-dim);color:var(--red)}.main-workspace{flex-direction:column;flex:1;min-width:0;display:flex}.top-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#080c15d9;align-items:center;height:64px;padding:0 2rem;display:flex;position:sticky;top:0}.top-header h1{font-size:1.2rem;font-weight:600}.content-container{flex:1;padding:2rem;overflow-y:auto}.dashboard{flex-direction:column;flex:1;display:flex}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.ws-indicator{align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.ws-dot{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.dashboard-content{flex:1}.server-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;display:grid}.server-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);cursor:default;overflow:hidden}.server-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-stripe{height:3px;transition:background var(--transition)}.status-active .card-stripe,.card-stripe.status-active{background:linear-gradient(90deg, var(--green), #16a34a)}.status-shutoff .card-stripe,.card-stripe.status-shutoff{background:linear-gradient(90deg, var(--red), #b91c1c)}.status-suspended .card-stripe,.card-stripe.status-suspended{background:linear-gradient(90deg, var(--blue), #0284c7)}.status-reboot .card-stripe,.card-stripe.status-reboot{background:linear-gradient(90deg, var(--yellow), #ca8a04)}.status-unknown .card-stripe,.card-stripe.status-unknown{background:var(--bg-elevated)}.card-body{padding:1.25rem}.card-header{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:1rem}.card-title-row{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.server-name{color:var(--text-primary);font-size:1.05rem;font-weight:600}.expand-icon{color:var(--text-muted);font-size:.7rem}.card-badges{flex-wrap:wrap;gap:.5rem;display:flex}.badge{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:.4rem;padding:.2rem .65rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-dot{border-radius:50%;width:6px;height:6px}.badge-selectel.status-active{background:var(--green-dim);color:#4ade80;border-color:var(--green-border)}.badge-selectel.status-active .badge-dot{background:#4ade80;animation:2s infinite pulse-glow;box-shadow:0 0 6px #4ade80}.badge-selectel.status-shutoff{background:var(--red-dim);color:#f87171;border-color:var(--red-border)}.badge-selectel.status-shutoff .badge-dot{background:#f87171}.badge-selectel.status-suspended{background:var(--blue-dim);color:var(--blue);border-color:#38bdf84d}.badge-selectel.status-suspended .badge-dot{background:var(--blue)}.badge-selectel.status-reboot{background:var(--yellow-dim);color:#facc15;border-color:var(--yellow-border)}.badge-selectel.status-reboot .badge-dot{background:#facc15;animation:.6s infinite pulse-glow}.badge-selectel.status-unknown{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border)}.badge-selectel.status-unknown .badge-dot{background:var(--text-muted)}.badge-agent.agent-online{color:var(--blue);background:#38bdf81a;border-color:#38bdf84d}.badge-agent.agent-online .badge-dot{background:var(--blue);box-shadow:0 0 6px var(--blue);animation:2s infinite pulse-glow}.badge-agent.agent-offline{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border)}.badge-agent.agent-offline .badge-dot{background:var(--text-muted)}.badge-agent.agent-running{color:var(--purple);background:#a855f71a;border-color:#a855f74d}.badge-agent.agent-running .badge-dot{background:var(--purple);animation:.8s infinite pulse-glow}.badge-agent.agent-error{background:var(--red-dim);color:#f87171;border-color:var(--red-border)}.badge-agent.agent-error .badge-dot{background:#f87171}.card-info{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.info-row{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.82rem;display:flex}.info-label{color:var(--text-muted)}.info-value{color:var(--text-secondary);font-weight:500}.clickable-id{cursor:pointer;transition:color var(--transition)}.clickable-id:hover{color:var(--accent);text-decoration:underline}.mono{color:var(--blue);font-family:JetBrains Mono,monospace;font-size:.8rem}.ragemp-row{background:#22c55e0a;border-radius:4px;padding:.2rem .4rem}.ragemp-active{color:var(--green);font-weight:600}.card-actions{flex-direction:column;gap:.75rem;display:flex}.actions-label-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.actions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.actions-row{flex-wrap:wrap;gap:.5rem;display:flex}.flex-1{flex:1;min-width:0}.mt-2{margin-top:.5rem}.schedule-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:#00000026;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.75rem;animation:.2s ease-out slide-down;display:flex}@keyframes slide-down{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.input-group{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.input-group label{color:var(--text-secondary)}.input-group input[type=time]{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:.15rem .35rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.input-group input[type=time]:focus{border-color:var(--accent);outline:none}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .85rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff1a 0%,#fff0 100%);position:absolute;inset:0}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, #2563eb 100%);color:#fff;box-shadow:0 4px 12px var(--accent-glow), inset 0 1px 0 #fff3;border:1px solid #ffffff1a}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px var(--accent-glow), inset 0 1px 0 #ffffff4d;background:linear-gradient(135deg,#4f46e5 0%,#2563eb 100%);border-color:#fff3;transform:translateY(-1px)}.btn-green{background:var(--green-dim);border-color:var(--green-border);color:#4ade80;box-shadow:inset 0 1px #ffffff0d}.btn-green:hover:not(:disabled){background:#22c55e26;border-color:#22c55e80;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e26,inset 0 1px #ffffff1a}.btn-yellow{background:var(--yellow-dim);border-color:var(--yellow-border);color:#facc15;box-shadow:inset 0 1px #ffffff0d}.btn-yellow:hover:not(:disabled){background:#eab30826;border-color:#eab30880;transform:translateY(-1px);box-shadow:0 4px 12px #eab30826,inset 0 1px #ffffff1a}.btn-red{background:var(--red-dim);border-color:var(--red-border);color:#f87171;box-shadow:inset 0 1px #ffffff0d}.btn-red:hover:not(:disabled){background:#ef444426;border-color:#ef444480;transform:translateY(-1px);box-shadow:0 4px 12px #ef444426,inset 0 1px #ffffff1a}.btn-outline{border-color:var(--border-hover);color:var(--text-secondary);background:#ffffff05}.btn-outline:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-icon{color:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.btn-icon:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-small{padding:.35rem .6rem;font-size:.75rem}.full-width{justify-content:center;width:100%}.card-logs{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.logs-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;font-size:.72rem;font-weight:600}.logs-list{flex-direction:column;gap:.35rem;max-height:200px;display:flex;overflow-y:auto}.logs-list::-webkit-scrollbar{width:4px}.logs-list::-webkit-scrollbar-track{background:0 0}.logs-list::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}.log-entry{background:#ffffff05;border-radius:4px;grid-template-columns:60px 65px 1fr;align-items:start;gap:.5rem;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;display:grid}.log-info{border-left:2px solid var(--blue)}.log-warn{border-left:2px solid var(--yellow)}.log-error{border-left:2px solid var(--red);background:#ef44440d}.log-source,.log-time{color:var(--text-muted);font-size:.7rem}.log-message{color:var(--text-secondary);word-break:break-word}.logs-empty{color:var(--text-muted);font-size:.8rem}.loading-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;display:grid}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.skeleton-stripe{background:linear-gradient(90deg, var(--bg-elevated) 25%, #ffffff0f 50%, var(--bg-elevated) 75%);background-size:200% 100%;height:3px;animation:1.5s infinite shimmer}.skeleton-body{flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--bg-elevated) 25%, #ffffff0f 50%, var(--bg-elevated) 75%);background-size:200% 100%;border-radius:7px;height:14px;animation:1.5s infinite shimmer}.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}.skeleton-line.w-80{width:80%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.empty-icon{opacity:.3;font-size:4rem}.empty-state h2{color:var(--text-primary);font-size:1.5rem}.empty-state p{color:var(--text-secondary);max-width:360px}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.6rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);cursor:pointer;pointer-events:all;align-items:center;gap:.6rem;max-width:360px;padding:.75rem 1.1rem;font-size:.85rem;font-weight:500;animation:.3s toast-in;display:flex;box-shadow:0 8px 32px #0006}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-success{color:#86efac;background:#166534e6;border-color:#22c55e4d}.toast-error{color:#fca5a5;background:#7f1d1de6;border-color:#ef44444d}.toast-warning{color:#fde68a;background:#713f12e6;border-color:#eab3084d}.toast-info{color:#7dd3fc;background:#0c4a6ee6;border-color:#38bdf84d}.toast-icon{font-size:1rem}.auth-container{background:radial-gradient(circle at top,#3b82f61a,#0000 40%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:400px;box-shadow:var(--shadow-card-hover);padding:2rem}.auth-card h2{margin-bottom:.5rem;font-size:1.5rem}.auth-error{background:var(--red-dim);color:#f87171;border:1px solid var(--red-border);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:.75rem;font-size:.85rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-form .input-group{flex-direction:column;align-items:flex-start;gap:.4rem}.auth-form input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:.75rem;font-size:.95rem}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}.auth-footer a{color:var(--accent);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.settings-page{max-width:800px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition);padding:1.5rem}.settings-card:hover{box-shadow:var(--shadow-card-hover)}.settings-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.form-control{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition);padding:.6rem .8rem;font-family:inherit;font-size:.85rem}.form-control:focus{border-color:var(--accent);outline:none}.api-key-box{border-radius:var(--radius-sm);border:1px dashed var(--border);color:var(--green);word-break:break-all;background:#00000040;margin-top:.5rem;padding:.8rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.settings-field{margin-bottom:1rem}.settings-field label{color:var(--text-secondary);margin-bottom:.3rem;font-size:.85rem;display:block}
