@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.dev-toggle{position:fixed;bottom:100px;left:16px;width:44px;height:44px;background:#1e293b;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;z-index:9999;box-shadow:0 2px 10px #0000004d}.dev-panel{position:fixed;bottom:100px;left:16px;width:320px;max-height:70vh;background:#1e293b;color:#fff;border-radius:16px;z-index:9999;box-shadow:0 4px 20px #0006;overflow:hidden;display:flex;flex-direction:column}.dev-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0f172a}.dev-header h3{margin:0;font-size:14px}.close-btn{background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer}.dev-tabs{display:flex;background:#0f172a;padding:0 8px 8px;gap:4px}.dev-tabs button{flex:1;padding:8px 4px;background:transparent;border:none;color:#94a3b8;font-size:11px;border-radius:6px;cursor:pointer}.dev-tabs button.active{background:#334155;color:#fff}.dev-section{padding:16px;overflow-y:auto;flex:1}.current-info{display:flex;justify-content:space-between;background:#334155;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.zip-input-row{display:flex;gap:8px;margin-bottom:12px}.zip-input-row input{flex:1;padding:10px 12px;border:none;border-radius:8px;background:#334155;color:#fff;font-size:14px}.zip-input-row button{padding:10px 16px;border:none;border-radius:8px;background:#475569;color:#fff;font-size:13px;cursor:pointer}.zip-input-row .apply-btn{background:#2563eb}.quick-zips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.quick-zips span{font-size:11px;color:#94a3b8}.quick-zips button{padding:4px 10px;background:#475569;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.quick-zips button:hover{background:#2563eb}.test-results{background:#0f172a;border-radius:8px;padding:12px}.test-results h4{margin:0 0 10px;font-size:12px;color:#94a3b8}.result-row{display:flex;justify-content:space-between;padding:8px;border-radius:6px;margin-bottom:6px;font-size:12px}.result-row.success{background:#10b98133}.result-row.warning{background:#f59e0b33}.flag-note{font-size:11px;color:#94a3b8;margin:0 0 12px}.flag-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #334155}.flag-name{font-size:14px;text-transform:capitalize}.flag-toggle{padding:6px 16px;border:none;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer}.flag-toggle.on{background:#10b981;color:#fff}.flag-toggle.off{background:#475569;color:#94a3b8}.api-status{background:#0f172a;border-radius:8px;padding:12px;margin-bottom:16px}.api-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid #1e293b}.api-row:last-child{border-bottom:none}.status-ok{color:#10b981}.status-warn{color:#f59e0b}.status-error{color:#ef4444}.coverage-info{font-size:12px;color:#94a3b8;line-height:1.8}.coverage-info .todo{color:#f59e0b;margin-top:8px}.dev-section h4{font-size:13px;color:#94a3b8;margin:0 0 12px}.admin-info{padding:8px 16px;background:#334155;font-size:12px;color:#94a3b8;border-bottom:1px solid #475569}.premium-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.premium-reset-btn,.premium-unlock-btn{width:100%;padding:10px;border:none;border-radius:8px;font-size:13px;cursor:pointer}.premium-reset-btn{background:#ef4444;color:#fff}.premium-unlock-btn{background:#10b981;color:#fff}.feedback-fab{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;box-shadow:0 4px 12px #3b82f666;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1000}.feedback-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #3b82f680}.feedback-fab:active{transform:scale(.95)}.feedback-fab:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:#3b82f6;z-index:-1;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.3);opacity:0}to{transform:scale(1);opacity:0}}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#f3f4f6;color:#6b7280;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.feedback-close:hover{background:#e5e7eb;color:#374151}.feedback-header{text-align:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.feedback-icon{font-size:40px;display:block;margin-bottom:8px}.feedback-header h2{margin:0;font-size:22px;color:#111827}.feedback-header p{margin:4px 0 0;color:#6b7280;font-size:14px}.feedback-modal form{padding:20px 24px 24px}.feedback-types{display:flex;gap:8px;margin-bottom:16px}.type-btn{flex:1;padding:10px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#6b7280;transition:all .2s}.type-btn:hover{border-color:#d1d5db;background:#f9fafb}.type-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.feedback-field{margin-bottom:16px}.feedback-field label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.feedback-field textarea,.feedback-field input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;transition:border-color .2s;resize:vertical;box-sizing:border-box}.feedback-field textarea:focus,.feedback-field input:focus{outline:none;border-color:#3b82f6}.feedback-field textarea::placeholder,.feedback-field input::placeholder{color:#9ca3af}.feedback-submit{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.feedback-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-note{margin:12px 0 0;font-size:12px;color:#9ca3af;text-align:center}.feedback-success{padding:40px 24px;text-align:center}.success-icon{font-size:48px;display:block;margin-bottom:12px}.feedback-success h3{margin:0;font-size:20px;color:#059669}.feedback-success p{margin:8px 0 0;color:#6b7280}@media (max-width: 480px){.feedback-fab{bottom:90px;right:12px;width:50px;height:50px;font-size:22px}.feedback-modal{max-height:85vh;margin:auto 10px}.type-btn{padding:8px 4px;font-size:12px}}.landing{min-height:100vh;background:#fafafa}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:40px;height:40px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;font-size:22px;font-weight:800;border-radius:10px;display:flex;align-items:center;justify-content:center}.logo-text{font-size:24px;font-weight:700;color:#1e293b}.nav-links{display:flex;align-items:center;gap:20px}.nav-link{color:#64748b;text-decoration:none;font-weight:500}.nav-btn{background:#1e40af;color:#fff;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:600}.hero{padding:40px 24px 80px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-badge{display:inline-block;background:#eff6ff;color:#1e40af;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;margin-bottom:20px}.hero h1{font-size:48px;line-height:1.15;color:#0f172a;margin:0 0 24px;font-weight:800}.hero h1 .highlight{color:#1e40af}.hero-subtitle{font-size:18px;color:#475569;line-height:1.7;margin:0 0 32px}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}.cta-primary{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:16px 32px;border-radius:12px;text-decoration:none;font-weight:600;font-size:16px;box-shadow:0 4px 14px #1e40af4d;transition:transform .2s,box-shadow .2s}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e40af66}.cta-primary.large{padding:18px 40px;font-size:18px}.cta-secondary{color:#1e40af;padding:16px 32px;text-decoration:none;font-weight:600;font-size:16px}.hero-image{display:flex;justify-content:center}.hero-phone{width:280px;background:#1e293b;border-radius:36px;padding:12px;box-shadow:0 25px 50px #0003}.phone-screen{background:#f8fafc;border-radius:28px;padding:20px;min-height:300px}.phone-header{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:20px}.phone-rep{display:flex;align-items:center;gap:12px;background:#fff;padding:14px;border-radius:12px;margin-bottom:10px;box-shadow:0 2px 8px #0000000f}.rep-avatar{width:44px;height:44px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.rep-avatar.red{background:linear-gradient(135deg,#dc2626,#b91c1c)}.rep-info strong{display:block;font-size:14px;color:#1e293b}.rep-info span{font-size:12px;color:#64748b}.rep-call{font-size:20px}.problem-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto}.problem-box,.solution-box{padding:32px;border-radius:20px}.problem-box{background:#fef2f2}.problem-box h2{color:#991b1b;font-size:18px;margin:0 0 12px}.problem-box p{color:#7f1d1d;margin:0;line-height:1.6}.solution-box{background:#ecfdf5}.solution-box h2{color:#166534;font-size:18px;margin:0 0 12px}.solution-box p{color:#14532d;margin:0;line-height:1.6}.section{padding:80px 24px;max-width:1200px;margin:0 auto}.section h2{font-size:36px;color:#0f172a;text-align:center;margin:0 0 48px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step{text-align:center}.step-icon{font-size:48px;margin-bottom:16px}.step h3{font-size:18px;color:#1e293b;margin:0 0 8px}.step p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 20px #0000000f}.feature-icon{font-size:36px;display:block;margin-bottom:16px}.feature h3{font-size:18px;color:#1e293b;margin:0 0 8px}.feature p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.social-proof{background:#1e293b;border-radius:24px;padding:60px 40px!important}.proof-stats{display:flex;justify-content:center;gap:80px}.proof-stat{text-align:center}.proof-num{display:block;font-size:48px;font-weight:800;color:#fff}.proof-label{color:#94a3b8;font-size:16px}.final-cta{text-align:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:24px;padding:80px 40px!important}.final-cta h2{margin-bottom:16px}.final-cta>p{color:#475569;font-size:18px;margin:0 0 32px}.trust-note{color:#64748b;font-size:14px;margin-top:20px!important}.landing-footer{background:#0f172a;padding:60px 24px 30px}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:60px}.footer-brand p{color:#64748b;margin-top:12px}.footer-brand .logo-mark{background:#1e40af}.footer-brand .logo-text{color:#fff}.footer-links{display:flex;gap:60px}.footer-col h4{color:#fff;font-size:14px;margin:0 0 16px}.footer-col a{display:block;color:#64748b;text-decoration:none;font-size:14px;margin-bottom:10px}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid #1e293b}.footer-bottom p{color:#64748b;font-size:14px;margin:0}@media (max-width: 900px){.hero{grid-template-columns:1fr;text-align:center;gap:40px}.hero h1{font-size:36px}.hero-ctas{justify-content:center}.hero-image{order:-1}.hero-phone{width:240px}.problem-section{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:1fr}.proof-stats{flex-direction:column;gap:30px}.footer-content{flex-direction:column;gap:40px}.footer-links{flex-wrap:wrap;gap:30px}}@media (max-width: 500px){.steps{grid-template-columns:1fr}.hero h1,.section h2{font-size:28px}}.feature.highlight{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:2px solid #6366f1}.feature.highlight h3{color:#4f46e5}.town-hall-spotlight{background:linear-gradient(135deg,#22c55e,#16a34a);padding:32px!important;border-radius:20px;margin:40px auto;max-width:900px}.spotlight-content{display:flex;align-items:center;gap:24px;color:#fff}.spotlight-icon{font-size:48px}.spotlight-content h2{font-size:24px;margin:0 0 8px;color:#fff}.spotlight-content p{font-size:15px;margin:0;opacity:.95;line-height:1.5}.spotlight-btn{padding:14px 28px;background:#fff;color:#16a34a;text-decoration:none;border-radius:12px;font-weight:700;font-size:16px;white-space:nowrap;transition:all .2s}.spotlight-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}@media (max-width: 768px){.spotlight-content{flex-direction:column;text-align:center}}.login-page{min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:440px}.back-link{display:inline-block;color:#ffffffb3;text-decoration:none;margin-bottom:24px;font-size:14px}.login-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:24px}.login-logo{font-size:48px;display:block;margin-bottom:12px}.login-header h1{font-size:28px;color:#1e3a5f;margin:0 0 4px}.login-header p{color:#64748b;margin:0}.error-msg{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.success-msg{background:#d1fae5;color:#065f46;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.oauth-section{margin-bottom:24px}.oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-size:15px;font-weight:500;color:#1e293b;cursor:pointer;margin-bottom:10px;transition:all .2s}.oauth-btn:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-btn.google:hover:not(:disabled){border-color:#4285f4}.oauth-btn.facebook:hover:not(:disabled){border-color:#1877f2}.oauth-btn.twitter:hover:not(:disabled){border-color:#000}.oauth-divider{text-align:center;margin:20px 0;position:relative}.oauth-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#e2e8f0}.oauth-divider span{position:relative;background:#fff;padding:0 16px;color:#94a3b8;font-size:13px}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:#334155}.form-group input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#2563eb}.submit-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#1d4ed8}.submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.login-footer{margin-top:24px;text-align:center}.link-btn{background:none;border:none;color:#2563eb;font-size:14px;cursor:pointer;padding:0;margin-left:4px}.switch-text{color:#64748b;font-size:14px;margin:16px 0 0}.demo-notice{margin-top:24px;padding:12px;background:#fef3c7;border-radius:8px;text-align:center;font-size:13px;color:#92400e}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;flex-direction:column;padding:20px}.progress-container{padding:20px 0}.progress-bar{height:6px;background:#fff3;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width .4s ease}.progress-text{display:block;text-align:center;color:#fff9;font-size:12px;margin-top:8px}.onboarding-content{flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%}.step-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 0}.step-icon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.step-container h1{font-size:28px;font-weight:700;color:#fff;text-align:center;margin:0 0 10px}.step-subtitle{font-size:16px;color:#ffffffb3;text-align:center;margin:0 0 30px;line-height:1.5}.input-group{width:100%;margin-bottom:20px}.input-group label{display:block;font-size:14px;font-weight:500;color:#fffc;margin-bottom:8px}.input-group input{width:100%;padding:16px 20px;font-size:18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;outline:none;transition:all .2s}.input-group input::placeholder{color:#fff6}.input-group input:focus{border-color:#3b82f6;background:#ffffff26}.privacy-note{font-size:13px;color:#ffffff80;text-align:center;margin-top:16px}.select-all-btn{width:100%;padding:12px;margin-bottom:16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.select-all-btn:hover{background:#ffffff26;border-color:#ffffff4d}.issues-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;margin-bottom:16px}.issue-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:16px;cursor:pointer;transition:all .2s}.issue-card:hover{background:#ffffff1f;border-color:#ffffff40}.issue-card.selected{background:#3b82f633;border-color:#3b82f6}.issue-emoji{font-size:28px;margin-bottom:6px}.issue-name{font-size:13px;font-weight:600;color:#fff;text-align:center;margin-bottom:2px}.issue-desc{font-size:10px;color:#ffffff80;text-align:center;line-height:1.3}.check-mark{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.selected-count{font-size:14px;color:#fff9;text-align:center}.household-options{width:100%}.option-group{margin-bottom:24px}.option-group label{display:block;font-size:14px;font-weight:500;color:#fffc;margin-bottom:12px}.option-buttons{display:flex;gap:10px}.option-buttons button{flex:1;padding:14px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.option-buttons button:hover{background:#ffffff1f}.option-buttons button.selected{background:#3b82f633;border-color:#3b82f6}.income-options{display:flex;flex-direction:column;gap:8px}.income-options button{padding:14px 20px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.income-options button:hover{background:#ffffff1f}.income-options button.selected{background:#3b82f633;border-color:#3b82f6}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:12px 16px;border-radius:10px;font-size:14px;text-align:center;margin-bottom:16px}.nav-buttons{display:flex;gap:12px;margin-top:auto;padding-top:20px}.back-btn{padding:16px 24px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{background:#ffffff26}.next-btn{flex:1;padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.skip-btn{display:block;width:100%;padding:12px;background:transparent;border:none;color:#ffffff80;font-size:14px;cursor:pointer;margin-top:12px}.skip-btn:hover{color:#fffc}.detect-location-btn{width:100%;padding:12px 16px;margin-top:12px;background:#3b82f61a;color:#93c5fd;border:1px dashed #3b82f6;border-radius:12px;font-size:14px;cursor:pointer;transition:all .2s}.detect-location-btn:hover{background:#3b82f633;border-style:solid}.detect-location-btn:active{transform:scale(.98)}.top-bar{position:fixed;top:0;left:0;right:0;height:56px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;z-index:100}.logo{display:flex;align-items:center;gap:8px}.logo-icon{font-size:24px}.logo-text{font-size:20px;font-weight:700;color:#1e293b}.tap-hint{position:absolute;top:-5px;right:-10px;width:18px;height:18px;background:#ef4444;border-radius:50%;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.logo{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:center;align-items:center;gap:8px;padding:0 12px;z-index:100}.nav-item{display:flex;flex-direction:row;align-items:center;gap:4px;padding:10px 14px;text-decoration:none;border-radius:12px;transition:all .2s}.nav-icon{font-size:18px}.nav-label{font-size:13px;font-weight:500;color:#64748b}.nav-item.active{background:#eff6ff}.nav-item.active .nav-label{color:#2563eb;font-weight:600}.nav-item:hover:not(.active){background:#f8fafc}@media (max-width: 400px){.nav-item{padding:8px 10px;gap:2px}.nav-label{font-size:11px}.nav-icon{font-size:16px}}.adsense-container{display:flex;justify-content:center;align-items:center;margin:16px 0;overflow:hidden}.adsense-placeholder{display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px dashed #cbd5e1;border-radius:8px;margin:16px auto;box-sizing:border-box}.ad-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:4px;color:#94a3b8;text-align:center;padding:12px}.ad-icon{font-size:24px;opacity:.6}.ad-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.ad-size{font-size:10px;opacity:.7}.adsense-placeholder.rectangle{width:300px;height:250px}.adsense-placeholder.horizontal{width:100%;max-width:728px;height:90px}.adsense-placeholder.vertical{width:160px;height:600px}.adsense-placeholder.leaderboard{width:100%;max-width:970px;height:90px}.adsense-placeholder.large-rectangle{width:336px;height:280px}.adsense-placeholder.in-feed,.adsense-placeholder.in-article,.adsense-placeholder.auto{width:100%;min-height:100px;height:auto;padding:20px}.banner-ad{background:#f8fafc;padding:8px 0}.in-feed-ad{margin:8px 0}.in-feed-ad .adsense-placeholder{border-radius:12px;background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047}.in-feed-ad .ad-placeholder-content{color:#a16207}.in-article-ad{margin:24px 0}.in-article-ad .adsense-placeholder{border-radius:8px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.in-article-ad .ad-placeholder-content{color:#166534}.responsive-ad .adsense-placeholder{min-height:120px}@media (max-width: 320px){.adsense-placeholder.horizontal,.adsense-placeholder.leaderboard{display:none}}@media (max-width: 350px){.adsense-placeholder.rectangle,.adsense-placeholder.large-rectangle{width:100%;max-width:300px}}.ad-disclosure{font-size:10px;color:#94a3b8;text-align:center;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.no-ads-badge{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:20px;font-size:12px;color:#1d4ed8;margin:16px auto;width:fit-content}.no-ads-badge:before{content:"⭐"}.rewarded-ad-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.rewarded-ad-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.rewarded-ad-btn:active{transform:translateY(0)}.rewarded-ad-container{position:relative}.rewarded-ad-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999}.rewarded-ad-content{text-align:center;color:#fff;padding:40px}.ad-playing-icon{font-size:64px;margin-bottom:20px;animation:pulse 1s ease-in-out infinite}.reward-icon{font-size:64px;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.rewarded-ad-content p{font-size:18px;margin-bottom:16px}.ad-progress-bar{width:200px;height:8px;background:#fff3;border-radius:4px;margin:0 auto 16px;overflow:hidden}.ad-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .1s linear}.ad-timer{font-size:14px;color:#ffffffb3}.native-feed-ad{background:#fff;border-radius:16px;padding:16px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.native-feed-ad:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.native-ad-label{margin-bottom:10px}.sponsored-tag{font-size:10px;font-weight:600;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.native-ad-content{min-height:100px}.native-feed-ad.news:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.native-feed-ad.bill:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.promoted-card{display:block;background:linear-gradient(135deg,#fefce8,#fef9c3);border-radius:16px;padding:16px;border:1px solid #fde047;text-decoration:none;transition:all .2s}.promoted-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #fde0474d}.promoted-label{margin-bottom:10px}.promoted-tag{font-size:10px;font-weight:600;color:#a16207;background:#fef08a;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.promoted-content{display:flex;align-items:center;gap:12px;margin-bottom:12px}.promoted-icon{font-size:32px}.promoted-text h4{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px}.promoted-text p{font-size:13px;color:#64748b;margin:0}.promoted-cta{font-size:13px;font-weight:600;color:#a16207;display:block;text-align:right}.poll-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:16px;padding:18px;border:1px solid #86efac}.poll-label{margin-bottom:10px}.poll-tag{font-size:12px;font-weight:600;color:#166534}.poll-question{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 14px;line-height:1.4}.poll-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.poll-option{padding:12px 16px;background:#fff;border:2px solid #86efac;border-radius:10px;font-size:14px;font-weight:500;color:#166534;cursor:pointer;transition:all .2s}.poll-option:hover{background:#166534;color:#fff;border-color:#166534}.poll-note{font-size:12px;color:#166534;text-align:center;margin:0}.engagement-link{text-decoration:none;display:block}.engagement-card{background:#fff;border-radius:16px;padding:18px;border:2px solid #6366f1;transition:all .2s}.engagement-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f133}.engagement-header{margin-bottom:12px}.engagement-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.engagement-card h4{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 6px}.engagement-card p{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.4}.engagement-cta{font-size:14px;font-weight:600;display:block;text-align:right}.ad-placeholder{background:#f8fafc;border-radius:16px;padding:20px;border:1px dashed #cbd5e1;text-align:center;min-height:100px;display:flex;align-items:center;justify-content:center}.ad-placeholder span{font-size:13px;color:#94a3b8}@media (max-width: 480px){.poll-options{grid-template-columns:1fr}.promoted-content{flex-direction:column;text-align:center}.promoted-cta{text-align:center}}.home-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.home-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.home-header{margin-bottom:20px}.welcome-text h1{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 6px}.location-line{font-size:14px;color:#64748b;margin:0}.primary-cta{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:18px;margin-bottom:20px;text-decoration:none;color:#fff;box-shadow:0 4px 20px #6366f159;transition:all .2s}.primary-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f173}.primary-cta.completed{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 20px #22c55e59;padding:14px 20px}.cta-content{display:flex;align-items:center;gap:14px}.cta-icon{font-size:36px}.primary-cta h3{font-size:18px;font-weight:700;margin:0 0 4px}.primary-cta p{font-size:13px;margin:0;opacity:.9}.cta-arrow{font-size:14px;font-weight:600;background:#fff3;padding:10px 16px;border-radius:12px;white-space:nowrap}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.action-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;transition:all .2s}.action-tile:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.tile-icon{font-size:28px}.tile-label{font-size:12px;font-weight:600;color:#475569;text-align:center}.section-header{margin-bottom:12px}.section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.section-header p{font-size:13px;color:#64748b;margin:0}.town-halls-section{margin-bottom:24px}.town-hall-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#fff;border:2px solid #22c55e;border-radius:16px;text-decoration:none;color:#1e293b;transition:all .2s}.town-hall-card:hover{background:#f0fdf4;box-shadow:0 4px 16px #22c55e33}.th-content{flex:1}.th-badge{display:inline-block;padding:4px 10px;background:#dcfce7;color:#166534;border-radius:12px;font-size:11px;font-weight:700;margin-bottom:8px}.th-content h3{font-size:16px;font-weight:700;margin:0 0 6px;color:#1e293b}.th-content p{font-size:13px;color:#64748b;margin:0 0 8px;line-height:1.4}.th-reps{font-size:12px;color:#22c55e;font-weight:600}.th-arrow{font-size:14px;font-weight:600;color:#22c55e;white-space:nowrap}.town-hall-note{font-size:13px;color:#64748b;text-align:center;margin:12px 0 0}.civic-wins-section{margin-bottom:24px}.wins-list{display:flex;flex-direction:column;gap:12px}.win-card-compact{background:#fff;border-radius:14px;padding:16px;border-left:4px solid #f59e0b;box-shadow:0 2px 8px #0000000d}.win-header{display:flex;gap:10px;align-items:center;margin-bottom:10px}.win-badge{padding:4px 10px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:12px;font-size:11px;font-weight:700}.win-region{font-size:12px;color:#6366f1;font-weight:600}.win-card-compact h3{font-size:15px;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.4}.win-card-compact p{font-size:13px;color:#64748b;line-height:1.5;margin:0}.win-inspiration{margin-top:10px;padding:10px 12px;background:#f0fdf4;border-radius:10px;font-size:12px;color:#166534}.news-section{margin-bottom:24px}.news-list{display:flex;flex-direction:column;gap:10px}.news-card-compact{display:block;padding:14px 16px;background:#fff;border-radius:12px;text-decoration:none;border:1px solid #e2e8f0;transition:all .2s}.news-card-compact:hover{border-color:#6366f1;box-shadow:0 2px 8px #00000014}.news-card-compact h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 6px;line-height:1.4}.news-source{font-size:12px;color:#94a3b8}.loading-placeholder,.no-news{padding:30px;text-align:center;color:#94a3b8;background:#fff;border-radius:12px}.bottom-cta{text-align:center;padding:28px 20px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:18px;margin-bottom:20px}.bottom-cta h3{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 8px}.bottom-cta p{font-size:14px;color:#64748b;margin:0 0 16px}.contact-btn{display:inline-block;padding:12px 24px;background:#6366f1;color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:15px;transition:all .2s}.contact-btn:hover{background:#4f46e5}.feedback-section{text-align:center;padding:20px}.feedback-section p{font-size:13px;color:#94a3b8;margin:0 0 10px}.feedback-link{font-size:14px;color:#6366f1;text-decoration:none;font-weight:500}@media (max-width: 480px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.primary-cta{flex-direction:column;gap:12px;text-align:center}.cta-content{flex-direction:column}.town-hall-card{flex-direction:column;gap:12px;text-align:center}}.profile-prompt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:14px;margin-bottom:16px;position:relative}.prompt-content{display:flex;align-items:center;gap:12px;flex:1}.prompt-icon{font-size:24px}.prompt-content strong{display:block;font-size:14px;color:#92400e;margin-bottom:2px}.prompt-content p{font-size:12px;color:#a16207;margin:0}.prompt-btn{padding:8px 14px;background:#f59e0b;color:#fff;text-decoration:none;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap}.prompt-close{position:absolute;top:8px;right:8px;background:none;border:none;color:#a16207;cursor:pointer;font-size:16px;padding:4px}.location-note{font-size:12px;color:#94a3b8;font-style:italic}.news-section .section-header{display:flex;justify-content:space-between;align-items:center}.news-location{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.news-meta{display:flex;gap:12px;align-items:center}.news-time{font-size:11px;color:#94a3b8}.fallback-link{display:inline-block;margin-top:12px;color:#6366f1;text-decoration:none;font-weight:500;font-size:14px}.fallback-link:hover{text-decoration:underline}.town-hall-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:14px;text-decoration:none;margin-bottom:24px;transition:all .2s}.town-hall-banner:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b40}.town-hall-banner .th-icon{font-size:28px}.town-hall-banner .th-text{flex:1}.town-hall-banner .th-text strong{display:block;font-size:15px;font-weight:700;color:#92400e;margin-bottom:2px}.town-hall-banner .th-text span{font-size:12px;color:#a16207}.town-hall-banner .th-arrow{font-size:18px;color:#92400e;font-weight:600}.feed-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.feed-info{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.feed-loading{text-align:center;padding:40px 20px}.feed-loading .spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.feed-loading p{font-size:14px;color:#64748b;margin:0}.feed-list{display:flex;flex-direction:column;gap:12px}.feed-item-link{text-decoration:none}.feed-card{background:#fff;border-radius:16px;padding:16px;border:1px solid #e2e8f0;transition:all .2s}.feed-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0000000f;transform:translateY(-1px)}.feed-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feed-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}.feed-type-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.local-badge{margin-left:auto;font-size:11px;color:#16a34a;background:#dcfce7;padding:3px 8px;border-radius:10px}.feed-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 6px;line-height:1.3}.feed-subtitle{font-size:13px;color:#64748b;margin:0 0 6px}.feed-description{font-size:14px;color:#475569;margin:0 0 10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vote-result{display:flex;gap:16px;margin-bottom:10px;font-size:14px;font-weight:600}.vote-result .yes{color:#16a34a}.vote-result .no{color:#dc2626}.feed-footer{display:flex;justify-content:flex-end}.feed-action{font-size:13px;font-weight:600;color:#6366f1}.feed-card.state_bill{border-left:4px solid #8b5cf6}.feed-card.federal_bill{border-left:4px solid #3b82f6}.feed-card.rep_vote{border-left:4px solid #22c55e}.feed-card.bill_passed{border-left:4px solid #16a34a}.feed-card.bill_failed{border-left:4px solid #ef4444}.feed-card.political_news{border-left:4px solid #64748b}.feed-card.town_hall{border-left:4px solid #f59e0b}.no-feed{text-align:center;padding:30px 20px;background:#fff;border-radius:16px}.no-feed p{font-size:14px;color:#64748b;margin:0 0 16px}.fallback-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.fallback-btn{padding:10px 16px;background:#f1f5f9;color:#475569;text-decoration:none;border-radius:10px;font-size:13px;font-weight:500;transition:all .2s}.fallback-btn:hover{background:#e2e8f0}.earn-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.earn-content{max-width:600px;margin:0 auto;padding:20px 16px}.earn-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.earn-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.earn-header p{color:#64748b;font-size:14px;margin:0}.points-display{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:12px 20px;border-radius:24px;font-weight:700;box-shadow:0 4px 12px #f59e0b4d}.points-icon,.points-amount{font-size:20px}.earn-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat-card{background:#fff;border-radius:16px;padding:20px 16px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-value{display:block;font-size:28px;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-label{font-size:12px;color:#64748b}.earn-section{margin-bottom:28px}.earn-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.earn-option{display:flex;align-items:center;gap:16px;background:#fff;border-radius:16px;padding:18px;margin-bottom:12px;text-decoration:none;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.earn-option:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.earn-option.disabled{opacity:.6;cursor:not-allowed}.earn-option-icon{width:56px;height:56px;background:#f1f5f9;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.earn-option-info{flex:1;min-width:0}.earn-option-info h3{font-size:16px;color:#1e293b;margin:0 0 4px}.earn-option-info p{font-size:13px;color:#64748b;margin:0;line-height:1.4}.coming-soon{display:inline-block;font-size:11px;color:#f59e0b;background:#fef3c7;padding:2px 8px;border-radius:4px;margin-top:6px;font-weight:600}.earn-option-reward{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.earn-option-reward span:first-child{font-size:14px;font-weight:700;color:#f59e0b}.earn-option-reward .arrow{font-size:18px;color:#cbd5e1}.rewards-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;padding:24px}.rewards-section h2{font-size:18px;color:#92400e;margin:0 0 16px}.rewards-info{color:#78350f}.rewards-info p{font-size:14px;line-height:1.6;margin:0 0 16px}.rewards-info ul{list-style:none;padding:0;margin:0 0 16px}.rewards-info li{font-size:14px;padding:8px 0;border-bottom:1px solid rgba(120,53,15,.1)}.rewards-info li:last-child{border-bottom:none}.rewards-note{font-size:13px;font-style:italic;opacity:.8;margin:0!important}.polls-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.polls-content{max-width:600px;margin:0 auto;padding:20px 16px}.polls-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.polls-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.polls-header p{color:#64748b;font-size:14px;margin:0}.points-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:10px 16px;border-radius:20px;font-weight:700}.points-icon,.points-value{font-size:16px}.message{padding:14px 18px;border-radius:12px;margin-bottom:16px;font-weight:500;text-align:center}.message.success{background:#d1fae5;color:#065f46}.message.error{background:#fee2e2;color:#991b1b}.polls-tabs{display:flex;gap:8px;margin-bottom:20px}.polls-tabs button{flex:1;padding:12px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer}.polls-tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.polls-list,.surveys-list{display:flex;flex-direction:column;gap:16px}.poll-card,.survey-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.poll-card.voted,.survey-card.completed{opacity:.85}.poll-header,.survey-header{display:flex;justify-content:space-between;margin-bottom:12px}.poll-category,.survey-category{font-size:12px;font-weight:600;color:#2563eb;background:#eff6ff;padding:4px 10px;border-radius:6px;text-transform:capitalize}.poll-points,.survey-points{font-size:14px;font-weight:700;color:#f59e0b}.poll-bill-tag{display:block;font-size:12px;color:#2563eb;background:#eff6ff;padding:8px 12px;border-radius:8px;margin-bottom:12px;text-decoration:none;transition:background .2s}.poll-bill-tag:hover{background:#dbeafe}.poll-card h3,.survey-card h3{font-size:17px;color:#1e293b;margin:0 0 12px;line-height:1.4}.survey-desc{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 12px}.poll-meta,.survey-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#64748b;margin-bottom:16px}.vote-btn,.start-btn{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.voted-note,.completed-note{text-align:center;color:#10b981;font-weight:500;margin:0;padding:12px;background:#ecfdf5;border-radius:10px}.poll-results{margin-top:16px}.result-bar{position:relative;background:#f1f5f9;border-radius:8px;padding:12px;margin-bottom:8px;overflow:hidden}.result-fill{position:absolute;left:0;top:0;bottom:0;background:#dbeafe;border-radius:8px}.result-label{position:relative;font-size:14px;color:#1e293b}.result-pct{position:relative;float:right;font-weight:600;color:#2563eb}.poll-modal,.survey-modal{background:#fff;border-radius:20px;width:100%;max-width:400px;overflow:hidden}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;font-size:20px;cursor:pointer}.poll-modal-header,.survey-modal-header{padding:24px;text-align:center}.poll-modal-header h2,.survey-modal-header h2{font-size:18px;color:#1e293b;margin:12px 0 0;line-height:1.4}.survey-modal-header span{color:#64748b;font-size:14px}.poll-options,.survey-options{padding:0 24px 24px}.poll-option,.choice-option{width:100%;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;text-align:left;cursor:pointer;margin-bottom:10px;transition:all .2s}.poll-option:hover,.choice-option:hover{border-color:#2563eb}.poll-option.selected{border-color:#2563eb;background:#eff6ff}.submit-vote-btn{width:calc(100% - 48px);margin:0 24px 24px;padding:16px;background:#f59e0b;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.submit-vote-btn:disabled{background:#94a3b8;cursor:not-allowed}.survey-progress{height:4px;background:#e2e8f0}.survey-progress .progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .3s}.scale-options{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.scale-options button{width:50px;height:50px;border:2px solid #e2e8f0;border-radius:50%;background:#fff;font-size:18px;font-weight:600;cursor:pointer}.scale-options button:hover{border-color:#f59e0b;background:#fffbeb}.scale-labels{display:flex;justify-content:space-between;font-size:11px;color:#94a3b8;margin-top:8px}.text-answer textarea{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;resize:none;margin-bottom:12px;box-sizing:border-box}.text-answer button{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.skip-btn{display:block;width:100%;padding:16px;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;border-top:1px solid #f1f5f9}.points-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-top:24px}.points-info h3{font-size:16px;color:#92400e;margin:0 0 8px}.points-info p{font-size:14px;color:#78350f;line-height:1.5;margin:0 0 16px}.points-rates{display:flex;flex-direction:column;gap:8px}.points-rates div{display:flex;align-items:center;gap:8px;font-size:13px;color:#92400e}.points-rates span{font-size:16px}.reps-page{min-height:100vh;background:#f8fafc;padding-bottom:80px}.reps-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.reps-header{margin-bottom:16px}.reps-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.location{font-size:14px;color:#64748b;margin:4px 0 0}.level-tabs{display:flex;gap:8px;margin-bottom:20px}.level-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.tab-icon{font-size:24px;line-height:1}.tab-icon.federal-flag{font-size:32px}.tab-label{font-size:13px}.level-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff}.level-tabs button:hover:not(.active){border-color:#cbd5e1}.section-label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:20px 0 10px;padding-left:4px}.section-label:first-child{margin-top:0}.reps-list{display:flex;flex-direction:column;gap:10px}.rep-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;transition:all .2s}.rep-card:hover{box-shadow:0 4px 12px #0000000f;border-color:#cbd5e1}.rep-card.executive{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-color:#bfdbfe}.rep-card.governor{background:linear-gradient(135deg,#f3e8ff,#fdf4ff);border-color:#e9d5ff}.rep-icon{font-size:32px}.rep-avatar{width:48px;height:48px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;flex-shrink:0}.subsection-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px;padding-left:4px}.loading-small{display:flex;align-items:center;gap:12px;padding:16px;background:#f1f5f9;border-radius:12px;color:#64748b;font-size:14px}.spinner-small{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.api-fallback-notice{display:flex;gap:12px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;color:#0369a1;font-size:14px}.api-fallback-notice span{font-size:20px}.api-fallback-notice .external-link{color:#0284c7;text-decoration:none;font-weight:500;margin-top:4px;display:inline-block}.api-fallback-notice .external-link:hover{text-decoration:underline}.rep-card.state-leg{background:#fafafa;border:1px solid #e2e8f0}.rep-info{flex:1;min-width:0}.rep-info h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 2px}.rep-title{font-size:13px;color:#64748b;margin:0}.party-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px}.no-data{padding:20px;text-align:center;color:#94a3b8;font-size:14px;background:#f8fafc;border-radius:12px}.coming-soon-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:12px}.coming-soon-banner span{font-size:24px}.coming-soon-banner strong{display:block;font-size:14px;color:#92400e}.coming-soon-banner p{font-size:12px;color:#b45309;margin:4px 0 0}.external-link{display:block;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;font-size:14px;color:#2563eb;font-weight:500;text-align:center}.external-link:hover{background:#eff6ff}.local-intro{font-size:14px;color:#64748b;margin-bottom:16px;line-height:1.5}.local-links{display:flex;flex-direction:column;gap:10px}.local-link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s}.local-link:hover{border-color:#2563eb;background:#eff6ff}.local-link.featured{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-color:#bfdbfe}.local-link span{font-size:24px}.local-link strong{display:block;font-size:14px;color:#1e293b}.local-link p{font-size:12px;color:#64748b;margin:2px 0 0}.report-card-cta{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:14px;text-decoration:none;margin-top:24px}.report-card-cta span:first-child{font-size:28px}.report-card-cta div{flex:1}.report-card-cta strong{display:block;font-size:15px;color:#92400e}.report-card-cta p{font-size:12px;color:#b45309;margin:2px 0 0}.report-card-cta .arrow{font-size:20px;color:#b45309}.loading{display:flex;flex-direction:column;align-items:center;padding:60px;gap:12px}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.quick-links{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.quick-link-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:14px;text-decoration:none;transition:all .2s}.quick-link-card:hover{transform:translate(4px);box-shadow:0 4px 12px #2563eb26}.quick-icon{font-size:28px}.quick-info{flex:1;display:flex;flex-direction:column}.quick-title{font-size:15px;font-weight:600;color:#1e40af}.quick-desc{font-size:12px;color:#3b82f6}.quick-arrow{font-size:18px;color:#3b82f6}.quick-link-card.town-hall-external{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.quick-link-card.town-hall-external .quick-icon{background:#fff3}.quick-link-card.town-hall-external .quick-title{color:#fff}.quick-link-card.town-hall-external .quick-desc{color:#ffffffd9}.quick-link-card.town-hall-external .quick-arrow{color:#fff}.quick-link-card.town-hall-external:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.district-badge{display:inline-block;margin-left:8px;padding:3px 8px;background:#dbeafe;color:#1d4ed8;border-radius:12px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.rep-card.highlighted{border:2px solid #6366f1;background:linear-gradient(135deg,#eef2ff,#f8fafc);box-shadow:0 4px 12px #6366f133}.rep-card.highlighted:before{content:"★ YOUR REP";position:absolute;top:-10px;left:12px;padding:2px 8px;background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:4px}.district-note{font-size:13px;color:#64748b;font-style:italic;margin-bottom:12px;padding:8px 12px;background:#fef3c7;border-radius:8px;border-left:3px solid #f59e0b}.show-all-toggle{width:100%;padding:12px;margin-top:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.show-all-toggle:hover{background:#f1f5f9;color:#6366f1}.other-reps{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.rep-card.compact{padding:10px 12px}.rep-card.compact .rep-info h3{font-size:14px}.rep-card.compact .rep-title{font-size:12px}.rep-avatar.small{width:36px;height:36px;font-size:14px}.party-badge.small{padding:3px 8px;font-size:11px}.match-quiz-cta{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;margin-bottom:16px;text-decoration:none;color:#fff;box-shadow:0 4px 16px #6366f14d;transition:all .2s}.match-quiz-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.match-cta-left{display:flex;align-items:center;gap:14px}.match-emoji{font-size:32px}.match-quiz-cta h3{font-size:18px;font-weight:700;margin:0 0 2px}.match-quiz-cta p{font-size:13px;margin:0;opacity:.9}.match-arrow{font-size:14px;font-weight:600;background:#fff3;padding:8px 14px;border-radius:10px;white-space:nowrap}.adgate-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;text-align:center}.ad-prompt{display:flex;flex-direction:column;align-items:center;gap:12px}.lock-icon{font-size:48px;margin-bottom:8px}.ad-prompt h3{font-size:20px;font-weight:600;color:#1e293b;margin:0}.ad-prompt p{font-size:14px;color:#64748b;margin:0}.ads-progress{display:flex;gap:12px;margin:16px 0}.ad-dot{width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#94a3b8}.ad-dot.watched{background:#22c55e;border-color:#22c55e;color:#fff}.watch-ad-btn{padding:14px 32px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.watch-ad-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.subscription-hint{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.subscription-hint p{font-size:13px;color:#94a3b8;margin-bottom:8px}.subscribe-link{background:none;border:none;color:#7c3aed;font-size:14px;font-weight:600;cursor:pointer;padding:0}.ad-player{position:relative;border-radius:12px;overflow:hidden;background:#000}.youtube-container{position:relative;width:100%;padding-bottom:56.25%;background:#000;max-height:250px}@media (max-height: 600px){.youtube-container{max-height:180px;padding-bottom:0;height:180px}}.youtube-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.ad-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:16px;display:flex;flex-direction:column;gap:10px}.ad-label{position:absolute;top:12px;left:12px;background:#000000b3;color:#fbbf24;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.ad-progress-bar{width:100%;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden}.ad-progress{height:100%;background:#fbbf24;transition:width 1s linear}.ad-controls{display:flex;justify-content:space-between;align-items:center}.ad-timer{color:#fff;font-size:14px;font-weight:500}.skip-btn{padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.skip-btn:hover{background:#ffffff4d}.skip-countdown{color:#fff9;font-size:12px}.adgate-premium-required{background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:2px solid #c4b5fd;border-radius:16px;padding:32px 24px;text-align:center}.premium-icon{font-size:48px;margin-bottom:12px}.adgate-premium-required h3{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 8px}.adgate-premium-required>p{font-size:14px;color:#64748b;margin:0 0 20px}.premium-benefits{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.benefit{font-size:14px;color:#1e293b;padding:8px 16px;background:#fff;border-radius:8px}.premium-pricing{display:flex;gap:12px;justify-content:center}.plan-btn{padding:12px 24px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s}.plan-btn .price{display:block;font-size:20px;font-weight:700;color:#1e293b}.plan-btn .label{font-size:12px;color:#64748b}.plan-btn.yearly{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent}.plan-btn.yearly .price,.plan-btn.yearly .label{color:#fff}.plan-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.subscribe-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.subscribe-modal{background:#fff;border-radius:24px;max-width:400px;width:100%;padding:32px 24px;position:relative}.close-modal{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:none;font-size:20px;color:#64748b;cursor:pointer}.subscribe-modal .modal-header{text-align:center;margin-bottom:24px}.premium-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:16px;font-size:12px;font-weight:600;color:#b45309;margin-bottom:12px}.subscribe-modal .modal-header h2{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.subscribe-modal .modal-header p{font-size:14px;color:#64748b;margin:0}.premium-features{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.feature{display:flex;align-items:flex-start;gap:12px;text-align:left}.feature .icon{font-size:24px;flex-shrink:0}.feature strong{display:block;font-size:14px;color:#1e293b}.feature p{font-size:12px;color:#64748b;margin:2px 0 0}.pricing-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.pricing-btn{padding:16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;position:relative}.pricing-btn .plan-name{font-size:12px;color:#64748b;margin-bottom:4px}.pricing-btn .plan-price{font-size:24px;font-weight:700;color:#1e293b}.pricing-btn .plan-price span{font-size:14px;font-weight:400;color:#64748b}.pricing-btn.recommended{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent}.pricing-btn.recommended .plan-name,.pricing-btn.recommended .plan-price,.pricing-btn.recommended .plan-price span,.pricing-btn.recommended .savings{color:#fff}.recommended-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#fbbf24;color:#78350f;font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap}.savings{font-size:11px;color:#22c55e;margin-top:4px}.pricing-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.terms{font-size:11px;color:#94a3b8;text-align:center;margin:0}.admin-bypass{margin-top:12px;padding:8px 16px;background:#0000000d;border:1px dashed #94a3b8;border-radius:8px;color:#64748b;font-size:12px;cursor:pointer}.admin-bypass:hover{background:#0000001a;color:#475569}.ad-gate{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.ad-gate.showing-ad{padding:0;overflow:hidden}.gate-content{text-align:center}.gate-icon{font-size:48px;display:block;margin-bottom:12px}.gate-content h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.gate-content p{font-size:14px;color:#64748b;margin:0 0 20px}.gate-options{display:flex;flex-direction:column;gap:10px}.gate-btn{padding:14px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.gate-btn.premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.gate-btn.ad{background:#2563eb;color:#fff}.gate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ad-container{background:#0f172a}.ad-label{padding:10px;background:#1e293b;color:#94a3b8;font-size:12px;text-align:center}.ad-title{padding:12px;margin:0;color:#fff;font-size:14px;text-align:center}.rep-report-page{min-height:100vh;padding-bottom:80px;background:#f8fafc}.rep-report-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.report-header h1{font-size:24px;font-weight:700;color:#1e293b}.year-review-btn{padding:8px 14px;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.report-intro{color:#64748b;font-size:14px;margin-bottom:16px}.your-interests{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 16px;margin-bottom:16px}.interests-label{font-size:12px;color:#2563eb;font-weight:500;display:block;margin-bottom:8px}.interest-tags{display:flex;flex-wrap:wrap;gap:6px}.interest-tag{font-size:12px;padding:4px 10px;background:#fff;border:1px solid #bfdbfe;border-radius:12px;color:#2563eb}.no-interests-warning{display:flex;align-items:center;gap:10px;padding:14px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:16px}.no-interests-warning span{font-size:20px}.no-interests-warning p{font-size:13px;color:#92400e;margin:0}.no-interests-warning a{color:#b45309;font-weight:600}.premium-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#f3e8ff,#eff6ff);border:1px solid #c4b5fd;border-radius:12px;margin-bottom:16px}.premium-banner span{font-size:20px}.premium-banner p{flex:1;font-size:13px;color:#6d28d9;margin:0}.upgrade-link{padding:6px 12px;background:#7c3aed;color:#fff;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none}.report-cards{display:flex;flex-direction:column;gap:12px}.report-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .2s}.report-card:hover{box-shadow:0 4px 12px #00000014}.report-card.governor-card{background:linear-gradient(135deg,#f3e8ff,#eff6ff);border-color:#c4b5fd}.rep-avatar{width:50px;height:50px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600}.rep-avatar.democrat{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.rep-avatar.republican{background:linear-gradient(135deg,#dc2626,#b91c1c)}.rep-avatar.large{width:60px;height:60px;font-size:24px}.rep-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #e2e8f0}.rep-avatar-img.democrat{border-color:#2563eb}.rep-avatar-img.republican{border-color:#dc2626}.rep-info{flex:1}.rep-info h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:2px}.rep-title{font-size:13px;color:#64748b;margin-bottom:6px}.party-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:8px}.party-badge.d{background:#eff6ff;color:#2563eb}.party-badge.r{background:#fef2f2;color:#dc2626}.grade-display{text-align:center}.grade-letter{display:block;font-size:32px;font-weight:700;line-height:1}.grade-label{font-size:10px;color:#94a3b8;text-transform:uppercase}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:24px 24px 0 0;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;position:relative}.close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#f1f5f9;border:none;font-size:24px;color:#64748b;cursor:pointer}.modal-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.modal-header h2{font-size:20px;font-weight:600;color:#1e293b;margin:0}.modal-header p{font-size:14px;color:#64748b;margin:4px 0 0}.header-grade{margin-left:auto;font-size:40px;font-weight:700}.grade-explanation{background:#f8fafc;padding:12px 16px;border-radius:10px;margin-bottom:20px}.grade-explanation p{font-size:14px;color:#64748b;margin:0}.voting-section{margin-bottom:24px}.voting-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.vote-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.vote-card.user-topic{border-color:#bfdbfe;background:#eff6ff}.vote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vote-position{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px}.vote-position.yes{background:#dcfce7;color:#059669}.vote-position.no{background:#fef2f2;color:#dc2626}.vote-card h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 6px}.vote-desc{font-size:13px;color:#64748b;margin:0 0 10px;line-height:1.4}.vote-topic{font-size:12px;color:#64748b;display:flex;align-items:center;gap:8px;margin-bottom:12px}.tracked-badge{font-size:10px;background:#2563eb;color:#fff;padding:2px 6px;border-radius:4px}.rate-vote{border-top:1px solid #e2e8f0;padding-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rate-label{font-size:12px;color:#64748b}.rate-buttons{display:flex;gap:8px}.rate-btn{padding:6px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.rate-btn.agree:hover,.rate-btn.agree.selected{background:#dcfce7;border-color:#86efac;color:#059669}.rate-btn.disagree:hover,.rate-btn.disagree.selected{background:#fef2f2;border-color:#fecaca;color:#dc2626}.points-earned{font-size:11px;color:#059669;font-weight:500}.ai-section{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.ai-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.ai-analysis{background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:1px solid #c4b5fd;border-radius:12px;padding:16px}.ai-analysis>p{font-size:14px;color:#1e293b;line-height:1.5;margin:0 0 16px}.analysis-section h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 8px}.analysis-section ul{padding-left:18px;margin:0 0 12px}.analysis-section li{font-size:13px;color:#64748b;margin-bottom:4px}.modal-content.year-review{text-align:center}.year-review-header{margin-bottom:24px}.year-emoji{font-size:48px;display:block;margin-bottom:12px}.year-review-header h2{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.year-review-header p{font-size:14px;color:#64748b;margin:0}.year-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.year-stat-card{display:flex;align-items:center;gap:12px;padding:14px;background:#f8fafc;border-radius:12px;text-align:left}.stat-rep{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1e293b}.party-dot{width:10px;height:10px;border-radius:50%}.stat-grade{font-size:28px;font-weight:700}.stat-detail{font-size:11px;color:#64748b;max-width:120px}.year-summary{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:16px}.year-summary h3{font-size:14px;font-weight:600;color:#059669;margin:0 0 8px}.year-summary p{font-size:13px;color:#047857;margin:4px 0}.loading{display:flex;flex-direction:column;align-items:center;padding:40px;gap:12px}.loading.small{padding:20px}.loading p{color:#64748b;font-size:14px}.spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.report-footer p{font-size:13px;color:#64748b}.version-badge{position:fixed;bottom:80px;right:16px;background:#fff;color:#94a3b8;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:500;z-index:50;border:1px solid #e2e8f0}.location-subtitle{font-size:13px;color:#64748b;margin:0}.your-interests{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-link{margin-left:auto;font-size:12px;color:#2563eb;text-decoration:none}.grade-legend{display:flex;justify-content:center;gap:12px;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px}.legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.grade-dot{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.grade-dot.a{background:#059669}.grade-dot.b{background:#2563eb}.grade-dot.c{background:#d97706}.grade-dot.d{background:#ea580c}.grade-dot.f{background:#dc2626}.no-zip{text-align:center;padding:60px 20px}.no-zip span{font-size:48px;display:block;margin-bottom:16px}.no-zip p{font-size:16px;color:#64748b;margin-bottom:16px}.add-zip-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:500}.no-data{text-align:center;padding:40px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.no-data p{margin:0;color:#64748b}.no-data .subtext{font-size:13px;margin-top:8px;color:#94a3b8}.topic-grades-section{margin-top:20px}.topic-grades-section h3{font-size:16px;font-weight:600;margin:0 0 4px;color:#1e293b}.section-subtitle{font-size:13px;color:#64748b;margin:0 0 16px}.topic-grades-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.topic-grade-card{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-align:center}.topic-grade-card.tracked{background:#eff6ff;border-color:#bfdbfe}.topic-header{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.topic-emoji{font-size:16px}.topic-name{font-size:12px;font-weight:500;color:#475569}.tracked-badge{font-size:10px;color:#2563eb}.topic-grade{font-size:28px;font-weight:700;line-height:1}.topic-score{font-size:13px;color:#64748b;margin-top:4px}.topic-votes{font-size:11px;color:#94a3b8;margin-top:2px}.premium-teaser{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;margin-top:20px}.premium-icon{font-size:28px}.premium-teaser strong{display:block;font-size:14px;color:#92400e}.premium-teaser p{font-size:12px;color:#b45309;margin:4px 0 0}.upgrade-btn{margin-left:auto;padding:8px 16px;background:#b45309;color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500}.data-source{margin-top:20px;padding:12px;background:#f1f5f9;border-radius:8px}.data-source p{margin:0;font-size:12px;color:#64748b}.data-source p+p{margin-top:4px}.report-footer{margin-top:24px;text-align:center}.report-footer p{font-size:13px;color:#64748b;margin:0 0 8px}.report-footer a{color:#2563eb;text-decoration:none}.modal-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.modal-tab{flex:1;padding:12px 16px;background:#f1f5f9;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.modal-tab:hover{background:#e2e8f0}.modal-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.modal-tab .premium-badge{background:#f59e0b;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700}.modal-large{max-height:90vh;overflow-y:auto}.voting-records-section{margin-top:16px}.voting-records-section h3{font-size:18px;font-weight:600;margin-bottom:8px}.voting-records-section .section-subtitle{color:#64748b;font-size:14px;margin-bottom:16px}.topic-filter{margin-bottom:16px}.filter-label{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:8px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#e2e8f0}.filter-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.votes-list.full-access{max-height:400px;overflow-y:auto;padding-right:8px}.vote-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.vote-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.vote-info{flex:1;min-width:0}.vote-bill{font-size:13px;font-weight:600;color:#3b82f6;margin-bottom:4px}.vote-title{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:6px;line-height:1.4}.vote-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vote-date{font-size:12px;color:#64748b}.vote-topic{font-size:11px;background:#f1f5f9;color:#475569;padding:2px 8px;border-radius:10px}.vote-result{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.vote-result.failed{background:#fee2e2;color:#991b1b}.vote-position-label{font-size:12px;font-weight:700;flex-shrink:0}.loading-votes{text-align:center;padding:40px;color:#64748b}.loading-votes .spinner{width:30px;height:30px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.no-votes{text-align:center;padding:40px;color:#64748b}.reset-filter{margin-top:12px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.votes-summary{margin-top:16px;padding:12px;background:#f8fafc;border-radius:8px;text-align:center;color:#64748b;font-size:13px}.votes-premium-gate{position:relative}.votes-blur-overlay{position:relative;margin-top:-60px;padding-top:80px;background:linear-gradient(to bottom,#f8fafc00,#f8fafcf2 30%,#f8fafc)}.votes-teaser-content{text-align:center;padding:24px;background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;color:#fff}.votes-teaser-content .lock-icon{font-size:40px;margin-bottom:12px;display:block}.votes-teaser-content h4{font-size:20px;font-weight:700;margin-bottom:8px}.votes-teaser-content p{font-size:14px;color:#fffc;margin-bottom:16px}.premium-benefits{list-style:none;padding:0;text-align:left;max-width:250px;margin:0 auto 20px}.premium-benefits li{font-size:14px;padding:6px 0;color:#ffffffe6}.upgrade-btn-large{display:inline-block;padding:14px 28px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:16px;font-weight:600;border-radius:12px;text-decoration:none;transition:transform .2s ease}.upgrade-btn-large:hover{transform:scale(1.05)}@media (max-width: 480px){.modal-tabs{flex-direction:row}.modal-tab{padding:10px 12px;font-size:13px}.filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-chip{flex-shrink:0}.vote-meta{flex-wrap:wrap}}.campaign-finance-section{background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:16px;padding:24px;margin-bottom:24px;color:#fff}.campaign-finance-section.loading{min-height:200px}.campaign-finance-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.campaign-finance-section .section-header h2{font-size:1.5rem;margin:0;color:#fbbf24}.campaign-finance-section .data-source{font-size:.75rem;color:#fff9;background:#ffffff1a;padding:4px 8px;border-radius:4px}.loading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#ffffffb3}.spinner-small{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fbbf24;border-radius:50%;animation:spin 1s linear infinite}.finance-note{background:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:8px;padding:12px;margin-bottom:16px;font-size:.85rem;color:#fcd34d}.finance-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.finance-tab{background:#ffffff1a;border:none;color:#ffffffb3;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.finance-tab:hover{background:#ffffff26;color:#fff}.finance-tab.active{background:#fbbf24;color:#0f172a;font-weight:600}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.finance-stat{background:#ffffff14;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.finance-stat .stat-icon{font-size:1.5rem}.finance-stat .stat-content{display:flex;flex-direction:column}.finance-stat .stat-value{font-size:1.25rem;font-weight:700;color:#fff}.finance-stat .stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.finance-stat.raised .stat-value{color:#4ade80}.finance-stat.spent .stat-value{color:#f97316}.finance-stat.cash .stat-value{color:#60a5fa}.funding-breakdown{margin-bottom:24px}.funding-breakdown h3{font-size:1rem;color:#ffffffe6;margin-bottom:12px}.funding-bar{height:32px;background:#ffffff1a;border-radius:16px;overflow:hidden;display:flex;margin-bottom:16px}.funding-segment{height:100%;transition:width .5s ease;position:relative}.funding-segment.individuals{background:linear-gradient(90deg,#22c55e,#4ade80)}.funding-segment.pacs{background:linear-gradient(90deg,#ef4444,#f87171)}.funding-segment.party{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.funding-segment.self{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.funding-legend{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.legend-color{width:12px;height:12px;border-radius:4px}.legend-color.individuals{background:#22c55e}.legend-color.pacs{background:#ef4444}.legend-color.party{background:#3b82f6}.legend-color.self{background:#f59e0b}.legend-label{color:#fffc}.legend-value{color:#fff9;font-size:.75rem}.pac-alert{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.pac-alert .alert-icon{font-size:1.25rem}.pac-alert .alert-text{font-size:.85rem;color:#fca5a5;line-height:1.4}.superpac-section{background:#ffffff0d;border-radius:12px;padding:16px;margin-bottom:20px}.superpac-section h3{font-size:1rem;margin:0 0 8px;color:#ffffffe6}.superpac-explainer{font-size:.8rem;color:#fff9;margin-bottom:12px}.superpac-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.superpac-stat{display:flex;align-items:center;gap:10px;background:#ffffff0d;padding:12px;border-radius:8px}.superpac-stat .stat-icon{font-size:1.25rem}.superpac-stat .stat-content{display:flex;flex-direction:column}.superpac-stat .stat-label{font-size:.7rem;color:#ffffff80;text-transform:uppercase}.superpac-stat .stat-value{font-size:1.1rem;font-weight:600}.superpac-stat .stat-value.green{color:#4ade80}.superpac-stat .stat-value.red{color:#f87171}.superpac-net{font-size:.85rem;margin-top:12px;text-align:center;color:#fffc}.contributors-section{margin-bottom:20px}.contributors-section h3{font-size:1rem;margin-bottom:8px;color:#ffffffe6}.contributors-note{font-size:.8rem;color:#fff9;margin-bottom:16px;line-height:1.4}.contributors-list{display:flex;flex-direction:column;gap:8px}.contributor-item{display:flex;align-items:center;gap:12px;background:#ffffff14;padding:12px 16px;border-radius:10px;transition:background .2s}.contributor-item:hover{background:#ffffff1f}.contributor-rank{font-size:.85rem;font-weight:700;color:#fbbf24;min-width:28px}.contributor-info{flex:1;display:flex;flex-direction:column}.contributor-name{font-size:.95rem;font-weight:500;color:#fff}.contributor-count{font-size:.75rem;color:#ffffff80}.contributor-amount{font-size:1rem;font-weight:600;color:#4ade80}.contributors-disclaimer{margin-top:16px;padding:12px;background:#3b82f61a;border-radius:8px}.contributors-disclaimer p{font-size:.8rem;color:#ffffffb3;margin:0;line-height:1.4}.no-data{text-align:center;padding:24px;color:#ffffff80;font-style:italic}.filings-section h3{font-size:1rem;margin-bottom:16px;color:#ffffffe6}.filings-list{display:flex;flex-direction:column;gap:8px}.filing-item{display:flex;align-items:center;gap:12px;background:#ffffff14;padding:12px 16px;border-radius:10px;text-decoration:none;color:#fff;transition:background .2s}.filing-item:hover{background:#ffffff26}.filing-info{flex:1;display:flex;flex-direction:column}.filing-type{font-size:.9rem;font-weight:600;color:#fff}.filing-date{font-size:.75rem;color:#ffffff80}.filing-amounts{display:flex;gap:12px}.filing-receipts{font-size:.85rem;color:#4ade80}.filing-disbursements{font-size:.85rem;color:#f97316}.filing-arrow{color:#ffffff4d;font-size:1.25rem}.fec-link{text-align:center;margin:20px 0}.fec-link a{display:inline-flex;align-items:center;gap:6px;color:#60a5fa;text-decoration:none;font-size:.9rem;padding:10px 16px;background:#60a5fa1a;border-radius:8px;transition:all .2s}.fec-link a:hover{background:#60a5fa33;color:#93c5fd}.finance-explainer{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.explainer-toggle{background:none;border:none;color:#fff9;cursor:pointer;font-size:.85rem;padding:8px 0;display:flex;align-items:center;gap:8px}.explainer-toggle:hover{color:#ffffffe6}.explainer-content{margin-top:12px;padding:16px;background:#ffffff0d;border-radius:8px}.explainer-content p{font-size:.85rem;color:#fffc;margin:0 0 12px;line-height:1.5}.explainer-content p:last-child{margin-bottom:0}.explainer-content strong{color:#fff}.finance-compact{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;background:#ffffff0d;border-radius:8px}.finance-compact:hover{background:#ffffff1a}.finance-compact .finance-raised{font-weight:600;color:#4ade80}.finance-compact .finance-label{font-size:.75rem;color:#ffffff80}.finance-compact .finance-pac-indicator{width:40px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.finance-compact .pac-bar{height:100%;background:#ef4444}@media (max-width: 768px){.campaign-finance-section{padding:16px;margin:0 -16px 24px;border-radius:0}.finance-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.finance-tab{white-space:nowrap;padding:8px 12px;font-size:.85rem}.finance-summary{grid-template-columns:1fr;gap:12px}.finance-stat{padding:12px}.funding-legend{flex-direction:column;gap:8px}.superpac-stats{grid-template-columns:1fr}.contributor-item{padding:10px 12px}.contributor-amount{font-size:.9rem}}.interest-ratings-section{background:linear-gradient(135deg,#312e81,#1e1b4b);border-radius:16px;padding:24px;margin-bottom:24px;color:#fff}.interest-ratings-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.interest-ratings-section .section-header h2{font-size:1.5rem;margin:0;color:#fde047}.ratings-year{font-size:.8rem;background:#ffffff1a;padding:4px 10px;border-radius:12px;color:#ffffffb3}.ratings-explainer{font-size:.9rem;color:#ffffffb3;margin-bottom:20px}.interest-ratings-section.loading,.interest-ratings-section.empty{min-height:200px}.interest-ratings-section .loading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#ffffffb3}.interest-ratings-section .spinner-small{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fde047;border-radius:50%;animation:spin 1s linear infinite}.interest-ratings-section .no-data{text-align:center;padding:40px;color:#ffffff80;font-style:italic}.category-filters{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.category-btn{background:#ffffff1a;border:none;color:#ffffffb3;padding:8px 14px;border-radius:20px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:all .2s}.category-btn:hover{background:#ffffff26;color:#fff}.category-btn.active{background:#fde047;color:#1e1b4b;font-weight:600}.ratings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.rating-card{background:#ffffff14;border-radius:12px;padding:16px;transition:background .2s}.rating-card:hover{background:#ffffff1f}.rating-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.group-icon{font-size:1.5rem}.group-info{flex:1;display:flex;flex-direction:column}.group-name{font-weight:600;font-size:1rem;color:#fff}.group-category{font-size:.75rem;color:#ffffff80}.rating-badge{font-size:1.25rem;font-weight:700;color:#fff;padding:6px 14px;border-radius:8px;min-width:50px;text-align:center}.rating-interpretation{font-size:.85rem;color:#ffffffb3;margin:0 0 10px;line-height:1.4}.rating-source{font-size:.75rem;color:#93c5fd;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.rating-source:hover{color:#bfdbfe;text-decoration:underline}.show-more-btn{display:block;width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:20px;transition:all .2s}.show-more-btn:hover{background:#ffffff26;border-color:#ffffff4d}.ratings-legend{background:#ffffff0d;border-radius:10px;padding:16px}.ratings-legend h4{font-size:.9rem;margin:0 0 12px;color:#ffffffe6}.legend-items{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#ffffffb3}.legend-color{width:14px;height:14px;border-radius:4px}.legend-note{font-size:.75rem;color:#ffffff80;margin:0;line-height:1.5}.ratings-compact{display:flex;gap:12px;flex-wrap:wrap}.rating-compact-item{display:flex;align-items:center;gap:6px;background:#ffffff14;padding:6px 10px;border-radius:6px}.compact-icon{font-size:1rem}.compact-rating{font-weight:700;font-size:.9rem}.rating-summary{display:flex;gap:20px}.summary-item{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:#ffffff14;border-radius:10px}.summary-label{font-size:.75rem;color:#fff9;margin-bottom:4px}.summary-value{font-size:1.5rem;font-weight:700}@media (max-width: 768px){.interest-ratings-section{padding:16px;margin:0 -16px 24px;border-radius:0}.ratings-grid{grid-template-columns:1fr}.category-filters{margin:0 -16px 16px;padding:0 16px 8px}.rating-card{padding:14px}.rating-badge{font-size:1.1rem;padding:5px 12px}.legend-items{flex-direction:column;gap:8px}.rating-summary{flex-direction:column;gap:12px}}.voting-record-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.voting-record-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.voting-record-section .section-header h2{font-size:1.5rem;margin:0;color:#1e293b}.voting-record-section .data-source{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.voting-record-section.loading,.voting-record-section.error{min-height:200px}.voting-record-section .loading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#64748b}.voting-record-section .spinner-small{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.error-message{text-align:center;padding:40px;color:#64748b}.error-message a{display:inline-block;margin-top:12px;color:#3b82f6;text-decoration:none}.error-message a:hover{text-decoration:underline}.voting-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.vote-stat{background:#f8fafc;border-radius:12px;padding:16px;text-align:center}.vote-stat .stat-num{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.vote-stat .stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase}.vote-stat.yea .stat-num{color:#22c55e}.vote-stat.nay .stat-num{color:#ef4444}.vote-stat.participation .stat-num{color:#3b82f6}.votes-list{display:flex;flex-direction:column;gap:12px}.vote-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8fafc;border-radius:10px;border-left:4px solid #94a3b8;transition:all .2s}.vote-item:hover{background:#f1f5f9}.vote-item.yes{border-left-color:#22c55e}.vote-item.no{border-left-color:#ef4444}.vote-item.did-not-vote{border-left-color:#94a3b8}.vote-icon{font-size:1.25rem;flex-shrink:0}.vote-question{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 4px;line-height:1.4}.vote-bill{font-size:.85rem;color:#475569;margin:0 0 8px}.vote-bill .bill-title{color:#64748b}.vote-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem}.vote-position{font-weight:600;color:#475569}.vote-date{color:#94a3b8}.vote-result{padding:2px 8px;border-radius:4px;font-weight:500}.vote-result.passed{background:#dcfce7;color:#166534}.vote-result.failed{background:#fecaca;color:#dc2626}.vote-link{color:#3b82f6;text-decoration:none;font-size:1.25rem;padding:8px;flex-shrink:0}.vote-link:hover{color:#2563eb}.show-more-btn{display:block;width:100%;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;padding:12px;border-radius:8px;cursor:pointer;font-size:.9rem;margin-top:16px;transition:all .2s}.show-more-btn:hover{background:#e2e8f0}.govtrack-link{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.govtrack-link a{display:inline-flex;align-items:center;gap:6px;color:#3b82f6;text-decoration:none;font-size:.9rem;padding:10px 16px;background:#eff6ff;border-radius:8px;transition:all .2s}.govtrack-link a:hover{background:#dbeafe;color:#2563eb}.voting-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#64748b}.legend-icon{font-size:1rem}.voting-stats-compact{display:flex;gap:12px}.voting-stats-compact .compact-stat{font-size:.8rem;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:4px}@media (max-width: 768px){.voting-record-section{padding:16px;margin:0 -16px 24px;border-radius:0}.voting-stats{grid-template-columns:repeat(2,1fr)}.vote-item{padding:12px;flex-direction:column}.vote-meta{flex-direction:column;gap:4px}.voting-legend{flex-wrap:wrap;gap:12px}}.rep-detail-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.rep-detail-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.rep-header{margin-bottom:24px}.back-link{display:inline-block;margin-bottom:16px;color:#6366f1;text-decoration:none;font-weight:500}.rep-info{display:flex;align-items:center;gap:16px}.rep-photo-large{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #0000001a}.rep-avatar-large{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;border:3px solid white;box-shadow:0 4px 12px #0000001a}.rep-avatar-large.D{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.rep-avatar-large.R{background:linear-gradient(135deg,#ef4444,#dc2626)}.rep-avatar-large.I{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.rep-details h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.rep-title{font-size:14px;color:#64748b;margin:0 0 4px}.rep-location{font-size:13px;color:#94a3b8;margin:0}.grade-section{margin-bottom:24px}.grade-card{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;margin-bottom:12px}.grade-circle{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grade-letter{font-size:42px;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.grade-info h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.grade-label{font-size:16px;font-weight:600;color:#475569;margin:0 0 4px}.grade-score{font-size:14px;color:#94a3b8;margin:0}.grade-summary{font-size:14px;color:#64748b;line-height:1.5;padding:0 8px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:14px 10px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.stat-value{font-size:24px;font-weight:700;color:#1e293b}.stat-label{font-size:11px;color:#64748b;text-align:center}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0}.section-note{font-size:12px;color:#94a3b8}.unlocked-badge{padding:4px 10px;background:#dcfce7;color:#166534;border-radius:12px;font-size:12px;font-weight:600}.votes-section,.full-votes-section{margin-bottom:24px}.votes-list{display:flex;flex-direction:column;gap:10px}.vote-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:14px;text-decoration:none;border:1px solid #e2e8f0;transition:all .2s}.vote-item:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126;transform:translateY(-1px)}.vote-position{font-size:24px;flex-shrink:0}.vote-content{flex:1;min-width:0}.vote-content h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vote-content p{font-size:12px;color:#64748b;margin:0 0 4px}.vote-date{font-size:11px;color:#94a3b8}.vote-meta{display:flex;gap:12px;align-items:center}.party-align{font-size:11px;padding:2px 8px;border-radius:8px}.party-align.aligned{background:#dcfce7;color:#166534}.party-align.diverged{background:#fee2e2;color:#991b1b}.vote-arrow{color:#94a3b8;font-size:16px}.more-votes-note{text-align:center;font-size:13px;color:#64748b;margin-top:12px}.no-votes{padding:30px;text-align:center;background:#fff;border-radius:14px;color:#94a3b8}.unlock-section{margin-bottom:24px}.unlock-card{padding:28px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;border:2px dashed #cbd5e1;text-align:center}.unlock-icon{font-size:48px;margin-bottom:12px}.unlock-card h3{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 8px}.unlock-card p{font-size:14px;color:#64748b;margin:0 0 16px}.unlock-card ul{list-style:none;padding:0;text-align:left;max-width:280px;margin:0 auto 20px}.unlock-card li{padding:8px 0;font-size:14px;color:#475569}.unlock-progress{margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s}.unlock-progress span{font-size:12px;color:#64748b}.unlock-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f166}.breakdown-section{margin-bottom:24px}.breakdown-cards{display:flex;flex-direction:column;gap:12px}.breakdown-card{padding:16px;background:#fff;border-radius:14px;border:1px solid #e2e8f0}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.breakdown-header h4{font-size:15px;font-weight:600;color:#1e293b;margin:0}.breakdown-score{font-size:18px;font-weight:700}.breakdown-desc{font-size:12px;color:#64748b;margin:0 0 10px}.breakdown-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:6px}.breakdown-fill{height:100%;border-radius:3px;transition:width .5s}.breakdown-weight{font-size:11px;color:#94a3b8}.alignment-section{margin-bottom:24px}.party-info{padding:16px;background:#fff;border-radius:14px;margin-bottom:12px}.party-info h4{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px}.party-info p{font-size:13px;color:#64748b;margin:0 0 12px}.values-list{display:flex;flex-wrap:wrap;gap:8px}.value-tag{padding:6px 12px;background:#f1f5f9;color:#475569;border-radius:16px;font-size:12px}.alignment-score{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:14px}.alignment-label{font-size:14px;font-weight:600;color:#475569}.alignment-value{font-size:28px;font-weight:700}.suggestions-section{margin-bottom:24px}.suggestion-card{padding:16px;background:#fff;border-radius:14px;border-left:4px solid #f59e0b;margin-bottom:10px}.suggestion-card h4{font-size:14px;font-weight:600;color:#92400e;margin:0 0 6px}.suggestion-card p{font-size:13px;color:#64748b;margin:0 0 8px}.suggestion-action{font-size:12px;color:#6366f1;font-weight:500}.no-suggestions{padding:20px;background:#f0fdf4;border-radius:14px;color:#166534;text-align:center}.contact-section{text-align:center;padding:24px;background:#fff;border-radius:20px}.contact-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.contact-btn{padding:12px 20px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}.contact-btn.phone{background:#dcfce7;color:#166534}.contact-btn.web{background:#dbeafe;color:#1d4ed8}.contact-btn.townhall{background:#fef3c7;color:#92400e}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 480px){.quick-stats{grid-template-columns:repeat(2,1fr)}.contact-buttons{flex-direction:column}.contact-btn{width:100%;text-align:center}}.executive-orders-page{max-width:900px;margin:0 auto;padding:24px}.eo-header{margin-bottom:24px}.eo-title h1{font-size:2rem;margin:0 0 8px;color:#1e293b}.eo-title p{color:#64748b;margin:0}.eo-why{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px;margin-top:16px}.why-icon{font-size:1.5rem}.why-text{font-size:.95rem;color:#92400e;line-height:1.5}.eo-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:12px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.85rem;font-weight:600;color:#475569}.filter-group select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.filter-group select:focus{outline:none;border-color:#3b82f6}.search-form{display:flex;flex:1;min-width:200px}.search-form input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px 0 0 8px;font-size:.9rem}.search-form input:focus{outline:none;border-color:#3b82f6}.search-form button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:0 8px 8px 0;cursor:pointer}.search-form button:hover{background:#2563eb}.eo-stats{display:flex;gap:24px;margin-bottom:24px;padding:16px;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:12px}.eo-stats .stat{display:flex;flex-direction:column;align-items:center}.eo-stats .stat-num{font-size:1.5rem;font-weight:700;color:#fbbf24}.eo-stats .stat-label{font-size:.75rem;color:#ffffffb3;text-transform:uppercase}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b}.loading-state .spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state{text-align:center;padding:40px;background:#fef2f2;border-radius:12px;color:#dc2626}.error-state button{margin-top:12px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:8px;cursor:pointer}.orders-list{display:flex;flex-direction:column;gap:16px}.order-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid #94a3b8;transition:all .2s}.order-card:hover{box-shadow:0 4px 12px #0000001f}.order-card.impact-high{border-left-color:#ef4444;background:linear-gradient(to right,#fef2f2,#fff)}.order-card.impact-medium{border-left-color:#f59e0b}.order-card.impact-low{border-left-color:#22c55e}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.order-type{display:flex;align-items:center;gap:8px}.type-icon{font-size:1.25rem}.type-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase}.eo-number{font-size:.85rem;font-weight:700;color:#3b82f6;background:#eff6ff;padding:2px 8px;border-radius:4px}.order-meta{display:flex;align-items:center;gap:12px}.order-date{font-size:.85rem;color:#64748b}.impact-badge{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase}.impact-badge.high{background:#fecaca;color:#dc2626}.order-title{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 12px;line-height:1.4}.order-abstract{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 12px;max-height:80px;overflow:hidden;position:relative}.order-abstract:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,#fff)}.order-abstract.expanded{max-height:none}.order-abstract.expanded:after{display:none}.order-card.impact-high .order-abstract:after{background:linear-gradient(transparent,#fef2f2)}.order-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.expand-btn{background:none;border:none;color:#3b82f6;font-size:.85rem;cursor:pointer;padding:0}.expand-btn:hover{text-decoration:underline}.order-links{display:flex;gap:16px}.order-links a{font-size:.85rem;color:#3b82f6;text-decoration:none;display:flex;align-items:center;gap:4px}.order-links a:hover{text-decoration:underline}.agencies-affected{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.agencies-label{font-size:.8rem;color:#64748b}.agency-tag{font-size:.75rem;background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:4px}.agency-more{font-size:.75rem;color:#64748b}.empty-state{text-align:center;padding:60px;color:#64748b}.empty-state button{margin-top:12px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer}.eo-footer{margin-top:32px;padding:20px;background:#f8fafc;border-radius:12px;text-align:center}.data-source{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;color:#64748b;margin-bottom:8px}.data-source a{color:#3b82f6;text-decoration:none;font-weight:600}.disclaimer{font-size:.8rem;color:#94a3b8;margin:0;line-height:1.5}.eo-compact{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014}.eo-compact.loading{min-height:100px;display:flex;align-items:center;justify-content:center}.eo-compact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eo-compact-header h3{font-size:1rem;margin:0;color:#1e293b}.eo-compact-header a{font-size:.85rem;color:#3b82f6;text-decoration:none}.eo-compact-list{display:flex;flex-direction:column;gap:8px}.eo-compact-item{display:flex;align-items:center;gap:12px;padding:10px;background:#f8fafc;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s}.eo-compact-item:hover{background:#f1f5f9}.eo-compact-number{font-size:.75rem;font-weight:600;color:#3b82f6;background:#eff6ff;padding:4px 8px;border-radius:4px;white-space:nowrap}.eo-compact-title{flex:1;font-size:.9rem;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eo-compact-date{font-size:.75rem;color:#94a3b8;white-space:nowrap}.eo-widget{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px}.widget-icon{font-size:1.5rem}.widget-content{display:flex;flex-direction:column}.widget-num{font-size:1.25rem;font-weight:700;color:#92400e}.widget-label{font-size:.75rem;color:#b45309}.spinner-small{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.executive-orders-page{padding:16px}.eo-title h1{font-size:1.5rem}.eo-filters{flex-direction:column;gap:12px}.filter-group{width:100%;justify-content:space-between}.filter-group select{flex:1}.search-form{width:100%}.eo-stats{justify-content:space-around}.order-header{flex-direction:column}.order-links{flex-wrap:wrap;gap:12px}.eo-compact-title{font-size:.85rem}}.bill-analysis-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.bill-analysis-container{max-width:900px;margin:0 auto;padding:20px 20px 100px}.page-header{text-align:center;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:8px}.page-header p{color:#64748b;font-size:16px}.controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.search-form{display:flex;gap:8px}.search-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px}.search-input:focus{outline:none;border-color:#6366f1}.search-btn{padding:12px 20px;background:#6366f1;color:#fff;border:none;border-radius:12px;font-size:18px;cursor:pointer}.filters{display:flex;gap:12px}.filter-select{flex:1;padding:10px 14px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff}.profile-editor{background:#fff;border-radius:16px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d}.profile-editor summary{cursor:pointer;font-weight:600;color:#475569}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.profile-grid label{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border-radius:10px;cursor:pointer;font-size:13px;border:2px solid transparent}.profile-grid label.checked{background:#eef2ff;border-color:#6366f1;color:#4f46e5}.loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px}.spinner-small{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.bills-list{display:flex;flex-direction:column;gap:16px}.no-results{text-align:center;padding:40px;background:#fff;border-radius:16px}.bill-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000d;transition:all .3s;border-left:4px solid #e2e8f0}.bill-card.impact-high{border-left-color:#ef4444}.bill-card.impact-medium{border-left-color:#f59e0b}.bill-card.impact-low{border-left-color:#22c55e}.bill-card.expanded{box-shadow:0 8px 24px #6366f126;border-left-color:#6366f1}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;cursor:pointer}.bill-meta{display:flex;flex-direction:column;gap:6px}.bill-number{font-size:13px;font-weight:700;color:#6366f1;text-transform:uppercase}.bill-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.impact-badge{font-size:11px;padding:4px 10px;border-radius:20px;font-weight:600}.impact-badge.high{background:#fee2e2;color:#991b1b}.impact-badge.medium{background:#fef3c7;color:#92400e}.impact-badge.low{background:#dcfce7;color:#166534}.topic-badge{font-size:11px;padding:4px 10px;background:#f1f5f9;color:#475569;border-radius:20px}.status-badge{font-size:10px;padding:3px 8px;border-radius:12px;font-weight:600}.status-badge.law{background:#dcfce7;color:#166534}.status-badge.passed,.status-badge.house_passed,.status-badge.senate_passed{background:#dbeafe;color:#1e40af}.status-badge.committee{background:#fef3c7;color:#92400e}.status-badge.introduced{background:#f3f4f6;color:#4b5563}.bill-summary p{font-size:14px;color:#334155;line-height:1.5;margin-bottom:12px}.impact-quick{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;margin-bottom:12px;font-size:13px;font-weight:500}.impact-quick.high{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.impact-quick.medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.impact-quick.low{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.expand-btn{width:100%;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer}.expand-btn:hover{background:#f1f5f9;color:#6366f1}.bill-expanded{margin-top:16px;padding-top:16px;border-top:2px solid #e2e8f0}.details-loading{display:flex;align-items:center;gap:12px;padding:20px;background:#f8fafc;border-radius:12px;color:#64748b}.locked-content{text-align:center;padding:24px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;border:2px dashed #cbd5e1}.lock-icon{font-size:48px;margin-bottom:12px}.locked-content h4{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:8px}.locked-content p{color:#64748b;margin-bottom:16px}.locked-content ul{list-style:none;padding:0;margin:0 0 20px;display:inline-block;text-align:left}.locked-content li{padding:6px 0;color:#475569;font-size:14px}.unlock-btn{padding:14px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.detail-section{margin-bottom:20px}.detail-section h4{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:10px}.summary-text{font-size:13px;color:#475569;line-height:1.6;padding:14px;background:#f8fafc;border-radius:10px;max-height:200px;overflow-y:auto}.impact-section{background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:16px;border-radius:12px;margin:0 -16px 20px;width:calc(100% + 32px)}.impact-section h4{color:#4338ca}.impact-list{list-style:none;padding:0;margin:0}.impact-list li{padding:8px 0;font-size:14px;color:#4338ca;border-bottom:1px solid rgba(99,102,241,.1)}.impact-list li:last-child{border-bottom:none}.sponsors-list{display:flex;flex-wrap:wrap;gap:8px}.sponsor-badge{font-size:12px;padding:5px 10px;border-radius:16px}.sponsor-badge.d{background:#dbeafe;color:#1e40af}.sponsor-badge.r{background:#fee2e2;color:#991b1b}.cosponsors-count{font-size:12px;color:#64748b;margin-top:8px}.action-text{font-size:13px;color:#475569;padding:12px;background:#f8fafc;border-radius:8px}.congress-link{display:inline-block;padding:10px 16px;background:#6366f1;color:#fff;text-decoration:none;border-radius:10px;font-size:13px;font-weight:500}@media (max-width: 640px){.profile-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.impact-section{margin:0 -12px 20px;width:calc(100% + 24px)}}.bill-detail-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.bill-detail-content{max-width:700px;margin:0 auto;padding:20px 16px}.loading-container{text-align:center;padding:80px 20px}.back-btn{background:none;border:none;color:#2563eb;font-size:16px;cursor:pointer;padding:8px 0;margin-bottom:16px}.points-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:14px 28px;border-radius:30px;font-weight:600;font-size:18px;box-shadow:0 4px 20px #10b98166;z-index:1000;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.bill-header{margin-bottom:28px}.bill-number{display:inline-block;background:#2563eb;color:#fff;padding:6px 14px;border-radius:8px;font-size:14px;font-weight:600;margin-bottom:12px}.bill-header h1{font-size:24px;color:#1e293b;margin:0 0 16px;line-height:1.3}.bill-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:#64748b}.status-badge{background:#dcfce7;color:#166534;padding:4px 12px;border-radius:20px;font-weight:500}.bill-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.bill-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.bill-summary{color:#475569;line-height:1.7;margin:0 0 16px}.congress-link{display:inline-block;color:#2563eb;font-weight:600;text-decoration:none;padding:12px 20px;background:#eff6ff;border-radius:10px;margin-top:8px;transition:all .2s}.congress-link:hover{background:#2563eb;color:#fff}.locked-content{text-align:center;padding:20px}.lock-icon{font-size:48px;margin-bottom:16px}.locked-content h3{font-size:20px;color:#1e293b;margin:0 0 8px}.locked-content>p{color:#64748b;margin:0 0 20px}.unlock-benefits{list-style:none;padding:0;text-align:left;max-width:280px;margin:0 auto 24px}.unlock-benefits li{padding:8px 0;color:#475569;font-size:15px}.watch-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #f59e0b4d}.ad-container{padding:20px}.ad-placeholder{background:#1e293b;color:#fff;padding:60px 20px;border-radius:12px;margin-bottom:16px}.ad-placeholder p{margin:0;font-size:18px}.ad-note{font-size:14px!important;opacity:.7;margin-top:8px!important}.ad-progress{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.ad-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .3s ease}.ad-timer{color:#64748b;font-size:14px;margin:0}.unlocked-content{position:relative}.unlocked-badge{position:absolute;top:0;right:0;background:#dcfce7;color:#166534;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.full-analysis{color:#475569;line-height:1.8}.full-analysis h3{font-size:17px;color:#1e293b;margin:24px 0 12px}.full-analysis h3:first-child{margin-top:0}.full-analysis p{margin:0 0 12px}.full-analysis ul{margin:0 0 16px;padding-left:20px}.full-analysis li{margin-bottom:8px}.vote-link{display:block;background:#2563eb;color:#fff;text-align:center;padding:16px;border-radius:12px;text-decoration:none;font-weight:600;margin-top:12px}.share-buttons{display:flex;gap:12px}.share-buttons button{flex:1;padding:12px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer}.share-buttons button:hover{border-color:#2563eb;color:#2563eb}.elections-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.elections-content{max-width:700px;margin:0 auto;padding:20px 16px}.elections-header{margin-bottom:24px}.elections-header h1{font-size:28px;color:#1e293b;margin:0 0 4px}.elections-header p{color:#64748b;font-size:14px;margin:0}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}.countdown-card{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:20px;padding:28px;display:flex;align-items:center;gap:24px;margin-bottom:24px;color:#fff}.countdown-days{text-align:center;background:#ffffff26;padding:20px;border-radius:16px;min-width:100px}.days-num{display:block;font-size:48px;font-weight:800;line-height:1}.days-label{font-size:12px;opacity:.9}.countdown-info h3{font-size:20px;margin:0 0 4px}.countdown-info p{margin:0;opacity:.9}.countdown-desc{font-size:14px;margin-top:8px!important;opacity:.8}.section{margin-bottom:24px}.section h2{font-size:20px;color:#1e293b;margin:0 0 16px}.elections-list{display:flex;flex-direction:column;gap:12px}.election-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f;position:relative}.election-type{font-size:11px;font-weight:600;color:#1e40af;background:#eff6ff;padding:4px 10px;border-radius:6px;display:inline-block;margin-bottom:8px}.election-card h3{font-size:17px;color:#1e293b;margin:0 0 4px}.election-card p{color:#64748b;font-size:14px;margin:0}.days-badge{position:absolute;top:20px;right:20px;background:#fef3c7;color:#92400e;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600}.races-list{display:flex;flex-direction:column;gap:16px}.race-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s}.race-card:hover{transform:translateY(-2px)}.race-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.race-type{font-size:11px;font-weight:600;color:#1e40af;background:#eff6ff;padding:4px 10px;border-radius:6px}.race-office{font-size:14px;color:#64748b;font-weight:500}.candidate{display:flex;align-items:center;gap:14px;padding:14px;background:#f8fafc;border-radius:12px;margin-bottom:12px}.candidate-photo{width:50px;height:50px;border-radius:50%;object-fit:cover}.candidate-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px}.candidate-avatar.D{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.candidate-avatar.R{background:linear-gradient(135deg,#dc2626,#b91c1c)}.candidate-avatar.large{width:70px;height:70px;font-size:24px}.candidate-info strong{display:block;font-size:16px;color:#1e293b}.party-tag{font-size:12px;color:#64748b}.party-tag.D{color:#2563eb}.party-tag.R{color:#dc2626}.race-note{font-size:13px;color:#64748b;font-style:italic;margin:0 0 12px}.learn-more-btn{width:100%;padding:12px;background:#f1f5f9;border:none;border-radius:10px;color:#1e40af;font-weight:600;font-size:14px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.race-modal{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;font-size:20px;cursor:pointer;z-index:10}.modal-header{padding:24px;border-bottom:1px solid #f1f5f9}.modal-header h2{font-size:22px;color:#1e293b;margin:8px 0 0}.candidate-detail{padding:24px}.candidate-header{display:flex;gap:16px;margin-bottom:24px}.candidate-photo-large{width:80px;height:80px;border-radius:50%;object-fit:cover}.candidate-header h3{font-size:20px;color:#1e293b;margin:0 0 4px}.candidate-header p{color:#64748b;font-size:14px;margin:8px 0 0}.stat-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1f5f9}.stat-row span{color:#64748b}.stat-row strong{color:#1e293b}.detail-section{margin-top:20px}.detail-section h4{font-size:14px;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.detail-section ul{list-style:none;padding:0;margin:0}.detail-section li{padding:10px 0;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px}.race-note-box{background:#fef3c7;color:#92400e;padding:16px;margin:0 24px;border-radius:12px;font-size:14px}.modal-actions{padding:24px;border-top:1px solid #f1f5f9}.unlock-btn{width:100%;padding:18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.unlock-btn span{font-size:13px;opacity:.9;font-weight:400}.register-section{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:20px;padding:28px;text-align:center}.register-section h2{color:#166534;margin:0 0 8px}.register-section p{color:#15803d;font-size:15px;margin:0 0 20px}.register-btn{display:inline-block;background:#166534;color:#fff;padding:14px 28px;border-radius:10px;text-decoration:none;font-weight:600}.match-cta{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e40af,#3b82f6);padding:20px;border-radius:16px;margin-bottom:24px;text-decoration:none;color:#fff;transition:transform .2s}.match-cta:hover{transform:translateY(-2px)}.match-cta-content{display:flex;align-items:center;gap:16px}.match-icon{font-size:36px}.match-cta h3{font-size:18px;margin:0 0 4px}.match-cta p{font-size:14px;opacity:.9;margin:0}.match-arrow{font-size:24px;opacity:.7}.quiz-prompt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:14px;margin-bottom:16px;border:2px solid #6366f1}.quiz-prompt span{font-size:28px}.quiz-prompt p{flex:1;font-size:14px;color:#4f46e5;margin:0}.quiz-prompt a{padding:8px 16px;background:#6366f1;color:#fff;text-decoration:none;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap}.match-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:700;margin-left:auto}.match-badge.green{background:#dcfce7;color:#166534}.match-badge.blue{background:#dbeafe;color:#1e40af}.match-badge.yellow{background:#fef9c3;color:#854d0e}.match-badge.orange{background:#ffedd5;color:#9a3412}.match-badge.red{background:#fee2e2;color:#991b1b}.candidate.incumbent{display:flex;align-items:center;gap:12px}.election-center{min-height:100vh;background:#f1f5f9;padding-top:56px;padding-bottom:100px}.ec-content{max-width:700px;margin:0 auto;padding:20px 16px}.ec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ec-header h1{font-size:28px;margin:0 0 4px;color:#1e293b}.ec-header p{color:#64748b;margin:0}.ec-countdown{text-align:center;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:12px 20px;border-radius:12px}.countdown-number{font-size:32px;font-weight:700}.countdown-label{font-size:11px;opacity:.9}.ec-dates{display:flex;gap:12px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.date-card{flex:1;min-width:100px;background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #0000000f}.date-icon{font-size:24px}.date-label{font-size:11px;color:#64748b}.date-value{font-size:13px;font-weight:600;color:#1e293b}.register-btn{display:block;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;text-align:center;padding:14px 20px;border-radius:12px;text-decoration:none;font-weight:600;margin-bottom:20px;box-shadow:0 4px 12px #2563eb4d}.race-tabs{display:flex;gap:8px;margin-bottom:20px}.race-tabs button{flex:1;padding:12px;border:none;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.race-tabs button.active{background:#1e40af;color:#fff}.values-section{background:#fff;border-radius:16px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.values-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.values-header h3{margin:0;font-size:16px}.values-btn{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:13px;cursor:pointer}.values-summary{display:flex;flex-wrap:wrap;gap:8px}.value-chip{background:#eff6ff;color:#1e40af;padding:4px 10px;border-radius:20px;font-size:12px}.value-chip.more{background:#f1f5f9;color:#64748b}.values-quiz{margin-top:16px}.quiz-intro{font-size:13px;color:#64748b;margin-bottom:16px}.issue-row{padding:12px 0;border-bottom:1px solid #f1f5f9}.issue-name{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:8px}.position-slider{display:flex;align-items:center;gap:12px}.position-slider input{flex:1;height:6px;-webkit-appearance:none;background:linear-gradient(to right,#dc2626,#f59e0b,#10b981);border-radius:3px}.position-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#fff;border:2px solid #1e40af;border-radius:50%;cursor:pointer}.slider-label{font-size:10px;color:#94a3b8;width:70px}.slider-label.right{text-align:right}.importance-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#64748b}.imp-btn{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;border-radius:50%;font-size:12px;cursor:pointer}.imp-btn.active{background:#1e40af;color:#fff;border-color:#1e40af}.save-values-btn{width:100%;padding:12px;background:#1e40af;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px}.incumbent-notice{background:#fef3c7;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:20px}.not-running{color:#92400e}.candidates-section{margin-bottom:20px}.candidates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.candidates-header h3{margin:0;font-size:18px}.compare-toggle{padding:8px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:13px;cursor:pointer}.compare-toggle.active{background:#1e40af;color:#fff;border-color:#1e40af}.party-group{margin-bottom:16px}.party-label{font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;margin-bottom:8px}.party-label.dem{background:#dbeafe;color:#1e40af}.party-label.rep{background:#fee2e2;color:#dc2626}.party-label.ind{background:#f3e8ff;color:#7c3aed}.candidate-card{background:#fff;border-radius:12px;margin-bottom:8px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.candidate-card.selected{border:2px solid #1e40af}.candidate-main{display:flex;align-items:center;padding:12px;gap:12px;cursor:pointer}.candidate-photo{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0}.candidate-photo img{width:100%;height:100%;object-fit:cover}.initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:#fff}.initials.D{background:#2563eb}.initials.R{background:#dc2626}.initials.I{background:#7c3aed}.candidate-info{flex:1}.candidate-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}.party-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.party-badge.D{background:#dbeafe;color:#1e40af}.party-badge.R{background:#fee2e2;color:#dc2626}.party-badge.I{background:#f3e8ff;color:#7c3aed}.candidate-role{font-size:13px;color:#64748b}.candidate-status{font-size:12px;color:#10b981;margin-top:2px}.candidate-status.exploring{color:#f59e0b}.match-score{text-align:center;padding:8px 12px;border-radius:10px;min-width:60px}.match-score.high{background:#dcfce7;color:#166534}.match-score.med{background:#fef3c7;color:#92400e}.match-score.low{background:#fee2e2;color:#991b1b}.match-number{font-size:20px;font-weight:700}.match-label{font-size:10px}.candidate-positions{padding:16px;border-top:1px solid #f1f5f9;background:#fafafa}.candidate-positions h5{margin:0 0 12px;font-size:14px}.position-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.position-row:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.position-issue{font-size:13px;font-weight:500}.position-score{font-size:11px;padding:2px 8px;border-radius:10px;margin-left:8px}.position-score.score-1{background:#fee2e2;color:#991b1b}.position-score.score-2{background:#ffedd5;color:#9a3412}.position-score.score-3{background:#fef3c7;color:#92400e}.position-score.score-4{background:#d1fae5;color:#065f46}.position-score.score-5{background:#dbeafe;color:#1e40af}.position-summary{font-size:13px;color:#64748b;margin:4px 0 0}.candidate-website{display:inline-block;margin-top:12px;color:#2563eb;font-size:13px;text-decoration:none}.data-notice{background:#f1f5f9;border-radius:12px;padding:16px;font-size:12px;color:#64748b}.data-notice p{margin:4px 0}.ec-note{color:#64748b;font-size:14px}.candidate-match-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-bottom:100px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.quiz-container{max-width:600px;margin:0 auto;padding:80px 16px 20px}.quiz-header{text-align:center;margin-bottom:24px}.quiz-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.quiz-header p{color:#64748b;font-size:15px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .3s ease}.progress-text{text-align:center;font-size:14px;color:#64748b;margin-bottom:24px}.question-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #00000014}.question-card h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 20px;line-height:1.4}.options{display:flex;flex-direction:column;gap:12px}.option-btn{padding:16px 20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:14px;font-size:15px;text-align:left;color:#334155;cursor:pointer;transition:all .2s;line-height:1.4}.option-btn:hover{border-color:#6366f1;background:#eef2ff}.option-btn:active{transform:scale(.98)}.skip-btn{display:block;margin:20px auto 0;padding:12px 24px;background:transparent;border:none;color:#64748b;font-size:14px;cursor:pointer}.skip-btn:hover{color:#6366f1}.results-container{max-width:600px;margin:0 auto;padding:80px 16px 20px}.results-header{text-align:center;margin-bottom:24px}.results-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.results-header p{color:#64748b;font-size:15px;margin-bottom:12px}.retake-btn{padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#64748b;cursor:pointer;transition:all .2s}.retake-btn:hover{background:#e2e8f0;color:#6366f1}.matches-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.no-matches{text-align:center;padding:40px 20px;background:#fff;border-radius:16px}.match-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 4px 16px #0000000f;cursor:pointer;transition:all .3s;position:relative}.match-card:hover{box-shadow:0 8px 24px #0000001a}.match-card.expanded{box-shadow:0 8px 32px #6366f126}.rank-badge{position:absolute;top:-8px;left:16px;background:#1e293b;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700}.match-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.rep-identity{display:flex;gap:14px;align-items:center}.rep-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}.rep-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.rep-avatar.democrat{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.rep-avatar.republican{background:linear-gradient(135deg,#ef4444,#b91c1c)}.rep-details h3{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.rep-title{font-size:14px;color:#64748b;margin:0}.rep-title.dem{color:#2563eb}.rep-title.rep{color:#dc2626}.match-score{text-align:right}.score-circle{font-size:24px;font-weight:800;margin-bottom:4px}.score-circle.green{color:#16a34a}.score-circle.blue{color:#2563eb}.score-circle.yellow{color:#ca8a04}.score-circle.orange{color:#ea580c}.score-circle.red{color:#dc2626}.match-label{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.match-label.green{background:#dcfce7;color:#166534}.match-label.blue{background:#dbeafe;color:#1e40af}.match-label.yellow{background:#fef9c3;color:#854d0e}.match-label.orange{background:#ffedd5;color:#9a3412}.match-label.red{background:#fee2e2;color:#991b1b}.rep-bio{font-size:14px;color:#64748b;line-height:1.5;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.match-details{margin-top:16px;padding-top:16px;border-top:2px solid #f1f5f9}.position-section{margin-bottom:16px}.position-section h4{font-size:14px;font-weight:600;color:#475569;margin:0 0 10px}.position-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.tag.agree{background:#dcfce7;color:#166534}.tag.disagree{background:#fee2e2;color:#991b1b}.tag.focus{background:#e0e7ff;color:#3730a3}.website-link{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;text-decoration:none;font-size:14px;margin-top:8px;transition:all .2s}.website-link:hover{background:#e2e8f0;color:#6366f1}.expand-indicator{text-align:center;padding-top:12px;font-size:13px;color:#94a3b8;font-weight:500}.match-legend{background:#fff;border-radius:16px;padding:16px;text-align:center}.match-legend h4{font-size:14px;font-weight:600;color:#64748b;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.legend-item{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.legend-item.green{background:#dcfce7;color:#166534}.legend-item.blue{background:#dbeafe;color:#1e40af}.legend-item.yellow{background:#fef9c3;color:#854d0e}.legend-item.orange{background:#ffedd5;color:#9a3412}.legend-item.red{background:#fee2e2;color:#991b1b}@media (max-width: 480px){.match-header{flex-direction:column;gap:12px}.match-score{text-align:left;display:flex;align-items:center;gap:12px}.score-circle{margin-bottom:0}}.create-post-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.create-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.create-header h1{font-size:18px;color:#1e293b;margin:0}.cancel-btn{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer}.post-btn{background:#1e40af;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:600;font-size:15px;cursor:pointer}.post-btn:disabled{background:#94a3b8;cursor:not-allowed}.create-content{max-width:600px;margin:0 auto;padding:20px 16px}.post-type-toggle{display:flex;background:#e2e8f0;border-radius:12px;padding:4px;margin-bottom:20px}.post-type-toggle button{flex:1;padding:12px;border:none;background:transparent;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.post-type-toggle button.active{background:#fff;box-shadow:0 2px 8px #0000001a}.text-input-section{position:relative;margin-bottom:20px}.text-input-section textarea{width:100%;padding:16px;border:2px solid #e2e8f0;border-radius:16px;font-size:16px;line-height:1.6;resize:none;font-family:inherit}.text-input-section textarea:focus{outline:none;border-color:#1e40af}.char-count{position:absolute;bottom:12px;right:16px;font-size:12px;color:#94a3b8}.video-section{margin-bottom:20px}.video-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.video-option{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:#fff;border:2px dashed #cbd5e1;border-radius:16px;cursor:pointer;transition:all .2s}.video-option:hover{border-color:#1e40af;background:#eff6ff}.option-icon{font-size:32px;margin-bottom:8px}.video-option span:nth-child(2){font-weight:600;color:#1e293b;margin-bottom:4px}.option-sub{font-size:12px;color:#64748b}.recording-container{position:relative}.video-preview{width:100%;border-radius:16px;background:#1e293b}.recording-indicator{position:absolute;top:16px;left:16px;background:#dc2626e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.rec-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:blink 1s infinite}@keyframes blink{50%{opacity:.5}}.stop-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#dc2626;color:#fff;border:none;padding:14px 28px;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer}.video-preview-container{position:relative}.clear-video-btn{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:13px;cursor:pointer}.issue-tags-section{margin-bottom:20px}.issue-tags-section h3{font-size:15px;color:#64748b;margin:0 0 12px}.issue-tags{display:flex;flex-wrap:wrap;gap:8px}.issue-tag{padding:8px 14px;border:2px solid;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.points-info{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:16px;border-radius:12px;text-align:center}.points-info span{font-size:15px;color:#92400e;font-weight:500}.find-friends-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.friends-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.friends-header h1{font-size:20px;color:#1e293b;margin:0}.back-btn{background:none;border:none;color:#1e40af;font-size:16px;cursor:pointer}.friends-content{max-width:600px;margin:0 auto;padding:16px}.friends-tabs{display:flex;background:#e2e8f0;border-radius:12px;padding:4px;margin-bottom:20px}.friends-tabs button{flex:1;padding:12px 8px;border:none;background:transparent;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.friends-tabs button.active{background:#fff;box-shadow:0 2px 8px #0000001a}.import-prompt{text-align:center;padding:40px 20px;background:#fff;border-radius:16px}.import-icon{font-size:48px;margin-bottom:16px}.import-prompt h3{font-size:20px;color:#1e293b;margin:0 0 8px}.import-prompt p{color:#64748b;margin:0 0 24px}.import-btn{background:#1e40af;color:#fff;border:none;padding:14px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.import-btn:disabled{background:#94a3b8}.contacts-section{margin-bottom:24px}.contacts-section h3{font-size:16px;color:#64748b;margin:0 0 12px}.contacts-list{display:flex;flex-direction:column;gap:12px}.contact-card{display:flex;align-items:center;gap:12px;background:#fff;padding:16px;border-radius:14px;box-shadow:0 2px 6px #0000000d}.contact-card.suggested{align-items:flex-start}.contact-avatar{width:48px;height:48px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0}.contact-avatar.gray{background:#94a3b8}.contact-info{flex:1;min-width:0}.contact-name{display:block;font-weight:600;color:#1e293b;font-size:15px}.contact-username{display:block;color:#1e40af;font-size:13px}.contact-email{display:block;color:#64748b;font-size:13px}.person-details{display:flex;gap:8px;margin-top:6px}.district-tag,.mutual{font-size:12px;color:#64748b}.person-issues{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.issue-chip{font-size:11px;padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:12px}.follow-btn{background:#1e40af;color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.follow-btn.following{background:#e2e8f0;color:#64748b}.invite-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.suggested-header{text-align:center;margin-bottom:20px}.suggested-header h3{font-size:18px;color:#1e293b;margin:0 0 6px}.suggested-header p{color:#64748b;margin:0;font-size:14px}.social-connections{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}.social-connections h3{font-size:18px;color:#1e293b;margin:0 0 6px}.social-connections p{color:#64748b;margin:0 0 20px;font-size:14px}.social-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px}.social-btn.facebook{background:#1877f2;color:#fff}.social-btn.google{background:#fff;border:2px solid #e2e8f0;color:#1e293b}.social-btn.twitter{background:#000;color:#fff}.social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.share-section{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;padding:24px;text-align:center}.share-section h3{font-size:18px;color:#1e40af;margin:0 0 6px}.share-section p{color:#1e40af;margin:0 0 16px;font-size:14px}.share-link-btn{background:#1e40af;color:#fff;border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.communities-page{min-height:100vh;padding-bottom:80px;background:#f8fafc}.communities-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.communities-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.communities-header h1{font-size:24px;font-weight:700;color:#1e293b}.joined-count{font-size:13px;padding:4px 12px;background:#ecfdf5;color:#059669;border-radius:12px;font-weight:500}.communities-intro{color:#64748b;font-size:14px;margin-bottom:20px}.search-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px}.search-icon{color:#94a3b8}.search-box input{flex:1;border:none;outline:none;font-size:15px;color:#1e293b;background:transparent}.search-box input::placeholder{color:#94a3b8}.category-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px;margin-bottom:16px}.category-filters::-webkit-scrollbar{display:none}.category-filters button{padding:8px 14px;font-size:13px;font-weight:500;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;white-space:nowrap;cursor:pointer;transition:all .2s}.category-filters button:hover{background:#f8fafc;color:#1e293b}.category-filters button.active{background:#2563eb;border-color:#2563eb;color:#fff}.create-btn{display:block;text-align:center;padding:14px;background:#fff;border:2px dashed #cbd5e1;border-radius:14px;color:#64748b;font-size:15px;font-weight:500;text-decoration:none;margin-bottom:20px;transition:all .2s}.create-btn:hover{background:#f8fafc;border-color:#2563eb;color:#2563eb}.communities-list{display:flex;flex-direction:column;gap:12px}.community-card{display:flex;gap:14px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000d;transition:all .2s}.community-card:hover{box-shadow:0 4px 12px #00000014}.community-icon-large{width:54px;height:54px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.community-details{flex:1;min-width:0}.community-details h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.community-description{font-size:13px;color:#64748b;margin-bottom:8px;line-height:1.4}.community-meta{display:flex;align-items:center;gap:10px}.member-count{font-size:12px;color:#94a3b8}.category-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:8px;text-transform:capitalize}.category-tag.issue{background:#fef3c7;color:#b45309}.category-tag.state{background:#eff6ff;color:#2563eb}.category-tag.local{background:#ecfdf5;color:#059669}.category-tag.group{background:#f3e8ff;color:#7c3aed}.community-action{display:flex;align-items:center}.community-btn{padding:10px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#2563eb;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.community-btn:hover{background:#eff6ff;border-color:#bfdbfe}.community-btn.joined{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.empty-state{text-align:center;padding:40px 20px;color:#94a3b8}.empty-hint{font-size:13px;margin-top:8px}.community-detail-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.community-banner-full{height:180px;background-size:cover;background-position:center;position:relative}.back-btn-float{position:absolute;top:16px;left:16px;width:40px;height:40px;background:#00000080;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer}.community-detail-content{max-width:700px;margin:-40px auto 0;padding:0 16px;position:relative}.community-header-info{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #00000014}.community-header-info h1{font-size:24px;color:#1e293b;margin:0 0 10px}.community-header-info>p{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 16px}.community-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:#64748b;margin-bottom:16px}.cat-tag{background:#eff6ff;color:#1e40af;padding:4px 12px;border-radius:12px}.join-community-btn{width:100%;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.member-badge{background:#dcfce7;color:#166534;padding:14px;border-radius:12px;text-align:center;font-weight:600}.goal-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-bottom:16px}.goal-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.goal-icon{font-size:28px}.goal-info h4{font-size:16px;color:#92400e;margin:0}.goal-info p{font-size:13px;color:#a16207;margin:4px 0 0}.goal-percent{margin-left:auto;font-size:24px;font-weight:700;color:#92400e}.goal-bar{height:12px;background:#ffffff80;border-radius:6px;overflow:hidden;margin-bottom:12px}.goal-bar-fill{height:100%;background:#f59e0b}.contribute-btn{width:100%;background:#92400e;color:#fff;border:none;padding:12px;border-radius:10px;font-weight:600;cursor:pointer}.linked-section{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px}.linked-label{font-size:12px;color:#64748b;display:block;margin-bottom:8px}.linked-bill{display:block;color:#1e40af;font-weight:600;text-decoration:none}.detail-tabs{display:flex;background:#fff;border-radius:12px;padding:4px;margin-bottom:16px;overflow-x:auto}.detail-tabs button{flex:1;padding:12px 8px;border:none;background:transparent;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.detail-tabs button.active{background:#1e40af;color:#fff}.new-post-box{background:#fff;border-radius:14px;padding:16px;margin-bottom:16px}.new-post-box textarea{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:inherit;resize:none}.new-post-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.new-post-actions span{font-size:13px;color:#f59e0b}.new-post-actions button{background:#1e40af;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:600;cursor:pointer}.new-post-actions button:disabled{background:#94a3b8}.post-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:12px}.post-card.pinned{border:2px solid #fde047}.pinned-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;margin-bottom:12px}.post-header{display:flex;gap:12px;margin-bottom:12px}.post-author-avatar{width:44px;height:44px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.post-author-name{display:block;font-weight:600;color:#1e293b}.author-role{display:inline-block;background:#eff6ff;color:#1e40af;padding:2px 8px;border-radius:8px;font-size:11px;margin-left:8px}.post-time{display:block;font-size:12px;color:#94a3b8}.post-content{font-size:15px;color:#334155;line-height:1.6;margin:0 0 12px}.post-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f1f5f9}.post-actions button{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:8px}.post-actions button:hover{background:#f1f5f9}.create-poll-btn{width:100%;background:#eff6ff;color:#1e40af;border:2px dashed #93c5fd;padding:14px;border-radius:12px;font-weight:600;cursor:pointer;margin-bottom:16px}.community-poll-card{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px}.community-poll-card h4{font-size:17px;color:#1e293b;margin:0 0 16px}.poll-options-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.poll-option-bar{position:relative;width:100%;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-align:left;cursor:pointer;overflow:hidden}.option-text{position:relative;z-index:1;font-weight:500}.option-fill{position:absolute;top:0;left:0;height:100%;background:#dbeafe;z-index:0}.option-percent{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:600;color:#1e40af;z-index:1}.poll-meta{display:flex;gap:16px;font-size:13px;color:#64748b}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.members-header h3{margin:0;color:#1e293b}.member-row{display:flex;align-items:center;gap:12px;background:#fff;padding:14px;border-radius:12px;margin-bottom:10px}.member-avatar-lg{width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.member-info{flex:1}.member-name{display:block;font-weight:600;color:#1e293b}.member-role{display:inline-block;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:8px;font-size:11px;margin-left:6px}.member-joined{display:block;font-size:12px;color:#94a3b8}.follow-member-btn{background:#1e40af;color:#fff;border:none;padding:8px 16px;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer}.about-block{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px}.about-block h3{font-size:16px;color:#1e293b;margin:0 0 12px}.about-block p{color:#64748b;line-height:1.6;margin:0}.rules-list{margin:0;padding-left:20px;color:#64748b}.rules-list li{margin-bottom:8px}.mod-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mod-avatar{width:40px;height:40px;background:#1e40af;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.mod-name{display:block;font-weight:600;color:#1e293b}.mod-role{display:block;font-size:12px;color:#64748b}.town-hall-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-bottom:100px}.town-hall-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.town-hall-header{text-align:center;margin-bottom:20px}.town-hall-header h1{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 4px}.town-hall-header .subtitle{font-size:14px;color:#64748b;margin:0}.data-source-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:20px}.data-source-notice.real{background:#dcfce7;border-color:#86efac}.notice-icon{font-size:24px}.notice-text{display:flex;flex-direction:column}.notice-text strong{font-size:14px;color:#1e293b}.notice-sub{font-size:12px;color:#64748b}.notice-text a{color:#2563eb}.loading{text-align:center;padding:60px 20px}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.no-zip{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.no-zip-icon{font-size:56px;display:block;margin-bottom:16px}.no-zip h2{font-size:20px;color:#1e293b;margin:0 0 8px}.no-zip p{color:#64748b;margin:0 0 16px}.add-zip-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:600}.thp-link-card{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:16px;text-decoration:none;margin-bottom:20px;transition:transform .2s,box-shadow .2s}.thp-link-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb4d}.thp-logo{font-size:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.thp-info{flex:1}.thp-info h3{color:#fff;font-size:18px;font-weight:700;margin:0 0 4px}.thp-info p{color:#fffc;font-size:13px;margin:0 0 8px}.thp-cta{display:inline-block;padding:6px 14px;background:#fff3;border-radius:20px;color:#fff;font-size:13px;font-weight:600}.official-sources{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.official-sources h3{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 12px}.official-sources .source-intro{font-size:13px;color:#64748b;margin:0 0 12px}.source-links{display:flex;flex-direction:column;gap:10px}.source-link{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s}.source-link:hover{background:#eff6ff;border-color:#bfdbfe;transform:translate(4px)}.source-link.primary{background:#eff6ff;border-color:#bfdbfe}.source-link span:first-child{font-size:20px}.party-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.party-dot.d{background:#2563eb}.party-dot.r{background:#dc2626}.sen-name{flex:1;font-size:14px;font-weight:500;color:#1e293b}.link-arrow{color:#94a3b8;font-size:18px}.source-note{font-size:12px;color:#64748b;margin:12px 0 0;padding-left:4px}.how-to-find{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.how-to-find h3{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 16px}.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tip-card{padding:14px;background:#f8fafc;border-radius:12px}.tip-icon{font-size:24px;display:block;margin-bottom:8px}.tip-card h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 4px}.tip-card p{font-size:12px;color:#64748b;margin:0;line-height:1.4}.request-event{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-bottom:20px;text-align:center}.request-event h3{font-size:16px;font-weight:700;color:#92400e;margin:0 0 8px}.request-event p{font-size:13px;color:#a16207;margin:0 0 16px}.request-actions{display:flex;flex-direction:column;gap:10px}.request-btn{display:block;padding:12px 20px;background:#f59e0b;color:#fff;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;text-align:center;transition:background .2s}.request-btn:hover{background:#d97706}.request-btn.secondary{background:#fff;color:#92400e;border:1px solid #fcd34d}.town-hall-footer{text-align:center;margin-top:24px;padding:16px}.town-hall-footer p{font-size:13px;color:#64748b;margin:0 0 8px}.town-hall-footer a{color:#2563eb;text-decoration:none;font-weight:500}@media (max-width: 400px){.thp-link-card{flex-direction:column;text-align:center}.tips-grid{grid-template-columns:1fr}}.submit-event-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #6ee7b7;border-radius:16px;padding:20px;text-align:center;margin-top:20px}.submit-event-section h3{margin:0 0 8px;color:#065f46;font-size:18px}.submit-event-section p{margin:0 0 16px;color:#047857;font-size:14px}.submit-event-btn{display:inline-block;padding:14px 28px;background:#059669;color:#fff;border-radius:12px;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s}.submit-event-btn:hover{background:#047857;transform:translateY(-2px)}.submit-note{margin-top:12px!important;font-size:13px!important;color:#6b7280!important}.submit-note strong{color:#059669}.community-page{min-height:100vh;background:#f8fafc;padding-bottom:80px}.community-content{max-width:600px;margin:0 auto;padding:16px}.community-header{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.community-header h1{font-size:24px;color:#111;margin:0}.zip-input{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb}.zip-input input{border:none;font-size:16px;width:60px;text-align:center}.zip-input input:focus{outline:none}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{flex:1;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.posts-list{display:flex;flex-direction:column;gap:12px}.post-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.post-header{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.post-author{font-weight:600;color:#111}.post-location{font-size:12px;color:#64748b}.post-time{font-size:12px;color:#94a3b8;margin-left:auto}.post-content{margin:0 0 12px;color:#334155;line-height:1.5}.post-footer{display:flex;justify-content:space-between;align-items:center}.post-topic{font-size:12px;padding:4px 10px;background:#f1f5f9;border-radius:12px;color:#64748b}.post-actions{display:flex;gap:12px}.post-actions button{background:none;border:none;font-size:14px;color:#64748b;cursor:pointer}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{background:#fff;border-radius:12px;padding:16px;display:flex;gap:16px;align-items:center;box-shadow:0 1px 3px #00000014}.event-date{width:50px;text-align:center;background:#f1f5f9;padding:8px;border-radius:8px}.date-day{display:block;font-size:20px;font-weight:700;color:#111}.date-month{display:block;font-size:12px;color:#64748b}.event-info{flex:1}.event-info h3{margin:0 0 4px;font-size:15px;color:#111}.event-meta{margin:0;font-size:12px;color:#64748b;display:flex;gap:12px}.event-attendees{margin:4px 0 0;font-size:12px;color:#3b82f6}.rsvp-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}.earn-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:16px;border-radius:12px;text-align:center;font-weight:500;margin-top:12px}.profile-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.profile-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.profile-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.profile-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.save-btn{margin-left:auto;padding:8px 16px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.saved-indicator{margin-left:auto;color:#059669;font-size:14px;font-weight:600}.points-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:14px;margin-bottom:20px}.points-icon{font-size:32px}.points-info{display:flex;flex-direction:column}.points-count{font-size:28px;font-weight:700;color:#92400e}.points-label{font-size:13px;color:#b45309}.profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;margin-bottom:16px}.profile-section h2{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.select-all-btn{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#64748b;cursor:pointer}.section-desc{font-size:13px;color:#64748b;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:#64748b;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;color:#1e293b;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb}.zip-input{display:flex;align-items:center;gap:12px}.zip-input input{width:120px}.zip-location{font-size:14px;color:#059669}.interests-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.interest-btn{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s}.interest-btn:hover{border-color:#cbd5e1}.interest-btn.selected{background:#eff6ff;border-color:#2563eb;color:#2563eb}.interest-btn span:first-child{font-size:18px}.size-buttons{display:flex;gap:8px}.size-buttons button{flex:1;padding:12px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-weight:600;color:#64748b;cursor:pointer}.size-buttons button.selected{background:#eff6ff;border-color:#2563eb;color:#2563eb}.save-bar{position:fixed;bottom:70px;left:0;right:0;padding:16px;background:#fff;border-top:1px solid #e2e8f0;z-index:90}.save-btn-large{width:100%;max-width:600px;margin:0 auto;display:block;padding:16px;background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.admin-link{position:fixed;bottom:90px;left:16px;opacity:.2;font-size:20px;text-decoration:none}.version-badge{position:fixed;bottom:70px;right:16px;background:#fff;color:#94a3b8;padding:4px 10px;border-radius:12px;font-size:10px;z-index:50;border:1px solid #e2e8f0}.rate-limit-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:12px 16px;margin-bottom:16px}.limit-header{font-size:14px;font-weight:600;color:#0369a1;margin-bottom:8px}.limit-details{display:flex;flex-direction:column;gap:6px}.limit-item{display:flex;justify-content:space-between;font-size:13px;color:#475569}.limit-item span:last-child{font-weight:500}.limit-reached{color:#dc2626!important}.upgrade-prompt{text-align:center}.upgrade-prompt p{font-size:13px;color:#64748b;margin:0 0 8px}.upgrade-link{display:inline-block;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;text-decoration:none}.admin-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;color:#92400e;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;margin-bottom:16px;text-align:center}.limit-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 16px;border-radius:12px;font-size:13px;margin-bottom:16px}.verify-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.verify-content{max-width:600px;margin:0 auto;padding:20px 16px}.verify-header{margin-bottom:24px}.verify-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.verify-header p{color:#64748b;margin:0}.status-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.status-badge{display:inline-block;padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;margin-bottom:16px}.status-progress{margin-bottom:20px}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .3s}.status-progress span{font-size:13px;color:#64748b}.payout-info{display:flex;gap:24px}.payout-tier{flex:1}.tier-label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.tier-value{font-size:18px;font-weight:700;color:#1e293b}.success-msg,.error-msg{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}.success-msg{background:#d1fae5;color:#065f46}.error-msg{background:#fee2e2;color:#991b1b}.verify-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.verify-step{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.verify-step.completed{border:2px solid #10b981}.step-header{display:flex;align-items:center;gap:16px;padding:20px;cursor:pointer}.verify-step.completed .step-header{cursor:default}.step-icon{width:48px;height:48px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.verify-step.completed .step-icon{background:#10b981;color:#fff}.step-info{flex:1}.step-info h3{font-size:16px;color:#1e293b;margin:0 0 4px}.step-info p{font-size:13px;color:#64748b;margin:0}.status-done{color:#10b981;font-weight:600;font-size:13px}.status-pending{color:#f59e0b;font-weight:600;font-size:13px}.step-content{padding:20px;border-top:1px solid #f1f5f9;margin-top:-4px}.step-content label{display:block;font-size:14px;font-weight:500;color:#475569;margin-bottom:8px}.step-content input{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;margin-bottom:12px;box-sizing:border-box}.step-content input:focus{outline:none;border-color:#3b82f6}.verify-btn{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.resend-btn{width:100%;padding:12px;background:none;color:#64748b;border:none;font-size:14px;cursor:pointer;margin-top:8px}.id-requirements{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;color:#64748b}.file-upload{display:block;padding:40px 20px;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;text-align:center;cursor:pointer;margin-bottom:12px}.file-upload input{display:none}.file-upload span{font-size:16px;color:#64748b}.file-name{font-size:13px;color:#10b981;margin:0 0 12px}.privacy-note{font-size:12px;color:#94a3b8;margin:0}.benefits-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.benefit-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.benefit-card span{font-size:28px;display:block;margin-bottom:8px}.benefit-card h4{font-size:14px;color:#1e293b;margin:0 0 4px}.benefit-card p{font-size:12px;color:#64748b;margin:0;line-height:1.4}@media (max-width: 400px){.benefits-grid{grid-template-columns:1fr}}.broadcaster-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.broadcaster-content{max-width:700px;margin:0 auto;padding:20px 16px}.claim-section{text-align:center;padding:40px 20px}.claim-icon{font-size:64px;margin-bottom:20px}.claim-section h1{font-size:28px;color:#1e293b;margin:0 0 8px}.claim-subtitle{color:#64748b;font-size:16px;margin:0 0 32px}.claim-benefits{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;text-align:left}.benefit{display:flex;gap:16px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.benefit span{font-size:24px}.benefit strong{display:block;color:#1e293b;margin-bottom:4px}.benefit p{color:#64748b;font-size:14px;margin:0}.claim-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.claim-note{color:#94a3b8;font-size:13px;margin-top:12px}.bc-header{margin-bottom:24px}.bc-profile{display:flex;align-items:center;gap:16px}.bc-avatar{width:64px;height:64px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.bc-header h1{font-size:24px;color:#1e293b;margin:0}.bc-header p{color:#64748b;margin:4px 0 0}.verified{background:#3b82f6;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-num{display:block;font-size:24px;font-weight:700;color:#1e293b}.stat-label{font-size:13px;color:#64748b}.compose-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:24px}.compose-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.compose-card h3{margin:0 0 16px;color:#1e293b}.compose-types{display:flex;gap:8px;margin-bottom:16px}.compose-types button{flex:1;padding:10px;background:#f1f5f9;border:2px solid transparent;border-radius:8px;font-size:13px;cursor:pointer}.compose-types button.active{border-color:#2563eb;background:#eff6ff}.compose-card textarea{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;resize:vertical;box-sizing:border-box;font-family:inherit}.compose-card textarea:focus{outline:none;border-color:#2563eb}.event-fields{display:flex;gap:12px;margin-top:12px}.event-fields input{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px}.compose-actions{display:flex;gap:12px;margin-top:16px}.cancel-btn{flex:1;padding:12px;background:#f1f5f9;border:none;border-radius:8px;font-size:14px;cursor:pointer}.publish-btn{flex:2;padding:12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.posts-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.empty{color:#94a3b8;text-align:center;padding:40px;background:#fff;border-radius:12px}.bc-posts{display:flex;flex-direction:column;gap:12px}.bc-post{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.post-type-badge{display:inline-block;padding:4px 10px;background:#f1f5f9;border-radius:6px;font-size:12px;margin-bottom:12px}.post-content{color:#1e293b;line-height:1.6;margin:0 0 12px}.post-event{background:#fef3c7;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:12px}.post-stats{display:flex;gap:16px;font-size:13px;color:#64748b;margin-bottom:12px}.delete-btn{background:none;border:none;color:#dc2626;font-size:13px;cursor:pointer}.api-test{min-height:100vh;background:#0f172a;padding-top:56px;padding-bottom:100px;color:#fff}.test-content{max-width:1000px;margin:0 auto;padding:20px 16px}.test-content h1{font-size:28px;margin:0}.test-section{background:#ffffff0d;border-radius:16px;padding:20px;margin-bottom:24px}.test-section h2{margin:0 0 16px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.alerts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert-card{background:#0000004d;border-radius:12px;padding:16px}.alert-card h3{margin:0 0 12px;font-size:14px;color:#94a3b8}.alert-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;margin-bottom:4px;font-size:13px}.alert-item.high{background:#ef444433}.alert-item.medium{background:#f59e0b33}.alert-item.low{background:#22c55e33}.alert-item .days{font-weight:600;min-width:40px}.test-controls{display:flex;gap:12px;margin-bottom:20px}.test-controls select{flex:1;padding:10px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:14px}.test-controls button,.big-test-btn{padding:10px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.big-test-btn{width:100%;padding:16px;font-size:16px;margin-bottom:20px}.test-controls button:disabled,.big-test-btn:disabled{background:#475569;cursor:not-allowed}.results h3{margin:0 0 16px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.result-card{background:#0000004d;border-radius:12px;padding:16px}.result-card h4{margin:0 0 8px;font-size:14px;color:#94a3b8}.result-card .count{font-size:36px;font-weight:700;color:#22c55e}.result-card .count.pending{color:#f59e0b}.result-card ul{margin:12px 0 0;padding-left:16px;font-size:12px;color:#94a3b8}.result-card .official{color:#fff;font-weight:500}.meta-info{margin-top:16px;font-size:12px;color:#64748b}.error-box{background:#ef444433;border:1px solid #ef4444;border-radius:8px;padding:16px;color:#fca5a5}.test-results-table{overflow-x:auto}.test-results-table table{width:100%;border-collapse:collapse;font-size:13px}.test-results-table th,.test-results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.test-results-table th{background:#0000004d;font-weight:600}.test-results-table .senators{max-width:300px;font-size:11px;color:#94a3b8}.test-results-table tr.error{background:#ef44441a}.api-status{display:flex;flex-direction:column;gap:8px}.api-row{display:flex;align-items:center;padding:12px;background:#0003;border-radius:8px}.api-name{width:180px;font-weight:500}.status{width:80px;font-size:13px}.status.ok{color:#22c55e}.status.dead{color:#ef4444}.status.paid{color:#f59e0b}.coverage{flex:1;color:#94a3b8;font-size:13px}.coverage-matrix{width:100%;border-collapse:collapse}.coverage-matrix th,.coverage-matrix td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.coverage-matrix th{background:#0000004d}.coverage-matrix tr.ok td:first-child{border-left:3px solid #22c55e}.coverage-matrix tr.pending td:first-child{border-left:3px solid #f59e0b}@media (max-width: 768px){.alerts-grid,.result-grid{grid-template-columns:1fr}}.local-test{min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b);padding-top:56px;padding-bottom:100px;color:#fff}.local-content{max-width:800px;margin:0 auto;padding:20px 16px}.local-content h1{font-size:28px;margin:0}.subtitle{color:#94a3b8;margin:8px 0 24px}.zip-input-section{display:flex;gap:12px;margin-bottom:24px}.zip-input-section input{flex:1;padding:14px 18px;font-size:18px;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff}.zip-input-section input:focus{outline:none;border-color:#3b82f6}.zip-input-section button{padding:14px 28px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.zip-input-section button:disabled{background:#475569;cursor:not-allowed}.location-card{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:16px;padding:20px;margin-bottom:24px}.location-card h2{margin:0 0 8px;font-size:24px}.location-card p{margin:0;opacity:.8;font-size:14px}.result-section{background:#ffffff0d;border-radius:16px;padding:20px;margin-bottom:20px}.result-section h2{margin:0 0 8px;font-size:18px}.section-note{color:#94a3b8;font-size:13px;margin:0 0 16px}.officials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.official-search-card{background:#0000004d;border-radius:12px;padding:16px}.official-search-card h3{margin:0 0 12px;font-size:15px;color:#e2e8f0}.search-links{display:flex;flex-direction:column;gap:8px}.search-btn{display:block;padding:10px 14px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500;text-align:center;transition:transform .2s}.search-btn:hover{transform:scale(1.02)}.search-btn.google{background:#4285f4;color:#fff}.search-btn.ballotpedia{background:#1a1a2e;color:#e94560;border:1px solid #e94560}.news-grid{display:flex;flex-direction:column;gap:12px}.news-card{display:flex;gap:12px;background:#0000004d;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;transition:background .2s}.news-card:hover{background:#00000080}.news-card img{width:100px;height:80px;object-fit:cover}.news-content{padding:12px 12px 12px 0;flex:1}.news-content h4{margin:0 0 4px;font-size:14px;line-height:1.3}.news-content p{margin:0;font-size:12px;color:#94a3b8}.news-source{font-size:11px;color:#60a5fa}.events-links{display:flex;flex-wrap:wrap;gap:10px}.event-link{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#0000004d;border-radius:10px;text-decoration:none;color:#fff;font-size:14px;transition:background .2s}.event-link:hover{background:#00000080}.event-icon{font-size:20px}.info-section{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.info-card{background:#0003;border-radius:10px;padding:14px}.info-card h3{margin:0 0 6px;font-size:14px}.info-card p{margin:0;font-size:12px;color:#94a3b8}.future-note{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:10px;padding:16px}.future-note h3{margin:0 0 6px;font-size:14px;color:#22c55e}.future-note p{margin:0;font-size:13px;color:#94a3b8}.error{color:#f87171;background:#ef44441a;padding:12px;border-radius:8px}.admin-page{min-height:100vh;background:#0f172a;padding-bottom:80px}.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.admin-login h1{color:#fff;font-size:24px;margin-bottom:24px}.admin-login form{display:flex;gap:12px}.admin-login input{padding:14px 20px;font-size:18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;width:150px;text-align:center;letter-spacing:8px}.admin-login button{padding:14px 24px;background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.admin-login .error{color:#f87171;margin-top:12px}.admin-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{color:#fff;font-size:24px;margin:0}.logout-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:13px;cursor:pointer}.admin-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:20px}.admin-section h2{color:#fff;font-size:16px;margin:0 0 16px}.quick-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.nav-link{display:block;padding:12px 16px;background:#2563eb33;border:1px solid rgba(37,99,235,.3);border-radius:10px;color:#60a5fa;text-decoration:none;font-size:14px;transition:all .2s}.nav-link:hover{background:#2563eb4d}.nav-hint{font-size:12px;color:#ffffff80;margin:0;font-style:italic}.toggle-list{display:flex;flex-direction:column;gap:12px}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;border-radius:12px}.toggle-item strong{color:#fff;font-size:14px;display:block}.toggle-item p{color:#ffffff80;font-size:12px;margin:2px 0 0}.switch{position:relative;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#fff3;border-radius:28px;transition:.3s}.slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}input:checked+.slider{background:#2563eb}input:checked+.slider:before{transform:translate(22px)}.post-form{display:flex;flex-direction:column;gap:12px}.post-form select,.post-form input,.post-form textarea{padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:14px}.post-form textarea{min-height:80px;resize:vertical}.post-form select option{background:#1e293b;color:#fff}.add-post-btn{padding:14px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.clear-btn{margin-top:12px;padding:10px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff9;font-size:12px;cursor:pointer;width:100%}.data-display{background:#0000004d;padding:12px;border-radius:8px;color:#86efac;font-size:12px;overflow-x:auto;max-height:200px}.admin-section.danger{border-color:#ef44444d;background:#ef44441a}.danger-btn{width:100%;padding:14px;background:#dc2626;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.version-badge{position:fixed;bottom:70px;right:16px;background:#ffffff1a;color:#ffffff80;padding:4px 10px;border-radius:12px;font-size:10px;z-index:50}.feedback-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#f3f4f6;padding:16px;border-radius:10px;text-align:center}.stat-card.new{background:#fef3c7}.stat-card.bug{background:#fee2e2}.stat-card.feature{background:#dbeafe}.stat-num{display:block;font-size:28px;font-weight:700;color:#111827}.stat-label{font-size:12px;color:#6b7280;text-transform:uppercase}.refresh-btn{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;margin-bottom:16px}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-list{display:flex;flex-direction:column;gap:12px}.no-feedback{text-align:center;color:#6b7280;padding:20px}.feedback-item{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:16px}.feedback-item.new{border-color:#fbbf24;background:#fffbeb}.feedback-item.resolved{border-color:#10b981;opacity:.7}.feedback-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-type{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:#f3f4f6}.feedback-type.bug{background:#fee2e2;color:#dc2626}.feedback-type.feature{background:#dbeafe;color:#2563eb}.feedback-type.general{background:#f3f4f6;color:#6b7280}.feedback-date{font-size:12px;color:#9ca3af}.feedback-message{margin:0 0 12px;color:#111827;line-height:1.5}.feedback-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#6b7280;margin-bottom:12px}.feedback-actions select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer}@media (max-width: 600px){.feedback-stats{grid-template-columns:repeat(2,1fr)}}.admin-ratings-page{min-height:100vh;background:#0f172a;color:#fff}.admin-content{max-width:1000px;margin:0 auto;padding:24px}.admin-content h1{font-size:2rem;margin-bottom:8px}.admin-desc{color:#fff9;margin-bottom:24px}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.message.success{background:#22c55e33;border:1px solid #22c55e;color:#86efac}.message.error{background:#ef444433;border:1px solid #ef4444;color:#fca5a5}.message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer}.rep-selector{margin-bottom:32px}.rep-selector h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.rep-btn{background:#ffffff14;border:2px solid transparent;border-radius:10px;padding:12px;cursor:pointer;text-align:left;transition:all .2s}.rep-btn:hover{background:#ffffff1f}.rep-btn.selected{border-color:#fde047;background:#fde0471a}.rep-btn.D{border-left:4px solid #3b82f6}.rep-btn.R{border-left:4px solid #ef4444}.rep-btn .rep-name{display:block;font-weight:600;color:#fff;margin-bottom:4px}.rep-btn .rep-office{font-size:.8rem;color:#ffffff80}.add-rating-section{background:#ffffff0d;border-radius:12px;padding:24px;margin-bottom:32px}.add-rating-section h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.quick-groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;align-items:center}.quick-label{font-size:.85rem;color:#fff9}.quick-btn{background:#ffffff1a;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.quick-btn:hover{background:#fff3}.rating-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-group{flex:1;display:flex;flex-direction:column}.form-group.wide{flex:2}.form-group label{font-size:.85rem;font-weight:600;margin-bottom:6px;color:#fffc}.form-group input,.form-group select,.form-group textarea{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px 12px;color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#fde047}.form-group select option{background:#1e293b;color:#fff}.form-hint{font-size:.75rem;color:#ffffff80;margin-top:4px}.submit-btn{background:#fde047;color:#0f172a;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:all .2s}.submit-btn:hover{background:#fef08a}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.existing-ratings{margin-bottom:32px}.existing-ratings h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.no-ratings{color:#ffffff80;font-style:italic}.ratings-table{width:100%;border-collapse:collapse}.ratings-table th,.ratings-table td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.ratings-table th{font-size:.8rem;text-transform:uppercase;color:#ffffff80}.group-cell{display:flex;align-items:center;gap:8px}.rating-cell{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.9rem}.ratings-table a{color:#60a5fa;text-decoration:none}.ratings-table a:hover{text-decoration:underline}.delete-btn{background:#ef444433;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#ef444466}.sources-reference{background:#ffffff0d;border-radius:12px;padding:24px}.sources-reference h2{font-size:1.25rem;margin-bottom:8px;color:#fde047}.sources-reference>p{color:#fff9;margin-bottom:16px}.sources-grid{display:flex;flex-wrap:wrap;gap:10px}.source-link{background:#ffffff1a;color:#fff;text-decoration:none;padding:8px 14px;border-radius:8px;font-size:.9rem;transition:all .2s}.source-link:hover{background:#fff3}@media (max-width: 768px){.admin-content{padding:16px}.rep-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.ratings-table{font-size:.85rem}.ratings-table th,.ratings-table td{padding:8px}}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--primary-bg: rgba(37, 99, 235, .08);--secondary: #7c3aed;--secondary-dark: #6d28d9;--secondary-light: #8b5cf6;--success: #059669;--success-bg: rgba(5, 150, 105, .1);--warning: #d97706;--warning-bg: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-bg: rgba(220, 38, 38, .1);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-color-hover: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);transition:all .2s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-color-hover)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.input{width:100%;padding:12px 16px;font-size:15px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.input::placeholder{color:var(--text-muted)}.page{min-height:100vh;padding-bottom:80px;background:var(--bg-secondary)}.page-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.chip{padding:8px 16px;font-size:13px;font-weight:500;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all .2s}.chip:hover{background:var(--bg-secondary);color:var(--text-primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
