:root{--navy: #0b3d91;--navy-dark: #082a66;--bg: #f4f6fb;--card: #ffffff;--text: #1a2233;--muted: #6b7280;--border: #e2e6ef;--green: #1a8f4c;--red: #c23b3b;--amber: #c98a1f;--gray: #6b7280}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}.app-shell{display:flex;flex-direction:column;height:100dvh;max-width:560px;margin:0 auto;background:var(--bg);position:relative}.app-header{background:var(--navy);color:#fff;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.app-header h1{font-size:17px;margin:0;font-weight:700}.app-header .subtitle{font-size:12px;opacity:.85;margin-top:2px}.app-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px calc(84px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;display:flex;background:#fff;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10}.bottom-nav button{flex:1;border:none;background:transparent;padding:10px 4px 8px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.bottom-nav button.active{color:var(--navy)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px}.voter-card{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;cursor:pointer}.voter-card .name{font-weight:700;font-size:15px}.voter-card .address{font-size:13px;color:var(--muted);margin-top:2px}.voter-card .meta{font-size:12px;color:var(--muted);margin-top:4px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;color:#fff;white-space:nowrap}.filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--muted)}.field input[type=text],.field input[type=password],.field input[type=tel],.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.field textarea{min-height:90px;resize:vertical}.btn{display:block;width:100%;padding:14px;border-radius:12px;border:none;font-weight:700;font-size:15px;cursor:pointer;text-align:center}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{background:#fff;border:1.5px solid var(--navy);color:var(--navy)}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.status-btn{padding:16px 8px;border-radius:12px;border:2px solid var(--border);background:#fff;font-weight:700;font-size:14px;cursor:pointer;color:var(--text)}.status-btn.selected{color:#fff;border-color:transparent}.centered-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100dvh;padding:24px;text-align:center;background:var(--navy);color:#fff}.centered-screen .card{width:100%;max-width:340px;background:#fff;color:var(--text)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-tile{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}.stat-tile .number{font-size:24px;font-weight:800;color:var(--navy)}.stat-tile .label{font-size:12px;color:var(--muted);margin-top:2px}.empty-state{text-align:center;color:var(--muted);padding:40px 16px;font-size:14px}a{color:var(--navy)}
