:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}body,html,#root{margin:0;padding:0;width:100%;height:100%;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:#f8fafc;color:#213547;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:none}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2563eb;color:#fff;cursor:pointer;transition:background-color .25s}button:hover{background-color:#1d4ed8}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.home-container{display:flex;flex-direction:column;background-color:#f5f7fb;min-height:100%;width:100%;font-family:Inter,Arial,sans-serif;padding:20px;box-sizing:border-box}.home-header{text-align:center;margin-bottom:40px;padding:20px}.home-header h1{font-size:2.5em;color:#2c3e50;margin-bottom:15px}.home-description{font-size:1.2em;color:#7f8c8d;max-width:800px;margin:0 auto}.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:40px;padding:0 20px}.state-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:25px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s;text-align:center}.state-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px #00000026}.state-card a{text-decoration:none;color:inherit}.state-card h2{margin:0 0 10px;color:#3498db;font-size:1.5em}.state-card p{margin:0;color:#7f8c8d;font-size:.9em}.dashboard{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#fff;border-radius:12px;box-shadow:0 4px 10px #0000000d;padding:40px 30px;width:90%;max-width:1000px;text-align:center}.right-panel{width:100%}.right-panel h2{margin-bottom:25px;color:#1e293b;font-size:1.8rem;font-weight:600}.map-image{width:100%;max-width:800px;height:auto;display:block;margin:0 auto;border-radius:10px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.map-image:hover{transform:scale(1.02)}@media(max-width:768px){.home-container{padding:15px}.home-header{margin-bottom:30px;padding:15px}.home-header h1{font-size:1.8em}.home-description{font-size:1em}.states-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;padding:0 10px}.state-card{padding:20px}.state-card h2{font-size:1.3em}.dashboard{width:100%;padding:25px 20px}.right-panel h2{font-size:1.4rem;margin-bottom:20px}}@media(max-width:480px){.home-header h1{font-size:1.5em}.home-description{font-size:.9em}.states-grid{grid-template-columns:1fr;gap:12px;padding:0}.state-card{padding:15px}.dashboard{padding:20px 15px}}.state-page{padding:20px;max-width:1200px;margin:0 auto}.state-header{margin-bottom:30px;text-align:center}.state-header h1{font-size:2.5em;color:#2c3e50;margin-bottom:10px}.state-summary{font-size:1.2em;color:#7f8c8d}.districts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:30px;min-height:200px}.districts-grid:empty{display:none}.districts-grid:empty:after{content:"No districts found";display:block;text-align:center;color:#999;padding:40px}.district-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.district-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.district-card h2{margin-top:0;margin-bottom:10px}.district-card h2 a{color:#3498db;text-decoration:none}.district-card h2 a:hover{text-decoration:underline}.constituency-count{color:#7f8c8d;font-size:.9em;margin-bottom:15px}.constituency-list-preview{list-style:none;padding:0;margin:0;min-height:50px;display:block}.constituency-list-preview li{margin-bottom:8px;display:block;visibility:visible}.constituency-list-preview a{color:#34495e;text-decoration:none;display:block;padding:5px 0;border-bottom:1px solid #f0f0f0}.constituency-list-preview a:hover{color:#3498db;padding-left:5px;transition:all .2s}.more-link{margin-top:10px;font-weight:700}.more-link a{color:#3498db;border-bottom:none}.no-constituencies{color:#999;font-style:italic;margin-top:10px}@media(max-width:768px){.state-page{padding:15px}.state-header h1{font-size:1.8em}.state-summary{font-size:1em}.districts-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.district-card{padding:15px}.district-card h2{font-size:1.2em}}@media(max-width:480px){.state-page{padding:10px}.state-header h1{font-size:1.5em}.state-summary{font-size:.9em}.districts-grid{grid-template-columns:1fr;gap:12px}.district-card{padding:12px}.constituency-list-preview a{font-size:.9em}}.district-page{padding:20px;max-width:1200px;margin:0 auto}.district-header{margin-bottom:30px}.breadcrumb{margin-bottom:15px;font-size:.9em;color:#7f8c8d}.breadcrumb a{color:#3498db;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.district-header h1{font-size:2.5em;color:#2c3e50;margin-bottom:10px}.district-summary{font-size:1.2em;color:#7f8c8d}.constituencies-list{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.constituencies-list h2{margin-top:0;color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:10px}.constituencies-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.constituencies-list li{padding:12px;background:#f8f9fa;border-radius:5px;transition:background .2s}.constituencies-list li:hover{background:#e9ecef}.constituencies-list a{color:#34495e;text-decoration:none;font-weight:500;display:block}.constituencies-list a:hover{color:#3498db}.loading,.error{text-align:center;padding:40px;font-size:1.2em}.error{color:#e74c3c}@media(max-width:768px){.district-page{padding:15px}.district-header h1{font-size:1.8em}.district-summary{font-size:1em}.constituencies-list{padding:20px}.constituencies-list ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}}@media(max-width:480px){.district-page{padding:10px}.district-header h1{font-size:1.5em}.district-summary{font-size:.9em}.breadcrumb{font-size:.85em}.constituencies-list{padding:15px}.constituencies-list ul{grid-template-columns:1fr;gap:10px}.constituencies-list li{padding:10px}}.result-card-table{margin:24px auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:box-shadow .3s ease}.result-card-table:hover{box-shadow:0 8px 30px #0000001f}.result-card-header{padding:18px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:3px solid rgba(255,255,255,.2)}.result-card-header h3{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.5px}.result-card-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.meta-item{font-size:13px;opacity:.95;display:flex;align-items:center;gap:6px}.meta-item strong{font-weight:600;opacity:.9}.reservation-badge{background:#fff3;padding:4px 12px;border-radius:20px;font-weight:600;font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.result-content{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;background:#fafbfc}.result-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:#fff;border-radius:12px;overflow:hidden}.result-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;padding:10px 12px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}.result-table td{padding:10px 12px;border-top:1px solid #f1f5f9;color:#334155;transition:background-color .15s ease;font-size:13px}.result-table tr{transition:all .2s ease}.result-table tr:hover{background-color:#f8faff;transform:scale(1.01)}.result-table tr:hover td{color:#1e293b}.winner-row{background:linear-gradient(90deg,#ecfdf5,#d1fae5);font-weight:600;border-left:4px solid #10b981}.winner-row td{border-top:2px solid #10b981;color:#065f46;font-weight:600}.winner-row:hover{background:linear-gradient(90deg,#d1fae5,#a7f3d0)}.result-table td span{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:13px;letter-spacing:.3px;transition:all .2s ease}.result-table tr:hover td span{transform:scale(1.05)}.table-scroll{width:60%;max-height:280px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;position:relative;background:#fff;box-shadow:0 2px 8px #0000000a}.table-scroll::-webkit-scrollbar{width:8px}.table-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.table-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.chart-container{width:40%;height:280px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;display:flex;align-items:center;justify-content:center}@media(max-width:1024px){.result-content{flex-direction:column}.table-scroll{width:100%;max-height:250px}.chart-container{width:100%;height:250px}}@media(max-width:768px){.result-card-header{padding:14px 16px}.result-card-header h3{font-size:16px;margin-bottom:8px}.result-card-meta{gap:8px;font-size:11px}.meta-item{font-size:11px}.result-content{padding:16px;gap:16px;flex-direction:column}.table-scroll{width:100%;max-height:300px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.result-table{min-width:600px}.result-table th,.result-table td{padding:8px 6px;font-size:12px;white-space:nowrap}.result-table th{font-size:10px;padding:8px 6px}.chart-container{width:100%;height:250px;padding:12px}}@media(max-width:480px){.result-card-header{padding:12px 14px}.result-card-header h3{font-size:14px}.result-card-meta{flex-direction:column;align-items:flex-start;gap:6px}.result-content{padding:12px;gap:12px}.table-scroll{max-height:250px}.result-table{min-width:550px}.result-table th,.result-table td{padding:6px 4px;font-size:11px}.chart-container{height:200px;padding:10px}}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px}.not-found-content{text-align:center;max-width:600px}.not-found-title{font-size:120px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;line-height:1}.not-found-subtitle{font-size:32px;font-weight:600;color:#1e293b;margin:20px 0 16px}.not-found-message{font-size:18px;color:#64748b;margin:0 0 32px;line-height:1.6}.not-found-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.not-found-button{display:inline-block;padding:12px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:16px;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.not-found-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media(max-width:768px){.not-found-title{font-size:80px}.not-found-subtitle{font-size:24px}.not-found-message{font-size:16px}}.navbar{display:flex;justify-content:space-between;align-items:center;background:#1e293b;color:#fff;padding:8px 30px;border-radius:10px;height:50px;box-sizing:border-box;position:relative;z-index:1001}.navbar-left{display:flex;align-items:center;gap:15px}.navbar h1{margin:0;font-size:1.5rem}.navbar nav a{color:#fff;text-decoration:none;margin-left:20px;transition:color .3s}.navbar nav a:hover{color:#38bdf8}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1002}.hamburger-line{width:100%;height:3px;background:#fff;border-radius:3px;transition:all .3s ease}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media(max-width:768px){.navbar{padding:8px 15px;height:60px}.navbar h1{font-size:1.2rem}.hamburger-menu{display:flex}.navbar nav{display:none}}.sidebar{height:100%;overflow-y:auto;padding:20px;background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #0000000a}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.sidebar h3{margin:0;font-size:20px;font-weight:700;color:#1e293b;letter-spacing:-.5px}.sidebar-close{display:none;background:transparent;border:none;font-size:32px;color:#64748b;cursor:pointer;padding:0;width:32px;height:32px;line-height:1;transition:color .2s ease}.sidebar-close:hover{color:#1e293b}.summary-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.summary-table th,.summary-table td{padding:12px 16px;text-align:left;border:none}.summary-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.state-dropdown{width:100%;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;font-size:15px;font-weight:600;color:#1e293b;cursor:pointer;outline:none;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.state-dropdown:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateY(-1px)}.state-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.district-row{transition:all .2s ease;cursor:pointer;border-bottom:1px solid #f1f5f9}.district-row:last-child{border-bottom:none}.district-row:hover,.district-row.active{background:linear-gradient(90deg,#f0f4ff,#e8f0fe);transform:translate(4px)}.district-link{display:block;font-weight:600;color:#334155;font-size:15px;transition:color .2s ease}.district-row:hover .district-link,.district-row.active .district-link{color:#667eea}.constituency-row{background:linear-gradient(90deg,#f8faff,#f0f4ff);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.constituency-row td{padding:12px 16px 12px 32px;border-left:4px solid #667eea;background:transparent}.constituency-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.constituency-list li{margin:0;padding:0}.constituency-link{display:inline-block;text-decoration:none;color:#475569;font-size:14px;font-weight:500;padding:6px 12px;border-radius:6px;transition:all .2s ease;background:#fff;border:1px solid #e2e8f0}.constituency-link:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translate(4px);box-shadow:0 2px 8px #667eea4d;border-color:transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar p{color:#64748b;font-size:14px;text-align:center;padding:20px}@media(max-width:768px){.sidebar{padding:15px}.sidebar-header{margin-bottom:20px}.sidebar h3{font-size:18px}.sidebar-close{display:block}.summary-table th,.summary-table td{padding:10px 12px;font-size:14px}.state-dropdown{padding:10px 14px;font-size:14px}.district-link{font-size:14px}.constituency-link{font-size:13px;padding:5px 10px}}.app-layout{display:flex;height:calc(100vh - 70px);position:relative}.sidebar-container{width:200px;flex-shrink:0;height:100%;overflow:visible;background-color:#f8f9fa;border-right:1px solid #ddd;z-index:1000;overflow-y:auto;transition:transform .3s ease-in-out}.sidebar-overlay{display:none}.content-area{flex:1;padding:20px;background-color:#fff;overflow-y:auto;z-index:500}@media(max-width:768px){.app-layout{height:calc(100vh - 60px)}.sidebar-container{position:fixed;left:0;top:60px;width:280px;max-width:85vw;height:calc(100vh - 60px);transform:translate(-100%);z-index:999;box-shadow:2px 0 10px #0003}.sidebar-container.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:60px 0 0;background:#00000080;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.content-area{width:100%;padding:15px}}@media(max-width:480px){.content-area{padding:10px}}
