.app-root{min-height:100vh;background:radial-gradient(circle at top,#020617 0,#020617,#020617);color:#e2e8f0;display:flex;justify-content:center;padding:32px 16px;box-sizing:border-box}.layout{width:100%;max-width:1120px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}.hero{padding:36px 32px;border-radius:24px;background:radial-gradient(circle at top left,#1e293b 0,#020617 45%);box-shadow:0 20px 45px #0f172ae6}.hero-title{font-size:40px;line-height:1.1;font-weight:700;margin:0 0 16px}.hero-text{font-size:15px;color:#e2e8f0e6;max-width:480px;margin-bottom:18px}.hero-list{list-style:none;padding:0;margin:0;font-size:14px;color:#cbd5e1f2}.hero-list li{position:relative;padding-left:18px;margin-bottom:6px}.hero-list li:before{content:"•";position:absolute;left:4px;top:0;color:#22c55e}.auth-card{background:#020617;border-radius:24px;padding:28px 24px 24px;box-shadow:0 18px 40px #0f172ad9;border:1px solid rgba(148,163,184,.35)}.app-title{text-align:center;font-size:22px;margin:0 0 4px}.app-subtitle{text-align:center;font-size:13px;color:#94a3b8f2;margin-bottom:16px}.auth-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#020617;padding:4px;border-radius:999px;border:1px solid rgba(148,163,184,.6);margin-bottom:16px}.auth-toggle-btn{border:none;border-radius:999px;padding:8px 0;font-size:13px;cursor:pointer;background:transparent;color:#e2e8f0d9}.auth-toggle-btn-active{background:#22c55e;color:#020617}.form-title{font-size:14px;font-weight:600;text-align:center;margin-bottom:10px}.alert{padding:8px 10px;border-radius:8px;font-size:12px;margin-bottom:10px}.alert-success{background:#16a34a26;border:1px solid rgba(22,163,74,.7);color:#bbf7d0}.alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.7);color:#fecaca}.auth-form{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.form-label{display:flex;flex-direction:column;font-size:12px;gap:4px}.form-input{border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#020617;color:#e2e8f0;padding:7px 11px;font-size:13px}.form-input:focus{outline:none;border-color:#22c55e}.submit-btn{margin-top:4px;border-radius:999px;border:none;background:#22c55e;color:#020617;padding:8px 0;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.submit-btn:disabled{opacity:.75;cursor:not-allowed}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(15,23,42,.1);border-top-color:#020617;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer-note{text-align:center;font-size:11px;color:#94a3b8f2}.pricing{grid-column:1 / -1;width:100%;max-width:1000px;margin:40px auto 0;text-align:center}.pricing-title{font-size:24px;font-weight:600;margin-bottom:6px}.pricing-subtitle{font-size:14px;color:#e2e8f0d9;margin-bottom:22px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pricing-card{background:#020617;border-radius:16px;padding:18px 18px 20px;border:1px solid rgba(148,163,184,.3);text-align:left;position:relative}.pricing-card-highlight{background:radial-gradient(circle at top,#22c55e20 0,#020617 65%);border-color:#22c55e80}.pricing-badge{position:absolute;top:12px;right:14px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:999px;background:#22c55e;color:#021016}.pricing-plan-name{font-size:15px;font-weight:600;margin-bottom:6px}.pricing-price{font-size:24px;font-weight:700}.pricing-price-sub{font-size:11px;color:#94a3b8e6;margin-bottom:10px}.pricing-features{list-style:none;padding:0;margin:0 0 14px;font-size:13px;color:#e2e8f0e6}.pricing-features li{position:relative;padding-left:18px;margin-bottom:4px}.pricing-features li:before{content:"•";position:absolute;left:5px;top:0;color:#22c55e}.pricing-btn{width:100%;padding:8px 0;border-radius:999px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .15s ease-in-out}.pricing-btn-primary{background:#22c55e;color:#020617}.pricing-btn-primary:hover{background:#4ade80}.pricing-btn-ghost{background:transparent;border:1px solid rgba(148,163,184,.7);color:#e2e8f0f2}.pricing-btn-ghost:hover{background:#0f172ae6}.dashboard-card{background:#020617;border-radius:24px;padding:24px 22px 22px;box-shadow:0 18px 40px #0f172ae6;border:1px solid rgba(148,163,184,.4)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dashboard-title{font-size:15px;font-weight:600}.logout-btn{padding:6px 14px;border-radius:999px;border:1px solid rgba(148,163,184,.8);background:transparent;color:#e2e8f0f2;font-size:12px;cursor:pointer}.dashboard-subtitle{font-size:13px;color:#94a3b8f2;margin-bottom:10px}.dashboard-actions{margin-bottom:14px}.dashboard-upgrade-btn{padding:8px 18px;border-radius:999px;border:none;background:#22c55e;color:#020617;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease-in-out,transform .05s ease-in-out}.dashboard-upgrade-btn:hover:not(:disabled){background:#4ade80;transform:translateY(-1px)}.dashboard-upgrade-btn:disabled{opacity:.7;cursor:not-allowed}.trend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trend-skeleton{height:80px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#1e293b);opacity:.8}@media (max-width: 960px){.layout{grid-template-columns:1fr}.hero{order:0}.auth-card{order:1}.pricing{order:2}.pricing-grid{grid-template-columns:1fr}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
