@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-dark:#000;--bg-card:#0c0c0c;--bg-card-hover:#141414;--bg-input:#000c;--text-primary:#f1f5f9;--text-secondary:#a1a1aa;--text-muted:#52525b;--accent-blue:#f97316;--accent-blue-hover:#ea580c;--accent-blue-glow:#f9731640;--accent-green:#10b981;--accent-green-hover:#059669;--accent-green-glow:#10b98140;--accent-red:#ef4444;--accent-red-hover:#dc2626;--accent-yellow:#f59e0b;--accent-yellow-hover:#d97706;--accent-purple:#eab308;--accent-orange:#f97316;--border-color:#ffffff14;--border-glow:#f9731626;--glass-bg:#0c0c0cb3;--glass-border:#ffffff1a;--bg-color:#000}[data-theme=light]{--bg-dark:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#f1f5f9e6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#0000001a;--border-glow:#f9731633;--glass-bg:#ffffffd9;--glass-border:#00000014;--bg-color:#f1f5f9}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;transition:border-color .3s}.glass-panel:hover{border-color:var(--border-glow)}.app-container{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--bg-card) 0%, var(--bg-dark) 100%);border-right:1px solid var(--border-color);flex-direction:column;width:260px;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.75rem;padding:1.5rem;font-size:1.2rem;font-weight:800;display:flex}.sidebar-header svg{color:var(--accent-blue);-webkit-text-fill-color:initial}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem;display:flex}.nav-item{color:var(--text-secondary);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--text-primary);background-color:#f9731614;transform:translate(4px)}.nav-item.active{color:var(--accent-blue);background:linear-gradient(135deg,#f9731626,#eab3081a);font-weight:600;box-shadow:0 0 20px #f9731614}.sidebar-footer{border-top:1px solid var(--border-color);color:var(--text-muted);align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.75rem;display:flex}.ws-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.ws-indicator.connected{background-color:var(--accent-green);box-shadow:0 0 8px var(--accent-green-glow);animation:2s infinite pulse-green}.ws-indicator.disconnected{background-color:var(--accent-red)}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.5}}.main-content{flex:1;max-height:100vh;padding:2rem 2.5rem;overflow-y:auto}.header-title{letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.75rem;font-size:1.75rem;font-weight:800}.header-subtitle{color:var(--text-secondary);margin-top:-1rem;margin-bottom:1.5rem;font-size:.9rem}.search-config{grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;margin-bottom:1.5rem;display:grid}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.input-field{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;outline:none;padding:.7rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;transition:all .2s}.input-field:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-field::placeholder{color:var(--text-muted)}.btn-group{flex-wrap:wrap;gap:.75rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), var(--accent-blue-hover));color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-blue-glow)}.btn-success{background:linear-gradient(135deg, var(--accent-green), var(--accent-green-hover));color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-green-glow)}.btn-warning{background:linear-gradient(135deg, var(--accent-yellow), var(--accent-yellow-hover));color:#fff}.btn-danger{background:linear-gradient(135deg, var(--accent-red), var(--accent-red-hover));color:#fff}.btn-ghost{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0a}.btn-sm{border-radius:8px;padding:.4rem .75rem;font-size:.8rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:14px;padding:1.25rem;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-accent,var(--accent-blue));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:#ffffff1a;transform:translateY(-2px)}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto .75rem;display:flex}.stat-value{color:var(--stat-accent,var(--accent-green));letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:.25rem 0;font-size:2rem;font-weight:800}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:600}.status-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.status-badge.RUNNING{color:var(--accent-green);background:#10b98126}.status-badge.PAUSED{color:var(--accent-yellow);background:#f59e0b26}.status-badge.STOPPED{color:var(--accent-red);background:#ef444426}.status-badge.COMPLETED{color:var(--accent-blue);background:#3b82f626}.status-text{color:var(--text-secondary);flex:1;font-size:.85rem}.progress-bar-container{background:var(--border-color);border-radius:2px;height:3px;margin-bottom:1.5rem;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-blue), var(--accent-purple), var(--accent-blue));background-size:200% 100%;border-radius:2px;height:100%;transition:width .3s;animation:2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.filter-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;outline:none;width:280px;padding:.5rem 1rem .5rem 2.25rem;font-family:Inter,sans-serif;font-size:.85rem;transition:all .2s}.filter-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.filter-wrapper{display:inline-block;position:relative}.filter-wrapper svg{color:var(--text-muted);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.data-table-container{border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;border-spacing:0}.data-table th{text-align:left;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);background:var(--glass-bg);z-index:1;vertical-align:top;padding:0;position:sticky;top:0}.data-table th:last-child{border-right:none}.th-resizer{flex-direction:column;height:100%;padding:.75rem 1rem;display:flex;position:relative;overflow:hidden}.resizer-handle{cursor:col-resize;z-index:10;background-color:#0000;width:5px;height:100%;transition:background-color .2s;position:absolute;top:0;right:0}.resizer-handle:hover,.resizer-handle:active{background-color:var(--accent-blue)}.th-resizer span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;margin-bottom:.5rem;font-size:.7rem;font-weight:700}.col-filter-input{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;width:100%;padding:4px 8px;font-family:Inter,sans-serif;font-size:.75rem;transition:all .2s}.col-filter-input:focus{border-color:var(--accent-blue)}.data-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ffffff08;border-right:1px solid #ffffff08;padding:.75rem 1rem;font-size:.9rem;overflow:hidden}.data-table td:last-child{border-right:none}.data-table tr{transition:background-color .15s}.data-table tbody tr:hover{background-color:#3b82f60a}.data-table .empty-row td{text-align:center;color:var(--text-muted);padding:3rem 2rem;font-size:.9rem}.profile-cell{flex-direction:column;gap:.15rem;display:flex}.profile-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.profile-link{color:var(--accent-blue);opacity:.8;align-items:center;gap:.25rem;font-size:.8rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.profile-link:hover{opacity:1;text-decoration:underline}.contact-item{align-items:center;gap:.4rem;margin-bottom:.2rem;display:inline-flex}.contact-link{color:var(--text-primary);font-size:.85rem;text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--accent-blue)}.city-badge{color:var(--accent-purple);background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8rem;display:inline-flex}.snippet-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;cursor:help;max-width:280px;font-size:.78rem;overflow:hidden}.tooltip-container{position:relative}select,select option{background-color:var(--bg-card)!important;color:var(--text-primary)!important}input[type=datetime-local],input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tooltip-content{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);z-index:100;white-space:pre-wrap;word-break:break-word;border-radius:10px;width:350px;max-height:200px;padding:.75rem 1rem;font-size:.8rem;display:none;position:absolute;bottom:100%;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 32px #0006}.tooltip-container:hover .tooltip-content{display:block}.pagination{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.page-info{color:var(--text-secondary);font-size:.85rem;font-weight:500}.link{color:var(--accent-blue);text-decoration:none;transition:all .2s}.link:hover{opacity:.9;text-decoration:underline}.history-grid{flex-direction:column;gap:.75rem;display:flex}.history-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;transition:all .2s;display:grid}.history-card:hover{border-color:var(--border-glow);transform:translateY(-1px);box-shadow:0 4px 20px #0003}.history-card-info h3{margin-bottom:.25rem;font-size:1rem;font-weight:700}.history-card-info .meta{color:var(--text-muted);gap:1rem;font-size:.8rem;display:flex}.history-card-stat{text-align:center}.history-card-stat .value{color:var(--accent-green);font-size:1.5rem;font-weight:800}.history-card-stat .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.search-config{grid-template-columns:1fr}}@media (width<=768px){.sidebar{display:none}.main-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.history-card{grid-template-columns:1fr;gap:.75rem}}
