:root{--purple-dark:#120b26;--purple-mid:#1e1040;--purple-accent:#b97aff;--purple-accent-dark:#9333ea;--purple-light:#f3e8ff;--purple-faint:#faf5ff;--green:#10b981;--red:#ef4444;--amber:#f59e0b;--text:#111827;--text-muted:#6b7280;--text-subtle:#9ca3af;--text-inverse:#fff;--bg:#fff;--bg-subtle:#f9fafb;--border:#e5e7eb;--border-mid:#d1d5db;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 20px 40px #0000001f;--shadow-xl:0 25px 60px #0000002e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--purple-accent-dark);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 24px}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:none;align-items:center;gap:8px;padding:11px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--purple-accent);color:var(--purple-dark)}.btn-primary:hover{background:#c990ff;transform:translateY(-1px);box-shadow:0 4px 14px #b97aff66}.btn-secondary{color:#fff;background:#ffffff1f;border:1px solid #ffffff40}.btn-secondary:hover{background:#fff3}.btn-outline{color:var(--text);border:1px solid var(--border-mid);background:0 0}.btn-outline:hover{border-color:var(--purple-accent);color:var(--purple-accent-dark);background:var(--purple-faint)}.btn-ghost{color:var(--text-muted);background:0 0;border:none;padding:8px 12px;font-size:14px}.btn-ghost:hover{color:var(--text);background:var(--bg-subtle);border-radius:var(--radius-sm)}.btn-danger{color:var(--red);background:#fef2f2;border:1px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-lg{padding:14px 28px;font-size:16px}.btn-sm{padding:7px 14px;font-size:13px}.btn-full{justify-content:center;width:100%}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120b26f2;border-bottom:1px solid #ffffff14;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.nav-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.nav-logo:hover{text-decoration:none}.nav-logo-mark{background:var(--purple-accent);width:32px;height:32px;color:var(--purple-dark);border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.nav-logo-text{color:#fff;letter-spacing:-.3px;font-size:18px;font-weight:700}.nav-actions{align-items:center;gap:8px;display:flex}.nav-user{color:#fff9;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:14px;overflow:hidden}.hero{background:var(--purple-dark);text-align:center;background-image:radial-gradient(80% 60% at 50% -10%,#b97aff2e 0%,#0000 70%),radial-gradient(40% 40% at 80% 60%,#b97aff14 0%,#0000 60%);padding:96px 0 80px}.hero-badge{border-radius:var(--radius-full);color:var(--purple-accent);letter-spacing:.2px;background:#b97aff26;border:1px solid #b97aff4d;align-items:center;gap:6px;margin-bottom:28px;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.hero h1{color:#fff;letter-spacing:-1.5px;max-width:820px;margin:0 auto 20px;font-size:clamp(36px,6vw,64px);font-weight:800;line-height:1.1}.hero h1 span{color:var(--purple-accent)}.hero-sub{color:#fff9;max-width:560px;margin:0 auto 40px;font-size:clamp(17px,2.5vw,20px);line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.hero-note{color:#ffffff59;margin-top:20px;font-size:13px}.features{background:var(--bg);padding:96px 0}.section-label{letter-spacing:.8px;text-transform:uppercase;color:var(--purple-accent-dark);margin-bottom:12px;font-size:13px;font-weight:700}.section-title{letter-spacing:-.8px;color:var(--text);font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.2}.section-sub{color:var(--text-muted);max-width:520px;margin-top:12px;font-size:17px}.features-header{text-align:center;margin-bottom:60px}.features-header .section-sub{margin-left:auto;margin-right:auto}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.feature-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all .2s}.feature-card:hover{box-shadow:0 0 0 4px #b97aff0f, var(--shadow-md);border-color:#b97aff66;transform:translateY(-2px)}.feature-icon{background:var(--purple-light);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-size:22px;display:flex}.feature-card h3{color:var(--text);margin-bottom:8px;font-size:16px;font-weight:700}.feature-card p{color:var(--text-muted);font-size:14px;line-height:1.6}.pricing{background:var(--purple-dark);text-align:center;background-image:radial-gradient(60% 50% at 50% 100%,#b97aff1f 0%,#0000 70%);padding:96px 0}.pricing .section-label{color:var(--purple-accent)}.pricing .section-title{color:#fff}.pricing .section-sub{color:#ffffff8c;margin-left:auto;margin-right:auto}.pricing-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1f;max-width:420px;margin:52px auto 0;padding:40px 40px 48px;position:relative;overflow:hidden}.pricing-card:before{content:"";background:linear-gradient(90deg, transparent, var(--purple-accent), transparent);height:2px;position:absolute;top:0;left:0;right:0}.pricing-badge{border-radius:var(--radius-full);color:var(--purple-accent);letter-spacing:.5px;text-transform:uppercase;background:#b97aff33;border:1px solid #b97aff66;margin-bottom:20px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.pricing-price{justify-content:center;align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.pricing-currency{color:#ffffffb3;margin-top:6px;font-size:24px;font-weight:700}.pricing-amount{color:#fff;letter-spacing:-2px;font-size:60px;font-weight:800;line-height:1}.pricing-period{color:#ffffff73;margin-bottom:28px;font-size:16px}.pricing-divider{border:none;border-top:1px solid #ffffff1a;margin:28px 0}.pricing-features{text-align:left;flex-direction:column;gap:12px;margin-bottom:32px;list-style:none;display:flex}.pricing-features li{color:#fffc;align-items:center;gap:10px;font-size:15px;display:flex}.check{width:20px;height:20px;color:var(--purple-accent);background:#b97aff33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.dashboard{background:var(--bg-subtle);min-height:calc(100vh - 64px);padding:48px 0 96px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:800}.dashboard-welcome p{color:var(--text-muted);margin-top:4px;font-size:15px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.card-full{grid-column:1/-1}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.card-title{color:var(--text);font-size:15px;font-weight:700}.card-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.status-badge{border-radius:var(--radius-full);letter-spacing:.3px;text-transform:uppercase;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-active{color:#15803d;background:#dcfce7}.status-inactive{color:#6b7280;background:#f3f4f6}.status-canceled{color:#b91c1c;background:#fef2f2}.status-pending{color:#854d0e;background:#fef9c3}.status-dot{opacity:.8;background:currentColor;border-radius:50%;width:7px;height:7px}.card-body{color:var(--text-muted);font-size:14px;line-height:1.7}.card-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.toast{z-index:200;border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:360px;padding:14px 20px;font-size:14px;font-weight:600;animation:.25s slideIn;position:fixed;top:80px;right:24px}.toast-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.toast-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.toast-info{background:var(--purple-faint);color:#7e22ce;border:1px solid #e9d5ff}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#120b26b3;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);padding:40px;animation:.2s popIn;position:relative}@keyframes popIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{background:var(--bg-subtle);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--border);color:var(--text)}.modal-logo{background:var(--purple-dark);width:40px;height:40px;color:var(--purple-accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:20px;font-size:22px;font-weight:800;display:flex}.modal h2{color:var(--text);letter-spacing:-.4px;margin-bottom:6px;font-size:22px;font-weight:800}.modal-desc{color:var(--text-muted);margin-bottom:28px;font-size:14px}.form-field{margin-bottom:14px}.form-field label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-field input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);outline:none;padding:11px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.form-field input:focus{border-color:var(--purple-accent);box-shadow:0 0 0 3px #b97aff1f}.form-field input::placeholder{color:var(--text-subtle)}.auth-error{border-radius:var(--radius-sm);color:var(--red);background:#fef2f2;border:1px solid #fecaca;margin-top:12px;padding:10px 14px;font-size:13px}.auth-toggle{text-align:center;color:var(--text-muted);margin-top:20px;font-size:14px}.auth-toggle button{color:var(--purple-accent-dark);text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;text-decoration:underline}.auth-toggle button:hover{color:var(--purple-accent)}.footer{background:var(--purple-dark);border-top:1px solid #ffffff0f;padding:40px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-copy{color:#ffffff59;font-size:13px}.footer-links{gap:20px;display:flex}.footer-links a{color:#fff6;font-size:13px;text-decoration:none}.footer-links a:hover{color:#ffffffb3;text-decoration:none}.spinner{border:2px solid #0000001a;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{background:var(--purple-dark);justify-content:center;align-items:center;min-height:100vh;display:flex}.page-loading .spinner{border-color:#ffffff26;border-top-color:var(--purple-accent);width:32px;height:32px}@media (width<=768px){.features-grid,.dashboard-grid{grid-template-columns:1fr}.hero{padding:64px 0 56px}.features,.pricing{padding:64px 0}.pricing-card{padding:32px 24px 40px}.modal{padding:28px 24px}.footer-inner{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=480px){.nav-user{display:none}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:center}.card-actions{flex-direction:column}.card-actions .btn{justify-content:center}}
