@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#07090e;--bg-secondary:#0d111b;--bg-card:#11182799;--border-color:#ffffff0f;--border-hover:#6366f140;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f126;--success:#10b981;--success-bg:#10b98114;--warning:#f59e0b;--warning-bg:#f59e0b14;--danger:#ef4444;--danger-bg:#ef444414;--info:#06b6d4;--info-bg:#06b6d414;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--backdrop-blur:blur(20px);--transition:all .3s cubic-bezier(.4, 0, .2, 1);--radius-lg:16px;--radius-md:12px;--shadow-main:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);background-image:radial-gradient(at 0 0,#6366f11a 0,#0000 50%),radial-gradient(at 100% 100%,#06b6d414 0,#0000 50%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;padding:24px 16px;display:flex}.app-header{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.logo-section{align-items:center;gap:12px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary), var(--info));border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 0 15px #6366f166}.logo-icon svg{fill:#fff;width:22px;height:22px}.logo-title h1{letter-spacing:-.5px;background:linear-gradient(to right, #fff, var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:700}.logo-title p{color:var(--text-secondary);margin-top:2px;font-size:12px}.system-status-indicator{align-items:center;gap:16px;display:flex}.status-badge{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff08;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;position:relative}.status-dot.active{background-color:var(--success);box-shadow:0 0 10px var(--success)}.status-dot.active:after{content:"";background-color:var(--success);border-radius:50%;width:100%;height:100%;animation:1.8s infinite pulse;position:absolute}.status-dot.inactive{background-color:var(--danger);box-shadow:0 0 10px var(--danger)}@keyframes pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.overview-card{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);transition:var(--transition);justify-content:space-between;align-items:flex-start;padding:24px;display:flex;position:relative;overflow:hidden}.overview-card:before{content:"";width:100%;height:2px;transition:var(--transition);background:0 0;position:absolute;top:0;left:0}.overview-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 12px 40px #6366f11a}.overview-card:hover:before{background:linear-gradient(90deg, var(--primary), var(--info))}.card-info{flex-direction:column;gap:8px;display:flex}.card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.card-subtext{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.growth-text{font-weight:600}.growth-text.up{color:var(--success)}.growth-text.down{color:var(--danger)}.card-icon-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);width:48px;height:48px;color:var(--primary);transition:var(--transition);background:#ffffff05;justify-content:center;align-items:center;display:flex}.overview-card:hover .card-icon-wrapper{background:var(--primary-glow);color:#fff;border-color:var(--primary)}.control-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.control-group{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.delay-selector{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;align-items:center;gap:10px;padding:4px 6px;display:flex}.delay-label{color:var(--text-secondary);padding-left:6px;font-size:13px;font-weight:500}.delay-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;padding:6px 12px;font-size:13px;font-weight:600}.delay-select option{background:var(--bg-secondary);color:var(--text-primary)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:1px solid #0000;outline:none;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-primary);border-color:var(--border-color);background:#ffffff08}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff14;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.chart-section{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);flex-direction:column;gap:16px;min-height:380px;padding:24px;display:flex}.chart-title{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.chart-container-wrapper{flex-grow:1;width:100%;height:300px}.status-summary-card{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);flex-direction:column;gap:20px;padding:24px;display:flex}.status-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.status-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;align-items:center;gap:14px;padding:16px;display:flex}.status-item-info{flex-direction:column;display:flex}.status-item-label{color:var(--text-secondary);font-size:12px}.status-item-value{font-size:20px;font-weight:700}.status-icon-box{border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.status-icon-box.online{background:var(--success-bg);color:var(--success)}.status-icon-box.offline{background:var(--danger-bg);color:var(--danger)}.status-icon-box.stuck{background:var(--warning-bg);color:var(--warning)}.status-icon-box.token{background:var(--info-bg);color:var(--info)}.table-section{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);flex-direction:column;gap:18px;padding:24px;display:flex}.table-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.search-wrapper{width:320px;position:relative}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:var(--transition);background:#ffffff05;outline:none;padding:10px 16px 10px 40px;font-size:13px}.search-input:focus{border-color:var(--primary);background:#ffffff0a;box-shadow:0 0 10px #6366f11a}.search-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.filter-group{gap:8px;display:flex}.filter-btn{border-radius:var(--radius-md);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition);background:0 0;padding:8px 14px;font-size:12px;font-weight:600}.filter-btn:hover{background:#ffffff08}.filter-btn.active{background:var(--primary-glow);color:#fff;border-color:var(--primary)}.table-responsive{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;background:#ffffff05;padding:14px 16px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:14px 16px}.data-table tbody tr{transition:var(--transition)}.data-table tbody tr:hover{background:#ffffff03}.badge{text-transform:uppercase;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge.badge-online{background:var(--success-bg);color:var(--success)}.badge.badge-offline{background:var(--danger-bg);color:var(--danger)}.badge.badge-stuck{background:var(--warning-bg);color:var(--warning)}.badge.badge-token{background:var(--info-bg);color:var(--info)}.badge.badge-unknown{color:var(--text-muted);background:#ffffff0d}.spinner{animation:2s linear infinite rotate;display:inline-block}@keyframes rotate{to{transform:rotate(360deg)}}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-danger{color:var(--danger)!important}.text-muted{color:var(--text-muted)!important}.font-semibold{font-weight:600}.font-bold{font-weight:700}.empty-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex}.empty-state svg{width:48px;height:48px;stroke:var(--text-muted)}
