body{margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:#333;line-height:1.6;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 20px}.main-content{flex:1;display:flex;flex-direction:column}.header{background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo{font-size:1.5rem;font-weight:700;color:#333;text-decoration:none;display:flex;align-items:center}.logo-img{height:40px;width:auto}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{color:#666;text-decoration:none;transition:color .2s}.nav-link:hover{color:#333}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#f8f9fa;color:#333;border:1px solid #dee2e6}.btn-secondary:hover{background:#e9ecef}.hero{padding:4rem 0;text-align:center;background:#f8f9fa}.hero h1{font-size:3rem;margin-bottom:1rem;color:#333}.hero p{font-size:1.25rem;color:#666;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.pricing-section{padding:4rem 0}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.pricing-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:2rem;text-align:center;transition:transform .2s,box-shadow .2s}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.pricing-card.featured{border-color:#007bff;border-width:2px}.pricing-card h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.pricing-card .price{font-size:2.5rem;font-weight:700;color:#007bff;margin-bottom:1rem}.pricing-card .price span{font-size:1rem;font-weight:400;color:#666}.pricing-card ul{list-style:none;margin:2rem 0;text-align:left}.pricing-card li{padding:.5rem 0;color:#666}.pricing-card li:before{content:"✓ ";color:#28a745;font-weight:700}.form-container{max-width:400px;margin:2rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-input{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:4px;font-size:1rem}.form-input:focus{outline:none;border-color:#007bff}.dashboard{padding:2rem 0}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.dashboard-header h1{margin:0 0 .5rem}.subscription-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:2rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .3s ease}.subscription-card:hover{box-shadow:0 4px 12px #0000001a}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.subscription-status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.status-active{background:#d4edda;color:#155724}.status-canceled{background:#f8d7da;color:#721c24}.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem}.success{background:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem}.footer{background:#343a40;color:#fff;padding:3rem 0;margin-top:auto}.footer a{color:#fff;text-decoration:none}.footer a:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-content h2{margin-bottom:1.5rem;color:#dc3545}.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.warning-box h3{margin-top:0;color:#856404}.warning-box ul{margin:.5rem 0;padding-left:1.5rem}.warning-box li{margin:.5rem 0;color:#856404}.form-section{margin-bottom:1.5rem}.form-section label{display:block;margin-bottom:.5rem;font-weight:600}.form-section select,.form-section textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.cost-breakdown{background:#f8f9fa;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.cost-breakdown h4{margin-top:0;color:#495057}.cost-breakdown p{margin:.5rem 0;color:#6c757d}.confirmation-section{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:flex-start;cursor:pointer}.checkbox-label input[type=checkbox]{margin-right:.5rem;margin-top:.25rem}.checkbox-label ul{margin:.5rem 0 0 1.5rem;padding-left:1rem;font-size:.9rem;color:#c62828}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.billing-page{padding:2rem 0;min-height:calc(100vh - 160px)}.billing-section{background:#fff;border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.billing-section h2{margin-bottom:1.5rem;color:#333}.current-plan{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.plan-details h3{margin:0;color:#06c}.plan-price{font-size:2rem;font-weight:700;color:#333;margin:.5rem 0}.plan-breakdown table{width:100%;border-collapse:collapse}.plan-breakdown td{padding:.5rem 0;border-bottom:1px solid #eee}.plan-breakdown td:last-child{text-align:right}.plan-breakdown .total-row td{border-top:2px solid #333;border-bottom:none;padding-top:1rem;font-size:1.1rem}.payment-methods{display:flex;flex-direction:column;gap:1rem}.payment-method{border:1px solid #ddd;border-radius:4px;padding:1rem;background:#f8f9fa}.card-info{display:flex;align-items:center;gap:1rem}.card-brand{font-weight:700;text-transform:uppercase}.card-number{color:#666}.card-expiry{color:#999;font-size:.9rem}.default-badge{background:#28a745;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;margin-left:auto}.invoices-table{overflow-x:auto}.invoices-table table{width:100%;border-collapse:collapse}.invoices-table th{background:#f8f9fa;padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}.invoices-table td{padding:.75rem;border-bottom:1px solid #dee2e6}.status{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.status-paid{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-failed{background:#f8d7da;color:#721c24}.btn-link{background:none;border:none;color:#06c;cursor:pointer;text-decoration:underline;padding:0}.btn-link:hover{color:#0052a3}.tax-info .info-box{background:#f8f9fa;border-left:4px solid #0066cc;padding:1.5rem;border-radius:4px}.tax-info p{margin:.5rem 0}.tax-info .note{color:#666;font-size:.9rem;font-style:italic;margin-top:1rem}.invoice-table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.invoice-table th,.invoice-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.invoice-table th{background:#f8f9fa;font-weight:600;color:#495057}.invoice-table tr:hover{background:#f8f9fa}.invoice-type{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.invoice-type.credits{background:#e3f2fd;color:#1976d2}.invoice-type.subscription{background:#e8f5e8;color:#2e7d32}.status.paid{background:#e8f5e8;color:#2e7d32}.status.pending{background:#fff3e0;color:#f57c00}.status.failed{background:#ffebee;color:#d32f2f}.btn-download,.btn-view{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;text-decoration:none;display:inline-block;margin:2px}.btn-download{background:#007bff;color:#fff}.btn-download:hover{background:#0056b3}.btn-view{background:#28a745;color:#fff}.btn-view:hover{background:#1e7e34}.profile-page{padding:2rem 0;min-height:calc(100vh - 160px)}.profile-section{background:#fff;border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.profile-section h2{margin-bottom:1.5rem;color:#333}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column}.info-item label{font-weight:600;color:#666;margin-bottom:.25rem;font-size:.9rem}.info-item span{color:#333;font-size:1.1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem}.form-group input{width:100%;max-width:400px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group small{display:block;color:#666;margin-top:.25rem;font-size:.85rem}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.connected-account{display:flex;align-items:center;padding:1rem;background:#f8f9fa;border-radius:4px;gap:1rem}.provider-icon{width:24px;height:24px}.connected-badge{margin-left:auto;background:#28a745;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.85rem}.btn-google{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#333;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:all .2s}.btn-google:hover{background:#f8f9fa;border-color:#4285f4}.security-item{padding:1.5rem;background:#f8f9fa;border-radius:4px;margin-bottom:1rem}.security-item h3{margin-top:0;margin-bottom:.5rem;color:#333}.security-item p{color:#666;margin-bottom:1rem}.danger-zone{border:2px solid #dc3545}.danger-zone h2{color:#dc3545}.danger-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffebee;border-radius:4px}.danger-item h3{margin:0;color:#c62828}.danger-item p{margin:.5rem 0 0;color:#666}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600}.btn-danger:hover{background:#c82333}.set-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.set-password-page .form-container{background:#fff;border-radius:12px;padding:3rem;width:100%;max-width:500px;box-shadow:0 20px 40px #0000001a}.welcome-section{text-align:center;margin-bottom:2rem}.welcome-section h2{color:#333;margin-bottom:.5rem}.welcome-section p{color:#666;margin:.5rem 0}.info-text{background:#f0f4ff;padding:1rem;border-radius:8px;border-left:4px solid #667eea;text-align:left;margin-top:1rem}.password-requirements{background:#f8f9fa;padding:1rem;border-radius:4px;margin-top:.5rem;font-size:.9rem}.password-requirements li{color:#6c757d;position:relative;padding:.25rem 0 .25rem 1.5rem}.skip-btn{width:100%;margin-top:1rem;background:transparent;color:#6c757d;border:1px solid #dee2e6}.skip-btn:hover{background:#f8f9fa}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8f9fa;padding:2rem}.forgot-password-page .form-container{background:#fff;border-radius:8px;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 4px 6px #0000001a}.forgot-password-page h2{text-align:center;margin-bottom:1.5rem;color:#333}.info-text{color:#666;text-align:center;margin-bottom:1.5rem;line-height:1.5}.success{background:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #c3e6cb}.email-sent{text-align:center;padding:2rem 0}.email-sent h3{color:#333;margin-bottom:1rem}.email-sent p{color:#666;margin-bottom:1rem;line-height:1.5}.email-sent .note{background:#f8f9fa;padding:1rem;border-radius:4px;font-size:.9rem;margin:1.5rem 0}.form-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.form-footer a{color:#667eea;text-decoration:none;font-size:.9rem}.form-footer a:hover{text-decoration:underline}.separator{margin:0 1rem;color:#dee2e6}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8f9fa;padding:2rem}.reset-password-page .form-container{background:#fff;border-radius:8px;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 4px 6px #0000001a}.reset-password-page h2{text-align:center;margin-bottom:1rem;color:#333}.error-state,.success-state{text-align:center;padding:2rem 0}.error-icon{font-size:3rem;margin-bottom:1rem}.success-icon{width:60px;height:60px;background:#28a745;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.error-state p,.success-state p{color:#666;margin:1rem 0;line-height:1.5}.error-state .btn,.success-state .btn{margin:.5rem}.password-requirements{background:#f8f9fa;padding:.75rem;border-radius:4px;margin-top:.5rem;font-size:.85rem}.password-requirements p{margin:0 0 .5rem;font-weight:600;color:#495057}.password-requirements ul{list-style:none;padding:0;margin:0}.password-requirements li{color:#6c757d;position:relative;padding:.2rem 0 .2rem 1.5rem}.password-requirements li:before{content:"✗";position:absolute;left:0;color:#dc3545}.password-requirements li.met{color:#28a745}.password-requirements li.met:before{content:"✓";color:#28a745}.api-keys-container{max-width:1200px;margin:0 auto;padding:2rem}.api-keys-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.api-keys-header h1{font-size:2rem;color:#1f2937;margin:0}.header-info{display:flex;align-items:center;gap:2rem}.credits-display{font-size:1.1rem;color:#4b5563}.credits-display strong{color:#10b981;font-size:1.3rem}.key-limit{color:#6b7280;font-size:.875rem;padding:.25rem .75rem;background:#f3f4f6;border-radius:6px;border:1px solid #e5e7eb}.generated-key-alert{background:#f0fdf4;border:2px solid #10b981;border-radius:8px;margin-bottom:2rem;overflow:hidden}.alert-header{background:#10b981;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#fff3}.alert-body{padding:1.5rem}.warning-text{color:#dc2626;font-weight:600;margin-bottom:1rem}.key-display{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem;border-radius:6px;border:1px solid #e5e7eb;margin-bottom:1rem}.key-display code{flex:1;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all}.copy-btn{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.copy-btn:hover{background:#2563eb}.usage-example{background:#f9fafb;padding:1rem;border-radius:6px}.example-code{display:block;font-family:Courier New,monospace;font-size:.85rem;color:#374151;margin-top:.5rem}.new-key-section{margin-bottom:2rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.key-generator{margin-top:1rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.key-name-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;margin-bottom:1rem}.key-name-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.generator-actions{display:flex;gap:1rem}.btn-generate{padding:.5rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-generate:hover{background:#059669}.btn-cancel{padding:.5rem 1.5rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:#4b5563}.api-keys-list{margin-bottom:2rem}.api-keys-list h2{font-size:1.5rem;color:#1f2937;margin-bottom:1rem}.no-keys{text-align:center;padding:3rem;background:#f9fafb;border-radius:8px;color:#6b7280}.keys-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.keys-table thead{background:#f3f4f6}.keys-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4b5563;text-transform:uppercase}.keys-table td{padding:1rem;border-top:1px solid #e5e7eb}.keys-table tr.revoked{opacity:.6}.key-name{font-weight:600;color:#1f2937}.key-prefix code{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.status-active{color:#10b981;font-weight:500}.status-revoked{color:#ef4444;font-weight:500}.btn-revoke{padding:.25rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-revoke:hover{background:#dc2626}.tier-features{background:#f9fafb;border-radius:8px;padding:2rem;margin-bottom:2rem}.tier-features h3{font-size:1.25rem;color:#1f2937;margin-bottom:1.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.feature-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.feature-card h4{font-size:.875rem;color:#6b7280;text-transform:uppercase;margin-bottom:.5rem}.cloud-list{display:flex;gap:.5rem;flex-wrap:wrap}.cloud-badge{padding:.25rem .75rem;background:#667eea;color:#fff;border-radius:20px;font-size:.875rem;font-weight:500}.feature-value{font-size:1.25rem;font-weight:600;color:#1f2937}.integration-guide{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a}.integration-guide h3{font-size:1.25rem;color:#1f2937;margin-bottom:1.5rem}.guide-steps{display:flex;gap:2rem;justify-content:space-between}.step{flex:1;display:flex;gap:1rem}.step-number{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.step-content h4{font-size:1rem;color:#1f2937;margin-bottom:.25rem}.step-content p{font-size:.875rem;color:#6b7280}.loading{text-align:center;padding:3rem;font-size:1.25rem;color:#6b7280}@media (max-width: 768px){.api-keys-header{flex-direction:column;align-items:flex-start;gap:1rem}.guide-steps{flex-direction:column}.keys-table{font-size:.875rem}.keys-table th,.keys-table td{padding:.5rem}}.credits-history-page{padding:2rem;background:#f8f9fa;min-height:100vh}.container{max-width:1200px;margin:0 auto}h1{color:#2c3e50;margin-bottom:2rem;font-size:2.5rem;font-weight:700}.credits-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.summary-card h3{color:#6c757d;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.summary-value{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.credits-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.credits-section h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.table-container{overflow-x:auto}.credits-table{width:100%;border-collapse:collapse;margin-top:1rem}.credits-table th,.credits-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.credits-table th{background:#f8f9fa;font-weight:600;color:#495057;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.credits-table tr:hover{background:#f8f9fa}.status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.status-completed{background:#e8f5e8;color:#2e7d32}.status-pending{background:#fff3e0;color:#f57c00}.status-failed{background:#ffebee;color:#d32f2f}.transaction-type{display:flex;align-items:center;gap:.5rem;font-weight:500}.positive{color:#2e7d32;font-weight:600}.negative{color:#d32f2f;font-weight:600}.session-id{font-family:monospace;font-size:.9rem;color:#6c757d}.no-data{text-align:center;color:#6c757d;font-style:italic;padding:2rem}.actions{text-align:center;margin-top:2rem}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background:#5a6268}.loading{text-align:center;padding:4rem;color:#6c757d;font-size:1.1rem}@media (max-width: 768px){.credits-history-page,.credits-section{padding:1rem}.credits-table{font-size:.9rem}.credits-table th,.credits-table td{padding:8px}}
