:root{--bg-darkest:#e2e8f0;--bg-primary:#f8fafc;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-glass:#ffffffd9;--bg-subtle:#f1f5f9;--border-subtle:#e2e8f0;--border-hover:#cbd5e1;--border-glow:#6366f14d;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#6366f1;--primary-glow:#4f46e52e;--gradient-brand:linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #0284c7 100%);--gradient-surface:linear-gradient(180deg, #fff 0%, #f8fafc 100%);--hero-gradient:linear-gradient(135deg, #fff 0%, #eff6ff 50%, #f5f3ff 100%);--accent-cyan:#0284c7;--accent-emerald:#059669;--accent-amber:#d97706;--accent-rose:#e11d48;--accent-purple:#7c3aed;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-disabled:#94a3b8;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 14px -2px #0f172a12, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 14px 30px -4px #0f172a1f, 0 4px 8px -2px #0f172a0f;--shadow-glow:0 0 20px #4f46e526;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace}[data-theme=dark]{--bg-darkest:#07080e;--bg-primary:#0b0d17;--bg-surface:#121524;--bg-card:#161a2ab8;--bg-card-hover:#1c2136d9;--bg-glass:#121524a6;--bg-subtle:#ffffff0a;--border-subtle:#ffffff14;--border-hover:#ffffff29;--border-glow:#6366f166;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#818cf8;--primary-glow:#6366f140;--gradient-brand:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--hero-gradient:linear-gradient(135deg, #161a2ae6 0%, #6366f11f 100%);--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-purple:#a855f7;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-disabled:#475569;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009;--shadow-glow:0 0 24px var(--primary-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 10% 5%,#4f46e50a 0%,#0000 40%),radial-gradient(circle at 90% 90%,#0284c708 0%,#0000 45%),radial-gradient(circle,#7c3aed05 0%,#0000 60%);background-attachment:fixed;min-height:100vh;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}[data-theme=dark] body{background-image:radial-gradient(circle at 15% 10%,#6366f11f 0%,#0000 40%),radial-gradient(circle at 85% 85%,#06b6d414 0%,#0000 45%),radial-gradient(circle,#8b5cf60a 0%,#0000 60%)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}.glass-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.glass-panel:hover{border-color:var(--border-hover)}.glass-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s}.glass-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 4px 14px #4f46e54d}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{border-color:var(--border-hover);background:#f8fafc}.btn-danger{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3}.btn-danger:hover{color:#be123c;background:#ffe4e6}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8125rem}.btn-lg{border-radius:var(--radius-md);padding:.75rem 1.5rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-icon{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:32px;min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:0;transition:all .18s;display:inline-flex}.btn-icon:hover{background:var(--bg-subtle);color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-1px)}.btn-icon:active{transform:translateY(0)}.btn-icon-primary:hover{color:var(--primary);background:#eff6ff;border-color:#bfdbfe}.btn-icon-danger{color:var(--text-muted)}.btn-icon-danger:hover{color:var(--accent-rose);background:#fff1f2;border-color:#fecdd3}.input-group{flex-direction:column;gap:.375rem;display:flex}.input-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.input-control{border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-body);border-radius:var(--radius-md);background:#fff;outline:none;width:100%;padding:.625rem .875rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.input-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input-control::placeholder{color:var(--text-disabled)}textarea.input-control{resize:vertical;min-height:120px}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.badge-warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.badge-info{color:#0369a1;background:#f0fdf4;border:1px solid #bae6fd}.badge-purple{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.tag-chip{color:#4338ca;border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer;-webkit-user-select:none;user-select:none;background:#eef2ff;border:1px dashed #a5b4fc;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:all .15s;display:inline-flex}.tag-chip:hover{border-color:var(--primary);color:var(--primary);background:#e0e7ff;transform:translateY(-1px)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:1.5rem;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.table-container{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:#f8fafc;padding:.875rem 1.125rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:1rem 1.125rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8fafc}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.app-layout{background:var(--bg-primary);width:100%;min-height:100vh;display:flex}.app-sidebar{border-right:1px solid var(--border-subtle);z-index:50;background:#fff;flex-direction:column;width:260px;min-width:260px;max-width:260px;height:100vh;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:sticky;top:0}.sidebar-brand{justify-content:space-between;align-items:center;padding:1.25rem 1.25rem 1rem;display:flex}.brand-logo-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.brand-icon-box{background:var(--gradient-brand);width:38px;height:38px;box-shadow:0 4px 12px var(--primary-glow);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-text{flex-direction:column;display:flex}.brand-title{font-family:var(--font-heading);letter-spacing:-.025em;color:var(--text-primary);font-size:1.1875rem;font-weight:800;line-height:1.2}.brand-subtitle{color:var(--text-muted);letter-spacing:.01em;font-size:.6875rem;font-weight:500}.mobile-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:none}.sidebar-action{padding:.25rem 1.125rem 1rem}.sidebar-new-btn{border-radius:var(--radius-md);width:100%;box-shadow:0 2px 8px var(--primary-glow);justify-content:center;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:transform .15s,box-shadow .15s}.sidebar-new-btn:hover{box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-1px)}.sidebar-nav-section{padding:0 .875rem}.sidebar-section-title{color:#94a3b8;letter-spacing:.08em;padding:0 .625rem .5rem;font-size:.6875rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:3px;display:flex}.sidebar-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.sidebar-nav-item:hover{color:var(--text-primary);background:#f1f5f9}.sidebar-nav-item.active{color:var(--primary);background:#eef2ff;font-weight:600;box-shadow:inset 0 0 0 1px #4f46e51f}.nav-icon{flex-shrink:0;transition:color .15s}.sidebar-nav-item.active .nav-icon{color:var(--primary)}.nav-label{flex:1}.active-pill-dot{background:var(--primary);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-quota-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#f8fafc;flex-direction:column;gap:.375rem;margin:.75rem .875rem;padding:.875rem;display:flex}.quota-header{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.quota-title{color:var(--text-secondary);font-weight:500}.quota-count{color:var(--primary);font-size:.75rem;font-weight:700}.quota-progress-track{background:#e2e8f0;border-radius:3px;height:5px;margin:2px 0 1px;overflow:hidden}.quota-progress-bar{border-radius:3px;height:100%;transition:width .3s}.quota-footer{color:var(--text-muted);font-size:.6875rem}.sidebar-status-badge{margin-top:.375rem;display:flex}.sidebar-user-footer{border-top:1px solid var(--border-subtle);background:#fff;align-items:center;gap:.625rem;padding:.875rem 1rem;display:flex}.user-avatar{background:var(--gradient-brand);color:#fff;width:34px;height:34px;box-shadow:0 2px 6px var(--primary-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.user-details{flex:1;min-width:0}.user-name{color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.2}.user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.user-actions{gap:2px;display:flex}.user-action-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.user-action-btn:hover{color:var(--text-primary);background:#f1f5f9}.user-action-btn.connect{color:var(--primary)}.user-action-btn.logout:hover{color:var(--accent-rose);background:#fff1f2}.app-main-content{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-top-header{border-bottom:1px solid var(--border-subtle);z-index:40;background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 2rem;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:1rem;display:flex}.mobile-menu-toggle{color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;display:none}.mobile-menu-toggle:hover{background:#f1f5f9}.header-titles{flex-direction:column;display:flex}.header-page-title{font-size:1.25rem;font-weight:800;font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin:0;line-height:1.2}.header-page-subtitle{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}.header-right{align-items:center;gap:.75rem;display:flex}.header-badge{align-items:center;gap:.375rem;padding:.35rem .75rem;font-size:.75rem;display:inline-flex}.header-cta-btn{align-items:center;gap:.375rem;padding:.5rem .875rem;font-weight:600;display:flex}.header-secondary-btn{align-items:center;gap:.375rem;padding:.5rem .875rem;display:flex}.header-icon-btn{color:var(--text-secondary);padding:.5rem .625rem}.app-page-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem 2.25rem}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:45;background:#0f172a66;position:fixed;inset:0}@media (width<=900px){.app-sidebar{box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.mobile-open{transform:translate(0)}.mobile-close-btn{display:block}.mobile-menu-toggle{justify-content:center;align-items:center;display:flex}.app-top-header{padding:0 1.25rem}.app-page-body{padding:1.25rem 1rem}}
