@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&family=Inter:wght@400;500;600&display=swap";:root{--bg-main:#090b0a;--panel-bg:#111413;--panel-accent-bg:#181c1a;--panel-border:#ffffff14;--card-bg:#151917;--input-bg:#0e1110;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--melinoe-primary:#10b981;--melinoe-hover:#059669;--melinoe-glow:#10b98126;--melinoe-glow-strong:#10b98159;--melinoe-gradient:linear-gradient(135deg, #34d399 0%, #059669 100%);--danger:#ef4444;--danger-hover:#dc2626;--online-dot:#10b981;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{height:100svh;color:var(--text-main);background:var(--bg-main);margin:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}#root{flex-direction:column;height:100svh;display:flex}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-family:Outfit,sans-serif;font-weight:500}h1{color:var(--text-main);font-size:1.5rem}h2{color:var(--text-main);font-size:1.25rem}p{margin:0}.dashboard-layout{background:var(--bg-main);width:100%;height:100vh;display:flex}.sidebar{background:var(--panel-bg);border-right:1px solid var(--panel-border);z-index:10;flex-direction:column;width:260px;display:flex}.sidebar-header{border-bottom:1px solid var(--panel-border);padding:1.5rem}.sidebar-header h2{background:var(--melinoe-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:600;display:flex}.brand-subtitle{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;font-size:.75rem;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.nav-item{color:var(--text-secondary);border-radius:.35rem;padding:.6rem .8rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s}.nav-item:hover{background:var(--panel-accent-bg);color:var(--text-main)}.sidebar-footer{border-top:1px solid var(--panel-border);background:var(--panel-accent-bg);justify-content:space-between;align-items:center;padding:1rem;display:flex}.user-profile-wrapper{align-items:center;gap:.75rem;display:flex;overflow:hidden}.user-avatar{background:var(--input-bg);object-fit:cover;border-radius:50%;width:36px;height:36px}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);font-size:.75rem}.logout-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.35rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.logout-icon-btn:hover{color:var(--danger);background:#ef44441a}.main-area{flex-direction:column;flex:1;display:flex;position:relative}.topbar{border-bottom:1px solid var(--panel-border);background:var(--bg-main);justify-content:space-between;align-items:center;height:65px;padding:0 2rem;display:flex}.content-scroll{flex-direction:column;flex:1;gap:2rem;padding:2rem;display:flex;overflow-y:auto}.panel{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:.75rem;padding:1.5rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--panel-border);border-radius:.5rem;padding:1.25rem;transition:border-color .2s}.stat-card:hover{border-color:var(--melinoe-glow-strong)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.stat-value{background:var(--melinoe-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:600}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.search-wrap{flex-direction:column;flex:1;gap:.4rem;min-width:200px;display:flex}.search-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.search-wrap input,.search-wrap select,.inline-input{border:1px solid var(--panel-border);background:var(--input-bg);height:2.4rem;color:var(--text-main);border-radius:.35rem;padding:0 .75rem;font-family:Inter,sans-serif;font-size:.85rem;transition:border-color .2s}.search-wrap input:focus,.search-wrap select:focus,.inline-input:focus{border-color:var(--melinoe-primary);outline:none}.discord-select-wrapper{width:100%;position:relative}.discord-select-trigger{border:1px solid var(--panel-border);background:var(--input-bg);width:100%;height:2.4rem;color:var(--text-main);text-align:left;cursor:pointer;border-radius:.35rem;justify-content:space-between;align-items:center;padding:0 .75rem;font-size:.85rem;display:flex}.discord-select-trigger:hover{border-color:#fff3}.discord-select-value{align-items:center;gap:.5rem;display:flex}.discord-select-popover{z-index:50;background:#2b2d31;border:1px solid #1e1f22;border-radius:.5rem;flex-direction:column;width:100%;min-width:260px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0006}.discord-select-search{background:#2b2d31;border-bottom:1px solid #0003;padding:.75rem}.discord-select-search input{color:#dbdee1;background:#1e1f22;border:none;border-radius:.25rem;width:100%;padding:.5rem .75rem;font-size:.85rem}.discord-select-search input:focus{outline:none}.discord-select-list{max-height:200px;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.discord-select-item{cursor:pointer;color:#949ba4;border-radius:.25rem;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.discord-select-item:hover{color:#dbdee1;background:#35373c}.discord-icon{color:#80848e;font-family:monospace;font-size:1rem}.discord-select-item:hover .discord-icon{color:#dbdee1}.primary-button{cursor:pointer;color:#fff;background:var(--melinoe-primary);border:none;border-radius:.35rem;height:2.4rem;padding:0 1rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:background .2s}.primary-button:hover:not(:disabled){background:var(--melinoe-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.5}.danger-button{background:var(--danger)}.danger-button:hover:not(:disabled){background:var(--danger-hover)}.users-grouped{flex-direction:column;gap:1.5rem;display:flex}.region-group-title{color:var(--text-secondary);margin:0 0 .75rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500}.user-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.user-card{border:1px solid var(--panel-border);background:var(--card-bg);border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.85rem;display:flex}.user-card-header{align-items:center;gap:.5rem;display:flex}.user-dot{background:var(--online-dot);width:6px;height:6px;box-shadow:0 0 8px var(--melinoe-primary);border-radius:50%}.username{color:var(--text-main);font-size:.9rem;font-weight:500}.user-meta{color:var(--text-muted);padding-left:.9rem;font-size:.8rem}.viewer-line{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.meta-line{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.collapsible{border:1px solid var(--panel-border);background:var(--card-bg);border-radius:.5rem;margin-bottom:.75rem;transition:border-color .2s}.collapsible[open]{border-color:var(--melinoe-glow-strong)}.collapsible-summary{cursor:pointer;border-bottom:1px solid #0000;border-left:2px solid #0000;border-radius:.5rem;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:all .2s;display:flex}.collapsible[open] .collapsible-summary{border-bottom-color:var(--panel-border);background:var(--panel-accent-bg);border-left:2px solid var(--melinoe-primary);border-radius:.5rem .5rem 0 0}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-title{color:var(--text-main);font-size:.95rem;font-weight:500}.collapsible-subtitle{color:var(--text-muted);border-left:1px solid var(--panel-border);padding-left:.5rem;font-size:.8rem}.collapsible-content{padding:1rem}.discord-select-category{color:#949ba4;text-transform:uppercase;letter-spacing:.05em;padding:.75rem .75rem .25rem;font-size:.7rem;font-weight:700}.discord-select-avatar{background:var(--input-bg);object-fit:cover;border-radius:50%;flex-shrink:0;width:20px;height:20px}.control-grid{border:1px solid var(--panel-border);background:var(--panel-accent-bg);border-radius:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;display:grid}.control-span-2{grid-column:span 2}.group-title{color:var(--text-main);border-bottom:1px solid var(--panel-border);margin:0 0 .75rem;padding-bottom:.4rem;font-size:.95rem;font-weight:500}.action-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.tiny-button{border:1px solid var(--panel-border);cursor:pointer;color:var(--text-main);background:var(--panel-bg);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:all .2s}.tiny-button:hover{background:var(--panel-accent-bg)}.winner-tag{background:var(--melinoe-glow);border-color:var(--melinoe-glow-strong);color:var(--melinoe-primary)}.winner-tag:hover{border-color:var(--melinoe-primary);color:var(--text-main);background:#10b98140}.tiny-button.danger{color:var(--danger);border-color:#ef44444d}.tiny-button.danger:hover{background:#ef44441a}.status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600;display:inline-flex}.status-processing{color:#fcd34d;background:#f59e0b26}.status-completed{background:var(--melinoe-glow);color:var(--melinoe-primary)}.status-failed{color:#fca5a5;background:#ef444426}.log-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.log-panel{border:1px solid var(--panel-border);background:var(--panel-accent-bg);border-radius:.35rem;padding:.75rem}.log-output{border:1px solid var(--panel-border);color:#94a3b8;white-space:pre-wrap;word-break:break-word;background:#050505;border-radius:.25rem;min-height:200px;max-height:350px;margin:.5rem 0 0;padding:.75rem;font-family:monospace;font-size:.75rem;overflow:auto}.log-output-error{color:#fca5a5}.auth-shell{background:radial-gradient(circle at 50% 0%, #10b98114, transparent 50%), var(--bg-main);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}.auth-card-wrapper{width:min(420px,90%);position:relative}.auth-glow{background:var(--melinoe-primary);filter:blur(100px);opacity:.15;z-index:0;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#111413d9;border:1px solid #ffffff14;border-radius:1.25rem;padding:3rem 2.5rem;position:relative;box-shadow:0 24px 48px #0009,inset 0 1px #ffffff0d}.auth-logo-placeholder{background:linear-gradient(135deg,#10b98133,#0596690d);border:1px solid #10b9814d;border-radius:1rem;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.5rem;display:flex;box-shadow:0 8px 24px #10b98126}.auth-logo-placeholder svg{width:32px;height:32px;color:var(--melinoe-primary)}.auth-card h1{color:#fff;margin:0 0 .5rem;font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:600}.auth-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem;line-height:1.5}.discord-auth-button{cursor:pointer;color:#fff;background:#5865f2;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.75rem;width:100%;height:3rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 4px 12px #5865f240}.discord-auth-button:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 6px 16px #5865f259}.discord-auth-button svg{fill:currentColor;width:20px;height:20px}@media (width<=900px){.dashboard-layout{flex-direction:column;height:auto;min-height:100vh;overflow:auto}.sidebar{border-right:none;border-bottom:1px solid var(--panel-border);width:100%}.sidebar-nav{flex-direction:row;padding:1rem;overflow-x:auto}.content-scroll{height:auto;overflow-y:visible}.control-grid,.log-panels{grid-template-columns:1fr}.control-span-2{grid-column:span 1}}
