.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:40px;width:100%}.auth-card h2{color:#333;font-size:28px;font-weight:600;margin-bottom:8px;text-align:center}.auth-subtitle{color:#666;font-size:16px;margin-bottom:32px;text-align:center}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333}.form-group input{border:2px solid #e1e5e9;border-radius:8px;font-size:16px;padding:12px 16px}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:transform .2s ease,box-shadow .2s ease}.auth-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{margin-bottom:20px}.auth-footer{border-top:1px solid #e1e5e9;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#666;font-size:14px}.auth-link{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#764ba2;text-decoration:underline}.modal-content{box-shadow:0 20px 40px #0003;max-width:400px;width:100%}.modal-header{border-bottom:1px solid #e1e5e9}.modal-header h3{color:#333;font-size:20px}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.modal-close:hover{background-color:#f1f3f4;color:#333}.modal-body p{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.auth-link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;margin:0;padding:0;text-decoration:none;transition:color .2s ease}.auth-link-button:hover{color:#764ba2;text-decoration:underline}.message{border:1px solid;border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.success-message{background:#f0fff4;border-color:#9ae6b4;color:#22543d}.error-message{background:#fee;border-color:#feb2b2}.new-connection-modal{max-width:600px;width:90%}.modal-header{border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding-bottom:16px}.modal-header h3{color:#2d3748;font-size:24px;font-weight:600;margin:0}.close-button{color:#a0aec0;transition:all .2s ease}.close-button:hover:not(:disabled){background:#f7fafc;color:#4a5568}.close-button:disabled{cursor:not-allowed;opacity:.5}.modal-content{display:flex;flex-direction:column;gap:24px}.modal-description{color:#718096;font-size:16px;line-height:1.6;margin:0}.providers-grid{display:flex;flex-direction:column;gap:16px}.provider-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.provider-card:hover{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.provider-card.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea33}.provider-icon{border-radius:12px;font-size:24px;height:48px;width:48px}.provider-info h4{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 8px}.provider-info p{color:#718096;font-size:14px;line-height:1.5;margin:0}.provider-check{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.error-message{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#c53030;font-size:14px;padding:12px 16px}.modal-actions{border-top:1px solid #e2e8f0;padding-top:16px}.cancel-button{background:#e2e8f0;border-radius:8px;color:#4a5568;padding:12px 24px;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:#cbd5e0}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.connect-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.connect-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.connect-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.new-connection-modal{margin:20px;padding:24px}.modal-header{align-items:flex-start;flex-direction:column;gap:16px}.modal-header h3{font-size:20px}.provider-card{flex-direction:column;gap:12px}.provider-card,.provider-info{text-align:center}.modal-actions{flex-direction:column}.cancel-button,.connect-button{width:100%}}.documentation-order-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.modal-overlay{padding:20px}.modal-header{background:#f9fafb;padding:24px 32px}.modal-header h2{color:#111827;font-size:24px}.close-button:hover{background:#f3f4f6}.progress-steps{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;padding:24px 32px}.step{align-items:center;display:flex;flex:1 1;flex-direction:column;position:relative}.step:not(:last-child):after{background:#e5e7eb;content:"";height:2px;left:50%;position:absolute;right:-50%;top:16px;z-index:1}.step.completed:not(:last-child):after{background:#10b981}.step-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;margin-bottom:8px;position:relative;width:32px;z-index:2}.step.active .step-number{background:#3b82f6;color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step-label{color:#6b7280;font-size:14px;font-weight:500;line-height:1.2;text-align:center}.step.active .step-label{color:#3b82f6;font-weight:600}.step.completed .step-label{color:#10b981;font-weight:600}.modal-body{flex:1 1;overflow-y:auto;padding:32px}.loading{color:#6b7280;font-size:16px;height:200px}.step-content{margin:0 auto;max-width:600px}.step-content h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 16px}.step-content p{color:#6b7280;line-height:1.6;margin:0 0 24px}.checkout-placeholder,.generate-placeholder{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;padding:24px;text-align:center}@media (max-width:768px){.documentation-order-modal{max-height:95vh;width:95%}.modal-header{padding:20px 24px}.modal-header h2{font-size:20px}.progress-steps{padding:20px 24px}.modal-body{padding:24px}.step-label{font-size:12px}}.options-container{margin:32px 0}.options-placeholder{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:48px 32px;text-align:center}.placeholder-icon{font-size:48px;margin-bottom:16px}.options-placeholder h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px}.options-placeholder p{line-height:1.6;margin:0 0 12px}.options-placeholder p:last-child{margin-bottom:0}.step-actions{justify-content:flex-end}.btn-primary,.btn-secondary{min-width:100px}@media (max-width:768px){.options-placeholder{padding:32px 24px}.placeholder-icon{font-size:36px}.step-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.quote-container{margin:32px 0}.quote-placeholder{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;margin-bottom:16px;padding:24px;text-align:center}.placeholder-icon{font-size:32px;margin-bottom:12px}.quote-placeholder h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.quote-placeholder p{line-height:1.5;margin:0 0 8px}.quote-placeholder p:last-child{margin-bottom:0}.scanning-progress{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;margin-bottom:16px;padding:24px;text-align:center}.progress-header{margin-bottom:20px}.progress-header h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.progress-header p{line-height:1.5;margin:0}.quote-note{color:#6b7280;font-size:14px;font-style:italic;margin-top:12px!important}.progress-container{margin:0 auto;max-width:400px}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#374151;font-size:14px;font-weight:500}.quote-display{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;margin-bottom:16px;padding:24px;text-align:center}.quote-header{margin-bottom:20px}.quote-header h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 12px}.quote-header p{line-height:1.5;margin:0}.quote-details{margin:0 auto;max-width:500px}.customization-summary{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:20px;text-align:left}.customization-summary h5{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.customization-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.customization-count{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px 0}.count-label{color:#374151;font-size:14px;font-weight:500}.count-value{color:#3b82f6;font-size:18px;font-weight:600}.cost-display{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px}.cost-label{color:#374151;font-size:16px;font-weight:500}.cost-amount{color:#059669;font-size:24px;font-weight:700}.quote-expired{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;margin-bottom:16px;padding:24px;text-align:center}.quote-expired h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 12px}.quote-expired p{line-height:1.5;margin:0 0 20px}.quote-advanced{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;margin-bottom:16px;padding:24px;text-align:center}.quote-advanced h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 12px}.quote-advanced p{line-height:1.5;margin:0}.retry-section{margin-top:16px;text-align:center}.error-message{color:#dc2626;font-weight:500;margin-bottom:16px}.btn-retry{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.btn-retry:hover:not(:disabled){background:#b91c1c}.btn-retry:disabled{background:#9ca3af;cursor:not-allowed}.loading-container{padding:48px 24px}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6}.loading-container p{color:#6b7280;margin:0}.error-container{padding:48px 24px}.error-container h4{color:#dc2626;font-size:18px;font-weight:600}.error-container p{color:#6b7280;line-height:1.5}.step-actions{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px}.step-actions:has(.btn-primary:only-child){justify-content:flex-end}.btn-primary,.btn-secondary{border:none;min-width:120px;transition:all .2s}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.btn-secondary:disabled{color:#9ca3af;cursor:not-allowed}@media (max-width:768px){.quote-details{padding:16px}.detail-row{align-items:flex-start;flex-direction:column;gap:4px}.detail-value{font-size:12px}.analysis-placeholder,.quote-placeholder{padding:20px 16px}.step-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.checkout-container{border-radius:8px;margin:20px 0;min-height:400px}.checkout-container iframe{border:none;height:400px;width:100%}.loading-container{padding:40px 20px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#007bff}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-container h4{color:#dc3545;margin:0 0 12px}.error-container p{color:#6c757d;margin:0 0 24px}.step-actions{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.btn-primary,.btn-secondary{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.generate-step{margin:0 auto;max-width:600px;padding:1.5rem;text-align:center}.success-icon{margin-bottom:1rem}.checkmark{align-items:center;animation:checkmarkPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 4px 12px #10b9814d;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:80px;justify-content:center;margin:0 auto;width:80px}@keyframes checkmarkPulse{0%,to{box-shadow:0 4px 12px #10b9814d;transform:scale(1)}50%{box-shadow:0 6px 20px #10b98166;transform:scale(1.05)}}.generate-step h3{color:#1f2937;font-size:1.75rem;font-weight:600;margin-bottom:.75rem;margin-top:0}.success-message{margin-bottom:1.5rem;text-align:left}.success-message p{color:#4b5563;font-size:1rem;line-height:1.6;margin-bottom:1rem}.info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem}.info-box h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.info-box ul{list-style:none;margin:0;padding:0}.info-box li{color:#4b5563;font-size:.95rem;line-height:1.6;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.info-box li:before{color:#10b981;content:"•";font-weight:700;left:0;position:absolute;top:0}.info-box li:last-child{margin-bottom:0}.action-buttons{margin-top:1.5rem}.primary-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.primary-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.primary-button:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}@media (max-width:768px){.generate-step{padding:1.5rem}.checkmark{font-size:2rem;height:60px;width:60px}.generate-step h3{font-size:1.5rem}.info-box{padding:1rem}}.modal-overlay{background-color:#00000080}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 16px}.modal-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px;transition:all .2s}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:24px}.success-section{margin-bottom:32px;text-align:center}.success-icon{font-size:48px;margin-bottom:16px}.success-section h3{color:#059669;font-size:1.25rem;font-weight:600;margin:0}.metadata-section{margin-bottom:32px}.metadata-section h4{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 16px}.metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-item label{color:#6b7280;font-size:.875rem;font-weight:500}.metadata-item span{color:#1f2937;font-size:1rem;font-weight:500}.status-completed{color:#059669;font-weight:600}.placeholder-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:32px;padding:20px}.placeholder-section h4{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 12px}.placeholder-text{color:#6b7280;font-size:.875rem;font-style:italic;line-height:1.5;margin:0}.download-section{margin-bottom:24px;text-align:center}.download-section h4{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 12px}.download-section p{color:#6b7280;font-size:.875rem;margin:0 0 20px}.download-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:16px 32px;transition:all .2s}.download-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.download-button:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed;transform:none}.download-note{color:#9ca3af;display:block;font-size:.75rem;margin-top:8px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:16px 24px 24px}.secondary-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:all .2s}.secondary-button:hover{background:#e5e7eb;border-color:#9ca3af}@media (max-width:640px){.modal-content{margin:20px;width:95%}.metadata-grid{grid-template-columns:1fr}.modal-body,.modal-footer,.modal-header{padding:20px}}.homepage{background-color:#f8fafc;min-height:100vh}.header{background:#fff;box-shadow:0 2px 4px #0000001a;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:24px;font-weight:700}.user-info{align-items:center;display:flex;gap:16px}.user-info span{color:#4a5568;font-size:14px}.logout-button{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.logout-button:hover{background:#c53030}.main-content{margin:0 auto;max-width:1200px;padding:40px 24px}.loading{align-items:center;color:#718096;display:flex;font-size:18px;justify-content:center;min-height:400px}.connections-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:32px;padding:32px 24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-header h2{color:#2d3748;font-size:24px;font-weight:600;margin:0}.add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.add-button:hover{box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.connections-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.connection-item{align-items:flex-start;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;min-height:80px;padding:20px;transition:all .2s ease}.connection-item:hover{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.connection-item.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea33}.connection-content{align-items:stretch;display:flex;gap:12px;width:100%}.provider-icon{align-items:center;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:80px;justify-content:center;padding:12px;text-align:center;width:80px}.provider-icon .icon{font-size:24px}.provider-info{text-align:center}.provider-name{font-size:12px;line-height:1.2}.environment{font-size:10px;line-height:1.2}.connection-details{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;min-width:0}.connection-name{align-items:center;display:flex;flex:1 1;min-width:0}.connection-name h3{word-wrap:break-word;color:#2d3748;font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-icon .icon{flex-shrink:0;font-size:20px}.provider-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.provider-name{color:#2d3748;font-size:14px;font-weight:600}.environment{font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.connection-footer{align-items:center;display:flex;flex:1 1;justify-content:space-between;margin-top:8px;min-height:0}.created-date{color:#a0aec0;font-size:12px}.connection-actions{display:flex;gap:8px}.delete-button{background:none;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:18px;opacity:1;padding:4px;transition:all .2s ease}.delete-button:hover:not(:disabled){background:#e53e3e1a;color:#e53e3e;opacity:1;transform:scale(1.1)}.delete-button:disabled{color:#a0aec0;cursor:not-allowed;opacity:.4}.reconnect-button{background:none;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:18px;opacity:1;padding:4px;transition:all .2s ease}.reconnect-button:hover{background:#3b82f61a;color:#3b82f6;opacity:1;transform:scale(1.1)}.edit-button{background:none;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:18px;opacity:1;padding:4px;transition:all .2s ease}.edit-button:hover{background:#22c55e1a;color:#22c55e;opacity:1;transform:scale(1.1)}.reports-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:32px 24px}.reports-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.report-item{align-items:flex-start;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:20px;position:relative;transition:all .2s ease}.report-item:hover{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.report-info h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 8px}.report-info p{color:#718096;font-size:14px;line-height:1.5;margin:0 0 12px}.report-info small{color:#a0aec0;font-size:12px}.report-info .status{font-weight:500}.report-info .status-completed{color:#059669}.report-info .status-new{color:#3b82f6}.report-info .status-quoted{color:#f59e0b}.report-info .status-processing{color:#8b5cf6}.report-info .status-error{color:#dc2626}.report-info .status-unknown{color:#6b7280}.report-item.most-recent{background:#f0fdf4;border-color:#10b981;position:relative}.report-item.most-recent:hover{background:#ecfdf5;border-color:#059669;box-shadow:0 4px 12px #10b9811a}.most-recent-badge{background:#10b981;border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;position:absolute;right:16px;text-transform:uppercase;top:-8px}.report-item .delete-button{background:none;border:none;border-radius:6px;color:#a0aec0;cursor:pointer;flex-shrink:0;font-size:16px;margin-left:12px;opacity:.6;padding:8px;transition:all .2s ease}.report-item .delete-button:hover{background:#e53e3e1a;color:#e53e3e;opacity:1;transform:scale(1.1)}.report-item:hover .delete-button{opacity:.8}.report-actions{display:flex;flex-shrink:0;gap:8px;margin-left:12px}.report-item .download-button{background:none;border:none;border-radius:6px;color:#059669;cursor:pointer;flex-shrink:0;font-size:16px;opacity:.6;padding:8px;transition:all .2s ease}.report-item .download-button:hover{background:#0596691a;opacity:1;transform:scale(1.1)}.report-item:hover .download-button{opacity:.8}.empty-state{color:#a0aec0;padding:40px 20px;text-align:center}.empty-state p{font-size:16px;font-weight:500;margin:0 0 8px}.empty-state small{font-size:14px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px #0000001a;max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;width:90%}.modal h3{color:#2d3748;font-size:24px;font-weight:600;margin:0 0 16px}.modal p{color:#718096;font-size:16px;line-height:1.6;margin:0 0 24px}.modal button{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.modal button:hover{background:#c53030}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.save-button{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none;border-radius:6px;color:#fff!important;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.save-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.save-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.cancel-button{background:#e2e8f0!important;border:none;border-radius:6px;color:#4a5568!important;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.cancel-button:hover{background:#cbd5e0!important}@media (max-width:768px){.header-content{flex-direction:column;gap:16px}.user-info{flex-direction:column;gap:12px}.main-content{padding:24px 16px}.connections-list,.reports-list{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:16px}.section-header h2{font-size:20px}.modal{margin:20px;padding:24px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading-container{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e3e3e3;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#666;font-size:16px}.oauth-message{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;display:flex;font-weight:500;gap:12px;max-width:400px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1001}.oauth-message.success{background:#48bb78}.oauth-message.error{background:#f56565}.oauth-message button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.oauth-message button:hover{background:#fff3}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.oauth-message{left:10px;max-width:none;right:10px;top:10px}}
/*# sourceMappingURL=main.ea66f2b6.css.map*/