@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-app:#f8fafc;--bg-sidebar:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#fff;--bg-muted:#f1f5f9;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--border-focus:#6366f1;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--primary-text:#4338ca;--emerald:#10b981;--emerald-light:#ecfdf5;--emerald-text:#047857;--amber:#f59e0b;--amber-light:#fffbeb;--amber-text:#b45309;--rose:#ef4444;--rose-light:#fef2f2;--rose-text:#b91c1c;--cyan:#0284c7;--cyan-light:#f0f9ff;--cyan-text:#0369a1;--text-main:#0f172a;--text-body:#334155;--text-muted:#64748b;--text-sub:#94a3b8;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}input,button,select,textarea{font-family:inherit;font-size:.92rem}button{cursor:pointer;background:0 0;border:none;transition:all .15s ease-in-out}.admin-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s}.admin-card:hover{border-color:#cbd5e1}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-trial{background:var(--amber-light);color:var(--amber-text);border:1px solid #f59e0b40}.badge-pro{background:var(--emerald-light);color:var(--emerald-text);border:1px solid #10b98140}.badge-onboarding{background:var(--cyan-light);color:var(--cyan-text);border:1px solid #0284c740}.badge-expired{background:var(--rose-light);color:var(--rose-text);border:1px solid #ef444440}.badge-suspended{color:#dc2626;background:#fee2e2;border:1px solid #f87171}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);align-items:center;gap:7px;padding:8px 16px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #4f46e54d}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{color:var(--text-main);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--bg-muted);border-color:#cbd5e1}.btn-danger{background:var(--rose-light);color:var(--rose-text);border-radius:var(--radius-md);border:1px solid #ef44444d;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:inline-flex}.btn-danger:hover{background:#fee2e2}.btn-success{background:var(--emerald-light);color:var(--emerald-text);border-radius:var(--radius-md);border:1px solid #10b9814d;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:inline-flex}.btn-success:hover{background:#d1fae5}.btn-sm{border-radius:var(--radius-sm);padding:5px 10px;font-size:.8rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-lg);max-height:90vh;color:var(--text-main);background:#fff;padding:24px 28px;overflow-y:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{animation:.8s linear infinite spin}
