@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:238.7 83.5% 66.7%;--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%;--input:214.3 31.8% 91.4%;--ring:238.7 83.5% 66.7%;--radius:0.5rem}.dark{--background:240 10% 3.9%;--foreground:0 0% 95%;--card:240 10% 5.5%;--card-foreground:0 0% 95%;--popover:240 10% 5.5%;--popover-foreground:0 0% 95%;--primary:238.7 83.5% 66.7%;--primary-foreground:0 0% 100%;--secondary:240 5.9% 10%;--secondary-foreground:0 0% 95%;--muted:240 5.3% 14%;--muted-foreground:240 5% 64.9%;--accent:240 5.9% 10%;--accent-foreground:0 0% 95%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 95%;--border:240 5.9% 14%;--input:240 5.9% 14%;--ring:238.7 83.5% 66.7%}*{@apply border-border}body{@apply bg-background text-foreground;font-family:Inter,sans-serif}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#050510}.login-bg{position:absolute;inset:0;overflow:hidden}.login-bg-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 8s ease-in-out infinite}.login-bg-orb-1{width:500px;height:500px;background:#6366f1;top:-10%;left:-10%;animation-delay:0s}.login-bg-orb-2{width:400px;height:400px;background:#a855f7;bottom:-10%;right:-10%;animation-delay:-3s}.login-bg-orb-3{width:300px;height:300px;background:#10b981;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-5s;opacity:.2}@keyframes float{0%,to{transform:translate(0)}33%{transform:translate(30px,-30px)}66%{transform:translate(-20px,20px)}}.login-container{position:relative;z-index:10;width:100%;max-width:420px;padding:1.5rem}.login-brand{text-align:center;margin-bottom:2rem}.login-logo{width:56px;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:16px;color:#fff}.login-title{font-size:1.75rem;font-weight:700;color:#f0f0f5;letter-spacing:-.025em}.login-subtitle{font-size:.875rem;color:#8b8ba3;margin-top:.25rem}.login-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid hsla(0,0%,100%,.08);border-radius:20px;padding:1.75rem}.login-card,.login-tabs{background:hsla(0,0%,100%,.04)}.login-tabs{display:flex;gap:4px;border-radius:12px;padding:4px;margin-bottom:1.5rem}.login-tab{flex:1 1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:10px;color:#8b8ba3;background:transparent;border:none;cursor:pointer;transition:all .2s}.login-tab:hover{color:#c0c0d0}.login-tab-active{background:rgba(99,102,241,.2);color:#a5b4fc}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field label{display:block;font-size:.8125rem;font-weight:500;color:#a0a0b8;margin-bottom:.5rem}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;color:#6b6b82;pointer-events:none}.login-input-wrapper input{width:100%;padding:.75rem .75rem .75rem 2.75rem;font-size:.875rem;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;color:#e0e0ed;outline:none;transition:all .2s;font-family:Inter,sans-serif}.login-input-wrapper input::placeholder{color:#4a4a5e}.login-input-wrapper input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}.login-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;cursor:pointer;transition:all .25s;font-family:Inter,sans-serif;margin-top:.25rem}.login-btn:hover{background:linear-gradient(135deg,#5558e6,#6d28d9);transform:translateY(-1px);box-shadow:0 8px 24px rgba(99,102,241,.25)}.login-btn:disabled{opacity:.6;pointer-events:none}.login-feedback{margin-top:1rem;padding:.75rem 1rem;border-radius:10px;font-size:.8125rem;font-weight:500;text-align:center}.login-feedback-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#fca5a5}.login-feedback-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#6ee7b7}.login-footer{text-align:center;font-size:.75rem;color:#4a4a5e;margin-top:1.5rem}.sidebar{position:fixed;left:0;top:0;bottom:0;width:72px;background:#0a0a12;border-right:1px solid hsla(0,0%,100%,.06);display:flex;flex-direction:column;z-index:50;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar[data-expanded=true]{width:256px}.sidebar-header{gap:12px;padding:20px 24px;height:72px;flex-shrink:0}.sidebar-header,.sidebar-logo{display:flex;align-items:center}.sidebar-logo{width:32px;height:32px;min-width:32px;justify-content:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:10px;color:#fff}.sidebar-brand{font-size:1.125rem;font-weight:700;color:#e0e0ed;white-space:nowrap;opacity:0;transition:opacity .2s}.sidebar[data-expanded=true] .sidebar-brand{opacity:1}.sidebar-nav{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:8px 12px;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#8b8ba3;text-decoration:none;transition:all .15s;white-space:nowrap}.sidebar-link:hover{background:hsla(0,0%,100%,.04);color:#c0c0d0}.sidebar-link-active{background:rgba(99,102,241,.12)!important;color:#a5b4fc!important}.sidebar-link-icon{min-width:20px}.sidebar-link-label{font-size:.875rem;font-weight:500;opacity:0;transition:opacity .2s}.sidebar[data-expanded=true] .sidebar-link-label{opacity:1}.sidebar-footer{padding:16px;border-top:1px solid hsla(0,0%,100%,.06);justify-content:space-between;gap:8px}.sidebar-footer,.sidebar-user{display:flex;align-items:center}.sidebar-user{gap:10px;min-width:0;overflow:hidden}.sidebar-avatar{width:32px;height:32px;min-width:32px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;color:#fff}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;opacity:0;transition:opacity .2s}.sidebar[data-expanded=true] .sidebar-user-info{opacity:1}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:#e0e0ed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6875rem;color:#6b6b82;text-transform:capitalize}.sidebar-logout{background:none;border:none;color:#6b6b82;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s;opacity:0}.sidebar[data-expanded=true] .sidebar-logout{opacity:1}.sidebar-logout:hover{background:rgba(239,68,68,.1);color:#f87171}.dashboard-layout{display:flex;min-height:100vh;background:#050510}.dashboard-content{flex:1 1;margin-left:72px;padding:2rem 2.5rem;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem}.stat-card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:16px;padding:1.5rem;transition:all .2s}.stat-card:hover{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1);transform:translateY(-2px)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stat-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-card-icon.indigo{background:rgba(99,102,241,.15);color:#a5b4fc}.stat-card-icon.emerald{background:rgba(16,185,129,.15);color:#6ee7b7}.stat-card-icon.purple{background:rgba(168,85,247,.15);color:#d8b4fe}.stat-card-icon.amber{background:rgba(245,158,11,.15);color:#fcd34d}.stat-card-label{font-size:.8125rem;color:#8b8ba3;font-weight:500}.stat-card-value{font-size:2rem;font-weight:700;color:#f0f0f5;line-height:1}.stat-card-sub{font-size:.75rem;color:#6b6b82;margin-top:.25rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:700;color:#f0f0f5;letter-spacing:-.025em}.page-header p{font-size:.9rem;color:#8b8ba3;margin-top:.25rem}.clients-table-wrapper{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:16px;overflow:hidden}.clients-table{width:100%;border-collapse:collapse}.clients-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;color:#8b8ba3;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid hsla(0,0%,100%,.06)}.clients-table td{padding:1rem 1.25rem;font-size:.875rem;color:#c0c0d0;border-bottom:1px solid hsla(0,0%,100%,.03)}.clients-table tr:hover td{background:hsla(0,0%,100%,.02)}.clients-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:999px;text-transform:capitalize}.status-badge.onboarding{background:rgba(99,102,241,.15);color:#a5b4fc}.status-badge.active{background:rgba(16,185,129,.15);color:#6ee7b7}.status-badge.paused{background:rgba(245,158,11,.15);color:#fcd34d}.status-badge.churned{background:rgba(239,68,68,.15);color:#fca5a5}.empty-state{flex-direction:column;padding:4rem 2rem;text-align:center}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:64px;height:64px;border-radius:16px;background:rgba(99,102,241,.1);color:#6366f1;margin-bottom:1.25rem}.empty-state h3{font-size:1.125rem;font-weight:600;color:#e0e0ed;margin-bottom:.5rem}.empty-state p{font-size:.875rem;color:#6b6b82;max-width:320px}.section-card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:16px;padding:1.5rem}.section-title{font-size:1rem;font-weight:600;color:#e0e0ed;margin-bottom:1rem}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}