:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e8edf5;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#f1f5f9;--border-color:#0000001f;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#0ea5e9;--accent-secondary:#8b5cf6;--accent-gradient:linear-gradient(135deg, #0ea5e9 0%, #8b5cf6 100%);--accent-glow:#0ea5e933;--success:#059669;--success-bg:#0596691a;--success-border:#0596694d;--danger:#dc2626;--danger-bg:#dc26261a;--danger-border:#dc26264d;--warning:#d97706;--warning-bg:#d977061a;--color-primary:#0ea5e9;--color-success:#059669;--color-warning:#d97706;--color-error:#dc2626;--grid-color:#00000008;--glow-opacity-1:.08;--glow-opacity-2:.06;--glow-opacity-3:.05;--font-primary:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--container-max:1200px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 32px #0000001f;--shadow-lg:0 16px 64px #00000026;--shadow-glow:0 0 40px var(--accent-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--sidebar-width:240px}body:not(.light-mode){--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-card:#16161f;--bg-card-hover:#1a1a25;--bg-input:#0d0d14;--border-color:#2d2d3d;--text-primary:#fff;--text-secondary:#a0a0b0;--text-muted:#606070;--accent-primary:#00d4ff;--accent-secondary:#7c3aed;--accent-gradient:linear-gradient(135deg, #00d4ff 0%, #7c3aed 100%);--accent-glow:#00d4ff4d;--success:#10b981;--success-bg:#10b9811a;--success-border:#10b9814d;--danger:#ef4444;--danger-bg:#ef44441a;--danger-border:#ef44444d;--warning:#f59e0b;--warning-bg:#f59e0b1a;--color-primary:#00d4ff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--grid-color:#ffffff05;--glow-opacity-1:.15;--glow-opacity-2:.12;--glow-opacity-3:.1;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 64px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.background-effects{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.grid-pattern{background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);background-size:60px 60px;width:100%;height:100%;position:absolute;top:0;left:0;-webkit-mask-image:radial-gradient(#000 0%,#0000 70%);mask-image:radial-gradient(#000 0%,#0000 70%)}.glow{filter:blur(100px);border-radius:50%;position:absolute}.glow-1{background:var(--accent-primary);width:600px;height:600px;opacity:var(--glow-opacity-1);top:-200px;right:-100px}.glow-2{background:var(--accent-secondary);width:500px;height:500px;opacity:var(--glow-opacity-2);bottom:20%;left:-150px}.glow-3{background:var(--accent-primary);width:400px;height:400px;opacity:var(--glow-opacity-3);bottom:-100px;right:20%}.hidden{display:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.card{background:var(--bg-card);border-radius:var(--radius-lg);transition:all var(--transition-base);border:1px solid #0000001a;padding:1.5rem}.card:hover{background:var(--bg-card-hover);border-color:#00000026}body:not(.light-mode) .card{border-color:#ffffff14}body:not(.light-mode) .card:hover{border-color:#ffffff1f}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-base);border:1px solid #00000014;padding:1.5rem;animation:.5s forwards fadeInUp}body:not(.light-mode) .stat-card{border-color:#ffffff14}.stat-card:hover{transform:translateY(-4px)}.stat-card .stat-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem}.stat-card .stat-value{margin-bottom:.25rem;font-size:2.5rem;font-weight:700}.stat-card .stat-value.positive{color:var(--success)}.stat-card .stat-value.negative{color:var(--danger)}.stat-card .stat-value.neutral{color:var(--accent-primary)}.btn{border-radius:var(--radius-md);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--accent-gradient);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);background:0 0;border:2px solid #0003}.btn-secondary:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}body:not(.light-mode) .btn-secondary{border-color:#fff3}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-full{width:100%}.btn-outline-provider{background:var(--bg-card);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #00000026;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;display:flex}.btn-outline-provider:hover{background:var(--bg-card-hover);border-color:var(--accent-primary)}body:not(.light-mode) .btn-outline-provider{border-color:#ffffff1a}.form-group{margin-bottom:1rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-input{background:var(--bg-input);border-radius:var(--radius-md);width:100%;font-family:var(--font-primary);color:var(--text-primary);transition:all var(--transition-fast);border:1px solid #0000001a;padding:.875rem 1rem;font-size:1rem}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-input::placeholder{color:var(--text-muted)}body:not(.light-mode) .form-input{border-color:#ffffff1a}.form-error{color:var(--danger);margin-top:.25rem;font-size:.8rem}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:100px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-active{background:var(--success-bg);color:var(--success)}.badge-suspended{background:var(--warning-bg);color:var(--warning)}.badge-cancelled{background:var(--danger-bg);color:var(--danger)}.badge-past_due{background:var(--warning-bg);color:var(--warning)}.badge-completed{background:var(--success-bg);color:var(--success)}.data-table{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid #0000001a;overflow:hidden}body:not(.light-mode) .data-table{border-color:#ffffff14}.data-row{transition:background var(--transition-fast);border-bottom:1px solid #0000000f;align-items:center;padding:1rem 1.5rem;display:grid}.data-row:last-child{border-bottom:none}.data-row:hover{background:#00000005}body:not(.light-mode) .data-row{border-bottom-color:#ffffff0d}body:not(.light-mode) .data-row:hover{background:#ffffff05}.data-row.header{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:#0000000a;font-size:.75rem;font-weight:600}body:not(.light-mode) .data-row.header{background:#0003}.data-cell-mono{font-family:var(--font-mono);font-size:.875rem}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);z-index:50;height:100vh;transition:transform var(--transition-base);border-right:1px solid #00000014;flex-direction:column;display:flex;position:fixed;top:0;left:0}body:not(.light-mode) .sidebar{border-right-color:#ffffff0d}.sidebar-logo{align-items:center;gap:.75rem;padding:1.5rem;font-size:1.25rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:.5rem;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:var(--text-primary);background:#0000000d;text-decoration:none}.sidebar-link.active{color:var(--accent-primary);border-left-color:var(--accent-primary);background:#0ea5e91a}body:not(.light-mode) .sidebar-link:hover{background:#ffffff0d}body:not(.light-mode) .sidebar-link.active{background:#00d4ff1a}.sidebar-footer{border-top:1px solid #00000014;align-items:center;padding:1rem 1.5rem;display:flex}body:not(.light-mode) .sidebar-footer{border-top-color:#ffffff0d}.sidebar-footer-settings{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex}.sidebar-footer-settings:hover{color:var(--text-primary);background:#0000000d;text-decoration:none}.sidebar-footer-settings.active{color:var(--accent-primary);background:#0ea5e91a}body:not(.light-mode) .sidebar-footer-settings:hover{background:#ffffff0d}body:not(.light-mode) .sidebar-footer-settings.active{background:#00d4ff1a}.sidebar-avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:700;display:flex}.topbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f8fafccc;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}body:not(.light-mode) .topbar{background:#0a0a0f99;border-bottom-color:#ffffff0d}.topbar-title{font-size:1.25rem;font-weight:600}.main-content{margin-left:var(--sidebar-width);min-height:100vh}.page-content{max-width:var(--container-max);margin:0 auto;padding:2rem}.auth-layout{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.auth-card{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);border:1px solid #0000001a;padding:2.5rem 2rem;animation:.35s slideUp}body:not(.light-mode) .auth-card{box-shadow:var(--shadow-lg), 0 0 60px #00d4ff14;border-color:#ffffff14}.auth-logo{text-align:center;margin-bottom:2rem;font-size:1.5rem;font-weight:700}.auth-title{text-align:center;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.auth-divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#0000001a;flex:1;height:1px}body:not(.light-mode) .auth-divider:before,body:not(.light-mode) .auth-divider:after{background:#ffffff1a}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.auth-footer a{font-weight:600}.oauth-buttons{flex-direction:column;gap:.75rem;display:flex}.theme-toggle{background:var(--bg-card);cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:scale(1.05)}body:not(.light-mode) .theme-toggle{border-color:#ffffff1a}.user-menu-dropdown{background:var(--bg-card)!important}body:not(.light-mode) .user-menu-dropdown{border-color:#ffffff1a!important}.user-menu-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.user-menu-item:hover{color:var(--text-primary);background:#0000000d;text-decoration:none}.user-menu-item.active{color:var(--accent-primary);background:#0ea5e914}body:not(.light-mode) .user-menu-item:hover{background:#ffffff0d}body:not(.light-mode) .user-menu-item.active{background:#00d4ff14}.user-menu-signout{font-family:var(--font-primary);color:var(--danger)!important}.user-menu-signout:hover{background:var(--danger-bg)!important}.menu-divider{background:#0000000f!important}body:not(.light-mode) .menu-divider{background:#ffffff0f!important}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.summary-card{border-radius:var(--radius-xl);background:linear-gradient(135deg,#0ea5e914 0%,#8b5cf614 100%);border:1px solid #0ea5e933;margin-bottom:2rem;padding:2rem}body:not(.light-mode) .summary-card{background:linear-gradient(135deg,#00d4ff1a 0%,#7c3aed1a 100%);border-color:#00d4ff33}.spinner{border:2px solid #0003;border-top-color:var(--accent-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}body:not(.light-mode) .spinner{border-color:#fff #ffffff4d #ffffff4d}.onboard-container{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.onboard-card{border-radius:var(--radius-xl);text-align:center;width:100%;max-width:600px;transition:max-width var(--transition-base);background:linear-gradient(135deg,#0ea5e914 0%,#8b5cf614 100%);border:1px solid #0ea5e933;margin:auto 0;padding:3rem 2rem;animation:.35s slideUp}body:not(.light-mode) .onboard-card{background:linear-gradient(135deg,#00d4ff1a 0%,#7c3aed1a 100%);border-color:#00d4ff33}.onboard-title{margin-bottom:.5rem;font-size:2rem;font-weight:700}.onboard-subtitle{color:var(--text-secondary);margin-bottom:2rem}.onboard-steps{justify-content:center;align-items:center;gap:.375rem;margin-bottom:2rem;display:flex;overflow:hidden}.onboard-step{opacity:.4;transition:opacity var(--transition-base);flex-shrink:0;align-items:center;gap:.375rem;min-width:0;display:flex}.onboard-step.active{opacity:1}.step-number{box-sizing:border-box;background:#0000000d;border:2px solid #00000026;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;font-size:.8rem;font-weight:700;display:flex}.onboard-step.active .step-number{background:var(--accent-gradient);color:#fff;border-color:#0000}body:not(.light-mode) .step-number{background:#ffffff1a;border-color:#fff3}.step-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;display:none;overflow:hidden}.onboard-step.active .step-label{color:var(--text-primary);display:inline}.step-connector{background:#0000001a;border-radius:1px;flex-shrink:0;width:20px;height:2px}body:not(.light-mode) .step-connector{background:#ffffff26}.plan-card.selectable{cursor:pointer;position:relative}.plan-card.selectable:hover{border-color:#0ea5e966}.plan-card.selected{border-color:var(--accent-primary);box-shadow:0 0 20px #0ea5e91a}body:not(.light-mode) .plan-card.selected{box-shadow:0 0 30px #00d4ff26}.plan-selected-badge{background:var(--accent-gradient);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:.25rem .6rem;font-size:.7rem;font-weight:700;position:absolute;top:1rem;right:1rem}.plan-card.contact-plan{cursor:pointer;border-style:dashed}.plan-card.contact-plan:hover{border-style:solid;border-color:#8b5cf680}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.detail-item{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid #00000014;padding:1rem}body:not(.light-mode) .detail-item{border-color:#ffffff14}.detail-item .detail-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.detail-item .detail-value{font-size:1.25rem;font-weight:600}.detail-item .detail-value-mono{font-family:var(--font-mono);color:var(--text-secondary);word-break:break-all;font-size:.875rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.plan-card{background:var(--bg-card);border-radius:var(--radius-lg);transition:all var(--transition-base);border:1px solid #0000001a;flex-direction:column;padding:2rem;display:flex}body:not(.light-mode) .plan-card{border-color:#ffffff14}.plan-card.current{border-color:var(--accent-primary);box-shadow:0 0 20px #0ea5e91a}body:not(.light-mode) .plan-card.current{box-shadow:0 0 30px #00d4ff26}.plan-card:hover{transform:translateY(-4px)}.plan-name{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.plan-price{margin-bottom:1rem;font-size:2rem;font-weight:700}.plan-price .period{color:var(--text-muted);font-size:.875rem;font-weight:400}.plan-features{flex:1;margin-bottom:1.5rem;list-style:none}.plan-features li{color:var(--text-secondary);align-items:center;gap:.5rem;padding:.375rem 0;font-size:.9rem;display:flex}.plan-features li:before{content:"✓";color:var(--success);font-weight:700}.billing-toggle{background:var(--bg-card);border:1px solid #0000001a;border-radius:8px;gap:2px;padding:3px;display:inline-flex}body:not(.light-mode) .billing-toggle{border-color:#ffffff1a}.billing-toggle-btn{color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;font-family:var(--font-primary);background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;transition:all .2s;display:flex}.billing-toggle-btn.active{background:var(--accent-gradient);color:#fff}.billing-toggle-btn:hover:not(.active){color:var(--text-primary)}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.stat-grid{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:1fr}.topbar,.page-content{padding:1rem}}
