*{box-sizing:border-box}*,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.banner-container{box-shadow:0 2px 4px #0000001a;margin:0}.banner-container,.banner-wrapper{background:#fff;padding:0;width:100%}.banner-wrapper{display:block;margin:0 auto;text-align:center}.banner-image{display:block;height:auto;margin:0 auto;max-width:100%;object-fit:contain;object-position:center;width:100%}.banner-fallback{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 1rem;text-align:center}.banner-content h2{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.banner-content h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.banner-content h4{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.banner-content p{font-size:.9rem;opacity:.9}@media (max-width:480px){.banner-image{max-height:150px;object-fit:contain;width:100%}}@media (min-width:481px) and (max-width:768px){.banner-image{max-height:180px;object-fit:contain;width:100%}}@media (min-width:769px) and (max-width:1024px){.banner-image{max-height:220px;object-fit:contain;width:100%}}@media (min-width:1025px){.banner-image{max-height:250px;object-fit:contain;width:100%}}.search-form-container{width:100%}.search-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.tab-button.active,.tab-button:hover{background:#fff5f0;color:#ff6b35}.tab-button.active{border-bottom-color:#ff6b35}.search-form{width:100%}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;margin-bottom:.5rem}.form-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a;outline:none}.form-input::placeholder{color:#999}.radio-group{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.5rem}.radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.radio-label input[type=radio]{accent-color:#ff6b35;cursor:pointer;height:18px;width:18px}.radio-label span{font-size:1rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #ff6b3566;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#f5f5f5;border:2px solid #e0e0e0;color:#333}.btn-secondary:hover:not(:disabled){background:#e8e8e8;border-color:#d0d0d0}.btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.search-tabs{flex-direction:column;gap:.25rem}.tab-button{font-size:.9rem;padding:.65rem .75rem}.form-group{margin-bottom:1.25rem}.form-input{font-size:.95rem;padding:.65rem}.form-actions,.radio-group{flex-direction:column;gap:.75rem}.btn{font-size:.95rem;padding:.75rem 1.25rem}}@media (min-width:769px){.form-actions{flex-direction:row}}.results-container{margin-top:2rem}.results-header{margin-bottom:1.5rem;text-align:center}.results-header h2{color:#ff6b35;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.results-count{color:#666;font-size:.9rem}.loading-spinner{padding:3rem 1rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff6b35;height:50px;margin:0 auto 1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:#666;font-size:1rem}.no-results{background:#fff5f0;border:2px dashed #ff6b35;border-radius:8px;padding:3rem 1rem;text-align:center}.no-results p{color:#ff6b35;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.english-text{color:#999!important;font-size:.95rem!important}.results-list{grid-gap:1rem;display:grid;gap:1rem}.result-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:1.25rem;transition:all .3s ease}.result-card:hover{border-color:#ff6b35;box-shadow:0 4px 12px #ff6b3533;transform:translateY(-2px)}.result-name h3{color:#ff6b35;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.result-name-marathi{color:#666;font-size:1rem;font-style:italic;margin-bottom:1rem}.result-address{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.result-address strong{color:#ff6b35;display:block;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.result-address p{color:#555;font-size:.95rem;line-height:1.6}.result-details{gap:.75rem;margin-top:1rem}.detail-item,.result-details{display:flex;flex-direction:column}.detail-item{gap:.25rem}.detail-item strong{color:#ff6b35;font-size:.85rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#555;font-size:.95rem}.result-actions{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.whatsapp-share-btn{align-items:center;background:#25d366;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease;width:100%}.whatsapp-share-btn:hover{background:#20ba5a;box-shadow:0 4px 12px #25d36666;transform:translateY(-2px)}.whatsapp-share-btn:active{transform:translateY(0)}.whatsapp-share-btn svg{flex-shrink:0}.family-section{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.family-btn{background:#ff6b35;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.family-btn:hover:not(:disabled){background:#e55a2b;box-shadow:0 4px 12px #ff6b3566;transform:translateY(-2px)}.family-btn:disabled{cursor:not-allowed;opacity:.6}.family-members{margin-top:.75rem}.family-members strong{color:#ff6b35;display:block;font-size:.9rem;font-weight:700;margin-bottom:.5rem}.family-member-card{background:#fff5f0;border:1px solid #ffd4c4;border-left:3px solid #ff6b35;border-radius:6px;margin-bottom:.75rem;padding:1rem}.family-member-name h4{color:#ff6b35;font-size:1rem;font-weight:700;margin-bottom:.25rem}.family-member-name-eng{color:#666;font-size:.85rem;font-style:italic;margin-bottom:.75rem}.family-member-details{display:flex;flex-direction:column;gap:.5rem}.family-member-details .detail-item{font-size:.85rem}.family-member-details .detail-item strong{font-size:.8rem}.family-member-details .detail-item span{font-size:.85rem}@media (max-width:768px){.results-header h2{font-size:1.25rem}.result-card{padding:1rem}.result-name h3{font-size:1.1rem}.result-address p{font-size:.9rem}}@media (min-width:769px){.results-list{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}.App{background:#f5f5f5;min-height:100vh;padding-bottom:2rem}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.search-banner{background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem 0}.search-banner-title{color:#fff;font-size:1.75rem;font-weight:700;letter-spacing:.5px;margin:0;text-align:center;text-shadow:1px 1px 2px #0003}.voting-link{background:#fff3;border:2px solid #ffffff4d;border-radius:4px;color:#fff;display:inline-block;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.voting-link:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.app-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:0;padding:2rem}.error-message{border:1px solid #fcc;border-radius:8px;margin:1rem 0;padding:1rem}@media (max-width:768px){.search-banner{margin-bottom:1.5rem;padding:1rem 0}.search-banner-title{font-size:1.25rem;letter-spacing:.3px}.app-content{border-radius:8px;padding:1.5rem}}@media (min-width:769px){.search-banner{margin-bottom:2rem;padding:1.5rem 0}.search-banner-title{font-size:1.75rem}.app-content{padding:2.5rem}}.voting-machine{background:#f5f5f5;min-height:100vh;padding:.5rem 0 1rem}.voting-header{background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 2px 8px #0000001a;color:#fff;margin-bottom:.75rem;padding:.75rem 1rem;text-align:center}.back-link{background:#fff3;border-radius:4px;color:#fff;display:inline-block;font-size:1rem;margin-bottom:1rem;padding:.5rem 1rem;text-decoration:none;transition:background .3s}.back-link:hover{background:#ffffff4d}.voting-title{font-size:1.1rem;font-weight:700;line-height:1.3;margin:.25rem 0;text-shadow:1px 1px 2px #0003}.voting-instructions{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:3px solid #ff6b35;border-radius:8px;box-shadow:0 4px 12px #ff6b3533;margin:.75rem .5rem;padding:1rem}.instructions-title{color:#ff6b35;font-size:1.1rem;font-weight:700;margin:0 0 .75rem;text-align:center;text-shadow:1px 1px 2px #0000001a}.instructions-content{color:#333;font-size:.85rem;line-height:1.6}.instructions-content p{font-weight:600;margin:.5rem 0}.instructions-content strong{color:#ff6b35;font-weight:700}.election-info{margin-top:1rem}.election-info h2{font-size:1.5rem;font-weight:600;margin:.5rem 0}.party-name{font-size:1.1rem;margin:.5rem 0 0;opacity:.95}.voting-content{margin:0 auto;max-width:1200px;padding:0 .5rem}.ward-section{background:#fff;border-radius:4px;box-shadow:0 1px 4px #0000001a;margin-bottom:.5rem;padding:.5rem}.ward-title{color:#ff6b35;font-size:.95rem;font-weight:700;margin-bottom:.2rem}.ward-info{color:#333;font-size:.7rem;line-height:1.2;margin-bottom:.2rem}.ward-info strong{color:#ff6b35;font-weight:700}.ward-party{border-bottom:1px solid #f0f0f0;color:#666;font-size:.65rem;line-height:1.2;margin-bottom:.3rem;padding-bottom:.3rem}.ward-party strong{color:#ff6b35;font-weight:700}.candidates-table-wrapper{flex:1 1;margin-top:.2rem;overflow-x:visible;width:100%}.candidates-table{background:#fff;border-collapse:collapse;font-size:.7rem;table-layout:fixed;width:100%}.candidates-table thead{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff}.candidates-table th{word-wrap:break-word;border:1px solid #ffffff4d;font-size:.65rem;font-weight:600;padding:.4rem .3rem;text-align:left}.candidates-table th:first-child{width:7%}.candidates-table th:nth-child(2){width:26%}.candidates-table th:nth-child(3),.candidates-table th:nth-child(4){width:20%}.candidates-table th:nth-child(5){width:27%}.candidates-table td{word-wrap:break-word;border:1px solid #e0e0e0;box-sizing:border-box;overflow-wrap:break-word;padding:.4rem .3rem;vertical-align:middle}.candidates-table td:nth-child(5){min-width:0;overflow:visible;padding:.8rem;vertical-align:middle}.candidates-table tbody tr{transition:background .2s}.candidates-table tbody tr:hover:not(.empty-row){background:#fff9f5}.candidates-table tbody tr.empty-row{background:#f9f9f9;color:#999}.candidate-photo{object-fit:cover;object-position:center 20%}.candidate-photo,.candidate-symbol{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:4px;height:auto;max-width:80px;width:100%}.candidate-symbol{background:#fff;object-fit:contain;padding:0}@keyframes pulse{0%{box-shadow:0 0 0 0 #ff6b35b3;transform:scale(1)}50%{box-shadow:0 0 0 8px #ff6b3500;transform:scale(1.02)}to{box-shadow:0 0 0 0 #ff6b3500;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 5px #ff6b3580,0 0 10px #ff6b354d,0 0 15px #ff6b3533}50%{box-shadow:0 0 10px #ff6b35cc,0 0 20px #ff6b3580,0 0 30px #ff6b354d}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.vote-btn{align-items:center;animation:pulse 2s ease-in-out infinite,glow 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-wrap:wrap;font-size:1rem;font-weight:700;gap:.5rem;justify-content:center;line-height:1.4;max-width:100%;min-height:60px;overflow:visible;padding:1rem .8rem;position:relative;text-overflow:clip;transition:all .3s;white-space:nowrap;width:100%}.vote-btn:hover:not(:disabled){animation:none;box-shadow:0 6px 20px #ff6b3580,0 0 15px #ff6b3566;transform:translateY(-2px) scale(1.05)}.vote-btn:active:not(:disabled){animation:none;transform:translateY(0) scale(.98)}.vote-btn-text{display:inline-block;font-size:1.1em;font-weight:700}.vote-btn-click-here{display:inline-block;font-size:.85em;font-weight:600;margin-left:.3rem;opacity:.95}.vote-btn-indicator{animation:bounceIndicator 1s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:1.8em;vertical-align:middle}@keyframes bounceIndicator{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.vote-btn:disabled{animation:none;cursor:not-allowed;opacity:.5}.vote-btn.voted{animation:none;background:linear-gradient(135deg,#28a745,#20c997)}.vote-btn.voted:hover{animation:none;box-shadow:none;transform:none}.popup-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-content{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:500px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.popup-header{background:linear-gradient(135deg,#ff6b35,#f7931e);overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center}.popup-confetti{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.popup-title{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;position:relative;text-shadow:1px 1px 2px #0003;z-index:1}.popup-subtitle{color:#fffffff2;font-size:1rem;position:relative;z-index:1}.popup-body{padding:1.5rem}.popup-row{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 0}.popup-row:last-of-type{border-bottom:none;margin-bottom:1rem}.popup-row .label{color:#333;font-size:.95rem;font-weight:600}.popup-row .value{color:#666;font-size:.95rem;text-align:right}.popup-images{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.popup-img-block{flex:1 1;text-align:center}.popup-img-block>div{color:#666;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.popup-img-block img{background:#fff;border:2px solid #e0e0e0;border-radius:8px;height:120px;margin:0 auto;max-width:120px;object-fit:contain;object-position:center top;width:100%}.popup-img-block img[alt=Photo]{background:#fff;object-fit:contain;object-position:center 20%}.popup-img-block img[alt=Symbol]{background:#fff;object-fit:contain;object-position:center center;padding:0}.popup-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;padding:1.5rem;text-align:center}.popup-footer-text{color:#666;font-size:1rem;font-weight:500}.voting-footer{color:#666;font-size:.9rem;margin-top:2rem;padding:2rem 1rem;text-align:center}@media (min-width:769px){.voting-content{max-width:1400px;padding:1rem 2rem}.voting-header{margin-bottom:1.5rem;padding:1.5rem 2rem}.voting-title{font-size:1.5rem;margin:.5rem 0}.voting-instructions{border-radius:12px;margin:1.5rem 2rem;padding:1.5rem}.instructions-title{font-size:1.4rem;margin-bottom:1rem}.instructions-content{font-size:1rem}.instructions-content p{margin:.75rem 0}.ward-section{border-radius:8px;margin-bottom:2rem;padding:2rem}.ward-info{font-size:1rem;line-height:1.5;margin-bottom:.5rem}.ward-party{margin-bottom:.5rem;padding-bottom:.5rem}.candidates-table,.ward-party{font-size:.95rem}.candidates-table th{font-size:1rem;padding:1rem .75rem}.candidates-table td{font-size:.95rem;padding:.75rem}.candidates-table td:nth-child(5){padding:1rem}.candidate-photo{max-width:120px}.candidate-symbol{max-width:120px;padding:0}.vote-btn{font-size:1.2rem;max-width:100%;min-height:70px;padding:1.2rem 1.5rem;width:100%}.vote-btn-indicator{font-size:2em}.popup-content{max-width:600px}.popup-header{padding:2.5rem 2rem}.popup-title{font-size:1.75rem}.popup-body{padding:2rem}.popup-row .label,.popup-row .value{font-size:1.1rem}.popup-img-block img{height:150px;max-width:150px}.popup-footer{padding:2rem}.popup-footer-text{font-size:1.1rem}}@media (min-width:769px) and (max-width:1024px){.voting-content{max-width:1200px;padding:1rem}.ward-section{padding:1.5rem}.candidates-table{font-size:.85rem}.candidates-table td,.candidates-table th{padding:.6rem .5rem}.candidates-table td:nth-child(5){padding:.9rem .8rem}.candidate-photo,.candidate-symbol{max-width:90px}.candidate-symbol{padding:0}.vote-btn{flex-wrap:wrap;font-size:1rem;gap:.4rem;max-width:100%;min-height:65px;padding:1rem;white-space:normal;width:100%}.vote-btn-text{font-size:1.05em}.vote-btn-click-here{font-size:.75em}.vote-btn-indicator{font-size:1.7em}}@media (max-width:768px){.voting-content{gap:.75rem;grid-template-columns:1fr;padding:0 .5rem}.voting-machine{padding:.5rem 0 1.5rem}.voting-header{margin-bottom:.75rem;padding:1rem .75rem}.voting-title{word-wrap:break-word;font-size:1rem;line-height:1.3}.voting-instructions{border-width:2px;margin:.75rem .5rem;padding:.75rem}.instructions-title{font-size:.95rem;margin-bottom:.5rem}.instructions-content{font-size:.75rem}.instructions-content p{margin:.4rem 0}.ward-section{margin-bottom:1.5rem;padding:1.5rem 1rem}.ward-title{font-size:1.25rem}.ward-info,.ward-party{font-size:1rem}.candidates-table{font-size:.85rem}.candidates-table td,.candidates-table th{padding:.6rem .5rem}.candidates-table td:nth-child(5){padding:.8rem .7rem}.candidates-table th:first-child{width:8%}.candidates-table th:nth-child(2){width:24%}.candidates-table th:nth-child(3),.candidates-table th:nth-child(4){width:26%}.candidates-table th:nth-child(5){width:22%}.candidate-photo{max-width:220px}.candidate-symbol{max-width:280px;padding:0}.vote-btn{flex-wrap:wrap;font-size:.9rem;gap:.3rem;max-width:100%;min-height:60px;padding:.9rem .6rem;white-space:normal;width:100%}.vote-btn-text{font-size:1em}.vote-btn-click-here{display:none}.vote-btn-indicator{font-size:1.5em}.popup-content{max-width:90%}.popup-header{padding:1.5rem 1rem}.popup-title{font-size:1.25rem}.popup-subtitle{font-size:.9rem}.popup-body{padding:1rem}.popup-images{flex-direction:row;gap:1rem}.popup-img-block img{height:180px;max-width:180px;object-fit:contain;object-position:center top}.popup-img-block img[alt=Photo]{object-position:center 20%}.popup-footer{padding:1rem}.popup-footer-text{font-size:.9rem}}@media (max-width:480px){.voting-header{padding:1rem .5rem}.voting-title{font-size:.95rem}.voting-instructions{border-width:2px;margin:.5rem .25rem;padding:.6rem}.instructions-title{font-size:.85rem;margin-bottom:.4rem}.instructions-content{font-size:.7rem}.instructions-content p{margin:.35rem 0}.voting-content{padding:0 .25rem}.ward-section{padding:1.25rem .75rem}.ward-title{font-size:1.15rem}.ward-info,.ward-party{font-size:.9rem}.candidates-table{font-size:.75rem}.candidates-table td,.candidates-table th{padding:.5rem .4rem}.candidates-table td:nth-child(5){padding:.7rem .6rem}.candidates-table th:first-child{width:10%}.candidates-table th:nth-child(2){width:22%}.candidates-table th:nth-child(3),.candidates-table th:nth-child(4),.candidates-table th:nth-child(5){width:26%}.candidate-photo{max-width:200px}.candidate-symbol{max-width:260px;padding:0}.vote-btn{flex-wrap:wrap;font-size:.85rem;gap:.25rem;max-width:100%;min-height:55px;padding:.8rem .5rem;white-space:normal;width:100%}.vote-btn-text{font-size:.95em}.vote-btn-click-here{display:none}.vote-btn-indicator{font-size:1.4em}}@media (max-width:360px){.vote-btn{font-size:.8rem;gap:.2rem;min-height:50px;padding:.7rem .4rem}.vote-btn-text{font-size:.9em}.vote-btn-indicator{font-size:1.3em}.popup-header{padding:1.25rem .75rem}.popup-title{font-size:1.1rem}.popup-subtitle{font-size:.85rem}.popup-body{padding:.75rem}.popup-row{font-size:.85rem;padding:.5rem 0}.popup-img-block img{height:160px;max-width:160px;object-fit:contain;object-position:center top}.popup-img-block img[alt=Photo]{object-position:center 20%}.popup-footer{padding:.75rem}.popup-footer-text{font-size:.85rem}}.login-container{align-items:center;background:linear-gradient(135deg,#ff6b35,#f7931e);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:2.5rem;width:100%}.login-title{color:#ff6b35;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#333;font-size:.95rem;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s}.form-group input:focus{border-color:#ff6b35;outline:none}.error-message{background:#fee;border-radius:6px;color:#c33;font-size:.9rem;padding:.75rem;text-align:center}.login-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.login-btn:hover:not(:disabled){box-shadow:0 4px 12px #ff6b3566;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}}.cms-container{background:#f5f5f5;min-height:100vh;padding:2rem}.tabs-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.tab-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.tab-btn:hover{border-color:#ff6b35;color:#ff6b35}.tab-btn.active{background:linear-gradient(135deg,#ff6b35,#f7931e);border-color:#ff6b35;color:#fff}.cms-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.cms-header h1{color:#ff6b35;font-size:1.75rem;margin:0}.logout-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .3s}.logout-btn:hover{background:#c82333}.stats-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.analytics-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.analytics-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.analytics-card h3{color:#ff6b35;font-size:1.2rem;margin-bottom:1rem}.analytics-table{border-collapse:collapse;width:100%}.analytics-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;font-size:.9rem;font-weight:600;padding:.75rem;text-align:left}.analytics-table td{border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:.75rem}.analytics-table tbody tr:hover{background:#f9f9f9}.votes-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.votes-section h2{color:#ff6b35;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center}.stat-value{color:#ff6b35;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.filters-section{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.95rem;padding:.5rem 1rem}.filter-select:focus{border-color:#ff6b35;outline:none}.filter-input{background:#fff;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;min-width:200px;padding:.5rem 1rem}.filter-input:focus{border-color:#ff6b35;outline:none}.refresh-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .3s}.refresh-btn:hover{background:#218838}.export-btn{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1rem;transition:background .3s}.export-btn:hover{background:#138496}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.tracking-table{border-collapse:collapse;width:100%}.tracking-table thead{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff}.tracking-table th{font-size:.9rem;font-weight:600;padding:1rem;text-align:left}.tracking-table td{border-bottom:1px solid #e0e0e0;font-size:.85rem;padding:.75rem 1rem}.tracking-table tbody tr:hover{background:#f9f9f9}.action-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.action-badge.visit{background:#e3f2fd;color:#1976d2}.action-badge.click{background:#fff3e0;color:#f57c00}.action-badge.search{background:#e8f5e9;color:#388e3c}.action-badge.vote{background:#fce4ec;color:#c2185b}.user-agent{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-cell{font-size:.75rem;max-width:250px}.details-cell pre{margin:0;max-height:100px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.no-data{color:#999}.loading,.no-data{padding:2rem;text-align:center}.loading{color:#666;font-size:1.2rem}.full-width{grid-column:1/-1}.info-text{background:#f0f7ff;border-left:4px solid #ff6b35;border-radius:4px;color:#666;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem}.date-group{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;overflow:hidden}.date-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;font-weight:600;margin:0;padding:1rem 1.5rem}.pages-list{display:flex;flex-direction:column;gap:.25rem}.page-badge{background:#f0f0f0;border-radius:4px;color:#333;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.page-badge.search{background:#e3f2fd;color:#1976d2}.page-badge.voting{background:#fce4ec;color:#c2185b}.actions-list{display:flex;flex-wrap:wrap;gap:.25rem}.action-tag{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:3px;color:#666;display:inline-block;font-size:.7rem;padding:.2rem .4rem}@media (max-width:768px){.cms-container{padding:1rem}.cms-header{align-items:flex-start;flex-direction:column;gap:1rem}.stats-section{grid-template-columns:1fr}.tracking-table{font-size:.75rem}.tracking-table td,.tracking-table th{padding:.5rem}.date-header{font-size:.95rem;padding:.75rem 1rem}}
/*# sourceMappingURL=main.86f89694.css.map*/