:root{--primary: #cf2e4d;--primary-dark: #a01b36;--primary-bg: #371120;--secondary: #64748b;--background: #fdf2f4;--surface: #ffffff;--text: #371120;--text-light: #7a5c66;--accent: #f59e0b;--danger: #ef4444;--success: #22c55e;--radius: 16px;--shadow: 0 4px 20px -2px rgba(55, 17, 32, .1);--shadow-lg: 0 10px 25px -3px rgba(55, 17, 32, .15)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Anek Malayalam,sans-serif;background-color:var(--background);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px}img,video,canvas,svg{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;font-family:inherit}h1{font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}h2{font-size:clamp(1.25rem,3vw,2rem);line-height:1.3}h3{font-size:clamp(1.1rem,2.5vw,1.75rem);line-height:1.4}.container{max-width:1200px;margin:0 auto;padding:0 1rem;width:100%}.header{background:var(--primary-bg);color:#fff;box-shadow:var(--shadow);padding:.75rem 0;position:sticky;top:0;z-index:50}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}.logo img{height:32px;width:32px;border-radius:50%;border:2px solid var(--primary)}.nav-links{display:flex;gap:.5rem}.nav-link{padding:.5rem 1rem;border-radius:50px;font-weight:600;transition:all .2s;color:#fffc;font-size:.9rem}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:var(--primary);color:#fff}.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;border:1px solid rgba(207,46,77,.1);overflow:hidden}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#cf2e4d4d}.form-group{margin-bottom:1.25rem}.label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text);font-size:.95rem}.input,select,textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:var(--radius);font-size:1rem;font-family:Anek Malayalam,sans-serif;transition:border-color .2s;background:#fff;max-width:100%}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:snow}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;transition:all .2s;gap:.5rem;font-size:.95rem;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 10px #cf2e4d4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 15px #cf2e4d66}.btn-secondary{background:var(--surface);border:2px solid #e2e8f0;color:var(--text)}.btn-secondary:hover{background:#f8fafc;border-color:var(--primary);color:var(--primary)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.responsive-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}.voter-card{display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden;border-left:5px solid var(--primary)}.sl-no-badge{position:absolute;top:0;right:0;background:var(--primary-bg);color:#fff;padding:.25rem .75rem;border-bottom-left-radius:var(--radius);font-weight:800;font-size:.9rem}.voter-name{font-size:1.1rem;font-weight:700;margin-right:2.5rem;color:var(--primary-bg);word-break:break-word}.voter-details{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.9rem;color:var(--text);background:#fdf2f4;padding:.75rem;border-radius:8px}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:var(--text-light);font-weight:600}.search-bar{position:relative;margin-bottom:1.5rem}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border-radius:50px;border:2px solid #e2e8f0;box-shadow:var(--shadow);font-size:1rem;font-family:Anek Malayalam,sans-serif}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--primary)}@media(max-width:640px){.header-content{flex-direction:column;gap:.75rem}.nav-links{width:100%;justify-content:center}.nav-link{font-size:.85rem;padding:.4rem .8rem}.container{padding:0 1rem}.card{padding:1rem}.grid-2,.grid-3,.voter-details{grid-template-columns:1fr}.btn{width:100%}table{display:block;overflow-x:auto;white-space:nowrap}}.toast-container{position:fixed;top:1rem;right:1rem;left:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}@media(min-width:640px){.toast-container{left:auto;width:auto;min-width:300px}}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;animation:slideIn .3s ease-out;pointer-events:auto;border-left:5px solid}.toast-success{border-left-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-info{border-left-color:var(--accent)}.toast-info .toast-icon{color:var(--accent)}.toast-message{flex:1;font-size:.9rem;font-weight:500;color:var(--text);word-break:break-word}.toast-close{background:none;border:none;color:var(--text-light);cursor:pointer;padding:.25rem}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.bg-pattern{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url(/watermark.png);background-repeat:repeat;background-size:100px;opacity:.05;pointer-events:none}.logo-spinner{width:40px;height:40px;background-image:url(/watermark.png);background-size:contain;background-repeat:no-repeat;background-position:center;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-view{display:none}@media(max-width:768px){.desktop-view{display:none}.mobile-view{display:flex;flex-direction:column;gap:1rem}.voter-tile{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;border:1px solid #eee}}.election-poster{background:linear-gradient(to bottom,#fff9c4,#fff);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:visible;position:relative;display:flex;flex-direction:column;border:1px solid #fcd34d;min-height:380px;margin-top:1rem}.poster-top-badges{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;position:relative;z-index:10}.slogan-badge{font-size:.75rem;font-weight:700;color:#854d0e;line-height:1.3;text-align:left;background:#ffffffe6;padding:.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d;max-width:45%}.front-badge-container{background:#dc2626;color:#fff;padding:.5rem;text-align:center;border-radius:4px;box-shadow:0 4px 6px #0003;min-width:100px}.ward-badge-text{font-size:.65rem;opacity:.9;margin-bottom:2px}.front-name{font-size:1.1rem;font-weight:900;line-height:1;text-transform:uppercase}.candidate-label{font-size:.65rem;font-weight:600;margin-top:2px}.poster-image-container{flex:1;display:flex;align-items:flex-end;justify-content:center;margin-top:-1rem;z-index:1;overflow:hidden;padding-bottom:3rem}.poster-main-photo{width:100%;max-height:220px;object-fit:contain;object-position:bottom}.poster-bottom-section{background:#371120;color:#fff;padding:2.5rem 1rem 1rem;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.poster-symbol-large{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:50%;padding:5px;position:absolute;top:-35px;left:50%;transform:translate(-50%);border:4px solid #371120;box-shadow:0 4px 10px #0000004d;z-index:20}.vote-appeal-text{font-size:.95rem;font-weight:700;line-height:1.4}.candidate-name-highlight{font-size:1.2rem;color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.3);display:block;margin-bottom:.25rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.animate-bounce{animation:bounce 1s infinite}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.modal-content{background:#fff;padding:2rem;border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);position:relative;animation:modalPop .3s cubic-bezier(.175,.885,.32,1.275)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-light);cursor:pointer}@keyframes modalPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:640px){.hide-on-mobile{display:none}.stats-grid{display:flex;flex-direction:column;gap:.75rem}.stats-grid .card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem;text-align:left!important;min-height:auto}.stats-grid .card{flex-direction:row-reverse}.stats-grid .card h3{font-size:1.5rem!important;margin-bottom:0!important}.stats-grid .card p{margin:0;font-size:1rem;color:var(--text)}.action-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.action-grid .card{padding:.75rem;align-items:center;gap:.75rem}.action-grid .card h3{font-size:1rem;margin-bottom:0}.action-grid .card p{display:none}.action-grid .card>div:first-child{padding:.5rem!important;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.action-grid .card svg{width:20px;height:20px}}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}@media(max-width:640px){.report-header{flex-direction:column;gap:1rem;align-items:stretch}.report-header h2{text-align:center;font-size:1.5rem}.report-header button{width:100%;justify-content:center}}
