body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.cookie-consent-banner{animation:slideInRight .4s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;bottom:20px;box-shadow:0 8px 32px #00000026;max-width:270px;overflow:hidden;position:fixed;right:20px;transition:max-width .3s ease,transform .3s ease;width:calc(100% - 40px);z-index:9999}.cookie-consent-banner.expanded{max-width:480px}.cookie-consent-banner:before{content:"";height:3px;left:0;position:absolute;right:0;top:0}.cookie-content{align-items:flex-start;display:flex;gap:12px;padding:20px;text-align:left}.cookie-icon{flex-shrink:0;font-size:32px;line-height:1}.cookie-text{flex:1 1;min-width:0}.cookie-title{color:#2d3748;font-size:16px;font-weight:700;margin:0 0 8px}.cookie-description{color:#4a5568;font-size:13px;line-height:1.5;margin:0 0 12px}.cookie-toggle-details{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:4px 0;transition:color .2s ease}.cookie-toggle-details:hover{color:#5a67d8;text-decoration:underline}.cookie-details{animation:expandDown .3s ease-out;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;margin:16px 0 12px;max-height:400px;overflow-y:auto;padding:16px}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cookie-category{margin-bottom:16px}.cookie-category:last-child{margin-bottom:0}.cookie-category h4{align-items:center;color:#2d3748;display:flex;font-size:13px;font-weight:700;gap:6px;margin:0 0 6px}.cookie-category p{color:#4a5568;font-size:12px;line-height:1.4;margin:0 0 6px}.cookie-category ul{color:#718096;font-size:11px;margin:0;padding-left:18px}.cookie-category li{line-height:1.3;margin:3px 0}.cookie-actions{display:flex;gap:8px;justify-content:flex-end;padding:0 20px 20px}.cookie-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.cookie-btn-accept{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.cookie-btn-accept:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.cookie-btn-accept:active{transform:translateY(0)}.cookie-btn-decline{background:#f7fafc;border:2px solid #e2e8f0;color:#4a5568}.cookie-btn-decline:hover{background:#edf2f7;border-color:#cbd5e0}.cookie-btn-decline:active{background:#e2e8f0}@media (max-width:768px){.cookie-consent-banner{bottom:16px;left:16px;max-width:none;right:16px;width:auto}.cookie-consent-banner.expanded{max-width:none}.cookie-content{gap:10px;padding:16px}.cookie-icon{font-size:28px}.cookie-title{font-size:15px}.cookie-description{font-size:12px}.cookie-details{margin:12px 0 10px;padding:12px}.cookie-actions{flex-direction:column;padding:0 16px 16px}.cookie-btn{width:100%}}@media (max-width:480px){.cookie-consent-banner{bottom:12px;left:12px;right:12px}.cookie-content{padding:14px}.cookie-icon{font-size:24px}.cookie-title{font-size:14px}.cookie-description{font-size:11px}.cookie-actions{padding:0 14px 14px}}@media (hover:none) and (pointer:coarse){.cookie-btn{min-height:44px}.cookie-btn-accept:hover,.cookie-btn-decline:hover{transform:none}.cookie-btn-accept:active,.cookie-btn-decline:active{transform:scale(.98)}}.cookie-details::-webkit-scrollbar{width:6px}.cookie-details::-webkit-scrollbar-track{background:#edf2f7;border-radius:3px}.cookie-details::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.cookie-details::-webkit-scrollbar-thumb:hover{background:#a0aec0}.homepage-container{background:#f7fafc;min-height:100vh;overflow-x:hidden}.homepage-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.homepage-loading .loading-spinner{animation:spin 1s linear infinite;border:5px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;width:50px}.hero-section{align-items:center;background-attachment:fixed;background-image:url(/static/media/Achtergrond_Homepage_Web.eafebe0a5598d472f71a.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:60px 24px;position:relative}.hero-section:before{background:linear-gradient(135deg,#667eead9,#764ba2d9);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.hero-content{animation:fadeInUp 1s ease-out;max-width:900px;position:relative;text-align:center;z-index:2}.logo-container{animation:bounceIn 1.2s ease-out;margin-bottom:32px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.logo-wrapper{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:50%;box-shadow:0 20px 60px #0000004d;display:flex;height:180px;justify-content:center;margin:0 auto;padding:20px;width:180px}.logo-image{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));height:100%;object-fit:contain;width:100%}.hero-title{animation:fadeInUp 1s ease-out .2s backwards;color:#fff;font-size:56px;font-weight:800;line-height:1.2;margin:0 0 24px;text-shadow:0 4px 20px #0000004d}.hero-description{animation:fadeInUp 1s ease-out .4s backwards;color:#fffffff2;font-size:20px;line-height:1.8;margin:0 auto 48px;max-width:700px;text-shadow:0 2px 10px #0003}.hero-buttons{animation:fadeInUp 1s ease-out .6s backwards;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:24px}.hero-buttons .btn{flex:1 1;max-width:250px;min-width:200px}.scroll-hint-text{animation:fadeInUp 1s ease-out .8s backwards;text-align:center}.scroll-hint-text span{color:#fffc;font-size:14px;font-style:italic;font-weight:500}.btn{border-radius:12px;box-shadow:0 4px 20px #00000026;font-size:16px;font-weight:700;gap:10px;justify-content:center;min-height:56px;padding:16px 32px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-large{font-size:18px;min-height:64px;padding:18px 40px}.btn-primary{background:#fff;box-shadow:0 8px 30px #ffffff4d;color:#667eea}.btn-primary:hover{background:#fff;box-shadow:0 12px 40px #fff6;transform:translateY(-4px) scale(1.02)}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fffc}.btn-secondary:hover{background:#ffffff40;border-color:#fff;box-shadow:0 12px 40px #fff3;transform:translateY(-4px) scale(1.02)}.btn-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff9;color:#fff}.btn-info:hover{background:#fff3;border-color:#ffffffe6;box-shadow:0 12px 40px #ffffff26;transform:translateY(-4px) scale(1.02)}.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.btn-link{align-items:center;background:none;border:none;color:#ffffffe6;cursor:pointer;display:flex;flex-direction:column;font-size:16px;font-weight:600;gap:8px;padding:12px;transition:all .3s ease}.btn-link:hover{color:#fff;transform:translateY(-2px)}.card-1{animation-delay:0s;left:10%;top:15%}.card-2{animation-delay:1s;right:8%;top:25%}.card-3{animation-delay:2s;bottom:20%;left:12%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-20px) rotate(2deg)}66%{transform:translateY(-10px) rotate(-2deg)}}.features-section{background:linear-gradient(180deg,#fff,#f7fafc);padding:100px 24px}.features-container{margin:0 auto;max-width:1200px}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;color:#2d3748;font-size:48px;font-weight:800;margin:0 0 64px;text-align:center}.features-grid{grid-gap:32px;gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.feature-item{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:40px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-item:hover{border-color:#667eea4d;box-shadow:0 12px 40px #667eea26;transform:translateY(-8px)}.feature-item h3{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 12px}.feature-item p{color:#718096;font-size:16px;line-height:1.6;margin:0}.rules-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:100px 24px}.rules-container{margin:0 auto;max-width:1000px}.rules-section .section-title{-webkit-text-fill-color:#fff;color:#fff}.rules-content{display:flex;flex-direction:column;gap:32px;margin-bottom:64px;text-align:left}.rule-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #ffffff80;border-radius:20px;box-shadow:0 8px 32px #0000001a;display:flex;gap:32px;padding:40px;transition:all .3s ease}.rule-card:hover{box-shadow:0 12px 48px #00000026;transform:translateX(8px)}.rule-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:36px;font-weight:800;height:80px;justify-content:center;width:80px}.rule-details h3{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 16px}.rule-details p{color:#4a5568;font-size:16px;line-height:1.8;margin:0 0 12px}.rule-details ul{color:#4a5568;margin:12px 0;padding-left:24px}.rule-details li{line-height:1.6;margin:8px 0}.rule-details strong{color:#2d3748;font-weight:700}.cta-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:24px;padding:48px;text-align:center}.cta-section h3{color:#fff;font-size:32px;font-weight:700;margin:0 0 32px;text-shadow:0 2px 10px #0003}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.about-section{background:linear-gradient(180deg,#f7fafc,#fff);padding:100px 24px}.about-container{margin:0 auto;max-width:900px}.about-content{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:48px}.about-content p{color:#4a5568;font-size:18px;line-height:1.8;margin:0 0 24px;text-align:left}.about-content p:last-child,.about-social{margin-bottom:0}.about-social{color:#4a5568;font-size:16px;margin-top:16px;text-align:center}.instagram-link{color:#667eea;font-weight:600;text-decoration:none;transition:all .2s ease}.instagram-link:hover{color:#764ba2;text-decoration:underline}.homepage-footer{background:#2d3748;padding:10px 24px;text-align:center}.footer-content{margin:0 auto;max-width:1200px}.homepage-footer p{color:#fffc;font-size:14px;margin:0 0 16px}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.footer-link{background:none;border:none;color:#ffffffe6;cursor:pointer;font-size:14px;font-weight:500;padding:4px 8px;transition:color .2s ease}.footer-link:hover{color:#fff;text-decoration:underline}.footer-separator{color:#ffffff80}.homepage-footer a{color:inherit;text-decoration:underline}.homepage-footer a:hover{opacity:.8}@media (max-width:768px){.hero-section{background-attachment:scroll;background-image:url(/static/media/Achtergrond_Homepage_Mobile.49f096e5c4cc046819f5.png);padding:40px 20px}.hero-title{font-size:36px}.hero-description{font-size:16px}.logo-wrapper{height:140px;padding:15px;width:140px}.logo-image{height:100%;width:100%}.hero-buttons .btn{max-width:none;width:100%}.btn-large{font-size:16px;padding:16px 24px;width:100%}.floating-card{display:none}.section-title{font-size:32px}.features-grid{gap:24px;grid-template-columns:1fr}.feature-item,.rule-card{padding:32px 24px}.rule-card{flex-direction:column}.rule-number{font-size:28px;height:60px;width:60px}.rule-details h3{font-size:22px}.cta-section{padding:32px 24px}.cta-section h3{font-size:24px}.cta-buttons{flex-direction:column;width:100%}.cta-buttons .btn-large{width:100%}.about-content{padding:32px 24px}.about-content p{font-size:16px}.about-closing{font-size:18px}}@media (max-width:480px){.hero-title{font-size:28px}.hero-description{font-size:14px}.section-title{font-size:28px}.rule-details h3{font-size:20px}}@media (hover:none) and (pointer:coarse){.btn:hover{transform:none}.btn:active{transform:scale(.98)}.feature-item:hover,.rule-card:hover{transform:none}}.password-input-container{width:100%}.password-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.password-input-wrapper input{padding-right:45px;width:100%}.password-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease}.password-toggle:hover{background-color:#0000000d;color:#333}.password-toggle:focus{outline:2px solid #4a90e2;outline-offset:2px}.password-toggle:active{transform:translateY(-50%) scale(.95)}.password-toggle svg{height:20px;pointer-events:none;width:20px}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:480px;overflow:hidden;padding:40px;width:100%}.auth-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-header{margin-bottom:32px;text-align:center}.auth-header h2{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:#718096;font-size:16px;margin:0}.auth-form{margin-bottom:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:20px}.form-group label{color:#374151;display:block;font-weight:600;margin-bottom:6px}.form-group input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.error-message{display:block;margin-top:4px}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.auth-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.auth-button.primary:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-divider{margin:32px 0;position:relative;text-align:center}.auth-divider:before{background:#e2e8f0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:#fff;color:#718096;font-size:14px;padding:0 16px;position:relative;z-index:1}.auth-button.disabled{cursor:not-allowed;opacity:.6}.requirements-header{align-items:center;display:flex;margin-bottom:12px}.requirements-header h4{margin:0}.requirements-list{list-style:none;margin-bottom:15px;padding:0}.requirement-item{align-items:center;display:flex;margin-bottom:8px}.requirement-icon{font-size:14px;margin-right:12px}.requirement-text{font-size:14px}.requirement-item.valid .requirement-text{color:#10b981}.requirement-item.invalid .requirement-text{color:#ef4444}.social-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.social-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.social-button:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.social-button.google:hover{border-color:#4285f4}.social-button.microsoft:hover{border-color:#0078d4}.auth-footer{border-top:1px solid #e2e8f0;padding-top:24px;text-align:center}.auth-footer p{color:#718096;font-size:14px;margin:0}.auth-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#5a67d8;text-decoration:underline}.success-card{animation:fadeInUp .6s ease-out;padding:40px 20px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{align-items:center;animation:successPulse 2s ease-in-out infinite;box-shadow:0 8px 32px #10b9814d,0 0 0 4px #10b9811a;color:#fff;display:flex;font-size:36px;font-weight:700;height:80px;justify-content:center;margin:0 auto 24px;position:relative;width:80px}.success-icon,.success-icon:before{background:linear-gradient(135deg,#10b981,#059669);border-radius:50%}.success-icon:before{animation:ripple 2s ease-out infinite;bottom:-4px;content:"";left:-4px;opacity:.3;position:absolute;right:-4px;top:-4px;z-index:-1}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes ripple{0%{opacity:.3;transform:scale(1)}70%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}.success-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);background-clip:text;-webkit-background-clip:text;color:#1a202c;font-size:28px;font-weight:700;margin:0 0 16px}.success-card>p{color:#4a5568;font-size:16px;font-weight:500;line-height:1.5;margin:0 0 32px}.verification-info{background:linear-gradient(135deg,#10b9811a,#0596690d);border:2px solid #10b98133;border-radius:16px;margin:24px 0 32px;overflow:hidden;padding:24px;position:relative}.verification-info:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:3px;left:0;position:absolute;right:0;top:0}.verification-info p{color:#2d3748;font-size:15px;line-height:1.4;margin:0 0 8px}.verification-info p:last-child{color:#4a5568;font-size:14px;margin-bottom:0}.verification-info strong{background:#10b9811a;border:1px solid #10b98133;border-radius:6px;color:#10b981;display:inline-block;font-size:15px;font-weight:700;margin:4px 0 12px;padding:4px 8px}.success-actions{display:flex;flex-direction:column;gap:16px;margin-top:32px}.auth-button.secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0cc;color:#4a5568;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-button.secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a;color:#2d3748;transform:translateY(-1px)}.success-card .auth-button.primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 32px #10b9814d}.success-card .auth-button.primary:hover:not(:disabled){box-shadow:0 12px 40px #10b98166;transform:translateY(-2px)}.error-card{animation:fadeInUp .6s ease-out;padding:40px 20px;text-align:center}.error-icon{align-items:center;animation:warningPulse 2s ease-in-out infinite;box-shadow:0 8px 32px #f59e0b4d,0 0 0 4px #f59e0b1a;color:#fff;display:flex;font-size:36px;font-weight:700;height:80px;justify-content:center;margin:0 auto 24px;position:relative;width:80px}.error-icon,.error-icon:before{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%}.error-icon:before{animation:warningRipple 2s ease-out infinite;bottom:-4px;content:"";left:-4px;opacity:.3;position:absolute;right:-4px;top:-4px;z-index:-1}@keyframes warningPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes warningRipple{0%{opacity:.3;transform:scale(1)}70%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}.error-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#d97706);background-clip:text;-webkit-background-clip:text;color:#1a202c;font-size:28px;font-weight:700;margin:0 0 16px}.error-card>p{color:#4a5568;font-size:16px;font-weight:500;line-height:1.5;margin:0 0 32px}.resend-success{animation:slideInSuccess .5s ease-out;background:linear-gradient(135deg,#10b9811a,#0596690d);border:2px solid #10b98133;border-radius:16px;margin:24px 0 32px;overflow:hidden;padding:24px;position:relative}.resend-success:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:3px;left:0;position:absolute;right:0;top:0}@keyframes slideInSuccess{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.resend-success p{color:#2d3748;font-size:15px;font-weight:500;line-height:1.4;margin:0}.verification-actions{background:linear-gradient(135deg,#f59e0b1a,#d977060d);border:2px solid #f59e0b33;border-radius:16px;margin:24px 0 32px;overflow:hidden;padding:24px;position:relative}.verification-actions:before{background:linear-gradient(90deg,#f59e0b,#d97706);content:"";height:3px;left:0;position:absolute;right:0;top:0}.verification-actions p{color:#2d3748;font-size:15px;font-weight:500;line-height:1.4;margin:0 0 16px}.error-actions{display:flex;flex-direction:column;gap:16px;margin-top:32px}.error-card .auth-button.primary{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 32px #f59e0b4d}.error-card .auth-button.primary:hover:not(:disabled){box-shadow:0 12px 40px #f59e0b66;transform:translateY(-2px)}.verification-actions .auth-button.primary{margin-bottom:0}.captcha-container{align-items:center;display:flex;justify-content:center;overflow:hidden;width:100%}@media (max-width:640px){.auth-container{padding:16px}.auth-card{border-radius:12px;padding:32px 24px}.form-row{gap:0;grid-template-columns:1fr}.auth-header h2{font-size:24px}.social-buttons{gap:8px}.social-button{font-size:13px;padding:10px 12px}.captcha-container{display:flex;justify-content:flex-start;padding:0;width:100%}.captcha-container>div{transform:scale(.85)}.captcha-container iframe{display:block}.auth-container{padding:16px}.auth-card{border-radius:12px;padding:32px 24px}.form-row{gap:0;grid-template-columns:1fr}.auth-header h2{font-size:24px}.social-buttons{gap:8px}.social-button{font-size:13px;padding:10px 12px}.success-card{padding:32px 16px}.success-icon{font-size:32px;height:70px;margin-bottom:20px;width:70px}.success-card h3{font-size:24px}.verification-info{margin:20px 0 28px;padding:20px}.success-actions{gap:12px;margin-top:28px}.error-card{padding:32px 16px}.error-icon{font-size:32px;height:70px;margin-bottom:20px;width:70px}.error-card h3{font-size:24px}.resend-success,.verification-actions{margin:20px 0 28px;padding:20px}.error-actions{gap:12px;margin-top:28px}}.dashboard-container{background:#f7fafc;min-height:100vh}.dashboard-main{margin:0 auto;max-width:1200px;padding:32px 24px}.welcome-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:32px}.welcome-header h2{color:#2d3748;font-size:28px;font-weight:700;line-height:1.2;margin:0 0 8px}.welcome-header p{color:#718096;font-size:16px;margin:0 0 32px}.predictions-container{border-top:1px solid #e2e8f0;padding-top:24px}.predictions-container>*{border-bottom:3px solid #e2e8f0;margin-bottom:24px;padding-bottom:24px}.predictions-container>:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.feature-card h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 8px}.feature-card p{color:#718096;font-size:14px;line-height:1.5;margin:0 0 16px}.feature-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 16px;transition:all .2s ease;width:100%}.feature-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.admin-card{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:2px solid #e53e3e;overflow:hidden;position:relative}.admin-header{background:linear-gradient(90deg,#e53e3e,#c53030);height:4px;left:0;position:absolute;right:0;top:0}.admin-card h3{color:#c53030;font-size:18px}.admin-buttons{display:flex;flex-direction:column;gap:8px}.admin-button{align-items:center;background:linear-gradient(135deg,#e53e3e,#c53030);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:12px 16px;transition:all .2s ease;width:100%}.admin-button:hover{background:linear-gradient(135deg,#c53030,#9c2a2a);transform:translateY(-1px)}.admin-button .button-icon{display:inline-block;margin-right:4px}.admin-button .button-text{display:inline-block}.league-card{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #667eea;overflow:hidden;position:relative}.league-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.league-card:hover{border-color:#5a67d8;box-shadow:0 8px 25px #667eea33;transform:translateY(-4px)}.league-card h3{color:#667eea;font-size:18px}.league-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.league-button:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.contact-details{display:flex;flex-direction:column;gap:12px}.contact-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.contact-link{color:#667eea;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.contact-link:hover{color:#5a67d8;text-decoration:underline}.contact-separator{color:#718096;font-weight:300}@media (max-width:1024px){.dashboard-main{padding:24px 20px}.features-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.welcome-card{padding:24px}}@media (max-width:768px){.dashboard-main{padding:20px 16px}.welcome-card{margin-bottom:24px;padding:20px}.welcome-header h2{font-size:22px}.welcome-header p{font-size:14px}.features-grid{gap:16px;grid-template-columns:1fr}.feature-card{padding:20px}.admin-buttons{gap:12px}.admin-button{font-size:13px;padding:12px}.admin-button .button-icon{margin-right:6px}}@media (max-width:480px){.dashboard-main{padding:16px 12px}.welcome-card{padding:16px}.welcome-header h2{font-size:20px}.feature-card{padding:16px}.admin-card h3,.feature-card h3,.league-card h3{font-size:16px}.admin-button,.feature-button{font-size:12px;padding:12px 8px}}@media (hover:none) and (pointer:coarse){.admin-button,.feature-button{min-height:48px}.admin-button:hover,.admin-card:hover,.feature-button:hover,.feature-card:hover,.league-button:hover,.league-card:hover{transform:none}}@media (max-width:768px) and (orientation:landscape){.features-grid{grid-template-columns:repeat(2,1fr)}}@media print{.admin-button,.feature-button{display:none}.dashboard-container{background:#fff}.feature-card,.welcome-card{border:1px solid #e2e8f0;box-shadow:none}}.navbar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;padding:0 24px;position:relative;z-index:1000}.navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 0}.navbar-title{color:#2d3748;font-size:24px;font-weight:700;margin:0}.navbar-actions{align-items:center;display:flex}.desktop-menu{display:flex}.mobile-menu-container{display:none}.user-menu{align-items:center;display:flex;gap:16px}.user-info{align-items:flex-end;display:flex;flex-direction:column}.user-name{font-size:14px}.user-email{font-size:12px;word-break:break-word}.admin-badge{background:#fed7d7;border-radius:10px;color:#e53e3e;font-size:11px;font-weight:600;margin-top:2px;padding:2px 6px;white-space:nowrap}.user-menu-buttons{align-items:center;display:flex;gap:8px}.button-icon{margin-right:4px}.league-menu-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;min-height:44px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.league-menu-button:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.league-menu-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.nav-menu-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;min-height:44px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.nav-menu-button:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.nav-menu-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.logout-button{align-items:center;background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;min-height:44px;padding:8px 16px;transition:all .2s ease}.logout-button:hover{background:#c53030;transform:translateY(-1px)}.mobile-menu-toggle{background:none;border:none;border-radius:6px;cursor:pointer;padding:8px;transition:background-color .2s ease}.mobile-menu-toggle:hover{background-color:#f7fafc}.mobile-menu-toggle:active{background-color:#edf2f7}.hamburger{display:flex;flex-direction:column;height:18px;justify-content:space-between;position:relative;width:24px}.hamburger span{background-color:#2d3748;border-radius:2px;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger.active span:first-child{transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:last-child{transform:translateY(-8px) rotate(-45deg)}.mobile-menu-dropdown{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 25px #00000026;min-width:280px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-user-info{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:16px}.mobile-user-details{display:flex;flex-direction:column;gap:4px}.mobile-user-name{color:#2d3748;font-size:16px;font-weight:600}.mobile-user-email{color:#718096;font-size:14px;word-break:break-word}.mobile-admin-badge{align-self:flex-start;background:#fed7d7;border-radius:12px;color:#e53e3e;font-size:11px;font-weight:600;margin-top:4px;padding:3px 8px}.mobile-menu-items{padding:8px 0}.mobile-menu-item{align-items:center;background:none;border:none;color:#2d3748;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.mobile-menu-item:hover{background-color:#f7fafc}.mobile-menu-item:active{background-color:#edf2f7}.mobile-menu-item.logout{border-top:1px solid #e2e8f0;color:#e53e3e;margin-top:4px}.mobile-menu-item.logout:hover{background-color:#fed7d7}.mobile-item-icon{font-size:18px;text-align:center;width:20px}.mobile-menu-overlay{animation:fadeIn .2s ease-out;background:#0000001a;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:1024px){.navbar{padding:0 20px}}@media (max-width:768px){.navbar{padding:0 16px}.navbar-content{padding:12px 0}.navbar-title{font-size:20px}.desktop-menu{display:none}.mobile-menu-container{display:block;position:relative}}@media (max-width:480px){.navbar{padding:0 12px}.navbar-title{font-size:18px}.mobile-menu-dropdown{min-width:calc(100vw - 32px);right:-4px}.mobile-user-name{font-size:15px}.mobile-user-email{font-size:13px}.mobile-menu-item{font-size:15px;padding:14px 16px}}@media (hover:none) and (pointer:coarse){.mobile-menu-toggle{min-height:48px;min-width:48px}.league-menu-button,.logout-button,.mobile-menu-item{min-height:48px}.league-menu-button:hover,.logout-button:hover{transform:none}}@media (max-width:768px) and (orientation:landscape){.navbar-content{padding:8px 0}.mobile-menu-dropdown{max-height:calc(100vh - 80px);overflow-y:auto}}@media print{.mobile-menu-container,.mobile-menu-overlay,.user-menu-buttons{display:none}}:root{--gold:gold;--silver:silver;--bronze:#cd7f32}.seats-prediction-section{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px}.seats-prediction-section__header{display:flex;justify-content:center;margin-bottom:20px}.seats-prediction-section__title-section{max-width:900px;width:100%}.seats-prediction-section__title-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}.seats-prediction-section__title{font-size:24px;margin:0}.seats-prediction-section__save-status{border:1px solid;border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px;transition:all .3s ease}.seats-prediction-section__save-status--saving{background-color:#fff3cd;background-color:var(--warning-bg);border-color:#ffeaa7;border-color:var(--warning-border);color:#856404;color:var(--warning-text)}.seats-prediction-section__save-status--error{background-color:#f8d7da;background-color:var(--danger-bg);border-color:#f5c6cb;border-color:var(--danger-border);color:#721c24;color:var(--danger-text)}.seats-prediction-section__save-status--saved{background-color:#d1edff;background-color:var(--success-bg);border-color:#b6e5ff;border-color:var(--success-border);color:#0c5460;color:var(--success-text)}.seats-prediction-section__party-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.seats-prediction-section__party-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:20px;font-weight:700;justify-content:center;line-height:1.2;min-height:44px;overflow:hidden;padding:8px 12px;position:relative;text-align:center;transition:all .2s ease}.seats-prediction-section__party-button:hover{opacity:.9}.seats-prediction-section__party-button--selected{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.seats-prediction-section__party-button--unselected{background-color:#f8f9fa!important;background-color:var(--bg-light)!important;box-shadow:none;transform:scale(1)}.seats-prediction-section__party-button--first-place{border:4px solid gold;border:4px solid var(--gold);box-shadow:0 0 13px #ffd700cc,0 0 20px #ffd70099,inset 0 2px 4px #ffffff4d;position:relative}.seats-prediction-section__party-button--first-place:before{animation:shine 3s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff4d 50%,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.seats-prediction-section__party-button--second-place{border:4px solid silver;border:4px solid var(--silver);box-shadow:0 0 12px #c0c0c0b3,0 0 20px #c0c0c080,inset 0 2px 4px #fff6;position:relative}.seats-prediction-section__party-button--second-place:before{animation:silver-shine 4s infinite;background:linear-gradient(45deg,#0000 30%,#fff3 50%,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes silver-shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.seats-prediction-section__party-button--third-place{border:4px solid #cd7f32;border:4px solid var(--bronze);box-shadow:0 0 5px #cd7f3299,0 0 8px #cd7f3266,inset 0 2px 4px #fff3;position:relative}.seats-prediction-section__party-button--third-place:before{animation:bronze-shine 5s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff26 50%,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes bronze-shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.seats-prediction-section__party-button--first-place:hover{box-shadow:0 0 30px gold,0 0 60px #ffd700cc,inset 0 2px 4px #fff6}.seats-prediction-section__party-button--second-place:hover{box-shadow:0 0 25px #c0c0c0e6,0 0 50px #c0c0c0b3,inset 0 2px 4px #ffffff80}.seats-prediction-section__party-button--third-place:hover{box-shadow:0 0 20px #cd7f32cc,0 0 40px #cd7f3299,inset 0 2px 4px #ffffff4d}.seats-prediction-section__svg-container{-webkit-overflow-scrolling:touch;display:flex;justify-content:center;margin:20px 0;overflow:hidden;position:relative}.seats-prediction-section__svg{background-color:#fafafa;background-color:var(--bg-container);border:2px solid #ddd;border:2px solid var(--border-color);border-radius:8px;height:auto;max-width:100%;transition:cursor .2s ease;-webkit-user-select:none;user-select:none}.seats-prediction-section__svg--mobile{cursor:grab!important}.seats-prediction-section__svg--mobile:active{cursor:grabbing!important}.seats-prediction-section__instructions{color:#666;color:var(--text-light);font-size:14px;margin-top:10px;text-align:center}.seats-prediction-section__progress-container{color:#4a5568;color:var(--text-muted);font-size:14px;margin-top:16px;text-align:center}.seats-prediction-section__progress-bar{background-color:#e2e8f0;background-color:var(--progress-bg);border-radius:3px;height:6px;margin:8px auto;overflow:hidden;width:200px}.seats-prediction-section__progress-fill{background-color:#667eea;background-color:var(--primary-blue);border-radius:3px;height:100%;transition:width .3s ease}.seats-prediction-section__error{background-color:#fee;background-color:var(--error-bg);border:1px solid #fcc;border:1px solid var(--error-border);border-radius:6px;color:#c53030;color:var(--error-text);font-size:14px;margin-top:12px;padding:8px 12px;text-align:center}.seats-prediction-section__no-parties{color:#c53030;color:var(--error-text);padding:20px;text-align:center}.seats-prediction-section__party-button:disabled{cursor:not-allowed!important;opacity:.6;pointer-events:none}.seats-prediction-section__party-button:disabled:hover{box-shadow:none!important;opacity:.6;transform:none!important}.seats-prediction-section__svg[style*="pointer-events: none"]{filter:grayscale(20%);opacity:.7}.seats-prediction-section__party-button--reset{background-color:#ef4444!important;border:2px solid #dc2626!important;color:#fff!important}.seats-prediction-section__party-button--reset:hover:not(:disabled){background-color:#dc2626!important;opacity:1!important}.seats-prediction-section__party-button--reset:disabled{background-color:#fca5a5!important;border-color:#fca5a5!important;box-shadow:none!important;color:#fee2e2!important;cursor:not-allowed!important;opacity:.6;transform:none!important}@media (max-width:768px){.seats-prediction-section__header{margin-bottom:16px}.seats-prediction-section__title{font-size:20px}.seats-prediction-section__title-container{gap:8px;margin-bottom:12px}.seats-prediction-section__save-status{font-size:10px;padding:3px 8px}.seats-prediction-section__party-grid{gap:6px;grid-template-columns:repeat(3,1fr)}.seats-prediction-section__party-button{font-size:11px;min-height:48px;padding:10px 8px}.seats-prediction-section__party-button--first-place,.seats-prediction-section__party-button--second-place,.seats-prediction-section__party-button--third-place{border-width:3px}.seats-prediction-section__progress-bar{width:150px}.seats-prediction-section__instructions{font-size:12px;margin-top:8px}.seats-prediction-section__progress-container{font-size:12px}}@media (max-width:480px){.seats-prediction-section__title{font-size:18px}.seats-prediction-section__title-container{align-items:center;flex-direction:column;gap:6px}.seats-prediction-section__save-status{font-size:9px;padding:2px 6px}.seats-prediction-section__party-grid{gap:5px;grid-template-columns:repeat(2,1fr)}.seats-prediction-section__party-button{font-size:20px;min-height:52px;padding:12px 6px}.seats-prediction-section__party-button--first-place,.seats-prediction-section__party-button--second-place,.seats-prediction-section__party-button--third-place{border-width:2px}.seats-prediction-section__party-button--first-place:before,.seats-prediction-section__party-button--second-place:before,.seats-prediction-section__party-button--third-place:before{animation:none}.seats-prediction-section__progress-bar{width:120px}}@media (max-width:320px){.seats-prediction-section__party-grid{grid-template-columns:1fr}.seats-prediction-section__party-button{font-size:12px;min-height:44px}.seats-prediction-section__party-button--first-place,.seats-prediction-section__party-button--second-place,.seats-prediction-section__party-button--third-place{border-width:2px;box-shadow:none}.seats-prediction-section__party-button--first-place:hover,.seats-prediction-section__party-button--second-place:hover,.seats-prediction-section__party-button--third-place:hover{box-shadow:none}}@media (prefers-reduced-motion:reduce){.seats-prediction-section__party-button--first-place:before,.seats-prediction-section__party-button--second-place:before,.seats-prediction-section__party-button--third-place:before{animation:none}}.municipality-prediction-section{font-family:Arial,sans-serif;margin-top:40px}.municipality-prediction__header{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:20px}.municipality-prediction__title{font-size:24px;margin:0}.municipality-prediction__loading{padding:40px;text-align:center}.municipality-prediction__spinner{animation:municipality-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}@keyframes municipality-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.municipality-buttons{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:900px}.municipality-button{background-color:#fff;border:3px solid #0000;border-radius:12px;box-shadow:0 2px 6px #0000001a;cursor:pointer;font-size:16px;font-weight:400;opacity:1;padding:20px;text-align:left;transform:scale(1);transition:all .3s ease}.municipality-button:hover{transform:scale(1.01)}.municipality-button--selected{background-color:#f8fff8;border-color:#4caf50;box-shadow:0 4px 12px #4caf504d;font-weight:700;transform:scale(1.02)}.municipality-button--error{border-color:#e53e3e;box-shadow:0 4px 12px #e53e3e4d}.municipality-button--saving{cursor:not-allowed;opacity:.7}.municipality-button--saving:hover{transform:scale(1.02)}.municipality-button__content{justify-content:space-between;margin-bottom:8px}.municipality-button__content,.municipality-button__left{align-items:center;display:flex}.municipality-button__name{font-size:18px;font-weight:700}.municipality-button__status{align-items:center;display:flex;gap:8px}.municipality-button__status-text{font-size:12px;font-weight:700}.municipality-button__status-text--saving{color:#856404}.municipality-button__status-text--error{color:#721c24}.municipality-button__status-text--saved{color:#0c5460}.municipality-button__retry{background:none;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;font-size:10px;padding:2px 6px}.municipality-button__retry:hover{background-color:#e53e3e;color:#fff}.municipality-button__description{color:#666;font-size:14px;line-height:1.4;margin:0}.municipality-prediction__progress{color:#4a5568;font-size:14px;margin-top:32px;text-align:center}.municipality-prediction__progress-bar{background-color:#e2e8f0;border-radius:3px;height:6px;margin:8px auto;overflow:hidden;width:200px}.municipality-prediction__progress-fill{background-color:#667eea;border-radius:3px;height:100%;transition:width .3s ease}.municipality-prediction__progress-complete{color:#38a169;font-weight:600}.municipality-prediction__error{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c53030;font-size:14px;margin-top:12px;padding:8px 12px;text-align:center}@media (max-width:768px){.municipality-prediction__title{font-size:20px}.municipality-buttons{gap:16px;grid-template-columns:1fr}.municipality-button{padding:16px}.municipality-prediction__progress-bar{width:150px}}@media (max-width:480px){.municipality-prediction__title{font-size:18px}.municipality-button{padding:12px}.municipality-button__name{font-size:16px}.municipality-prediction__progress-bar{width:120px}}.turnout-prediction-section{margin-top:40px}.turnout-prediction-section h3{font-size:24px;margin-bottom:20px;text-align:center}.turnout-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto}.turnout-card{background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .3s ease}.turnout-card.has-valid-value{background-color:#f8fff8;border-color:#4caf50;box-shadow:0 4px 12px #4caf504d}.municipality-header{align-items:center;display:flex;justify-content:center;margin-bottom:16px;position:relative}.municipality-info{text-align:center}.municipality-name{font-size:20px;margin:0}.status-indicator{justify-content:flex-end;position:absolute;right:0;top:50%;transform:translateY(-50%);width:80px}.saving-status{align-items:center;color:#667eea;display:flex;font-size:12px;font-weight:700;gap:4px}.spinner{border:2px solid #0000;border-top-color:#667eea}.success-status{align-items:center;color:#0c5460;display:flex;font-size:12px;font-weight:700;gap:4px}.retry-button{font-weight:700}.retry-button:hover{background-color:#e53e3e}.retry-button:disabled{cursor:not-allowed;opacity:.5}.input-group{margin-top:8px}.input-label{color:#4a5568;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-wrapper{position:relative}.turnout-input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 40px 12px 16px;transition:border-color .2s ease;width:100%}.turnout-input.error{border-color:#e53e3e}.turnout-input.saving{border-color:#667eea}.turnout-input.success{border-color:#38a169}.turnout-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.turnout-input.error:focus,.turnout-input.saving:focus{box-shadow:none}.turnout-input.success:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-percentage{color:#718096;font-size:16px;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.progress-section{color:#4a5568;font-size:14px;margin-top:24px;text-align:center}.progress-bar{background-color:#667eea;border-radius:3px;height:100%;transition:width .3s ease}.global-error{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c53030;font-size:14px;margin-top:12px;padding:8px 12px;text-align:center}.turnout-input:disabled{background-color:#f7f7f7;color:#a0aec0;cursor:not-allowed!important;opacity:.6}.turnout-input:disabled:focus{border-color:#e2e8f0!important;box-shadow:none!important}.turnout-card.disabled{filter:grayscale(10%);opacity:.8}.turnout-card.disabled:hover{box-shadow:0 2px 8px #0000001a!important;transform:none!important}.turnout-card.disabled.has-valid-value{background-color:#f8fff8;border-color:#4caf50}.turnout-card.disabled.has-valid-value:hover{box-shadow:0 4px 12px #4caf504d!important;transform:none!important}@media (max-width:768px){.turnout-grid{gap:16px;grid-template-columns:1fr}.turnout-card{padding:16px}.municipality-name{font-size:18px}.status-indicator{width:70px}}@media (max-width:480px){.turnout-card{padding:12px}.municipality-name{font-size:16px}.status-indicator{width:60px}.turnout-input{font-size:14px;padding:10px 35px 10px 12px}.input-percentage{font-size:14px;right:12px}}.biggest-party-prediction-section{margin-top:40px}.biggest-party-prediction-section h3{font-size:24px;margin-bottom:20px;text-align:center}.party-predictions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto}.municipality-party-card{background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000001a;padding:20px;transition:all .3s ease}.municipality-party-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.municipality-party-card.has-selected-party{border-width:3px}.municipality-party-card.error{border:3px solid #e53e3e;box-shadow:0 4px 12px #e53e3e4d}.municipality-party-card .municipality-header{align-items:center;display:flex;justify-content:center;margin-bottom:16px;min-height:30px;position:relative}.municipality-party-card .municipality-info{align-items:center;display:flex;justify-content:center;left:0;position:absolute;right:0;width:100%}.municipality-party-card{font-size:28px;margin-right:12px}.municipality-party-card .municipality-name{color:#2d3748;font-size:18px;font-weight:700;margin:0;text-align:center}.municipality-party-card .save-status{align-items:center;display:flex;flex-shrink:0;font-size:12px;font-weight:700;gap:8px;position:absolute;right:0;white-space:nowrap}.municipality-party-card .save-status.saving{color:#856404}.municipality-party-card .save-status.error{color:#721c24}.municipality-party-card .save-status.success{color:#0c5460}.municipality-party-card .retry-button{background:none;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;font-size:10px;padding:2px 6px;transition:all .2s ease}.municipality-party-card .retry-button:hover{background:#e53e3e;color:#fff}.municipality-party-card .retry-button:disabled{background:none!important;border-color:#e2e8f0!important;color:#a0aec0!important;cursor:not-allowed!important;opacity:.6}.dropdown-group{margin-top:16px}.dropdown-group label{color:#4a5568;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.dropdown-group select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 40px 12px 16px;transition:border-color .2s ease;width:100%}.dropdown-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.dropdown-group select:disabled{background-color:#f7f7f7;color:#a0aec0;cursor:not-allowed!important;opacity:.6}.dropdown-group select.error{border-color:#e53e3e}.dropdown-group select.saving{background-color:#f7f7f7;cursor:not-allowed;opacity:.8}.party-selection-display{align-items:center;border-radius:6px;display:flex;gap:8px;margin-top:12px;padding:8px 12px}.party-color-indicator{border-radius:3px}.party-selection-text{font-size:14px;font-weight:600}.progress-indicator{color:#4a5568;font-size:14px;margin-top:16px;text-align:center}.progress-bar-container{background-color:#e2e8f0;border-radius:3px;height:6px;margin:8px auto;overflow:hidden;width:200px}.progress-bar-fill{background-color:#667eea;border-radius:3px;height:100%;transition:width .3s ease}.error-display{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c53030;font-size:14px;margin-top:12px;padding:8px 12px;text-align:center}.loading-state{padding:40px;text-align:center}.municipality-party-card.disabled{filter:grayscale(10%);opacity:.8}.municipality-party-card.disabled:hover{box-shadow:0 2px 6px #0000001a!important;transform:none!important}@media (max-width:768px){.party-predictions-grid{gap:16px;grid-template-columns:1fr}.municipality-party-card{padding:16px}.municipality-party-card .municipality-name{font-size:16px}.municipality-party-card{font-size:24px}}@media (max-width:480px){.municipality-party-card{padding:12px}.municipality-party-card .municipality-header{gap:8px}.municipality-party-card .municipality-name{font-size:15px}.municipality-party-card .save-status{font-size:11px}.dropdown-group select{font-size:14px;padding:10px 35px 10px 12px}.progress-bar-container{width:150px}}:root{--primary-blue:#667eea;--progress-bg:#e2e8f0;--text-muted:#4a5568;--text-light:#666;--border-color:#ddd;--bg-light:#f8f9fa;--bg-container:#fafafa;--error-bg:#fee;--error-border:#fcc;--error-text:#c53030;--success-bg:#d1edff;--success-border:#b6e5ff;--success-text:#0c5460;--warning-bg:#fff3cd;--warning-border:#ffeaa7;--warning-text:#856404;--danger-bg:#f8d7da;--danger-border:#f5c6cb;--danger-text:#721c24}.captain-party{font-family:Arial,sans-serif;margin:40px auto 0;max-width:1200px}.captain-party__header{align-items:center;display:flex;flex-direction:column}.captain-party__title-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}.captain-party__title{font-size:24px;margin:0}.captain-party__save-status{border:1px solid;border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px;transition:all .3s ease}.captain-party__save-status--saving{background-color:#fff3cd;background-color:var(--warning-bg);border-color:#ffeaa7;border-color:var(--warning-border);color:#856404;color:var(--warning-text)}.captain-party__save-status--error{background-color:#f8d7da;background-color:var(--danger-bg);border-color:#f5c6cb;border-color:var(--danger-border);color:#721c24;color:var(--danger-text)}.captain-party__save-status--saved{background-color:#d1edff;background-color:var(--success-bg);border-color:#b6e5ff;border-color:var(--success-border);color:#0c5460;color:var(--success-text)}.captain-party__party-grid{grid-gap:8px;display:grid;font-size:20px;gap:8px;grid-template-columns:repeat(5,1fr);width:900px}.captain-party__party-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:20px;font-weight:700;justify-content:center;line-height:1.2;min-height:44px;padding:8px 12px;text-align:center;transition:all .2s ease}.captain-party__party-button:hover{opacity:.9}.captain-party__party-button--selected{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.captain-party__party-button--unselected{background-color:#f8f9fa!important;background-color:var(--bg-light)!important;box-shadow:none;transform:scale(1)}.captain-party__party-button:disabled{cursor:not-allowed!important;opacity:.6!important;pointer-events:none}.captain-party__party-button:disabled:hover{box-shadow:none!important;opacity:.6!important;transform:none!important}.captain-party__party-content{align-items:center;display:flex;font-size:20px;gap:8px}.captain-party__icon{font-size:16px}.captain-party__progress-container{color:#4a5568;color:var(--text-muted);font-size:14px;margin-top:32px;text-align:center}.captain-party__progress-bar{background-color:#e2e8f0;background-color:var(--progress-bg);border-radius:3px;height:6px;margin:8px auto;overflow:hidden;width:200px}.captain-party__progress-fill{background-color:#667eea;background-color:var(--primary-blue);border-radius:3px;height:100%;transition:width .3s ease}.captain-party__progress-complete{color:#38a169;font-weight:600}.captain-party__error{background-color:#fee;background-color:var(--error-bg);border:1px solid #fcc;border:1px solid var(--error-border);border-radius:6px;color:#c53030;color:var(--error-text);font-size:14px;margin-top:12px;padding:8px 12px;text-align:center}.captain-party__retry-button{background:none;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;font-size:10px;margin-left:8px;padding:2px 6px;transition:all .2s ease}.captain-party__retry-button:hover{background-color:#e53e3e;color:#fff}.captain-party__retry-button:disabled{background:none!important;border-color:#e2e8f0!important;color:#a0aec0!important;cursor:not-allowed!important;opacity:.6}.captain-party__progress-complete-container{align-items:center;display:flex;gap:8px;justify-content:center}.captain-party.disabled{filter:grayscale(10%);opacity:.8}.captain-party.disabled .captain-party__party-button:not(:disabled){cursor:not-allowed;pointer-events:none}@media (max-width:768px){.captain-party__title{font-size:20px}.captain-party__party-grid{gap:6px;grid-template-columns:repeat(3,1fr);width:100%}.captain-party__party-button{font-size:16px;min-height:48px}.captain-party__progress-bar{width:150px}}@media (max-width:480px){.captain-party__party-grid{gap:4px;grid-template-columns:repeat(2,1fr)}.captain-party__party-button{font-size:14px;min-height:52px}.captain-party__progress-bar{width:120px}}@media (max-width:320px){.captain-party__party-grid{grid-template-columns:1fr}.captain-party__party-button{font-size:12px;min-height:44px}}.country-turnout-prediction-section{margin:40px 0}.country-turnout-prediction-section h3{font-size:24px;margin-bottom:20px;text-align:center}.country-turnout-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:500px;padding:24px;transition:all .3s ease}.country-turnout-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.country-turnout-card.has-valid-value{background-color:#f8fff8;border-color:#4caf50;box-shadow:0 8px 25px #4caf504d}.country-turnout-card.has-valid-value:hover{box-shadow:0 12px 30px #4caf5066;transform:translateY(-2px)}.country-turnout-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.country-turnout-info{flex:1 1}.country-turnout-name{color:#2d3748;font-size:20px;font-weight:700;margin:0 0 4px}.country-turnout-description{color:#718096;margin:0}.status-indicator{align-items:center;display:flex;font-size:12px;font-weight:600;gap:8px}.status-indicator.saving{color:#856404}.status-indicator.error{color:#721c24}.status-indicator.success{color:#0c5460}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#856404;height:12px;width:12px}.retry-button{background:none;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;font-size:10px;padding:2px 6px}.retry-button:hover{background:#e53e3e;color:#fff}.country-turnout-input-group{margin-bottom:20px}.country-turnout-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.country-turnout-input-wrapper{align-items:center;display:flex;position:relative}.country-turnout-input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-size:16px;font-weight:600;padding:14px 50px 14px 16px;transition:all .3s ease;width:100%}.country-turnout-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.country-turnout-input.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.country-turnout-input.saving{background:#fffbf0;border-color:#f59e0b;opacity:.8}.country-turnout-input.success{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.country-turnout-percentage{color:#718096;font-size:16px;font-weight:600;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.error-message{color:#e53e3e;font-size:14px;font-weight:500;margin-top:8px}.country-turnout-progress{margin-top:24px;text-align:center}.country-turnout-progress-bar{background-color:#e2e8f0;border-radius:4px;height:8px;margin:0 auto 12px;overflow:hidden;position:relative;width:200px}.country-turnout-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;position:relative;transition:width .5s ease}.country-turnout-progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.country-turnout-progress-complete{color:#10b981;font-size:14px;font-weight:600}.country-turnout-error{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c53030;font-size:14px;font-weight:500;margin-top:16px;padding:12px 16px;text-align:center}.country-turnout-input:disabled{background-color:#f7f7f7;color:#a0aec0;cursor:not-allowed!important;opacity:.6}.country-turnout-input:disabled:focus{border-color:#e2e8f0!important;box-shadow:none!important}.retry-button:disabled{cursor:not-allowed!important;opacity:.6}.retry-button:disabled,.retry-button:disabled:hover{background:none!important;border-color:#e2e8f0!important;color:#a0aec0!important}.country-turnout-card.disabled{opacity:.8;pointer-events:none}.country-turnout-card.disabled:hover{box-shadow:0 4px 12px #0000001a!important;transform:none!important}.country-turnout-card.disabled.has-valid-value:hover{box-shadow:0 8px 25px #4caf504d!important;transform:none!important}@media (max-width:640px){.country-turnout-prediction-section{margin:20px 0}.country-turnout-card{margin:0;max-width:none;padding:20px}.country-turnout-title{font-size:20px}.country-turnout-card-header{align-items:flex-start;gap:12px}.status-indicator{align-self:flex-end}.country-turnout-input{font-size:14px;padding:12px 45px 12px 14px}.country-turnout-percentage{font-size:14px;right:14px}}.profile-container{background:#f7fafc;min-height:100vh}.profile-main{margin:0 auto;max-width:800px;padding:32px 24px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:0}.profile-hero{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:24px;padding:40px 32px}.profile-avatar{flex-shrink:0}.avatar-image{object-fit:cover}.avatar-image,.avatar-placeholder{border:3px solid #fff3;border-radius:50%;height:80px;width:80px}.avatar-placeholder{align-items:center;background:#fff3;display:flex;justify-content:center}.avatar-initials{color:#fff;font-size:24px;font-weight:700}.profile-intro h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.profile-email{color:#ffffffe6;font-size:16px;margin:0 0 16px;word-break:break-word}.admin-status{margin-top:8px}.admin-badge-large{background:#e53e3ee6;border-radius:15px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.profile-details{border-bottom:1px solid #e2e8f0;padding:32px}.profile-details h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 24px}.details-grid{display:flex;flex-direction:column;gap:4px}.detail-item{align-items:center;border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:16px 0}.detail-item:last-child{border-bottom:none}.detail-item label{color:#4a5568;display:flex;flex-shrink:0;font-size:14px;font-weight:500;min-width:120px}.detail-item span{color:#2d3748;font-size:14px;text-align:right;word-break:break-word}.status{align-items:center;display:flex;font-weight:600;gap:4px}.status.verified{color:#38a169}.status.not-verified{color:#e53e3e}.account-id,.status-icon{font-size:12px}.account-id{color:#718096;font-family:monospace;word-break:break-all}.points-display{align-items:baseline;display:flex;gap:4px}.points-value{color:#667eea;font-size:18px;font-weight:700}.points-label{color:#718096;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.break-word{overflow-wrap:break-word;word-break:break-word}.profile-actions{padding:32px}.profile-actions h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 24px}.actions-grid{grid-gap:16px;display:grid;gap:16px}.action-button{align-items:center;background:#fff;border:2px solid #e2e8f0;display:flex;gap:12px;padding:16px;text-align:left}.action-button:hover{background:#f7fafc;border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-1px)}.action-icon{flex-shrink:0;font-size:20px}.action-content{flex:1 1}.action-title{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:2px}.verify-email{background:#fffaf0;border-color:#f56500}.verify-email:hover{background:#fef5e7;border-color:#dd6b20}.verify-email .action-title{color:#c05621}.profile-loading{color:#718096;font-size:16px;justify-content:center;min-height:50vh}.message,.profile-loading{align-items:center;display:flex}.message{border-radius:6px;font-size:14px;font-weight:500;gap:8px;margin-bottom:16px;padding:12px 16px}.success-message{background:#f0fff4;border:1px solid #9ae6b4;color:#276749}.error-message{border:1px solid #fc8181}.message-icon{flex-shrink:0;font-size:16px}.edit-form,.password-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:20px}.password-form h4{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{color:#4a5568;font-size:14px;font-weight:500}.form-group input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.form-actions{justify-content:flex-start;margin-top:16px}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:40px;padding:10px 20px;transition:all .2s ease}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.save-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-button{background:#fff;font-weight:500;min-height:40px;padding:10px 20px}.cancel-button:hover{background:#f7fafc;border-color:#cbd5e0}.action-button:disabled:hover{background:#fff;border-color:#e2e8f0;box-shadow:none;transform:none}@media (max-width:1024px){.profile-main{padding:24px 20px}.profile-hero{padding:32px 24px}.profile-actions,.profile-details{padding:24px}}@media (max-width:768px){.profile-main{padding:20px 16px}.profile-hero{flex-direction:column;gap:16px;padding:24px 20px;text-align:center}.profile-intro h2{font-size:24px}.profile-actions,.profile-details{padding:20px}.detail-item{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 0}.detail-item label{color:#2d3748;font-weight:600;min-width:auto}.detail-item span{text-align:left}.actions-grid{gap:12px}.action-button{padding:12px}}@media (max-width:480px){.profile-main{padding:16px 12px}.profile-hero{padding:20px 16px}.avatar-image,.avatar-placeholder{height:60px;width:60px}.avatar-initials{font-size:18px}.profile-intro h2{font-size:20px}.profile-email{font-size:14px}.profile-actions,.profile-details{padding:16px}.profile-actions h3,.profile-details h3{font-size:16px}.action-button{gap:8px;padding:12px}.action-icon{font-size:18px}.action-title{font-size:13px}}@media (hover:none) and (pointer:coarse){.action-button{min-height:48px}.action-button:hover{transform:none}}@media (max-width:768px) and (orientation:landscape){.profile-hero{flex-direction:row;text-align:left}.actions-grid{grid-template-columns:repeat(2,1fr)}}@media print{.profile-container{background:#fff}.profile-card{border:1px solid #e2e8f0;box-shadow:none}.profile-hero{background:#f7fafc!important}.profile-hero,.profile-intro h2{color:#2d3748!important}.profile-email{color:#718096!important}.profile-actions{display:none}}.member-predictions-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.member-predictions-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#f8fafc,#edf2f7);padding:24px 28px}.user-header{display:flex;flex-direction:column;gap:8px}.user-header h3{color:#2d3748;font-size:20px;font-weight:700;margin:0}.user-stats{gap:16px}.user-points{color:#38a169}.user-points,.user-rank{font-size:14px;font-weight:600}.user-rank{color:#667eea}.close-button{border-radius:6px;font-size:28px;line-height:1;padding:4px 8px}.close-button:hover{transform:scale(1.1)}.modal-body{flex:1 1;overflow-y:auto;padding:0}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.error-state{color:#e53e3e}.error-icon{font-size:48px;margin-bottom:16px}.retry-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:10px 20px;transition:all .2s ease}.retry-button:hover{background:#5a67d8;transform:translateY(-1px)}.locked-message{align-items:center;display:flex;flex-direction:column;padding:40px 20px;text-align:center}.lock-icon{font-size:64px;margin-bottom:24px;opacity:.7}.locked-message p{color:#4a5568;font-size:16px;line-height:1.5;margin:0 0 12px}.deadline-info{color:#718096;font-size:14px;font-style:italic}.predictions-content{padding:24px}.predictions-summary{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.predictions-summary h4{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px}.summary-stats{display:flex;gap:24px;justify-content:space-around}.summary-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{margin-bottom:4px}.stat-value{font-size:18px}.predictions-sections{display:flex;flex-direction:column;gap:24px}.predictions-sections>div{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px}.predictions-sections h4{border-bottom:2px solid #f7fafc;color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.no-data{color:#718096;font-style:italic;margin:20px 0;text-align:center}.party-seats-list{display:flex;flex-direction:column;gap:12px}.party-seats-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;padding:12px 16px;transition:all .2s ease}.party-seats-item:hover{background:#edf2f7;border-color:#cbd5e0}.party-color-indicator{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;height:16px;margin-right:12px;width:16px}.party-info{justify-content:space-between}.party-name{color:#2d3748}.seat-count{color:#4a5568;font-size:14px;font-weight:500}.captain-badge{background:linear-gradient(135deg,gold,#ffb347);border:1px solid #daa520;border-radius:12px;box-shadow:0 1px 3px #daa5204d;color:#8b4513;font-size:12px;font-weight:700;margin-left:12px;padding:4px 8px}.prediction-list{display:flex;flex-direction:column;gap:8px}.prediction-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease}.prediction-item:hover{background:#edf2f7}.municipality-name{font-size:14px;font-weight:500}.prediction-value{color:#4a5568;font-size:14px;font-weight:600}.party-prediction{align-items:center;display:flex;gap:8px}.party-color-dot{border:1px solid #fff;border-radius:50%;box-shadow:0 1px 2px #0000001a;height:12px;width:12px}.special-predictions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.special-prediction-item{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #b3e5fc;border-radius:12px;padding:16px;text-align:center}.special-prediction-item h4{color:#0369a1;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.special-prediction-item .prediction-value{color:#0c4a6e;font-size:18px;font-weight:700;margin:0}.captain-party-display .party-display{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:4px}.captain-party-display .party-name{color:#0c4a6e;font-size:16px;font-weight:700}@media (max-width:768px){.member-predictions-overlay{padding:16px}.member-predictions-modal{max-height:95vh;max-width:100%}.modal-header{padding:20px}.user-header h3{font-size:18px}.user-stats{flex-wrap:wrap;gap:12px}.predictions-content{padding:16px}.summary-stats{flex-wrap:wrap;gap:16px}.special-predictions{grid-template-columns:1fr}.party-info{gap:4px}.party-info,.prediction-item{align-items:flex-start;flex-direction:column}.prediction-item{gap:8px}}@media (max-width:480px){.modal-header{padding:16px}.user-header{gap:6px}.user-header h3{font-size:16px}.predictions-content{padding:12px}.predictions-sections>div{padding:16px}.close-button{font-size:24px}}@media (max-height:600px){.member-predictions-modal{border-radius:0;max-height:100vh}.member-predictions-overlay{align-items:stretch;padding:0}}.subleague-card{align-self:flex-start;border:1px solid #e1e5e9;box-shadow:0 2px 8px #0000001a;height:auto;margin-bottom:20px;padding:24px;transition:box-shadow .3s ease,transform .2s ease}.subleague-card:hover{box-shadow:0 4px 16px #00000026}.card-header{border-bottom:2px solid #f8f9fa;padding-bottom:16px}.subleague-name{color:#2c3e50;font-size:24px;font-weight:700;line-height:1.2}.creator-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 4px #667eea4d;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.subleague-stats{margin-bottom:24px}.stat{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex:1 1;flex-direction:column;padding:16px;transition:background-color .2s ease}.stat:hover{background:#e9ecef}.stat-label{color:#6c757d;font-size:14px;margin-bottom:8px}.stat-value{color:#2c3e50;font-size:24px}.top-members{margin-bottom:24px}.members-header{align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.members-header h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.click-hint{color:#6c757d;font-size:12px;font-style:italic}.members-list{background:#f8f9fa;border-radius:8px;overflow:hidden}.member-item{border-bottom:1px solid #e9ecef;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease,transform .1s ease}.member-item:last-child{border-bottom:none}.member-item.clickable:hover{background-color:#e3f2fd;transform:translateX(4px)}.member-item.clickable:active{transform:translateX(2px)}.member-rank{font-size:14px;font-weight:700}.member-name{color:#2c3e50;font-weight:500;margin:0 12px}.member-points{color:#28a745;font-size:12px}.show-all-members{margin-top:12px;text-align:center}.show-all-button{background:none;border:2px solid #667eea;border-radius:20px;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.show-all-button:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.show-all-button:active{transform:translateY(0)}.card-actions{gap:12px}.action-button{border-radius:8px;font-size:16px;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase}.invite-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.invite-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.invite-button:active{transform:translateY(0)}.leave-button{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);box-shadow:0 4px 12px #ff6b6b4d}.leave-button:hover:not(:disabled){box-shadow:0 6px 16px #ff6b6b66;transform:translateY(-2px)}.leave-button:active{transform:translateY(0)}.action-button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.invite-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:20px}.invite-section label{color:#2c3e50;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.invite-link-container{margin-bottom:16px}.invite-input{background:#fff;border:2px solid #dee2e6;color:#495057;font-family:Courier New,monospace;padding:12px}.invite-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.copy-button{background:#28a745;min-width:80px;padding:12px 20px}.copy-button:hover{background:#218838;transform:translateY(-1px)}.copy-button:active{transform:translateY(0)}.copy-button.copied{animation:pulse .6s ease-in-out;background:#17a2b8}.copy-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.leave-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.leave-modal{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:40px;position:relative;width:90%}.leave-modal-icon{align-items:center;background:linear-gradient(135deg,#ffebee,#ffcdd2);border-radius:50%;box-shadow:0 4px 12px #ff6b6b33;display:flex;height:70px;justify-content:center;margin:0 auto 24px;width:70px}.leave-modal-icon svg{stroke-width:2.5;color:#ff6b6b;height:35px;width:35px}.leave-modal-title{color:#2c3e50;font-size:28px;font-weight:700;margin:0 0 16px;text-align:center}.leave-modal-message{color:#6c757d;font-size:16px;line-height:1.6;margin-bottom:20px;text-align:center}.leave-modal-subleague{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;margin-bottom:20px;padding:16px 24px;text-align:center}.leave-modal-subleague-name{color:#2c3e50;display:block;font-size:20px;font-weight:700}.leave-modal-warning{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-left:4px solid #ffc107;border-radius:8px;box-shadow:0 2px 8px #ffc1071a;margin-bottom:28px;padding:14px 16px}.leave-modal-warning p{color:#856404;font-size:14px;line-height:1.5;margin:0}.leave-modal-actions{display:flex;gap:12px}.leave-modal-button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;letter-spacing:.5px;padding:16px 24px;position:relative;text-transform:uppercase;transition:all .2s ease}.leave-modal-cancel{background:#f5f5f5;border:2px solid #dee2e6;color:#2c3e50}.leave-modal-cancel:hover:not(:disabled){background:#e0e0e0;border-color:#bdbdbd;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.leave-modal-confirm{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);box-shadow:0 4px 12px #ff6b6b4d;color:#fff}.leave-modal-confirm:hover:not(:disabled){box-shadow:0 6px 16px #ff6b6b66;transform:translateY(-2px)}.leave-modal-confirm:disabled{cursor:not-allowed;opacity:.7;transform:none}.leave-modal-confirm.loading{color:#0000}.leave-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:22px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:22px}.leave-success-notification{align-items:center;animation:slideInRight .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:12px;box-shadow:0 8px 24px #28a74566;color:#fff;display:flex;gap:12px;max-width:400px;padding:16px 24px;position:fixed;right:24px;top:24px;z-index:1001}.leave-success-notification *{background:#0000;border:none}.leave-success-notification.fade-out{animation:fadeOut .3s ease-out forwards}.success-message{font-size:15px;font-weight:600;line-height:1.4}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.provisional-results-banner-card{background:#ff8c00;border-radius:6px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding:12px 16px;text-align:center;text-transform:uppercase}@media (max-width:768px){.provisional-results-banner-card{font-size:13px;padding:10px 14px}}@media (hover:none) and (pointer:coarse){.provisional-results-banner-card{font-size:12px;padding:10px 12px}}@media (max-width:768px){.subleague-card{margin-bottom:16px;padding:16px}.card-header{align-items:flex-start;flex-direction:column;gap:12px}.creator-badge{align-self:flex-start}.subleague-name{font-size:20px}.subleague-stats{flex-direction:column;gap:12px}.stat{align-items:center;flex-direction:row;justify-content:space-between}.stat-label{margin-bottom:0}.members-header{align-items:flex-start}.card-actions,.invite-link-container,.members-header{flex-direction:column}.copy-button{min-width:auto}.leave-modal{padding:28px 20px;width:95%}.leave-modal-title{font-size:24px}.leave-modal-message{font-size:15px}.leave-modal-subleague-name{font-size:18px}.leave-modal-actions{flex-direction:column}.leave-modal-button{width:100%}.leave-success-notification{left:16px;max-width:none;right:16px;top:16px}}@media (max-width:480px){.subleague-card{padding:12px}.subleague-name{font-size:18px}.stat-value{font-size:20px}.member-item{padding:10px 12px}.action-button{font-size:14px;padding:10px 16px}.leave-modal-icon{height:60px;width:60px}.leave-modal-icon svg{height:30px;width:30px}.leave-modal-title{font-size:22px}.leave-modal-warning p{font-size:13px}.leave-modal-button{font-size:15px;padding:14px 20px}}.league-container{background:#f7fafc;min-height:100vh}.league-stats-bar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:0 24px}.stats-content{gap:24px;justify-content:center;margin:0 auto;max-width:1200px;padding:16px 0}.stats-content,.user-stats{align-items:center;display:flex}.user-stats{gap:32px}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:#718096;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#2d3748;font-size:20px;font-weight:700;margin-top:2px}.stats-actions{align-items:center;display:flex;gap:12px}.button-icon,.button-text{display:inline-block}.league-nav{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 24px}.league-nav-content{display:flex;gap:0;justify-content:center;margin:0 auto;max-width:1200px}.nav-button{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;transition:all .2s ease}.nav-button:hover{color:#4a5568}.nav-button.active{border-bottom-color:#667eea;color:#667eea}.league-content{margin:0 auto;max-width:1200px;padding:32px 24px}.loading-center{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #e2e8f0}.subleagues-section{width:100%}.subleagues-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.subleagues-header h2{color:#2d3748;font-size:24px;font-weight:700;margin:0}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.create-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.subleagues-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 20px;text-align:center}.empty-state h3{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 8px}.empty-state p{color:#718096;font-size:16px;margin:0}.contact-card-league{background:#fff;border:2px solid #667eea;overflow:hidden;position:relative}.contact-card-league:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.contact-card-league .subleague-name{color:#667eea;font-size:20px;margin-bottom:12px}.contact-description{color:#718096;font-size:14px;line-height:1.5;margin:0 0 20px}.contact-details-league{align-items:center;display:flex;flex-direction:column;gap:12px;text-align:center}.contact-item-league{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.contact-link-league{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s ease}.contact-link-league:hover{color:#5a67d8;text-decoration:underline}.contact-separator-league{color:#718096;font-weight:300}@media (max-width:768px){.contact-card-league .subleague-name{font-size:18px}.contact-description{font-size:13px}.contact-item-league{font-size:13px;justify-content:center}}@media (max-width:480px){.contact-card-league{padding:16px}.contact-card-league .subleague-name{font-size:16px}.contact-link-league{font-size:12px}}.global-leaderboard{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.leaderboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px}.leaderboard-header h2{font-size:20px;font-weight:700;margin:0}.leaderboard-list{list-style:none;margin:0;padding:0}.leaderboard-item{align-items:center;border-bottom:1px solid #f7fafc;display:flex;padding:16px 24px;transition:background-color .2s ease}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:hover{background:#f7fafc}.leaderboard-item.current-user{background:#edf2f7;border-left:4px solid #667eea}.leaderboard-item.loading-item{align-items:center;color:#718096;display:flex;font-size:14px;gap:12px;justify-content:center;padding:20px}.loading-spinner-small{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.end-of-list{background:#f7fafc;border-top:1px solid #e2e8f0;color:#718096;font-size:14px;padding:20px 24px;text-align:center}.end-of-list p{margin:0}.rank{color:#2d3748;font-size:18px;font-weight:700;min-width:40px}.rank.top-3{color:#d69e2e}.rank.first{color:gold}.rank.second{color:silver}.rank.third{color:#cd7f32}.user-info{align-items:baseline;flex:1 1;margin-left:16px}.user-name{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 2px}.user-email{color:#718096;font-size:14px;margin:0}.you-badge{color:#667eea;font-weight:700}.points{color:#38a169;font-size:16px;font-weight:700}.empty-leaderboard{color:#718096;padding:40px 24px;text-align:center}.create-subleague-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.create-subleague-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-height:90vh;max-width:400px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.close-button:hover{background:#f7fafc;color:#2d3748}.create-form{padding:24px}.create-form .form-group{margin-bottom:20px}.create-form label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.create-form input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.create-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-form input.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.create-form .error-message{color:#e53e3e;display:block;font-size:14px;margin-top:4px}.cancel-button{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:#edf2f7}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.subleague-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.subleague-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{align-items:flex-start;margin-bottom:16px}.subleague-name{color:#2d3748;flex:1 1;font-size:18px;font-weight:600;margin:0}.creator-badge{background:#667eea;border-radius:12px;color:#fff;font-size:12px;font-weight:600;margin-left:8px;padding:4px 8px}.subleague-stats{display:flex;gap:24px;margin-bottom:16px}.subleague-stats .stat{display:flex;flex-direction:column}.subleague-stats .stat-label{color:#718096;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.subleague-stats .stat-value{color:#2d3748;font-size:18px;font-weight:700;margin-top:2px}.top-members{margin-bottom:16px}.top-members h4{color:#2d3748;font-size:14px;font-weight:600;margin:0 0 8px}.members-list{list-style:none;margin:0;padding:0}.member-item{align-items:center;display:flex;font-size:14px;padding:6px 0}.member-rank{color:#667eea;font-weight:600;min-width:30px}.member-name{color:#2d3748;display:flex;flex:1 1;margin:0 8px}.member-points{color:#38a169;font-weight:600}.card-actions{display:flex;gap:8px;margin-bottom:16px}.action-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s ease}.invite-button{background:#667eea;color:#fff}.invite-button:hover{background:#5a67d8;transform:translateY(-1px)}.leave-button{background:#e53e3e;color:#fff}.leave-button:hover{background:#c53030;transform:translateY(-1px)}.invite-section{border-top:1px solid #e2e8f0;padding-top:16px}.invite-section label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.invite-link-container{display:flex;gap:8px;margin-bottom:8px}.invite-input{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1 1}.copy-button,.invite-input{font-size:14px;padding:8px 12px}.copy-button{background:#38a169;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;min-width:60px;transition:all .2s ease}.copy-button.copied,.copy-button:hover{background:#2f855a}.leaderboard-item.clickable{cursor:pointer;position:relative;transition:all .2s ease}.leaderboard-item.clickable:hover{background:#f0f9ff;border-left-color:#3b82f6;transform:translateX(2px)}.leaderboard-item.clickable:active{transform:translateX(1px)}.leaderboard-header .click-hint{color:#fff;font-size:12px;font-style:italic;margin:8px 0 0}.view-predictions-icon{font-size:16px;margin-left:8px;opacity:.6;transition:opacity .2s ease}.leaderboard-item.clickable:hover .view-predictions-icon{opacity:1}.members-header{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.members-header .click-hint{color:#6b7280;font-size:11px;font-style:italic;font-weight:400}.member-item.clickable{cursor:pointer;position:relative;transition:all .2s ease}.member-item.clickable:hover{background-color:#f0f9ff;border-radius:6px;transform:translateX(2px)}.member-item.clickable:active{transform:translateX(1px)}.member-item .view-predictions-icon{font-size:14px;margin-left:4px;opacity:.5;transition:opacity .2s ease}.member-item.clickable:hover .view-predictions-icon{opacity:1}.member-item{border-radius:4px;margin:2px 0;padding:8px 6px}.leaderboard-header .total-players{color:#fff;font-size:14px;font-weight:500;margin:8px 0 0;opacity:.9}.provisional-results-banner{background:#ff8c00;border-bottom:1px solid #f7fafc;color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;padding:16px 24px;text-align:center;text-transform:uppercase}@media (max-width:768px){.leaderboard-header .total-players{font-size:13px}.provisional-results-banner{font-size:14px;padding:12px 16px}}@media (hover:none) and (pointer:coarse){.provisional-results-banner{font-size:13px;padding:14px 12px}}@media (max-width:768px){.leaderboard-item.clickable:hover,.member-item.clickable:hover{background:#f0f9ff;transform:none}.view-predictions-icon{font-size:14px}.members-header .click-hint{font-size:10px}.leaderboard-header .click-hint{font-size:11px}.leaderboard-item{align-items:center;border-bottom:1px solid #f7fafc;display:flex;flex-wrap:nowrap;gap:12px;min-height:60px;padding:12px 16px;transition:background-color .2s ease}.rank{color:#2d3748;flex-shrink:0;font-size:16px;font-weight:700;min-width:35px}.user-info{flex:1 1;margin-left:0;min-width:0;overflow:hidden}.user-name{color:#2d3748;font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis}.points{color:#38a169;flex-shrink:0;font-size:14px;font-weight:700;min-width:60px;text-align:right}.league-stats-bar{padding:0 16px}.stats-content{padding:12px 0}.user-stats{gap:20px}.stat-item{min-width:0}.stat-label{font-size:11px}.stat-value{font-size:18px}.league-content{padding:24px 16px}.league-nav{padding:0 16px}.nav-button{font-size:15px;padding:14px 20px}}@media (hover:none) and (pointer:coarse){.leaderboard-item.clickable:hover,.member-item.clickable:hover{transform:none}.leaderboard-item.clickable:active,.member-item.clickable:active{background:#e0f2fe;transform:scale(.98)}.member-item.clickable{align-items:center;display:flex;min-height:44px;padding:12px 8px}.leaderboard-item.clickable{min-height:54px}.leaderboard-item{gap:8px;padding:10px 12px}.rank{font-size:14px;min-width:30px}.points,.user-name{font-size:13px}.points{min-width:50px}.user-stats{gap:16px}.stat-value{font-size:16px}.league-content{padding:20px 12px}.member-predictions-modal{margin:10px;max-height:calc(100vh - 20px);max-width:calc(100vw - 20px)}}.admin-election-results{background:#f7fafc;min-height:100vh}.loading-container{padding:40px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#667eea;margin:0 auto 16px}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-title{color:#2d3748;font-size:20px;font-weight:600;margin:0}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;text-align:center;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.7}.btn-primary{background:#38a169;color:#fff}.btn-primary:hover:not(:disabled){background:#2f855a}.btn-secondary{background:#667eea;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a67d8}.btn-danger{background:#e53e3e}.btn-outline{background:#f7fafc;border:1px solid #e2e8f0}.btn-small{font-size:13px;padding:8px 16px}.election-results-grid{grid-gap:16px;display:grid;gap:16px}.election-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s ease}.election-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.election-item.selected{background:#f7fafc;border:2px solid #667eea}.election-item-header{align-items:center;display:flex;justify-content:space-between}.election-item-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 4px}.election-item-meta{color:#718096;font-size:14px;margin:0}.election-badges{display:flex;gap:8px}.badge{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px}.badge-active{background:#38a169;color:#fff}.badge-final{background:#667eea;color:#fff}.modal-overlay{background:#00000080;padding:20px}.modal-content{border-radius:12px;width:100%}.modal-title{font-size:18px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:16px}.form-label{color:#2d3748;display:block;font-weight:600;margin-bottom:4px}.form-input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-checkbox{align-items:center;display:flex;gap:8px}.tabs-container{border-bottom:1px solid #e2e8f0;margin-bottom:20px}.tabs-list{-ms-overflow-style:none;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.tabs-list::-webkit-scrollbar{display:none}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.tab-button.active{border-bottom-color:#667eea;color:#667eea}.tab-button:hover{color:#667eea}.tab-content{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.tab-title{color:#2d3748;font-size:18px;font-weight:600;margin:0}.seats-summary{margin:4px 0}.seats-summary.over-limit{color:#e53e3e;font-weight:700}.seats-summary.normal{color:#4a5568;font-weight:400}.seats-grid{grid-gap:16px;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-height:500px;overflow-y:auto;padding:16px}.party-seat-item{align-items:center;border:2px solid;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.party-color-box{border-radius:4px;flex-shrink:0;height:20px;width:20px}.party-info{flex:1 1;min-width:100px}.party-name{font-size:14px;font-weight:700;margin-bottom:4px}.seat-input-container{align-items:center;display:flex;gap:8px}.seat-input{border:1px solid #e2e8f0;border-radius:4px;font-size:14px;padding:6px 8px;text-align:center;width:70px}.over-limit-warning{background:#fed7d7;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:14px;font-weight:700;margin-top:12px;padding:12px}.municipality-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.municipality-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.municipality-label{color:#2d3748;display:block;font-weight:600;margin-bottom:8px}.turnout-input-container{align-items:center;display:flex;gap:8px}.turnout-input{border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.turnout-unit{color:#718096;font-weight:500}.party-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.municipality-selection-description{color:#4a5568;line-height:1.5;margin-bottom:12px}.current-selection{background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;margin-bottom:16px;padding:12px}.municipality-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;width:300px}.access-denied{background:#fff;border-radius:12px;margin:40px auto;max-width:400px}.access-denied h2{color:#e53e3e;margin-bottom:12px}.btn-danger{background-color:#e53e3e;border:1px solid #e53e3e;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background-color:#c53030;border-color:#c53030;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-danger:disabled{background-color:#fc8181;border-color:#fc8181;cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-title{color:#1a202c;font-size:20px;font-weight:700;margin-bottom:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn-outline{background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-outline:hover{background-color:#f7fafc;border-color:#a0aec0}@media (max-width:768px){.main-content{padding:16px 12px}.card{margin-bottom:16px;padding:16px}.card-header{align-items:stretch;flex-direction:column;gap:12px}.card-title{font-size:18px;text-align:center}.btn{justify-content:center;width:100%}.election-item-header{align-items:flex-start;flex-direction:column;gap:8px}.election-badges{align-self:flex-end}.modal-overlay{padding:10px}.modal-content{padding:20px}.form-actions,.tab-header{flex-direction:column}.tab-header{align-items:stretch;gap:12px}.tab-title{font-size:16px;text-align:center}.tabs-list{justify-content:flex-start}.tab-button{font-size:13px;padding:10px 16px}.seats-grid{grid-template-columns:1fr;max-height:400px;padding:12px}.party-seat-item{align-items:stretch;flex-direction:column;gap:8px;padding:12px}.party-info{text-align:center}.seat-input-container{justify-content:center}.municipality-grid{grid-template-columns:1fr}.municipality-select{width:100%}}@media (max-width:480px){.main-content{padding:12px 8px}.card{padding:12px}.card-title{font-size:16px}.btn{font-size:14px;padding:12px 16px}.modal-content{padding:16px}.tab-button{font-size:12px;padding:8px 12px}.seats-grid{padding:8px}.party-seat-item{padding:10px}.seat-input{padding:4px 6px;width:60px}}.admin-user-search{background:#f7fafc;min-height:100vh}.main-content{margin:0 auto;max-width:1200px;padding:32px 24px}.access-denied{padding:20px;text-align:center}.search-form-container{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px}.search-form-title{font-size:20px;font-weight:600;margin:0 0 16px}.search-form{align-items:end;display:flex;gap:12px}.search-form-field{flex:1 1}.search-form-label{display:block;font-weight:600;margin-bottom:4px}.search-form-input{border:1px solid #e2e8f0;border-radius:6px;font-size:16px;padding:10px 12px;width:100%}.search-form-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px}.search-form-button:disabled{cursor:not-allowed;opacity:.7}.error-message{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#c53030;margin-bottom:24px;padding:12px}.search-results-container{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px}.search-results-title{font-size:20px;font-weight:600;margin:0 0 16px}.user-info-grid{grid-gap:16px;background:#f7fafc;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;padding:16px}.user-info-item-label{color:#718096;display:block;font-size:12px;font-weight:600}.user-info-item-value{font-size:16px;font-weight:600}.user-info-points,.user-info-verified-yes{color:#38a169}.user-info-verified-no{color:#e53e3e}.predictions-title{font-size:18px;font-weight:600;margin:24px 0 16px}.no-predictions{color:#718096;font-style:italic}.predictions-grid{grid-gap:16px;display:grid;gap:16px}.prediction-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s ease}.prediction-card:hover{box-shadow:0 4px 12px #0000001a}.prediction-card.selected{background:#f7fafc;border:2px solid #667eea}.prediction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.prediction-name{font-size:16px;font-weight:600;margin:0}.prediction-active-badge{background:#38a169;border-radius:4px;color:#fff;font-size:10px;font-weight:600;margin-left:8px;padding:2px 6px}.prediction-date{color:#718096;font-size:12px}.prediction-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:12px}.prediction-stat-item{background:#edf2f7;border-radius:6px;padding:8px;text-align:center}.prediction-stat-value{font-size:14px;font-weight:600}.prediction-stat-label{color:#718096;font-size:10px}.prediction-details-container{background:#fff;border-radius:12px;padding:24px}.prediction-details-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.prediction-details-title{font-size:20px;font-weight:600;margin:0}.close-details-button{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;padding:8px 16px}.score-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:24px;padding:20px}.score-summary-title{font-size:18px;margin:0 0 16px}.score-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.score-item{text-align:center}.score-item-large{border-left:1px solid #ffffff4d;padding-left:16px;text-align:center}.score-value{font-size:24px;font-weight:700}.score-value-large{font-size:32px;font-weight:700}.score-label{font-size:12px;opacity:.9}.score-label-large{font-size:14px;opacity:.9}.score-sublabel{font-size:10px;opacity:.8}.comparison-section{margin-bottom:24px}.comparison-title{font-size:18px;font-weight:600;margin:0 0 16px}.comparison-subtitle{font-size:16px;font-weight:600;margin:0 0 12px}.party-comparison-container{grid-gap:12px;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-height:400px;overflow-y:auto;padding:12px}.party-comparison-item{align-items:center;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.party-comparison-item.correct{background:#f0fff4}.party-comparison-item.incorrect{background:#fff5f5}.party-info{align-items:center;display:flex;gap:8px}.party-color-box{border-radius:3px;height:16px;width:16px}.party-name{font-weight:600}.party-results{text-align:right}.party-prediction-text{color:#4a5568;font-size:12px}.party-difference{font-size:11px}.party-difference.correct{color:#38a169}.party-difference.incorrect{color:#e53e3e}.party-summary{color:#718096;font-size:12px;margin:8px 0 0}.turnout-comparison-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.turnout-item{border:1px solid #e2e8f0;border-radius:8px;padding:12px}.turnout-item.high-accuracy{background:#f0fff4}.turnout-item.medium-accuracy{background:#fffaf0}.turnout-item.low-accuracy{background:#fff5f5}.turnout-municipality{font-weight:600;margin-bottom:4px}.turnout-actual,.turnout-prediction{font-size:14px;margin-bottom:4px}.turnout-difference{color:#718096;font-size:12px}.biggest-party-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.biggest-party-item{border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000001a;padding:16px}.biggest-party-item.correct{background:#f0fff4}.biggest-party-item.incorrect{background:#fff5f5}.municipality-name{color:#2d3748;font-size:16px;font-weight:700;margin-bottom:12px}.party-prediction-section{margin-bottom:8px}.party-prediction-label{color:#666;font-size:12px;margin-bottom:4px}.party-display{align-items:center;display:flex;gap:8px}.party-display-name{font-size:14px;font-weight:600}.no-prediction-text{color:#9a9a9a;font-style:italic}.result-indicator{border-radius:6px;font-size:18px;padding:8px;text-align:center}.result-indicator.correct{background:#48bb781a}.result-indicator.incorrect{background:#f565651a}.municipality-selection-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.municipality-selection-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 16px}.municipality-selection-description{color:#666;font-size:14px;margin-bottom:20px}.municipality-prediction-box{border:2px solid #e2e8f0;border-radius:12px;padding:20px}.municipality-prediction-box.correct{background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.municipality-prediction-box.incorrect{background:linear-gradient(135deg,#fff5f5,#fed7d7)}.municipality-prediction-box.no-prediction{background:linear-gradient(135deg,#fffaf0,#ffeaa7)}.municipality-comparison-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.municipality-comparison-item{text-align:center}.municipality-comparison-label{color:#4a5568;font-size:14px;font-weight:600;margin-bottom:8px}.municipality-comparison-value{color:#2d3748;font-size:18px;font-weight:700;min-height:24px}.municipality-comparison-value.no-value{color:#9a9a9a}.municipality-comparison-value .no-value-text{font-size:16px;font-style:italic}.municipality-result-box{background:#ffffffb3;border-radius:8px;padding:12px;text-align:center}.municipality-result-text{font-size:20px;font-weight:700}.captain-party-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.captain-party-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 16px}.captain-party-description{color:#666;font-size:14px;margin-bottom:20px}.captain-party-box{border:2px solid #e2e8f0;border-radius:12px;padding:20px}.captain-party-box.has-captain{background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.captain-party-box.no-captain{background:linear-gradient(135deg,#fffaf0,#ffeaa7)}.captain-party-selected{margin-bottom:20px;text-align:center}.captain-party-label{color:#4a5568;font-size:14px;font-weight:600;margin-bottom:8px}.captain-party-display{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:8px}.captain-party-color{border-radius:4px;height:24px;width:24px}.captain-party-name{font-size:20px;font-weight:700}.captain-crown{font-size:24px}.captain-performance{background:#ffffffb3;border-radius:8px;padding:16px}.captain-performance-title{font-size:16px;font-weight:600;margin:0 0 12px}.captain-performance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.captain-performance-item{text-align:center}.captain-performance-label{color:#4a5568;font-size:14px;margin-bottom:4px}.captain-performance-predicted{color:#4299e1;font-size:18px;font-weight:700}.captain-performance-actual{color:#38a169;font-size:18px;font-weight:700}.captain-performance-difference{text-align:center}.captain-performance-difference-text{font-size:14px;font-weight:600}.captain-performance-difference-text.correct{color:#38a169}.captain-performance-difference-text.incorrect{color:#e53e3e}.no-captain-selected{text-align:center}.no-captain-title{color:#9a9a9a;font-size:18px;font-weight:700;margin-bottom:8px}.no-captain-message{background:#ffffffb3;border-radius:8px;padding:12px}.no-captain-text{color:#d69e2e;font-size:16px;font-weight:600}.top3-parties-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.top3-parties-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 16px}.top3-parties-description{color:#666;font-size:14px;margin-bottom:20px}.top3-parties-box{background:linear-gradient(135deg,#f7fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:12px;padding:20px}.top3-parties-summary{align-items:center;background:#fffc;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.top3-parties-score{align-items:center;display:flex;gap:8px}.top3-parties-score-label{color:#4a5568;font-size:14px;font-weight:600}.top3-parties-score-value{font-size:20px;font-weight:700}.top3-parties-score-value.positive{color:#38a169}.top3-parties-score-value.zero{color:#9a9a9a}.top3-parties-accuracy{align-items:center;display:flex;gap:8px}.top3-parties-accuracy-label{color:#4a5568;font-size:14px;font-weight:600}.top3-parties-accuracy-value{color:#2d3748;font-size:18px;font-weight:700}.top3-parties-comparison-table{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;overflow:hidden}.top3-parties-header{grid-gap:16px;background:#f7fafc;border-bottom:1px solid #e2e8f0;color:#4a5568;display:grid;font-size:14px;font-weight:600;gap:16px;grid-template-columns:80px 1fr 1fr 80px;padding:12px 16px}.top3-parties-header-item{text-align:center}.top3-parties-row{grid-gap:16px;align-items:center;border-bottom:1px solid #f7fafc;display:grid;gap:16px;grid-template-columns:80px 1fr 1fr 80px;padding:16px}.top3-parties-row:last-child{border-bottom:none}.top3-parties-row.correct{background:#f0fff4}.top3-parties-row.incorrect{background:#fff5f5}.top3-parties-position{color:#4a5568;font-size:18px;font-weight:700;text-align:center}.top3-parties-actual,.top3-parties-predicted{align-items:center;display:flex;justify-content:center}.top3-parties-result{font-size:20px;text-align:center}.top3-parties-result.correct{color:#38a169}.top3-parties-result.incorrect{color:#e53e3e}.top3-parties-scoring-info{background:#fffc;border-radius:8px;padding:16px}.top3-parties-scoring-info h5{color:#2d3748;font-size:14px;font-weight:600;margin:0 0 8px}.top3-parties-scoring-info ul{list-style-type:disc;margin:0;padding-left:20px}.top3-parties-scoring-info li{color:#4a5568;font-size:13px;margin-bottom:4px}.country-turnout-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.country-turnout-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 16px}.country-turnout-description{color:#666;font-size:14px;margin-bottom:20px}.country-turnout-prediction-box{border:2px solid #e2e8f0;border-radius:12px;padding:20px}.country-turnout-prediction-box.correct{background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.country-turnout-prediction-box.incorrect{background:linear-gradient(135deg,#fff5f5,#fed7d7)}.country-turnout-prediction-box.no-prediction{background:linear-gradient(135deg,#fffaf0,#ffeaa7)}.country-turnout-comparison-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.country-turnout-comparison-item{text-align:center}.country-turnout-comparison-label{color:#4a5568;font-size:14px;font-weight:600;margin-bottom:8px}.country-turnout-comparison-value{color:#2d3748;font-size:24px;font-weight:700;min-height:32px}.country-turnout-comparison-value.no-value{color:#9a9a9a}.country-turnout-comparison-value .no-value-text{font-size:18px;font-style:italic}.country-turnout-difference{color:#4a5568;font-size:16px;margin-bottom:16px}.country-turnout-difference,.country-turnout-result-box{background:#ffffffb3;border-radius:8px;padding:12px;text-align:center}.country-turnout-result-text{font-size:20px;font-weight:700}.no-election-results{color:#718096;font-size:16px;padding:40px;text-align:center}.text-center{text-align:center}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-sm{font-size:14px}.text-xs{font-size:12px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}@media (max-width:768px){.main-content{padding:16px}.search-form{align-items:stretch;flex-direction:column}.user-info-grid{grid-template-columns:1fr}.prediction-stats-grid,.score-summary-grid{grid-template-columns:repeat(2,1fr)}.captain-performance-grid,.municipality-comparison-grid{grid-template-columns:1fr}}.deadline-banner{animation:slideUp .3s ease-out;border-top:2px solid;bottom:0;box-shadow:0 -2px 8px #0000001a;left:0;padding:12px 24px;position:fixed;right:0;width:100%;z-index:1000}.deadline-banner.active{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#f0ad4e;color:#856404}.deadline-banner.locked{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;color:#721c24}.deadline-banner__container{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:1200px}.deadline-banner__icon{flex-shrink:0;font-size:24px;line-height:1}.deadline-banner__content{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.deadline-banner__status{font-size:18px;font-weight:700;line-height:1.3}.deadline-banner__countdown{font-size:16px;font-weight:600;line-height:1.4}.countdown-text{word-wrap:break-word;display:block;overflow-wrap:break-word}.desktop-break{display:inline}.deadline-banner__locked-message{font-size:16px;font-weight:600;line-height:1.4}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.deadline-banner.active .deadline-banner__countdown{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}body.has-deadline-banner{padding-bottom:120px}@media (max-width:768px){.deadline-banner{padding:10px 16px}.deadline-banner__container{gap:10px}.deadline-banner__icon{font-size:20px}.deadline-banner__content{gap:5px}.deadline-banner__status{font-size:16px}.deadline-banner__countdown,.deadline-banner__locked-message{font-size:14px}.desktop-break{display:none}body.has-deadline-banner{padding-bottom:100px}}@media (max-width:480px){.deadline-banner{padding:8px 12px}.deadline-banner__container{align-items:flex-start;gap:8px}.deadline-banner__icon{font-size:18px;margin-top:10px}.deadline-banner__content{gap:4px}.deadline-banner__status{font-size:14px}.deadline-banner__countdown,.deadline-banner__locked-message{font-size:11px;line-height:1.5}body.has-deadline-banner{padding-bottom:90px}}@media (max-width:360px){.deadline-banner{padding:8px 10px}.deadline-banner__icon{font-size:16px}.deadline-banner__status{font-size:13px}.deadline-banner__countdown,.deadline-banner__locked-message{font-size:10px}body.has-deadline-banner{padding-bottom:85px}}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.deadline-banner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.deadline-banner.active{background:linear-gradient(135deg,#fff3cdf2,#ffeaa7f2)}.deadline-banner.locked{background:linear-gradient(135deg,#f8d7daf2,#f5c6cbf2)}}.deadline-toast{position:fixed;right:20px;top:20px;transform:translateX(100%);transition:transform .3s ease-in-out;z-index:9999}.deadline-toast.show{transform:translateX(0)}.deadline-toast__content{align-items:center;background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #dc3545;border-radius:12px;box-shadow:0 8px 25px #dc35454d;display:flex;gap:12px;max-width:400px;min-width:320px;padding:16px}.deadline-toast__icon{flex-shrink:0;font-size:24px}.deadline-toast__message{flex:1 1}.deadline-toast__title{color:#721c24;font-size:16px;font-weight:700;margin-bottom:4px}.deadline-toast__text{color:#721c24;font-size:14px;line-height:1.4}.deadline-toast__close{align-items:center;background:none;border:none;border-radius:50%;color:#721c24;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;padding:0;transition:background-color .2s ease;width:24px}.deadline-toast__close:hover{background-color:#721c241a}@media (max-width:768px){.deadline-toast{left:10px;right:10px;top:10px}.deadline-toast__content{max-width:none;min-width:auto;padding:12px}.deadline-toast__icon{font-size:20px}.deadline-toast__title{font-size:14px}.deadline-toast__text{font-size:12px}}.privacy-terms-container{background-color:#f9fafb;min-height:100vh;padding:3rem 1rem}.privacy-terms-wrapper{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:64rem;overflow:hidden}.privacy-terms-header{background-color:#2563eb;color:#fff;padding:2rem 1.5rem}.privacy-terms-header h1{font-size:1.875rem;font-weight:700;margin:0}.privacy-terms-header p{color:#bfdbfe;margin-top:.5rem}.privacy-terms-tabs{border-bottom:1px solid #e5e7eb;display:flex}.privacy-terms-tab{background-color:#f9fafb;border:none;color:#4b5563;cursor:pointer;flex:1 1;font-weight:500;padding:1rem 1.5rem;text-align:center;transition:all .2s}.privacy-terms-tab:hover{background-color:#f3f4f6}.privacy-terms-tab.active{background-color:#fff;border-bottom:2px solid #2563eb;color:#2563eb}.privacy-terms-content{margin:0 auto;max-width:800px;padding:2rem 1.5rem;text-align:left}.last-updated{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem}.privacy-terms-content section{margin-bottom:2rem;text-align:left}.privacy-terms-content h2{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:left}.privacy-terms-content h3{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.75rem;text-align:left}.privacy-terms-content p{color:#374151;line-height:1.75;margin-bottom:1rem}.privacy-terms-content ul{color:#374151;list-style-type:disc;margin:1rem 0;padding-left:1.5rem;text-align:left}.privacy-terms-content ul li{line-height:1.75;margin-bottom:.5rem}.privacy-terms-content a{color:#2563eb;text-decoration:none}.privacy-terms-content a:hover{text-decoration:underline}.privacy-terms-content strong{font-weight:600}.privacy-terms-footer{background-color:#f3f4f6;color:#4b5563;font-size:.875rem;padding:1rem 1.5rem;text-align:center}@media (max-width:640px){.privacy-terms-container{padding:1.5rem .5rem}.privacy-terms-header h1{font-size:1.5rem}.privacy-terms-tab{font-size:.875rem;padding:.75rem 1rem}.privacy-terms-content{padding:1.5rem 1rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:16px;width:40px}.loading-container p{color:#fff;font-size:16px;margin:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}
/*# sourceMappingURL=main.5490124b.css.map*/