*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#4a4a4a;background:linear-gradient(180deg,#f7fafd 60%,#eef1f7);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;justify-content:center;align-items:center}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100vw;padding:clamp(8px,2vh,16px);position:relative;text-align:center}.logo-container{width:100%;max-width:1200px;display:flex;justify-content:center;margin-top:clamp(24px,4vh,32px);margin-bottom:clamp(8px,2vh,16px)}.logo{height:clamp(56px,10vh,80px);aspect-ratio:1/1;object-fit:contain}.content-container{background:#fff;border-radius:24px;box-shadow:0 4px 32px #00000017;padding:clamp(16px,4vw,32px) clamp(10px,6vw,32px);max-width:min(600px,98vw);width:100%;box-sizing:border-box;text-align:center;margin-bottom:clamp(16px,3vh,24px);display:flex;flex-direction:column;align-items:center}.title{color:#1a3365;margin-bottom:clamp(8px,2vh,16px);font-size:clamp(22px,5vw,26px);font-weight:700;text-align:center}.organization{font-weight:500;font-size:clamp(18px,3.5vw,20px);margin:0;margin-bottom:clamp(2px,1vh,8px);text-align:center}.room-name{color:#4a4a4a;margin:0 0 clamp(16px,3vh,24px) 0;font-size:clamp(15px,2.5vw,17px);text-align:center}.button-container{margin:clamp(16px,3vh,24px) 0 clamp(8px,2vh,16px) 0;display:flex;flex-direction:column;gap:clamp(8px,2vh,16px);width:100%;max-width:400px}.primary-button{border:none;border-radius:10px;padding:clamp(10px,2vh,14px) clamp(10px,4vw,18px);font-size:clamp(15px,2.5vw,17px);font-weight:600;cursor:pointer;width:100%;transition:all .2s ease;background:#5067c5;color:#fff;box-shadow:0 2px 8px #5067c512}.secondary-button{border:none;border-radius:10px;padding:clamp(10px,2vh,14px) clamp(10px,4vw,18px);font-size:clamp(15px,2.5vw,17px);font-weight:600;cursor:pointer;width:100%;transition:all .2s ease;background:#fff;color:#5067c5;border:2px solid #5067c5;box-shadow:0 2px 8px #5067c512}.footer{margin-top:clamp(16px,3vh,24px);color:#1a3365;font-size:clamp(13px,2vw,14px);opacity:.7;background:transparent;padding:0;text-align:center}.footer a{color:#1a3365;font-weight:600;text-decoration:none}.loading-container,.error-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;background:linear-gradient(180deg,#f7fafd 60%,#eef1f7);font-size:clamp(15px,2.5vw,17px);text-align:center}.error-container{color:#eb3b5a}.voting-title{color:#1a3365;margin:clamp(24px,4vh,32px) 0 clamp(8px,2vh,16px) 0;font-size:clamp(18px,3.5vw,20px);text-align:center}.voting-list{display:flex;flex-direction:column;gap:clamp(16px,3vh,24px);width:100%;max-width:800px}.voting-card{display:flex;flex-direction:column;gap:12px;background:#f4f8fb;border-radius:10px;padding:clamp(16px,3vw,20px);width:100%}.voting-header{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;width:100%}.voting-info{text-align:center;min-width:200px;flex:1 1 auto}.voting-name{font-weight:600;font-size:clamp(15px,2.5vw,17px);text-align:center}.company-name{color:#888;font-size:clamp(13px,2vw,14px);text-align:center}.status-container{display:flex;align-items:center;gap:clamp(8px,2vw,16px);flex-wrap:wrap;justify-content:center;width:100%}.status-badge{color:#fff;border-radius:6px;padding:4px 12px;font-weight:600;font-size:clamp(13px,2vw,14px);text-transform:capitalize}.ballots-container{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:100%}.ballot-card{display:flex;flex-direction:column;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease;width:100%;text-align:center}.ballot-card:hover{background:#f8f9fa;border-color:#1a3365}.ballot-info{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center}.ballot-id{font-size:clamp(13px,2vw,14px);font-weight:500;text-align:center}.ballot-details{font-size:clamp(12px,1.8vw,13px);color:#666;text-align:center}.voting-status{font-weight:600;font-size:clamp(13px,2vw,14px);text-align:center}.ballot-details-container{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center;align-items:flex-start}@media (min-width: 769px){.mobile-only{display:none!important}}.error-display{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.error-display .error-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;text-align:center;max-width:400px;width:100%}.error-display .error-content .error-icon{font-size:3rem;margin-bottom:1rem}.error-display .error-content h2{color:#dc3545;margin-bottom:1rem;font-size:1.5rem}.error-display .error-content p{color:#6c757d;margin-bottom:1.5rem;line-height:1.5}.error-display .error-content .primary-button{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.error-display .error-content .primary-button:hover{background:#0056b3}.language-selector{position:fixed;top:1rem;right:1rem;z-index:1000;font-family:system-ui,-apple-system,sans-serif}.language-selector .language-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.language-selector .language-button:hover{border-color:#5067c5;box-shadow:0 2px 8px #5067c51a}.language-selector .language-button .language-flag{font-size:1.2rem}.language-selector .language-button .language-name{font-size:.9rem;color:#333}.language-selector .language-button .language-arrow{font-size:.7rem;color:#666;transition:transform .2s ease;margin-left:.25rem}.language-selector .language-button .language-arrow.open{transform:rotate(180deg)}.language-selector .language-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:160px;overflow:hidden;animation:slideDown .2s ease}.language-selector .language-dropdown .language-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.language-selector .language-dropdown .language-option:hover{background-color:#f5f7fa}.language-selector .language-dropdown .language-option.active{background-color:#f0f2f5;color:#5067c5}.language-selector .language-dropdown .language-option .language-flag{font-size:1.2rem}.language-selector .language-dropdown .language-option .language-name{font-size:.9rem;color:inherit}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
