body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:40px;width:100%}.login-card h2{color:#333;font-size:2em;font-weight:600;margin-bottom:30px;text-align:center}.error-alert{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;padding:12px}.error-alert,.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);font-size:16px;margin-top:10px;padding:14px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 5px 15px #667eea4d}.submit-btn:disabled{opacity:.7}.toggle-auth{border-top:1px solid #e1e5e9;margin-top:20px;padding-top:20px;text-align:center}.toggle-auth p{color:#666;margin:0}.link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.link-btn:hover{color:#764ba2}.google-signin-section{margin-bottom:20px}.google-signin-btn{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:12px 16px;transition:all .3s ease;width:100%}.google-signin-btn:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0;box-shadow:0 2px 8px #0000001a}.google-signin-btn:disabled{cursor:not-allowed;opacity:.7}.google-icon{flex-shrink:0;height:20px;width:20px}.divider{align-items:center;display:flex;justify-content:center;margin:25px 0;position:relative;text-align:center}.divider:before{background:linear-gradient(90deg,#0000,#e1e5e9,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fff;color:#666;font-size:14px;font-weight:500;padding:0 20px;position:relative;z-index:1}@media (max-width:480px){.login-card{padding:30px 20px}.google-signin-btn{font-size:14px;padding:10px 14px}.google-icon{height:18px;width:18px}}.welcome-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.welcome-card{animation:fadeInUp .8s ease-out;background:#fff;border-radius:16px;box-shadow:0 15px 35px #00000026;max-width:600px;padding:50px 40px;text-align:center;width:100%}.welcome-header{margin-bottom:40px}.welcome-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2.5em;font-weight:700;margin:0 0 10px}.welcome-subtitle{color:#666;font-size:1.2em;font-weight:500;margin-top:5px}.welcome-content{margin-bottom:40px}.welcome-message{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;color:#555;font-size:1.1em;line-height:1.6;margin-bottom:30px;padding:20px;text-align:left}.welcome-features{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}.feature{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.feature:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.feature-icon{flex-shrink:0;font-size:2em}.feature-text{color:#555;font-size:.95em;font-weight:500;line-height:1.4;text-align:left}.welcome-actions{margin-top:30px}.get-started-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;min-width:200px;padding:16px 32px;transition:all .3s ease}.get-started-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 8px 25px #667eea66;transform:translateY(-3px)}.get-started-btn:active{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}@media (max-width:768px){.welcome-card{margin:10px;padding:30px 20px}.welcome-header h1{font-size:2em}.welcome-subtitle{font-size:1em}.welcome-message{font-size:1em;padding:15px}.welcome-features{gap:15px;grid-template-columns:1fr}.feature{padding:12px}.feature-icon{font-size:1.5em}.feature-text{font-size:.9em}.get-started-btn{font-size:1em;min-width:180px;padding:14px 28px}}.tutorial-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.tutorial-card{animation:fadeInUp .8s ease-out;background:#fff;border-radius:16px;box-shadow:0 15px 35px #00000026;max-width:800px;padding:40px;text-align:center;width:100%}.tutorial-header{margin-bottom:40px}.tutorial-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2.5em;font-weight:700;margin:0 0 10px}.tutorial-subtitle{color:#666;font-size:1.2em;font-weight:500;margin:0}.tutorial-content{margin-bottom:40px}.flowchart{flex-direction:column;margin-bottom:30px}.flow-step,.flowchart{align-items:center;display:flex;gap:20px}.flow-step{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;max-width:500px;padding:20px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.flow-step:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 3px 8px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:1.2em;font-weight:700;height:40px;justify-content:center;width:40px}.step-content{flex:1 1;text-align:left}.step-content h3{color:#333;font-size:1.2em;font-weight:600;margin:0 0 8px}.step-content p{color:#666;font-size:.95em;line-height:1.4;margin:0}.flow-arrow{animation:pulse 2s infinite;color:#667eea;font-size:2em;font-weight:700;margin:10px 0}.final-step{background:#f8f9fa;border-color:#e9ecef}.final-step .step-number{background:linear-gradient(135deg,#667eea,#764ba2)}.tutorial-note{background:#e3f2fd;border:1px solid #bbdefb;border-radius:12px;margin-top:30px;padding:20px;text-align:left}.tutorial-note h4{color:#1976d2;font-size:1.1em;font-weight:600;margin:0 0 10px}.tutorial-note p{color:#424242;font-size:.95em;line-height:1.5;margin:0}.tutorial-actions{margin-top:30px}.continue-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;min-width:200px;padding:16px 32px;transition:all .3s ease}.continue-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 8px 25px #667eea66;transform:translateY(-3px)}.continue-btn:active{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}.skip-tutorial-btn{background:#6c757d;border:none;border-radius:12px;box-shadow:0 4px 15px #6c757d33;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;margin-right:16px;padding:16px 32px;transition:all .3s ease}.skip-tutorial-btn:hover{background:#5a6268;box-shadow:0 6px 20px #6c757d4d;transform:translateY(-2px)}.skip-tutorial-btn:active{box-shadow:0 4px 15px #6c757d33;transform:translateY(-1px)}.tutorial-actions{align-items:center;display:flex;gap:16px;justify-content:center}@media (max-width:768px){.tutorial-card{margin:10px;padding:30px 20px}.tutorial-header h1{font-size:2em}.tutorial-subtitle{font-size:1em}.flow-step{gap:15px;padding:15px}.step-number{height:35px;width:35px}.step-content h3,.step-number{font-size:1.1em}.step-content p{font-size:.9em}.flow-arrow{font-size:1.5em}.continue-btn{font-size:1em;min-width:180px;padding:14px 28px}}.onboarding-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.onboarding-card{animation:fadeInUp .8s ease-out;background:#fff;border-radius:16px;box-shadow:0 15px 35px #00000026;max-width:600px;padding:40px;width:100%}.progress-bar{background:#e9ecef;border-radius:3px;height:6px;margin-bottom:30px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;height:100%;transition:width .3s ease}.question-header,.question-section{margin-bottom:30px}.question-header{text-align:center}.question-header h2{color:#333;font-size:1.6em;font-weight:600;line-height:1.4;margin:0 0 15px;text-align:center}.question-subtitle{color:#666;font-size:.95em;font-weight:500;line-height:1.5;margin:0;text-align:center}.options-container{display:flex;flex-direction:column;gap:12px}.option-button{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;min-height:60px;padding:18px 20px;text-align:left;transition:all .2s ease;width:100%}.option-button:hover{background:#f8f9ff;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-1px)}.option-button.selected{background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border-color:#667eea;box-shadow:0 4px 12px #667eea26}.option-text{color:#333;flex:1 1;font-size:.95em;font-weight:500;line-height:1.5;padding-right:10px}.checkbox{align-items:center;background:#667eea;border:2px solid #667eea;border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-left:12px;width:20px}.option-button:not(.selected) .checkbox{background:#fff;color:#0000}.email-preference-container{width:100%}.email-preference-card{background:#f8f9ff;border:2px solid #e8f0ff;border-radius:16px;margin:0;padding:24px}.email-preference-header{margin-bottom:24px;text-align:center}.email-preference-header h3{color:#333;font-size:1.3em;font-weight:600;margin:0 0 8px}.email-preference-header p{color:#666;font-size:.9em;line-height:1.5;margin:0}.email-preference-options{display:flex;flex-direction:column;gap:16px}.email-option{align-items:flex-start;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;position:relative;transition:all .2s ease}.email-option:hover{background:#f8f9ff;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-1px)}.email-option input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkmark{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-top:2px;transition:all .2s ease;width:20px}.email-option input[type=checkbox]:checked+.checkmark{background:#667eea;border-color:#667eea}.email-option input[type=checkbox]:checked+.checkmark:after{content:"✓"}.option-content{flex:1 1}.option-content strong{color:#333;display:block;font-size:.95em;font-weight:600;line-height:1.4;margin-bottom:4px}.option-content p{color:#666;font-size:.85em;line-height:1.4;margin:0}.navigation-buttons{align-items:center;display:flex;gap:15px;justify-content:space-between}.left-buttons{align-items:center;display:flex;gap:10px}.back-btn{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;font-size:.9em;font-weight:500;padding:12px 20px;transition:all .2s ease}.back-btn:hover{background:#e9ecef;color:#333}.skip-btn{background:#0000;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;transition:all .2s ease}.skip-btn:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.next-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;flex:1 1;font-size:.9em;font-weight:600;max-width:200px;padding:12px 24px;transition:all .2s ease}.next-btn:hover:not(.disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.next-btn.disabled{background:#e9ecef;box-shadow:none;color:#999;cursor:not-allowed}.next-btn.disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.onboarding-card{margin:10px;padding:30px 20px}.question-header h2{font-size:1.5em}.option-button{padding:14px 16px}.option-text{font-size:.9em}.navigation-buttons{flex-direction:column;gap:10px}.left-buttons{flex-direction:column;gap:8px;width:100%}.back-btn,.next-btn,.skip-btn{max-width:none;width:100%}}.bill-follow-container{margin:10px 0}.follow-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease}.follow-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.follow-button:active{transform:translateY(0)}.follow-button.subscribed{background:linear-gradient(135deg,#4caf50,#45a049)}.follow-button.not-subscribed{background:linear-gradient(135deg,#667eea,#764ba2)}.follow-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.follow-button:disabled:hover{box-shadow:0 2px 4px #0000001a;transform:none}.error-message{color:#d32f2f;font-size:12px;margin-bottom:5px;text-align:center}.subscriptions-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.subscriptions-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.subscriptions-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.subscriptions-header h2{color:#333;margin:0}.close-btn{border-radius:50%;color:#666;font-size:24px;height:30px;transition:background-color .2s;width:30px}.close-btn:hover{background-color:#f0f0f0}.subscriptions-list{display:flex;flex-direction:column;gap:15px}.subscription-item{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.subscription-info h3{color:#333;font-size:16px;margin:0 0 5px}.subscription-date{color:#666;font-size:14px;margin:0}.unsubscribe-btn{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.unsubscribe-btn:hover{background-color:#c82333}.no-subscriptions{color:#666;padding:40px 20px;text-align:center}.no-subscriptions p{margin:10px 0}.loading{color:#666;padding:20px;text-align:center}.subscriptions-footer{border-top:1px solid #eee;color:#666;font-size:14px;margin-top:20px;padding-top:15px;text-align:center}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin:10px 0;padding:10px}.feedback-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.feedback-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;position:relative;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:16px;top:16px;transition:color .2s ease;width:32px}.close-btn:hover{color:#333}.feedback-header{margin-bottom:28px;padding-right:40px}.feedback-header h2{color:#333;font-size:28px;margin:0 0 8px}.feedback-header p{color:#666;font-size:14px;margin:0}.feedback-form{gap:24px}.feedback-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group small{color:#999;font-size:12px;margin-top:-4px}.rating-buttons{display:flex;flex-wrap:wrap;gap:8px}.rating-btn{background:#fff;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;font-size:18px;min-width:80px;padding:12px 16px;transition:all .2s ease}.rating-btn:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff33;transform:translateY(-2px)}.rating-btn.selected{background:linear-gradient(135deg,#007bff,#0056b3);border-color:#007bff;box-shadow:0 4px 12px #007bff4d;color:#fff}.feedback-select{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease}.feedback-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.feedback-textarea{border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s ease}.feedback-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.feedback-input{border:2px solid #e1e5e9;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease}.feedback-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.error-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:14px;padding:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-btn{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.cancel-btn:hover{background:#e9ecef;border-color:#ced4da}.submit-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 6px 16px #007bff66;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.feedback-success{padding:40px 20px;text-align:center}.success-icon{animation:scaleIn .5s ease-out;color:#28a745;font-size:64px;margin-bottom:20px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success h2{color:#333;margin:0 0 12px}.feedback-success p{color:#666;margin:0}@media (max-width:768px){.feedback-modal{margin:10px;padding:24px}.rating-buttons{justify-content:center}.rating-btn{flex:1 1;font-size:16px;min-width:60px;padding:10px 12px}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.App{margin:0 auto;max-width:1400px;padding:20px;text-align:center}.tab-navigation{display:flex;gap:10px;justify-content:center;margin:20px 0 30px;padding:0 20px}.tab-button{background:#f8f9fa;border:2px solid #e9ecef;border-radius:25px;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:600;min-width:160px;padding:12px 24px;transition:all .3s ease}.tab-button:hover{background:#e9ecef;border-color:#dee2e6;color:#495057;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.app-header{align-items:center;border-bottom:2px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.search-section-large{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-start;margin:20px 0;padding:20px}.search-btn-large{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;border-radius:10px!important;box-shadow:0 4px 12px #667eea4d!important;box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;display:inline-block!important;flex-shrink:0!important;font-size:16px!important;font-weight:600!important;height:auto!important;line-height:1.5!important;padding:14px 28px!important;text-align:center!important;transition:all .3s ease!important;vertical-align:middle!important;white-space:nowrap!important;width:160px!important}.search-btn-large:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190)!important;box-shadow:0 6px 20px #667eea66!important;transform:translateY(-2px)!important}.search-btn-large:disabled{background-color:#ccc;cursor:not-allowed}.search-section-large input[type=text]{background:#fff;border:2px solid #e1e5e9;border-radius:10px;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;flex:1 1;font-size:16px;min-width:300px;outline:none;padding:14px 18px;transition:all .3s ease}.search-section-large input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a,0 4px 12px #0000001a;transform:translateY(-1px)}.clear-all-btn{background:linear-gradient(135deg,#6c757d,#5a6268)!important;border:none!important;border-radius:10px!important;box-shadow:0 4px 12px #6c757d4d!important;box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;display:inline-block!important;flex-shrink:0!important;font-size:16px!important;font-weight:600!important;height:auto!important;line-height:1.5!important;margin-left:-5px!important;padding:14px 28px!important;text-align:center!important;transition:all .3s ease!important;vertical-align:middle!important;white-space:nowrap!important;width:160px!important}.clear-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#495057)!important;box-shadow:0 6px 20px #6c757d66!important;transform:translateY(-2px)!important}.clear-all-btn:disabled{background-color:#ccc}.search-loading-indicator{align-items:center;animation:fadeIn .3s ease-in;color:#666;display:flex;font-size:14px;gap:8px;margin-left:10px}.search-loading-indicator span{position:relative}.search-loading-indicator span:after{animation:pulse 1.5s infinite;background:#007bff;border-radius:50%;content:"";height:4px;margin-left:8px;position:absolute;top:50%;transform:translateY(-50%);width:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.suggested-topics{animation:fadeIn .5s ease-in;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;margin:15px 0;padding:15px}.suggested-topics-label{color:#495057;font-size:14px;font-weight:600;margin-bottom:10px}.suggested-topics-list{display:flex;flex-wrap:wrap;gap:8px}.suggested-topic-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:15px;box-shadow:0 2px 4px #28a74533;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.suggested-topic-btn:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 3px 6px #28a7454d;transform:translateY(-1px)}.no-bills-message{color:#666;padding:40px 20px;text-align:center}.no-bills-message p{font-size:16px;margin:10px 0}.no-bills-message p:first-child{color:#333;font-size:18px;font-weight:500}.loading-bills-indicator{align-items:center;color:#666;display:flex;flex-direction:column;gap:16px;padding:40px 20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:32px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header-left{display:flex;flex-direction:column;gap:8px}.title-section{align-items:center;display:flex;gap:10px}.floating-help-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;font-size:24px;font-weight:700;height:60px;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:1000}.floating-help-btn:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 6px 16px #007bff66;transform:translateY(-2px)}.floating-help-btn:active{box-shadow:0 4px 12px #007bff4d;transform:translateY(0)}.header-left h1{color:#333;font-size:2.2em;margin:0}.info-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.2em;padding:4px 8px;transition:background-color .2s ease}.info-btn:hover{background:#f8f9fa;color:#333}.last-update{background:#f8f9fa;color:#666;font-style:italic}.initializing-indicator,.last-update{border-left:3px solid #007bff;border-radius:4px;font-size:.9em;padding:4px 8px}.initializing-indicator{align-items:center;animation:fadeIn .3s ease-in;background:#f0f8ff;color:#007bff;display:flex;gap:8px}.initializing-indicator span{position:relative}.initializing-indicator span:after{animation:pulse 1.5s infinite;background:#007bff;border-radius:50%;content:"";height:4px;margin-left:8px;position:absolute;top:50%;transform:translateY(-50%);width:4px}.user-info{align-items:center;display:flex;gap:15px;height:40px}.user-info span{color:#666;font-size:14px}.toggle-view-btn{align-items:center;background:#6c757d;border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;height:40px;justify-content:center;line-height:1;padding:10px 18px;transition:all .2s ease}.toggle-view-btn:hover{background:#5a6268;transform:translateY(-2px)}.toggle-view-btn.shown{background:#28a745}.toggle-view-btn.shown:hover{background:#218838}.logout-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;height:40px;justify-content:center;line-height:1;padding:10px 18px;transition:background-color .2s ease}.logout-btn:hover{background:#c82333}.feedback-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;box-shadow:0 2px 8px #28a7454d;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:5px;height:40px;justify-content:center;line-height:1;padding:10px 18px;text-decoration:none;transition:all .2s ease}.feedback-btn:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 12px #28a74566;color:#fff;text-decoration:none;transform:translateY(-1px)}.feedback-btn:active{box-shadow:0 2px 4px #28a7454d;transform:translateY(0)}.survey-btn{align-items:center;background:linear-gradient(135deg,#ffc107,#fd7e14);border:none;border-radius:6px;box-shadow:0 2px 8px #ffc1074d;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:5px;height:40px;justify-content:center;line-height:1;padding:10px 18px;transition:all .2s ease}.survey-btn,.survey-btn:hover{color:#fff;text-decoration:none}.survey-btn:hover{background:linear-gradient(135deg,#e0a800,#e55a00);box-shadow:0 4px 12px #ffc10766;transform:translateY(-1px)}.survey-btn:active{box-shadow:0 2px 4px #ffc1074d;transform:translateY(0)}.subscriptions-btn{align-items:center;background:linear-gradient(135deg,#6f42c1,#e83e8c);border:none;border-radius:6px;box-shadow:0 2px 8px #6f42c14d;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:5px;height:40px;justify-content:center;line-height:1;padding:10px 18px;text-decoration:none;transition:all .2s ease}.subscriptions-btn:hover{background:linear-gradient(135deg,#5a2d91,#d63384);box-shadow:0 4px 12px #6f42c166;color:#fff;text-decoration:none;transform:translateY(-1px)}.subscriptions-btn:active{box-shadow:0 2px 4px #6f42c14d;transform:translateY(0)}.bills-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:20px}.pdf-link{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 2px 8px #007bff4d;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.pdf-link,.pdf-link:hover{color:#fff;text-decoration:none}.pdf-link:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}.pdf-link:active{box-shadow:0 2px 4px #007bff4d;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bill-card{animation:fadeInUp .6s ease-out;background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;padding:25px;position:relative;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.bill-card:first-child{animation-delay:.1s}.bill-card:nth-child(2){animation-delay:.2s}.bill-card:nth-child(3){animation-delay:.3s}.bill-card:nth-child(4){animation-delay:.4s}.bill-card:nth-child(5){animation-delay:.5s}.bill-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.bill-card:before{background:linear-gradient(90deg,#007bff,#28a745,#ffc107,#dc3545);content:"";height:4px;left:0;position:absolute;right:0;top:0}.bill-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.bill-title-section{flex:1 1}.bill-number{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:6px;box-shadow:0 2px 4px #007bff4d;color:#007bff;color:#fff;display:inline-block;font-size:1.1em;font-weight:700;margin-bottom:8px;padding:6px 12px;text-shadow:0 1px 2px #0003}.bill-status{align-items:center;color:#6c757d;display:flex;font-size:.9em;font-weight:500;gap:5px;margin-bottom:10px}.bill-title-section h2{-webkit-line-clamp:3;-webkit-box-orient:vertical;word-wrap:break-word;color:#2c3e50;display:-webkit-box;font-size:1.3em;height:4.2em;line-height:1.4;margin:0 0 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bill-status-section{align-items:center;display:flex;margin:0 0 15px;min-height:40px;padding:8px 0;position:relative}.intro-date-inline{color:#6c757d;font-size:.7em;font-weight:500;position:absolute;right:8px;top:4px}.status-badge{align-items:center;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;display:inline-flex;font-size:.8em;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}.status-badge:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.status-icon{font-size:1em}.status-text{font-size:.75em}.introduction-info{background:#f8f9fa;border-left:3px solid #6c757d;border-radius:6px;color:#495057;font-size:.85em;margin:10px 0;padding:8px 12px}.intro-date,.intro-sponsor{margin:2px 0}.intro-date strong,.intro-sponsor strong{color:#6c757d;font-weight:600}.bill-keywords{border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;margin:15px 0;padding:12px 0}.keywords-label{color:#666;font-size:.9em;letter-spacing:.5px;text-transform:uppercase}.keywords-list{display:flex;flex-wrap:wrap;gap:6px}.keyword-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 2px 4px #667eea33;color:#fff;font-size:.75em;font-weight:500;padding:4px 10px;text-transform:capitalize;transition:transform .2s ease,box-shadow .2s ease}.keyword-tag:hover{box-shadow:0 3px 6px #667eea4d;transform:translateY(-1px)}.keyword-tag.clickable{background:linear-gradient(135deg,#007bff,#0056b3);cursor:pointer}.keyword-tag.clickable:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff66;transform:translateY(-2px)}.keywords-label{align-items:center;color:#495057;display:flex;font-weight:600;gap:8px;margin-bottom:8px}.keywords-count{color:#6c757d;font-size:.8em;font-weight:400}.bill-id{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#6c757d;display:inline-block;font-size:.85em;font-weight:500;padding:4px 8px}.bill-actions{display:flex;flex-shrink:0;gap:10px}.vote-stats{margin:15px 0;padding:10px 0}.bill-summary h3{align-items:center;color:#495057;display:flex;font-size:1.1em;font-weight:600;gap:8px;margin-bottom:12px}.bill-summary h3:before{content:"";font-size:1.2em}.bill-card ul{margin:0}.bill-card li,.bill-card ul{list-style:none;padding-left:0}.bill-card li{word-wrap:break-word;color:#555;font-size:14px;-webkit-hyphens:auto;hyphens:auto;line-height:1.6;margin-bottom:10px;max-width:100%;overflow-wrap:break-word;position:relative}.bill-card li:before{display:none}.votes{border-bottom:1px solid #eee;border-top:1px solid #eee;display:flex;gap:12px;margin:20px 0;padding:15px 0}.vote-button{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s ease}.vote-button:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.vote-button:hover:before{left:100%}.vote-button:hover{background:#e9ecef;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.vote-button.upvote:hover{background:#d4edda;border-color:#c3e6cb}.vote-button.downvote:hover{background:#f8d7da;border-color:#f5c6cb}.vote-button:active{transform:translateY(0)}.vote-button.active{font-weight:700;transform:scale(1.05)}.vote-button.upvote.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;box-shadow:0 2px 8px #28a7454d;color:#155724}.vote-button.downvote.active{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;box-shadow:0 2px 8px #dc35454d;color:#721c24}.vote-stats{margin:15px 0 10px;padding:8px 0}.vote-map-label{color:#666;font-size:12px;font-weight:500;margin-bottom:4px;text-align:left}.vote-ratio-bar{background:#e9ecef;border-radius:9px;display:flex;height:18px;margin-bottom:4px;overflow:hidden;width:100%}.vote-ratio-green{background:linear-gradient(90deg,#28a745,#20c997)}.vote-ratio-green,.vote-ratio-red{height:100%;transition:width .3s ease}.vote-ratio-red{background:linear-gradient(90deg,#dc3545,#fd7e14)}.vote-ratio-grey{background:linear-gradient(90deg,#6c757d,#adb5bd);height:100%;transition:width .3s ease}.vote-count-display{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;color:#666;display:inline-block;font-size:14px;font-weight:500;min-width:120px;padding:8px 16px;text-align:center}.comments{margin-top:20px}.comments h3{color:#495057;font-size:1.1em;font-weight:600;margin-bottom:15px}.comment-list{background:#f8f9fa;border-radius:6px;margin-bottom:15px;max-height:200px;overflow-y:auto;padding:10px}.comment{background:#fff;border-left:4px solid #007bff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:10px;padding:12px}.comment:last-child{margin-bottom:0}.comment p{color:#333;line-height:1.5;margin:0 0 8px}.comment small{color:#6c757d;font-size:.8em}.comment-input{display:flex;gap:10px;margin-top:15px}.comment-input input{border:2px solid #ced4da;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.comment-input input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.comment-input button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.comment-input button:hover{background:#0056b3;transform:translateY(-1px)}@media (max-width:768px){.App{padding:15px}.bills-grid{gap:20px;grid-template-columns:1fr}.bill-card{padding:20px}.bill-header{align-items:flex-start;flex-direction:column;gap:10px}.bill-header h2{font-size:1.2em}.pdf-link{align-self:flex-start}.app-header{flex-direction:column;gap:15px;text-align:center}.app-header h1{font-size:1.8em}}.search-input-container{flex:1 1;position:relative}.search-input-large{background:#fff;border:1px solid #e1e5e9;border-radius:6px;font-size:14px;min-width:200px;padding:8px 35px 8px 12px;transition:border-color .2s ease;width:100%}.search-input-large:focus{border-color:#007bff;outline:none}.search-clear-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;padding:2px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background-color .2s ease;width:20px}.search-clear-btn:hover{background-color:#f8f9fa;color:#495057}.clear-all-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-left:10px;padding:8px 16px;transition:background-color .2s ease}.clear-all-btn:hover:not(:disabled){background:#5a6268}.clear-all-btn:disabled{background:#adb5bd;cursor:not-allowed;opacity:.6}.autocomplete-dropdown{background:#fff;border:1px solid #e1e5e9;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-item{align-items:center;border-bottom:1px solid #f8f9fa;cursor:pointer;display:flex;gap:8px;padding:10px 12px;transition:background-color .2s ease}.autocomplete-item:hover{background-color:#f8f9fa}.autocomplete-item:last-child{border-bottom:none}.autocomplete-icon{color:#6c757d;font-size:12px}.active-filters-container{margin:15px 0}.active-filters-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.active-filters-box{align-items:center;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.filter-tag{align-items:center;background:#6f42c1;border-radius:20px;box-shadow:0 1px 3px #0000001a;color:#fff;display:inline-flex;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.filter-tag:hover{background:#5a32a3;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.filter-text{margin-right:6px}.filter-remove-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:16px;justify-content:center;padding:0;transition:background-color .2s ease;width:16px}.filter-remove-btn:hover{background-color:#fff3}.keyword-tag.clickable{background:#6f42c1;color:#fff;transition:all .2s ease}.keyword-tag.clickable:hover{background:#5a32a3;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}@media (max-width:768px){.active-filters-container{margin:10px 0}.active-filters-box{padding:10px}.filter-tag{font-size:12px;padding:5px 10px}.clear-all-btn{font-size:12px;margin-left:8px;padding:6px 12px}}
/*# sourceMappingURL=main.5ac03fb0.css.map*/