:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--danger: #ef4444;--success: #10b981;--bg-light: #f9fafb;--bg-white: #ffffff;--text-dark: #1f2937;--text-gray: #6b7280;--border: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:var(--text-dark);line-height:1.6;background-color:var(--bg-white)}.landing-page{width:100%;overflow-x:hidden}.navbar{background:var(--bg-white);box-shadow:0 1px 3px #00000014;position:sticky;top:0;z-index:100}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:100%;margin:0 auto;padding:1rem 60px;width:100%}.nav-logo{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:700;color:var(--primary);white-space:nowrap;flex-shrink:0;margin-right:5rem}.nav-logo svg{color:var(--secondary);flex-shrink:0;width:28px;height:28px}.nav-logo span{letter-spacing:0}.nav-menu{display:flex;list-style:none;gap:4rem;align-items:center;margin:0;padding:0;flex-grow:1;justify-content:flex-start}.nav-menu li{display:flex;align-items:center;white-space:nowrap}.nav-menu li:last-child{margin-left:auto}.nav-menu a{text-decoration:none;color:var(--text-dark);font-weight:500;font-size:.95rem;transition:color .3s ease;white-space:nowrap;padding:.5rem 0}.nav-menu a:hover{color:var(--primary)}.btn-login,.btn-nav{text-decoration:none!important;border:none!important;cursor:pointer;font-weight:600;font-size:.95rem;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:100px;padding:.75rem 1.8rem;border-radius:.625rem}.btn-nav-primary{background:var(--primary)!important;color:#fff!important;box-shadow:0 2px 8px #6366f140;padding:.75rem 2.2rem!important}.btn-nav-primary:hover{background:var(--primary-dark)!important;transform:translateY(-2px);box-shadow:0 8px 24px #6366f166}.btn-nav-secondary{background:transparent!important;color:var(--text-dark)!important;border:2px solid var(--border)!important;padding:.55rem 1.8rem!important}.btn-nav-secondary:hover{background:var(--bg-light)!important;border-color:var(--primary)!important;color:var(--primary)!important;box-shadow:0 2px 8px #6366f126}.mobile-menu-btn{display:none;flex-direction:column;background:none;border:none;cursor:pointer;gap:6px;padding:0}.mobile-menu-btn span{width:28px;height:3px;background:var(--text-dark);border-radius:2px;transition:all .3s}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-full{width:100%}.hero{padding:60px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-content h1{font-size:3.5rem;line-height:1.2;margin-bottom:20px;font-weight:800}.hero-content p{font-size:1.25rem;margin-bottom:30px;opacity:.95}.hero-buttons{display:flex;gap:20px;margin-bottom:50px;flex-wrap:wrap}.hero-buttons .btn{padding:1rem 2rem;font-size:1.1rem}.hero-buttons .btn-primary{background:white;color:var(--primary)}.hero-buttons .btn-primary:hover{background:var(--bg-light)}.hero-buttons .btn-secondary{background:rgba(255,255,255,.2);border-color:#fff;color:#fff}.hero-buttons .btn-secondary:hover{background:white;color:var(--primary)}.hero-stats{display:flex;gap:40px}.stat{text-align:center}.stat h3{font-size:2rem;margin-bottom:5px}.stat p{opacity:.8;font-size:.95rem}.hero-image{display:flex;justify-content:center}.dashboard-preview{width:100%;max-width:400px;background:white;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #0000004d}.preview-header{display:flex;gap:8px;padding:15px 20px;background:#f3f4f6;border-bottom:1px solid var(--border)}.preview-dot{width:12px;height:12px;border-radius:50%}.preview-dot.red{background:#ef4444}.preview-dot.yellow{background:#eab308}.preview-dot.green{background:#10b981}.preview-content{padding:40px 20px;background:white}.chart-placeholder{display:flex;align-items:flex-end;justify-content:space-around;height:150px;gap:15px}.bar{width:20%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:4px 4px 0 0}.features{padding:80px 20px;background:var(--bg-light)}.features .container{text-align:center}.features h2{font-size:2.5rem;margin-bottom:10px;color:var(--text-dark)}.section-subtitle{font-size:1.25rem;color:var(--text-gray);margin-bottom:60px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.feature-card{background:white;padding:40px 30px;border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s;text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-card svg{color:var(--primary);margin-bottom:20px}.feature-card h3{font-size:1.5rem;margin-bottom:15px;color:var(--text-dark)}.feature-card p{color:var(--text-gray);line-height:1.8}.how-it-works{padding:80px 20px;background:white}.how-it-works h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.steps{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.step{flex:1;min-width:200px;text-align:center;padding:30px 20px}.step-number{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--primary);color:#fff;font-size:1.5rem;font-weight:700;margin:0 auto 20px}.step h3{font-size:1.25rem;margin-bottom:10px;color:var(--text-dark)}.step p{color:var(--text-gray);font-size:.95rem}.step-arrow{color:var(--primary);font-size:2rem;margin:0 10px}.pricing{padding:80px 20px;background:var(--bg-light)}.pricing h2{font-size:2.5rem;text-align:center;margin-bottom:10px;color:var(--text-dark)}.pricing .section-subtitle{text-align:center;margin-bottom:60px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.pricing-card{background:white;padding:40px 30px;border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s;position:relative;border:2px solid transparent}.pricing-card:hover{box-shadow:var(--shadow-lg)}.pricing-card h3{font-size:1.5rem;margin-bottom:20px;color:var(--text-dark)}.price{font-size:2.5rem;margin-bottom:10px;color:var(--primary);font-weight:700}.pricing-card .description{color:var(--text-gray);margin-bottom:30px;font-size:.95rem}.features-list{list-style:none;margin-bottom:30px;text-align:left}.features-list li{padding:10px 0;border-bottom:1px solid var(--border);color:var(--text-gray);font-size:.95rem}.features-list li:last-child{border-bottom:none}.testimonials{padding:80px 20px;background:white}.testimonials h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.testimonial-card{background:var(--bg-light);padding:30px;border-radius:12px;border-left:4px solid var(--primary)}.stars{margin-bottom:15px;font-size:1.2rem}.testimonial-card p{color:var(--text-dark);margin-bottom:20px;font-size:.95rem;line-height:1.8}.author{display:flex;flex-direction:column;gap:5px}.author strong{color:var(--text-dark)}.author span{color:var(--text-gray);font-size:.85rem}.faq{padding:80px 20px;background:var(--bg-light)}.faq h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1200px;margin:0 auto}.faq-item h4{font-size:1.1rem;margin-bottom:15px;color:var(--text-dark)}.cta-buttons .btn{padding:1rem 2rem;font-size:1.1rem}.cta-buttons .btn-primary{background:white;color:var(--primary)}.cta-buttons .btn-primary:hover{background:var(--bg-light)}.cta-buttons .btn-secondary{background:rgba(255,255,255,.2);border-color:#fff;color:#fff}.cta-buttons .btn-secondary:hover{background:white;color:var(--primary)}.footer{background:var(--text-dark);color:#fff;padding:60px 20px 20px}.footer-container{max-width:1200px;margin:0 auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px}.footer-section h4{font-size:1.1rem;margin-bottom:20px;font-weight:600}.footer-section p{color:#ffffffb3;font-size:.95rem;line-height:1.8}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:12px}.footer-section ul a{color:#ffffffb3;text-decoration:none;transition:color .3s}.footer-section ul a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:30px;text-align:center;color:#fff9}@media (max-width: 768px){.mobile-menu-btn{display:flex}.nav-container{padding:1rem 20px;flex-wrap:wrap}.nav-logo{margin-right:1rem}.nav-menu{position:absolute;top:70px;left:0;right:0;flex-direction:column;background:white;padding:20px;gap:0;display:none;border-bottom:1px solid var(--border);width:100%;margin:0}.nav-menu.active{display:flex}.nav-menu li{padding:12px 0;border-bottom:1px solid var(--border);width:100%}.nav-menu li:last-child{border-bottom:none}.nav-menu a{display:block;padding:8px 0}.btn-login{margin-left:0;width:100%;text-align:center}.hero-container{grid-template-columns:1fr;gap:40px;padding:40px 0}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1rem}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%}.hero-stats{flex-direction:column;gap:30px}.steps{flex-direction:column}.step-arrow{transform:rotate(90deg);margin:0 0 10px}.pricing-card.popular{transform:scale(1)}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}.features h2,.how-it-works h2,.pricing h2,.testimonials h2,.faq h2,.cta-final h2{font-size:2rem}.section-subtitle{font-size:1rem}}@media (max-width: 480px){.hero-content h1,.price{font-size:2rem}.features-grid,.testimonials-grid,.faq-grid,.pricing-grid{grid-template-columns:1fr}.nav-logo span{display:none}}.services-page{width:100%;background:white}.services-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px 0 60px}.services-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:20px}.nav-back,.nav-login{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:600;transition:opacity .3s}.nav-back:hover,.nav-login:hover{opacity:.8}.header-content{text-align:center;padding:40px 20px}.header-content p{font-size:1.2rem;opacity:.9}.services-section{padding:80px 20px;background:white}.service-item{display:grid;grid-template-columns:150px 1fr;gap:40px;align-items:start;margin-bottom:80px;padding-bottom:80px;border-bottom:1px solid var(--border)}.service-item:last-child{border-bottom:none}.service-icon{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.service-content h2{font-size:2rem;margin-bottom:20px;color:var(--text-dark)}.service-content p{font-size:1.1rem;color:var(--text-gray);margin-bottom:30px;line-height:1.8}.service-features{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;list-style:none}.service-features li{display:flex;align-items:center;gap:12px;color:var(--text-gray);font-size:.95rem}.service-features svg{color:var(--primary);flex-shrink:0}.benefits-section{padding:80px 20px;background:var(--bg-light)}.benefits-section h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.benefit-card{background:white;padding:40px 30px;border-radius:12px;box-shadow:var(--shadow-md);text-align:center;transition:all .3s}.benefit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.benefit-icon{font-size:3rem;margin-bottom:20px}.benefit-card h3{font-size:1.3rem;margin-bottom:15px;color:var(--text-dark)}.benefit-card p{color:var(--text-gray);font-size:.95rem;line-height:1.8}.use-cases-section{padding:80px 20px;background:white}.use-cases-section h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.use-case-card{background:var(--bg-light);padding:30px;border-radius:12px;border-left:4px solid var(--primary);transition:all .3s}.use-case-card:hover{transform:translate(5px)}.use-case-card h3{font-size:1.2rem;margin-bottom:15px;color:var(--text-dark)}.use-case-card p{color:var(--text-gray);font-size:.95rem;line-height:1.8}.comparison-section{padding:80px 20px;background:var(--bg-light)}.comparison-section h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.comparison-table{overflow-x:auto}.comparison-table table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.comparison-table thead{background:var(--primary);color:#fff}.comparison-table th{padding:20px;text-align:left;font-weight:600}.comparison-table td{padding:15px 20px;border-bottom:1px solid var(--border)}.comparison-table tbody tr:hover{background:var(--bg-light)}.comparison-table tbody tr:last-child td{border-bottom:none}.cta-final{padding:80px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-align:center}.cta-final h2{font-size:2.5rem;margin-bottom:20px}.cta-final p{font-size:1.25rem;margin-bottom:40px;opacity:.95}.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s}.btn-primary{background:white;color:var(--primary)}.btn-primary:hover{background:var(--bg-light);transform:translateY(-2px)}.btn-secondary{background:rgba(255,255,255,.2);border:2px solid white;color:#fff}.btn-secondary:hover{background:white;color:var(--primary)}.footer{background:var(--text-dark);color:#fff;padding:30px 20px;text-align:center}@media (max-width: 768px){.header-content h1{font-size:2rem}.service-item{grid-template-columns:1fr;margin-bottom:40px;padding-bottom:40px}.service-icon{width:100px;height:100px}.service-features{grid-template-columns:1fr}.comparison-table{font-size:.85rem}.comparison-table th,.comparison-table td{padding:10px}.cta-buttons{flex-direction:column}.btn{width:100%}.services-section h2,.benefits-section h2,.use-cases-section h2,.comparison-section h2,.cta-final h2{font-size:2rem}}@media (max-width: 480px){.services-nav{padding:10px}.service-content h2{font-size:1.5rem}.comparison-table{font-size:.75rem}}:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #0ea5e9;--bg-light: #f9fafb;--text-dark: #1f2937;--text-gray: #6b7280;--border: #e5e7eb;--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}.pricing-page{width:100%;min-height:100vh;background:white}.pricing-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding-top:20px}.navbar{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px 30px}.navbar-logo,.navbar-login{text-decoration:none;color:#fff;font-weight:600;font-size:1.2rem}.navbar-login{background:rgba(255,255,255,.2);padding:.5rem 1.5rem;border-radius:.375rem;transition:background .3s}.navbar-login:hover{background:white;color:var(--primary)}.header-content{text-align:center;padding:40px 20px 60px}.header-content h1{font-size:2.5rem;margin-bottom:10px;font-weight:800}.header-content p{font-size:1.25rem;opacity:.9}.container{max-width:1200px;margin:0 auto;padding:0 20px}.pricing-cards{padding:60px 20px;background:var(--bg-light)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.pricing-card{background:white;border-radius:12px;padding:40px 30px;box-shadow:var(--shadow-md);position:relative;transition:all .3s;border:2px solid transparent}.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.pricing-card.popular{border-color:var(--primary);transform:scale(1.05)}.popular-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:5px 15px;border-radius:20px;font-size:.85rem;font-weight:600}.pricing-card h2{font-size:1.5rem;margin-bottom:20px;color:var(--text-dark)}.price{margin-bottom:10px;font-size:2.5rem;font-weight:700;color:var(--primary)}.currency{font-size:1.5rem}.amount{margin:0 5px}.period{font-size:1rem;color:var(--text-gray)}.custom{font-size:1.5rem;color:var(--text-gray)}.description{color:var(--text-gray);margin-bottom:30px;font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s;width:100%;margin-bottom:30px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.features{text-align:left}.features h3{font-size:.95rem;font-weight:600;color:var(--text-dark);margin-top:20px;margin-bottom:15px;text-transform:uppercase;letter-spacing:.5px}.features ul{list-style:none;margin-bottom:0}.features li{display:flex;align-items:center;gap:10px;padding:10px 0;color:var(--text-gray);font-size:.95rem}.features svg{color:var(--primary);flex-shrink:0}.limitations li{color:#9ca3af}.limitations svg,.limitations span{color:#d1d5db}.pricing-faq{padding:80px 20px;background:white}.pricing-faq h2{font-size:2.5rem;text-align:center;margin-bottom:60px;color:var(--text-dark)}.faq-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1200px;margin:0 auto}.faq-item h3{font-size:1.1rem;margin-bottom:15px;color:var(--text-dark);font-weight:600}.faq-item p{color:var(--text-gray);font-size:.95rem;line-height:1.8}.pricing-cta{padding:80px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-align:center}.pricing-cta h2{font-size:2.5rem;margin-bottom:20px}.pricing-cta p{font-size:1.25rem;margin-bottom:40px;opacity:.95}.pricing-cta .btn{background:white;color:var(--primary);width:auto;margin-bottom:0}.pricing-cta .btn:hover{background:var(--bg-light)}.footer{background:var(--text-dark);color:#fff;padding:20px;text-align:center;border-top:1px solid var(--border)}@media (max-width: 768px){.header-content h1{font-size:2rem}.pricing-card.popular{transform:scale(1)}.cards-grid{grid-template-columns:1fr}.navbar{flex-direction:column;gap:20px}.pricing-faq h2,.pricing-cta h2{font-size:2rem}.faq-items{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:var(--color-gray-200);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-300)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626;box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669;box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn-ghost:hover:not(:disabled){background-color:#3b82f60d}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm)}.btn-md{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-lg)}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);padding:var(--spacing-4)}.auth-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:420px;padding:var(--spacing-12)}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center;color:var(--color-primary);margin-bottom:var(--spacing-2)}.auth-subtitle{font-size:var(--font-size-base);color:var(--color-gray-600);text-align:center;margin-bottom:var(--spacing-8)}.auth-error{background-color:#fee2e2;color:var(--color-danger);padding:var(--spacing-4);border-radius:var(--radius-base);margin-bottom:var(--spacing-6);font-size:var(--font-size-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-group input{padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-base);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.auth-button{padding:var(--spacing-3) var(--spacing-4);margin-top:var(--spacing-4);font-weight:var(--font-weight-semibold)}.auth-link{text-align:center;font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:var(--spacing-4)}.auth-link-text{color:var(--color-accent);font-weight:var(--font-weight-semibold);text-decoration:none}.auth-link-text:hover{text-decoration:underline}.layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-gray-50)}.header{background:white;border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.header-content{max-width:1600px;margin:0 auto;padding:0 var(--spacing-6);height:64px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:var(--spacing-4)}.header-logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0}.header-right{display:flex;align-items:center;gap:var(--spacing-6)}.header-user{display:flex;align-items:center;gap:var(--spacing-4)}.header-username{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.header-logout{background:transparent;border:1px solid var(--color-gray-300);color:var(--color-primary);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.header-logout:hover{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.layout-content{display:flex;flex:1}.sidebar{width:240px;background:white;border-right:1px solid var(--color-gray-200);padding:var(--spacing-4);height:calc(100vh - 64px);overflow-y:auto;position:sticky;top:64px}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-2)}.nav-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--color-gray-600);text-decoration:none;border-radius:var(--radius-base);transition:all var(--transition-fast);font-weight:var(--font-weight-medium)}.nav-link:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.nav-link.active{background-color:#3b82f61a;color:var(--color-accent);border-left:3px solid var(--color-accent);padding-left:calc(var(--spacing-4) - 3px)}.nav-icon{font-size:var(--font-size-lg)}.nav-label{font-size:var(--font-size-sm)}.main-content{flex:1;overflow-y:auto}.page-container{max-width:1400px;margin:0 auto;padding:var(--spacing-8)}@media (max-width: 768px){.sidebar{width:60px;padding:var(--spacing-2)}.nav-label{display:none}.nav-link.active{border-left:0;padding-left:var(--spacing-4);border-bottom:3px solid var(--color-accent)}.page-container{padding:var(--spacing-4)}.header-content{padding:0 var(--spacing-4)}}.card{background:white;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gray-300)}.card.clickable{cursor:pointer}.card.clickable:active{transform:scale(.98)}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--color-gray-300);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-md{width:24px;height:24px;border-width:3px}.spinner-lg{width:32px;height:32px;border-width:4px}.loading-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-gray-50)}.dashboard{padding:var(--spacing-6);background:var(--color-gray-50)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-6);margin-bottom:var(--spacing-12);flex-wrap:wrap}.dashboard-header h1{margin:0;color:var(--color-primary);font-size:var(--font-size-2xl)}.time-range-selector{display:flex;gap:var(--spacing-2)}.time-range-selector button{padding:var(--spacing-2) var(--spacing-4);border:2px solid var(--color-gray-300);background:white;border-radius:var(--radius-base);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all .2s}.time-range-selector button:hover{border-color:var(--color-primary);color:var(--color-primary)}.time-range-selector button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.error-message{background-color:#fee2e2;color:var(--color-danger);padding:var(--spacing-4);border-radius:var(--radius-base);margin-bottom:var(--spacing-6);border-left:4px solid var(--color-danger)}.section{margin-bottom:var(--spacing-12)}.section h2{color:var(--color-primary);margin:0 0 var(--spacing-6) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-6)}.metric-card{text-align:center;padding:var(--spacing-6);background:white;border-radius:var(--radius-lg);box-shadow:0 2px 4px #0000000d;position:relative;overflow:hidden;transition:all .3s}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.metric-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.metric-icon{font-size:2.5rem;margin-bottom:var(--spacing-2)}.metric-card h3{font-size:var(--font-size-sm);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-2) 0;font-weight:var(--font-weight-semibold)}.metric-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:var(--spacing-2) 0}.metric-label{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0}.metric-subtext{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--spacing-2)}.summary-metrics{margin-top:var(--spacing-6)}.summary-card{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-primary) 100%);color:#fff}.summary-card:before{background:rgba(255,255,255,.2)}.summary-card h3{color:#ffffffe6}.summary-card .metric-label{color:#fffc}.summary-card .metric-value{color:#fff}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-6)}.chart-card{padding:var(--spacing-6);background:white;border-radius:var(--radius-lg);box-shadow:0 2px 4px #0000000d}.chart-card h3{margin:0 0 var(--spacing-4) 0;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.provider-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}.provider-pie-chart{padding:var(--spacing-6);background:white;border-radius:var(--radius-lg);box-shadow:0 2px 4px #0000000d}.provider-table{padding:var(--spacing-6);background:white;border-radius:var(--radius-lg)}.provider-table h3{margin:0 0 var(--spacing-4) 0;color:var(--color-primary)}.provider-table table{width:100%;border-collapse:collapse}.provider-table thead{background:var(--color-gray-100);border-bottom:2px solid var(--color-gray-300)}.provider-table th{padding:var(--spacing-3);text-align:left;font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.provider-table td{padding:var(--spacing-3);border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-sm)}.provider-table tbody tr:hover{background:var(--color-gray-50)}.provider-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:var(--spacing-2)}.cost-cell{color:var(--color-accent);font-weight:var(--font-weight-bold)}.top-buckets{padding:var(--spacing-6)}.buckets-ranking{display:flex;flex-direction:column;gap:var(--spacing-4)}.bucket-rank-item{display:grid;grid-template-columns:60px 1fr auto auto;gap:var(--spacing-4);align-items:start;padding:var(--spacing-4);background:var(--color-gray-50);border-radius:var(--radius-base);border:1px solid var(--color-gray-200);transition:all .2s}.bucket-rank-item:hover{border-color:var(--color-primary);background:white}.rank-badge{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1 / -1}.bucket-info h4{margin:0 0 var(--spacing-1) 0;color:var(--color-primary);font-size:var(--font-size-base)}.bucket-provider{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.bucket-metrics-info{display:flex;gap:var(--spacing-4)}.metric-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.metric-info .label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:var(--font-weight-semibold)}.metric-info .value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary)}.bucket-growth-info{display:flex;gap:var(--spacing-2);flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.bucket-growth-info .positive{color:#059669}.bucket-growth-info .negative{color:#dc2626}.cost-bar{background:var(--color-gray-200);height:4px;border-radius:var(--radius-full);overflow:hidden;grid-column:2 / -1}.cost-bar-fill{height:100%;transition:width .3s ease}.table-responsive{overflow-x:auto}.buckets-table,.growth-table{padding:var(--spacing-6)}table{width:100%;border-collapse:collapse;min-width:800px}table thead{background:var(--color-gray-100);border-bottom:2px solid var(--color-gray-300)}table th{padding:var(--spacing-3);text-align:left;font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}table td{padding:var(--spacing-3);border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-sm)}table tbody tr{transition:background .2s}table tbody tr:hover{background:var(--color-gray-50)}.bucket-name{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.provider-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.growth-cell{font-weight:var(--font-weight-semibold)}.growth-cell .positive{color:#059669}.growth-cell .negative{color:#dc2626}.growth-cell .neutral{color:var(--color-gray-500)}.projections{padding:var(--spacing-6)}.projection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-6)}.projection-card{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;padding:var(--spacing-6);border-radius:var(--radius-base);text-align:center}.projection-card h4{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);opacity:.9}.projection-cost{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.empty-state{text-align:center;padding:var(--spacing-12)}.empty-state p{color:var(--color-gray-600);margin:var(--spacing-2) 0}.empty-state-subtext{color:var(--color-gray-500);font-size:var(--font-size-sm)}.positive{color:#059669!important}.negative{color:#dc2626!important}@media (max-width: 1200px){.charts-grid,.provider-breakdown{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard{padding:var(--spacing-4)}.dashboard-header{flex-direction:column;align-items:stretch}.time-range-selector{width:100%}.time-range-selector button{flex:1}.metrics-grid{grid-template-columns:repeat(2,1fr)}.bucket-rank-item{grid-template-columns:1fr}.rank-badge{grid-column:1;grid-row:1;width:40px;height:40px;font-size:var(--font-size-sm)}.bucket-metrics-info{flex-direction:column}.bucket-growth-info,.cost-bar{grid-column:1}.projection-grid{grid-template-columns:1fr}table{min-width:100%}}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:var(--font-size-lg)}.metric-icon{font-size:1.5rem}.metric-value{font-size:var(--font-size-lg)}}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:var(--z-modal);animation:fadeIn .2s ease-in-out}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;z-index:calc(var(--z-modal) + 1);animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translate(-50%,-40%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6);border-bottom:1px solid var(--color-gray-200)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.modal-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-gray-400);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.modal-close:hover{color:var(--color-primary)}.modal-body{padding:var(--spacing-6)}.modal-footer{display:flex;gap:var(--spacing-4);padding:var(--spacing-6);border-top:1px solid var(--color-gray-200);justify-content:flex-end}.buckets-page h1{margin-bottom:var(--spacing-8)}.buckets-table{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);overflow:hidden}thead{background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}th{padding:var(--spacing-4) var(--spacing-6);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-gray-700);font-size:var(--font-size-sm)}td{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-sm)}tbody tr:hover{background-color:var(--color-gray-50)}.bucket-name{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.bucket-cost{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.bucket-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.connections-page h1{margin-bottom:var(--spacing-8)}.connections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.connection-card{padding:var(--spacing-6);display:flex;flex-direction:column}.connection-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4)}.connection-header h3{margin:0;flex:1}.provider-badge{background-color:#3b82f61a;color:var(--color-accent);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.connection-status,.connection-region,.connection-date{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:var(--spacing-2) 0}.status-active{color:var(--color-success);font-weight:var(--font-weight-semibold)}.connection-actions{display:flex;gap:var(--spacing-2);margin-top:auto;padding-top:var(--spacing-4)}.connection-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.alerts-page h1{margin-bottom:var(--spacing-8)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.error-message{background-color:#fee2e2;color:var(--color-danger);padding:var(--spacing-4);border-radius:var(--radius-base);margin-bottom:var(--spacing-6)}.alerts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.alert-card{padding:var(--spacing-6)}.alert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4)}.alert-header h3{margin:0;flex:1}.alert-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.alert-cost{background-color:#ef44441a;color:var(--color-danger)}.alert-storage{background-color:#3b82f61a;color:var(--color-accent)}.alert-condition{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:var(--spacing-4) 0;padding:var(--spacing-3);background-color:var(--color-gray-100);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm)}.alert-status,.alert-created{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:var(--spacing-2) 0}.status-enabled{color:var(--color-success);font-weight:var(--font-weight-semibold)}.alert-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4)}.alert-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-group label{font-weight:var(--font-weight-semibold);color:var(--color-primary);font-size:var(--font-size-sm)}.form-group input,.form-group select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-base);font-size:var(--font-size-base)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.settings-page h1{margin-bottom:var(--spacing-8)}.settings-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-6)}.settings-card{padding:var(--spacing-8)}.settings-card h2{margin-bottom:var(--spacing-6);color:var(--color-primary);font-size:var(--font-size-xl)}.setting-item{margin-bottom:var(--spacing-6)}.setting-item label{display:block;font-weight:var(--font-weight-semibold);color:var(--color-gray-600);font-size:var(--font-size-sm);margin-bottom:var(--spacing-2)}.setting-item p{font-size:var(--font-size-base);color:var(--color-primary)}.setting-toggle{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);margin-bottom:var(--spacing-4);background-color:var(--color-gray-50);border-radius:var(--radius-base)}.setting-toggle label{font-weight:var(--font-weight-medium);color:var(--color-primary);margin:0}.setting-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer}.save-message{margin-top:var(--spacing-4);color:var(--color-success);font-weight:var(--font-weight-semibold)}body{background-color:var(--color-gray-50)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--color-primary: #0f172a;--color-primary-light: #1e293b;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--spacing-16: 4rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "Monaco", "Menlo", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .375rem;--radius-base: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-primary);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h4,h5,h6{font-weight:var(--font-weight-semibold)}p{line-height:1.6}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}
