:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem}@media (prefers-color-scheme: dark){:root{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));line-height:1.5}.text-muted-foreground{color:hsl(var(--muted-foreground))}.bg-card{background:hsl(var(--card))}.border-border{border-color:hsl(var(--border))}.text-primary{color:hsl(var(--primary))}.bg-primary{background:hsl(var(--primary))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;padding:2rem;margin-left:240px;background:hsl(var(--background))}.sidebar{position:fixed;left:0;top:0;height:100vh;width:240px;background:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.sidebar-header h1{font-size:1.125rem;font-weight:600;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;color:hsl(var(--muted-foreground));text-decoration:none;transition:all .2s}.nav-item:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.nav-item.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sidebar-footer{padding:1rem;border-top:1px solid hsl(var(--border))}.logout-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .2s}.logout-button:hover{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-color:hsl(var(--destructive))}.page-container{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600}.search-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-input-wrapper{flex:1;display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground))}.search-input-wrapper input{flex:1;border:none;background:transparent;color:hsl(var(--foreground));outline:none}.btn-primary{padding:.5rem 1rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:.5rem;cursor:pointer;font-weight:500;transition:opacity .2s}.btn-primary:hover{opacity:.9}.icon-button{padding:.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));cursor:pointer;transition:background .2s}.icon-button:hover{background:hsl(var(--muted))}.data-table-wrapper{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:.75rem 1rem;text-align:left;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));font-size:.875rem}.data-table td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}.data-table tr:last-child td{border-bottom:none}.data-table tr.clickable{cursor:pointer;transition:background .15s}.data-table tr.clickable:hover{background:hsl(var(--muted))}.data-table-loading,.data-table-empty{padding:3rem;text-align:center;color:hsl(var(--muted-foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem}.avatar-cell{display:flex;align-items:center;gap:.75rem}.avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.avatar-large{width:64px;height:64px}.avatar-large img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-placeholder-large{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff}.pagination{display:flex;justify-content:center;gap:.25rem;margin-top:1.5rem}.pagination-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;cursor:pointer;color:hsl(var(--foreground));transition:all .2s}.pagination-btn:hover:not(:disabled){background:hsl(var(--muted))}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.pagination-ellipsis{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));cursor:pointer;margin-bottom:1.5rem;transition:background .2s}.back-button:hover{background:hsl(var(--muted))}.detail-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.detail-info h1{font-size:1.5rem;font-weight:600}.detail-info .discord-id,.detail-info .guild-id,.detail-info .file-id{color:hsl(var(--muted-foreground));font-family:monospace;font-size:.875rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem}.stat-icon{padding:.75rem;border-radius:.5rem}.stat-label{font-size:.875rem;color:hsl(var(--muted-foreground))}.stat-value{font-size:1.25rem;font-weight:600}.detail-section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.detail-section h2{font-size:1rem;font-weight:600;margin-bottom:1rem}.info-list{display:grid;grid-template-columns:150px 1fr;gap:.75rem}.info-list dt{color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:.5rem}.info-list dd{font-family:monospace}.guild-list{display:flex;flex-wrap:wrap;gap:.5rem}.guild-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsl(var(--muted));border-radius:.5rem;cursor:pointer;transition:background .2s}.guild-item:hover{background:hsl(var(--border))}.guild-icon{width:24px;height:24px;border-radius:50%}.guild-icon-placeholder{width:24px;height:24px;border-radius:50%;background:hsl(var(--border));display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.file-icon-large{width:64px;height:64px;border-radius:.75rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff}.uploader-info,.guild-info{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:hsl(var(--muted));border-radius:.5rem}.uploader-info.clickable,.guild-info.clickable{cursor:pointer;transition:background .2s}.uploader-info.clickable:hover,.guild-info.clickable:hover{background:hsl(var(--border))}.empty-message,.muted-text{color:hsl(var(--muted-foreground));font-style:italic}.page-loading{display:flex;justify-content:center;align-items:center;height:50vh}.page-error{text-align:center;padding:3rem;color:hsl(var(--muted-foreground))}.spinner{width:32px;height:32px;border:3px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.tabs-nav{display:flex;gap:.25rem;margin-bottom:1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:.25rem}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:.5rem;color:hsl(var(--muted-foreground));cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.tab-button:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.tab-button.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.tab-panel{min-height:300px}.tab-content{display:flex;flex-direction:column;gap:1rem}.bot-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.bot-status-badge.installed{background:#22c55e26;color:#22c55e}.bot-status-badge.not-installed{background:#ef444426;color:#ef4444}.detail-title-row{display:flex;align-items:center;gap:1rem}.search-bar{display:flex;gap:.75rem}.search-button{padding:.5rem 1.25rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:.5rem;cursor:pointer;font-weight:500;transition:opacity .2s}.search-button:hover{opacity:.9}.log-type-tabs{display:flex;gap:.5rem;margin-bottom:.5rem}.log-type-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));cursor:pointer;font-size:.875rem;transition:all .2s}.log-type-tab:hover{background:hsl(var(--muted))}.log-type-tab.active{background:hsl(var(--secondary));color:hsl(var(--foreground));border-color:hsl(var(--primary))}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.status-badge.enabled,.status-badge.success{background:#22c55e26;color:#22c55e}.status-badge.disabled,.status-badge.error{background:#ef444426;color:#ef4444}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.overview-tab .detail-section{margin-bottom:1rem}.empty-message{color:hsl(var(--muted-foreground));text-align:center;padding:2rem}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bot-filter{display:flex;gap:.5rem}.filter-btn{background:hsl(var(--secondary));border:1px solid hsl(var(--border));padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:hsl(var(--accent))}.filter-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.ip-list{display:flex;flex-direction:column;gap:.5rem}.ip-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:hsl(var(--secondary));border-radius:.5rem}.global-name{color:hsl(var(--muted-foreground));font-size:1rem;margin-bottom:.25rem}.muted-text{color:hsl(var(--muted-foreground));font-size:.875rem}.token-tab .detail-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;margin:0}.action-button{display:flex;align-items:center;gap:.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;transition:opacity .2s}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button:hover:not(:disabled){opacity:.9}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.token-list{display:flex;flex-direction:column;gap:.75rem}.token-item{background:hsl(var(--secondary));border-radius:.5rem;padding:1rem}.token-status{margin-bottom:.75rem}.token-details{display:flex;flex-direction:column;gap:.375rem}.token-detail-row{display:flex;gap:.5rem;font-size:.875rem}.token-detail-row .label{color:hsl(var(--muted-foreground));min-width:10rem}.status-badge.warning{background:#f59e0b26;color:#f59e0b}.discord-user-info{display:flex;gap:1.5rem;align-items:flex-start;padding:1rem;background:hsl(var(--secondary));border-radius:.5rem}.discord-user-avatar img,.discord-user-avatar .avatar-placeholder{width:64px;height:64px;border-radius:50%;object-fit:cover}.discord-user-avatar .avatar-placeholder{display:flex;align-items:center;justify-content:center;background:hsl(var(--accent))}.info-list.compact{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.info-list.compact dt{color:hsl(var(--muted-foreground));font-size:.875rem}.info-list.compact dd{font-size:.875rem;margin:0}.discord-guilds-list{display:flex;flex-direction:column;gap:.5rem}.discord-guild-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:hsl(var(--secondary));border-radius:.375rem}.guild-icon-small img,.guild-icon-small .icon-placeholder{width:28px;height:28px;border-radius:50%;object-fit:cover}.guild-icon-small .icon-placeholder{display:flex;align-items:center;justify-content:center;background:hsl(var(--accent))}.guild-info{flex:1;display:flex;align-items:center;gap:.5rem}.guild-name{font-weight:500}.owner-badge{font-size:.625rem;padding:.125rem .375rem;background:#f59e0b26;color:#f59e0b;border-radius:4px}.guild-id{font-size:.75rem;color:hsl(var(--muted-foreground))}.loading-spinner{width:24px;height:24px;border:2px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}.error-message{background:#ef44441a;color:#ef4444;padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem}.connections-list{display:flex;flex-wrap:wrap;gap:.5rem}.connection-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--secondary));border-radius:.375rem;font-size:.875rem}.connection-type{font-weight:500;color:hsl(var(--primary))}.connection-name{color:hsl(var(--foreground))}.verified-badge{font-size:.625rem;padding:.125rem .375rem;background:#22c55e26;color:#22c55e;border-radius:4px}.role-badges{display:flex;flex-wrap:wrap;gap:.375rem}.role-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border:1px solid hsl(var(--border));border-radius:9999px;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--secondary));white-space:nowrap}.text-muted{color:hsl(var(--muted-foreground));font-size:.875rem}
