:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk", var(--font-sans);--font-mono:"JetBrains Mono", monospace;--transition-smooth:all .25s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .15s ease;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--bg-deep:#05070d;--bg-surface:#0a0e1a;--bg-elevated:#111728;--bg-card:#0e1424b3;--bg-card-hover:#131b30d9;--bg-glass:#0a0f1cd9;--border-subtle:#ffffff14;--border-hover:#00f2fe59;--border-accent:#8b5cf659;--border-glow:#00f2fe40;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#00f2fe;--accent-blue:#4facfe;--accent-purple:#8b5cf6;--accent-amber:#f59e0b;--accent-emerald:#10b981;--accent-rose:#f43f5e;--gradient-brand:linear-gradient(135deg, #00f2fe 0%, #4facfe 50%, #8b5cf6 100%);--gradient-card:linear-gradient(180deg, #ffffff0a 0%, #ffffff03 100%);--gradient-glow:linear-gradient(135deg, #00f2fe26 0%, #8b5cf626 100%);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 40px #0009;--shadow-glow:0 0 30px #00f2fe26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-deep);min-height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 15% 15%,#00f2fe0f 0%,#0000 40%),radial-gradient(circle at 85% 25%,#8b5cf612 0%,#0000 45%),radial-gradient(circle at 50% 85%,#4facfe0d 0%,#0000 50%);position:fixed;inset:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff26}::-webkit-scrollbar-thumb:hover{background:#00f2fe66}.app-layout{z-index:1;min-height:100vh;display:flex;position:relative}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.page-container{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:2rem 1.5rem 4rem}@media (width>=768px){.page-container{padding:2.5rem 2.5rem 5rem}}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition-smooth)}.glass-panel:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg), var(--shadow-glow)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.gradient-text{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-brand);color:#05070d;font-weight:700;box-shadow:0 4px 14px #00f2fe40}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #00f2fe66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--text-primary);border-color:var(--border-subtle);background:#ffffff0d}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);background:#ffffff1a}.btn-outline{color:var(--accent-cyan);background:0 0;border-color:#00f2fe66}.btn-outline:hover:not(:disabled){border-color:var(--accent-cyan);background:#00f2fe14}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-active{color:var(--accent-emerald);background:#10b9811f;border:1px solid #10b9814d}.badge-trial{color:var(--accent-cyan);background:#00f2fe1f;border:1px solid #00f2fe4d}.badge-maintenance{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b4d}.badge-expired{color:var(--accent-rose);background:#f43f5e1f;border:1px solid #f43f5e4d}.badge-neutral{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}
