@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-main: #ffffff;--bg-card: #fafafa;--bg-hover: #f4f4f5;--bg-input: #ffffff;--text-primary: #09090b;--text-secondary: #71717a;--text-muted: #a1a1aa;--border-color: #e4e4e7;--border-hover: #d4d4d8;--primary-btn-bg: #09090b;--primary-btn-text: #ffffff;--primary-btn-hover: #27272a;--danger-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--info-color: #3b82f6;--focus-ring: rgba(113, 113, 122, .18);--danger-bg: #fef2f2;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-panel: 0 4px 6px -1px rgba(0, 0, 0, .05)}*{box-sizing:border-box}html{font-size:13px}body{margin:0;background:var(--bg-main);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;min-height:2.35rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);color:var(--text-primary);padding:.5rem .65rem;line-height:1.3;box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) 50%,calc(100% - .72rem) 50%;background-repeat:no-repeat;background-size:.35rem .35rem;padding-right:2.25rem}textarea{min-height:6rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-hover)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--text-secondary);box-shadow:0 0 0 3px var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;background:var(--bg-hover);color:var(--text-muted)}table{width:100%;border-collapse:collapse}.glass-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-panel)}.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;gap:.45rem;min-height:2.25rem;border-radius:6px;padding:.42rem .8rem;color:inherit;font-size:1rem;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .1s ease;vertical-align:middle}.btn-primary{border:1px solid transparent;background:var(--primary-btn-bg);color:var(--primary-btn-text)}.btn-primary:hover{background:var(--primary-btn-hover)}.btn-secondary{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-hover)}.btn-danger{border:1px solid #dc2626;background:#dc2626;color:#fff}.btn-danger:hover{border-color:#b91c1c;background:#b91c1c}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{cursor:not-allowed;opacity:.55}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;border:0;border-radius:6px;background:transparent;color:var(--text-secondary)}.icon-button:hover{background:var(--bg-hover);color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);white-space:nowrap}.route-loading-panel{display:flex;align-items:center;gap:.75rem;min-height:5rem;padding:1rem}.route-loading-mark{width:2rem;height:2rem;flex:0 0 auto;border-radius:999px;background:var(--border-color);animation:skeleton-pulse 1.35s ease-in-out infinite}.route-loading-copy{display:grid;flex:1 1 auto;gap:.45rem}.route-loading-copy span{display:block;width:min(16rem,70%);height:.65rem;border-radius:999px;background:var(--border-color);animation:skeleton-pulse 1.35s ease-in-out infinite}.route-loading-copy span:last-child{width:min(10rem,45%);opacity:.7}.route-error-panel{display:grid;width:min(100%,34rem);gap:.75rem;margin:2rem auto;padding:1.25rem}.route-error-panel strong{color:var(--text-primary);font-size:1.05rem}.route-error-panel p{margin:0;color:var(--text-secondary)}.route-error-panel .btn-secondary{justify-self:start}.login-shell{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at top,rgba(244,244,245,.85),transparent 30rem),linear-gradient(180deg,var(--bg-main) 0%,var(--bg-main) 58%,var(--bg-card) 100%)}.login-card{width:100%;max-width:28rem;padding:2rem}.login-brand,.panel-brand-title{display:flex;align-items:center;gap:.875rem}.login-brand{margin-bottom:2rem}.login-brand span,.panel-brand-title span{display:block;color:var(--text-secondary);font-size:.8125rem}.login-mark{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input)}.login-heading{margin-bottom:1.5rem}.login-heading h1{margin:0;font-size:1.75rem}.login-heading p{margin:.5rem 0 0;color:var(--text-secondary)}.login-form,.login-field,.form-field{display:flex;flex-direction:column}.login-form{gap:1rem}.login-field,.form-field{gap:.45rem;color:var(--text-primary);font-size:.875rem;font-weight:500}.login-field>span,.form-label{color:var(--text-secondary);font-size:.8125rem;line-height:1.25}.login-field:focus-within>span,.form-field:focus-within .form-label{color:var(--text-primary)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.form-field.has-error,.alert-error{animation:shake .4s ease-in-out}.form-error{color:var(--danger-color);font-size:.75rem;font-weight:500}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441f}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:.875rem;top:50%;color:var(--text-muted);pointer-events:none;transform:translateY(-50%)}.input-with-icon input,.input-with-icon select,.input-with-icon textarea{padding-left:2.5rem}.textarea-with-icon svg{top:1rem;transform:none}.login-submit{width:100%;margin-top:.5rem}.panel-shell{display:flex;min-height:100vh}.panel-sidebar{width:232px;flex:0 0 232px;border-right:1px solid var(--border-color);background:var(--bg-card)}.panel-brand{display:flex;height:64px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding:0 .875rem}.panel-nav{display:flex;flex-direction:column;gap:.25rem;padding:.75rem}@keyframes active-glow{0%,to{background:var(--bg-hover);border-color:var(--border-color)}50%{background:#09090b0d;border-color:var(--border-hover)}}.panel-nav-link,.panel-nav-button{display:flex;align-items:center;gap:.625rem;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);padding:.48rem .65rem;position:relative;transition:all .2s ease}.panel-nav-link.active,.panel-nav-link:hover,.panel-nav-button.active,.panel-nav-button:hover{border-color:var(--border-color);background:var(--bg-hover);color:var(--text-primary)}.panel-nav-link.active{padding-left:.95rem;animation:active-glow 3s infinite ease-in-out}.panel-nav-link.active:before{content:"";position:absolute;left:4px;top:25%;height:50%;width:3px;background-color:var(--text-primary);border-radius:9999px;transition:all .2s ease}.panel-nav-button{width:100%;background:transparent;text-align:left}.panel-nav-group{display:grid;gap:.25rem}.panel-nav-chevron{margin-left:auto;transition:transform .15s ease}.panel-nav-chevron.open{transform:rotate(180deg)}.panel-nav-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out,opacity .3s ease-out,margin .3s ease-out;opacity:0;overflow:hidden;margin-left:.9rem;padding-left:.75rem;border-left:1px solid var(--border-color)}.panel-nav-submenu.expanded{grid-template-rows:1fr;opacity:1;margin-top:.25rem;margin-bottom:.25rem}.panel-nav-submenu-inner{min-height:0;display:grid;gap:.2rem}.panel-nav-sublink{display:flex;align-items:center;gap:.5rem;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);padding:.4rem .55rem;font-size:.8125rem;position:relative;transition:all .2s ease}.panel-nav-sublink.active,.panel-nav-sublink:hover{border-color:var(--border-color);background:var(--bg-hover);color:var(--text-primary)}.panel-nav-sublink.active{padding-left:.85rem;animation:active-glow 3s infinite ease-in-out}.panel-nav-sublink.active:before{content:"";position:absolute;left:3px;top:30%;height:40%;width:2.5px;background-color:var(--text-primary);border-radius:9999px;transition:all .2s ease}.sidebar-nav-icon{transition:transform .2s ease,color .2s ease}.panel-nav-link:hover .sidebar-nav-icon,.panel-nav-button:hover .sidebar-nav-icon,.panel-nav-sublink:hover .sidebar-nav-icon{transform:rotate(12deg) scale(1.05);color:var(--text-primary)}.panel-content{display:flex;min-width:0;flex:1;flex-direction:column}.panel-header{display:flex;height:64px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--bg-card);padding:0 1rem}.panel-header-left,.panel-header-actions,.panel-user{display:flex;align-items:center;gap:.875rem}.panel-user{color:var(--text-secondary)}.panel-user-link{min-width:0;border:1px solid transparent;border-radius:6px;padding:.28rem .45rem;transition:background .15s ease,border-color .15s ease}.panel-user-link:hover{border-color:var(--border-color);background:var(--bg-hover);color:var(--text-primary)}.panel-user-copy{display:grid;gap:.1rem;min-width:0;line-height:1.15}.panel-user-copy strong,.panel-user-copy small{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-user-copy strong{color:var(--text-primary);font-size:.8125rem}.panel-user-copy small{color:var(--text-secondary);font-size:.75rem}.panel-main{flex:1;overflow-y:auto;padding:.875rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.875rem}.page-header-copy{display:grid;gap:.25rem;min-width:0}.page-header h1{margin:0;font-size:1.625rem;line-height:1.2}.page-header-copy p{margin:0;color:var(--text-secondary);font-size:.875rem}.page-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.record-count{display:inline-flex;align-items:center;min-height:2rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);padding:.35rem .65rem;font-size:.8125rem;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}@keyframes slide-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stat-card{padding:.875rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;animation:slide-fade-in .4s cubic-bezier(.16,1,.3,1) both}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-hover);box-shadow:0 10px 15px -3px #0000000a,0 4px 6px -2px #00000003}.stat-card.dashboard-accent-success:hover{border-color:#10b9814d;box-shadow:0 10px 20px -5px #10b98114,0 4px 6px -2px #10b98103}.stat-card.dashboard-accent-warning:hover{border-color:#f59e0b4d;box-shadow:0 10px 20px -5px #f59e0b14,0 4px 6px -2px #f59e0b03}.stat-card.dashboard-accent-danger:hover{border-color:#ef44444d;box-shadow:0 10px 20px -5px #ef444414,0 4px 6px -2px #ef444403}.stat-card.dashboard-accent-info:hover{border-color:#3b82f64d;box-shadow:0 10px 20px -5px #3b82f614,0 4px 6px -2px #3b82f603}.stat-card-header{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);font-size:.8125rem;margin-bottom:.75rem}.stat-card strong{display:block;font-size:1.5rem;line-height:1.2}.stat-card-icon{display:inline-flex;border-radius:6px;background:var(--bg-hover);padding:.375rem;transition:transform .25s ease,background-color .25s ease}.stat-card:hover .stat-card-icon{transform:rotate(6deg) scale(1.08)}.stat-card.dashboard-accent-success .stat-card-icon{background:#10b98112;color:#059669c7}.stat-card.dashboard-accent-warning .stat-card-icon{background:#f59e0b14;color:#d97706c7}.stat-card.dashboard-accent-danger .stat-card-icon{background:#ef444412;color:#dc2626b8}.stat-card.dashboard-accent-info .stat-card-icon{background:#3b82f612;color:#2563ebbf}.dashboard-layout{display:grid;gap:.875rem}.dashboard-state-panel{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:10rem;color:var(--text-secondary)}.dashboard-state-stack{display:grid;justify-items:start;gap:.75rem}@keyframes skeleton-pulse{0%,to{opacity:.52}50%{opacity:.9}}.dashboard-skeleton{pointer-events:none}.dashboard-skeleton .dashboard-panel,.dashboard-skeleton .stats-grid>*{animation:none}.skeleton-block{display:block;border-radius:999px;background:var(--border-color);animation:skeleton-pulse 1.35s ease-in-out infinite}.skeleton-line{height:.55rem}.skeleton-line-short{width:34%}.skeleton-line-medium{width:58%}.skeleton-line-long{width:min(28rem,82%)}.skeleton-title{width:min(17rem,62%);height:1.15rem;margin:.45rem 0}.skeleton-title-small{width:min(11rem,45%);height:.85rem;margin:0 0 .5rem}.skeleton-value{width:7rem;height:1.55rem;margin-top:1rem;border-radius:6px}.skeleton-icon{width:2rem;height:2rem;flex:0 0 auto;border-radius:7px}.skeleton-icon-round{border-radius:999px}.skeleton-chart{width:100%;height:3.4rem;margin-top:1.2rem;border-radius:8px}.skeleton-chart-compact{height:.55rem;margin-top:.85rem}.dashboard-skeleton-stat{display:flex;min-height:7.1rem;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.875rem}.dashboard-skeleton-stat>div{flex:1 1 auto}.dashboard-skeleton-heading{display:grid;justify-items:start}.dashboard-skeleton-metric{display:grid;align-content:start}.dashboard-skeleton-card-title{display:flex;align-items:center;gap:.65rem}.dashboard-skeleton-card-title .skeleton-line{flex:1 1 auto}.dashboard-skeleton-booth-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:.8rem}.dashboard-skeleton-booth-labels .skeleton-line{width:75%}.dashboard-skeleton-panel{min-height:18rem}.dashboard-skeleton-list{display:grid;margin-top:1rem}.dashboard-skeleton-list>div{display:grid;gap:.45rem;border-bottom:1px solid var(--border-color);padding:.8rem 0}.dashboard-skeleton-list>div:last-child{border-bottom:0}.dashboard-skeleton-readiness{min-height:9.5rem}.dashboard-skeleton-readiness-item{display:grid;align-content:start;gap:.5rem;min-width:0}@media(prefers-reduced-motion:reduce){.skeleton-block,.route-loading-mark,.route-loading-copy span{animation:none}}.dashboard-section-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);gap:.875rem;align-items:start}.dashboard-panel{min-width:0;padding:.875rem;animation:slide-fade-in .5s cubic-bezier(.16,1,.3,1) both}.stats-grid>:nth-child(1){animation-delay:.05s}.stats-grid>:nth-child(2){animation-delay:.1s}.stats-grid>:nth-child(3){animation-delay:.15s}.stats-grid>:nth-child(4){animation-delay:.2s}.stats-grid>:nth-child(5){animation-delay:.25s}.stats-grid>:nth-child(6){animation-delay:.3s}.dashboard-section-grid:nth-of-type(1)>:nth-child(1){animation-delay:.35s}.dashboard-section-grid:nth-of-type(1)>:nth-child(2){animation-delay:.4s}.dashboard-section-grid:nth-of-type(2)>:nth-child(1){animation-delay:.45s}.dashboard-section-grid:nth-of-type(2)>:nth-child(2){animation-delay:.5s}.dashboard-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;color:var(--text-secondary)}.dashboard-panel-header h2{margin:0;color:var(--text-primary);font-size:1rem;line-height:1.25}.dashboard-panel-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.dashboard-panel-header svg{flex:0 0 auto;margin-top:.1rem}.dashboard-attention-list,.dashboard-import-list{display:grid;margin:0;padding:0}.dashboard-import-list{list-style:none}.dashboard-attention-row,.dashboard-import-row{border-bottom:1px solid var(--border-color);padding:.7rem 0}.dashboard-attention-row,.dashboard-import-row{border-left:3px solid transparent;padding-left:.65rem}.dashboard-attention-row:first-child,.dashboard-import-row:first-child{padding-top:0}.dashboard-attention-row:last-child,.dashboard-import-row:last-child{border-bottom:0;padding-bottom:0}.dashboard-attention-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-attention-row>div,.dashboard-import-main>div,.dashboard-progress-heading>div{display:grid;gap:.15rem;min-width:0}.dashboard-attention-row strong,.dashboard-import-main strong,.dashboard-progress-heading strong{min-width:0;overflow-wrap:anywhere;color:var(--text-primary);font-size:.875rem}.dashboard-attention-row span,.dashboard-import-main span,.dashboard-progress-heading span{min-width:0;overflow-wrap:anywhere;color:var(--text-secondary);font-size:.8125rem}.dashboard-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.875rem;align-items:center}.dashboard-import-main{display:flex;align-items:flex-start;gap:.6rem;min-width:0}.dashboard-import-main svg{flex:0 0 auto;margin-top:.15rem;color:var(--text-secondary)}.dashboard-import-row.dashboard-accent-success,.dashboard-attention-row.dashboard-accent-success{border-left-color:#10b9816b}.dashboard-import-row.dashboard-accent-warning,.dashboard-attention-row.dashboard-accent-warning{border-left-color:#f59e0b6b}.dashboard-import-row.dashboard-accent-danger,.dashboard-attention-row.dashboard-accent-danger{border-left-color:#ef444461}.dashboard-import-row.dashboard-accent-info,.dashboard-attention-row.dashboard-accent-info{border-left-color:#3b82f66b}.dashboard-import-row.dashboard-accent-success .dashboard-import-main svg,.dashboard-progress-row.dashboard-accent-success .dashboard-progress-heading>span{color:#059669c7}.dashboard-import-row.dashboard-accent-warning .dashboard-import-main svg,.dashboard-progress-row.dashboard-accent-warning .dashboard-progress-heading>span{color:#d97706c7}.dashboard-import-row.dashboard-accent-danger .dashboard-import-main svg,.dashboard-progress-row.dashboard-accent-danger .dashboard-progress-heading>span{color:#dc2626b8}.dashboard-import-row.dashboard-accent-info .dashboard-import-main svg,.dashboard-progress-row.dashboard-accent-info .dashboard-progress-heading>span{color:#2563ebbf}.dashboard-import-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem;color:var(--text-secondary);font-size:.8125rem;text-align:right}.dashboard-progress-list{display:grid;gap:.8rem}.dashboard-composition-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.dashboard-progress-row{display:grid;gap:.45rem;min-width:0}.dashboard-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}.dashboard-progress-heading>span{flex:0 0 auto;color:var(--text-primary);font-size:.875rem;font-weight:600}.dashboard-progress-track{height:.45rem;overflow:hidden;border-radius:999px;background:var(--bg-hover)}@keyframes fill-bar{0%{width:0}}.dashboard-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--text-primary);animation:fill-bar 1s cubic-bezier(.16,1,.3,1) both}.dashboard-progress-row.dashboard-accent-success .dashboard-progress-track span{background:#10b9818c}.dashboard-progress-row.dashboard-accent-warning .dashboard-progress-track span{background:#f59e0b8c}.dashboard-progress-row.dashboard-accent-danger .dashboard-progress-track span{background:#ef444480}.dashboard-progress-row.dashboard-accent-info .dashboard-progress-track span{background:#3b82f68c}.electorate-landscape{border-color:#3b82f633;padding:1rem}.electorate-landscape-header{margin-bottom:.85rem}.electorate-landscape-header>span{display:block;margin-bottom:.2rem;color:#2563ebd1;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.electorate-landscape-header h2{margin:0;color:var(--text-primary);font-size:1.25rem;line-height:1.25}.electorate-landscape-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.electorate-landscape-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr) minmax(0,1.1fr);gap:.75rem}.landscape-card,.landscape-booth-card{min-width:0;border:1px solid var(--border-color);border-radius:10px;padding:.875rem}.landscape-card{min-height:11rem}.landscape-card-gender,.landscape-card-age{border-color:#3b82f62e;background:#3b82f606}.landscape-card-geography{border-color:#0d94882e;background:#0d948806}.landscape-booth-card{grid-column:1 / -1;border-color:#7c3aed2e;background:#7c3aed06}.landscape-card-header{display:flex;align-items:center;gap:.625rem;min-width:0}.landscape-card-header h3{margin:0;color:var(--text-primary);font-size:.875rem}.landscape-card-header p{margin:.12rem 0 0;color:var(--text-secondary);font-size:.75rem}.landscape-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid currentColor;border-radius:999px}.landscape-icon-blue{border-color:#2563eb33;background:#3b82f60f;color:#2563ebd9}.landscape-icon-teal{border-color:#0d948833;background:#0d94880f;color:#0d9488db}.landscape-icon-violet{border-color:#7c3aed33;background:#7c3aed0f;color:#6d28d9d6}.gender-balance-track{display:flex;height:.55rem;overflow:hidden;margin-top:1.35rem;border-radius:999px;background:var(--bg-hover)}.gender-balance-track span{display:block;height:100%}.gender-balance-female{background:#2563ebf2}.gender-balance-male{border-left:1px solid var(--bg-card);background:#60a5faf2}.gender-balance-values{display:flex;justify-content:space-between;gap:1rem;margin-top:.55rem}.gender-balance-values>div{display:grid;gap:.08rem}.gender-balance-values>div:last-child{justify-items:end;text-align:right}.gender-balance-values strong{color:#2563ebf2;font-size:1.125rem}.gender-balance-values span,.landscape-card-footnote{color:var(--text-secondary);font-size:.75rem}.landscape-card-footnote{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0}.age-profile-chart{display:block;width:100%;height:7rem;margin-top:.35rem;overflow:visible}.age-chart-baseline{stroke:var(--border-color);stroke-width:1}.age-chart-area{fill:#3b82f60f}.age-chart-line{fill:none;stroke:#2563ebf2;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.age-chart-point{fill:#2563eb}.age-chart-label,.age-chart-value{font-family:inherit;text-anchor:middle}.age-chart-label{fill:var(--text-secondary);font-size:10px}.age-chart-value{fill:var(--text-primary);font-size:10px;font-weight:700}.landscape-ranking-list{display:grid;gap:.7rem;margin-top:.85rem}.landscape-ranking-row{display:grid;gap:.35rem}.landscape-ranking-row>div:first-child{display:flex;justify-content:space-between;gap:.75rem;min-width:0}.landscape-ranking-row strong,.landscape-ranking-row span{overflow-wrap:anywhere;font-size:.75rem}.landscape-ranking-row strong{color:var(--text-secondary);font-weight:500}.landscape-ranking-row span{flex:0 0 auto;color:var(--text-primary);font-weight:600}.landscape-ranking-track{height:.35rem;overflow:hidden;border-radius:999px;background:var(--bg-hover)}.landscape-ranking-track span{display:block;height:100%;border-radius:inherit;background:#0d9488c7}.landscape-booth-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landscape-insight{display:flex;flex:0 0 auto;align-items:baseline;gap:.45rem;border:1px solid rgba(124,58,237,.15);border-radius:8px;background:#7c3aed0a;padding:.45rem .65rem;color:#6d28d9d1;font-size:.75rem}.landscape-insight strong{font-size:.875rem}.booth-segment-track{display:flex;height:.55rem;overflow:hidden;margin-top:.8rem;border-radius:999px;background:var(--bg-hover)}.booth-segment{display:block;height:100%;border-right:1px solid var(--bg-card)}.booth-segment-1,.booth-legend-dot-1{background:#6d28d9eb}.booth-segment-2,.booth-legend-dot-2{background:#7c3aedb8}.booth-segment-3,.booth-legend-dot-3{background:#8b5cf694}.booth-segment-4,.booth-legend-dot-4{background:#a78bfa8c}.booth-segment-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem 1rem;margin-top:.7rem}.booth-segment-labels>div{display:flex;align-items:flex-start;gap:.45rem;min-width:0}.booth-segment-labels>div>div{display:grid;gap:.08rem;min-width:0}.booth-segment-labels strong,.booth-segment-labels span{overflow-wrap:anywhere;font-size:.75rem}.booth-segment-labels strong{color:var(--text-primary)}.booth-segment-labels span{color:var(--text-secondary)}.booth-legend-dot{flex:0 0 auto;width:.45rem;height:.45rem;margin-top:.22rem;border-radius:999px}.dashboard-readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dashboard-readiness-grid>:not(:first-child){border-left:1px solid var(--border-color);padding-left:1rem}@media(max-width:1180px){.electorate-landscape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landscape-card-geography,.landscape-booth-card{grid-column:1 / -1}.landscape-card-geography{min-height:auto}}@media(max-width:720px){.electorate-landscape-grid,.dashboard-readiness-grid{grid-template-columns:1fr}.landscape-card-geography,.landscape-booth-card{grid-column:auto}.landscape-booth-heading{align-items:flex-start;flex-direction:column}.landscape-insight{align-self:stretch;justify-content:space-between}.dashboard-skeleton-booth-labels{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-readiness-grid>:not(:first-child){border-top:1px solid var(--border-color);border-left:0;padding-top:1rem;padding-left:0}}.data-table{overflow:hidden}.table-toolbar,.table-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem}.table-toolbar{border-bottom:1px solid var(--border-color)}.table-toolbar-primary{display:flex;flex:1 1 auto;align-items:center;gap:.75rem;min-width:0;flex-wrap:wrap}.table-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto;flex-wrap:wrap}.table-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.table-filter-control{display:flex;align-items:center;gap:.45rem;color:var(--text-secondary);font-size:.8125rem;font-weight:500}.table-filter-control select{width:auto;min-width:8rem}.table-filter-custom{display:flex;align-items:center}.table-footer{flex-wrap:wrap;border-top:1px solid var(--border-color);color:var(--text-secondary)}.table-footer-meta,.table-page-size{display:flex;align-items:center;gap:.6rem}.table-footer-meta{min-width:0;flex-wrap:wrap}.table-pagination{flex-wrap:wrap;justify-content:flex-end}.table-footer-count,.table-pagination-current,.table-page-size{font-size:.8125rem;font-weight:500}.table-page-size select{width:auto;min-width:5.5rem;min-height:2rem;padding:.32rem 1.8rem .32rem .55rem}.table-search{position:relative;flex:1 1 18rem;width:min(28rem,100%);max-width:28rem}.table-search svg{position:absolute;left:.75rem;top:50%;color:var(--text-muted);transform:translateY(-50%)}.table-search input{padding-left:2.25rem}.table-scroll{overflow-x:auto}.table-state-cell{background:var(--bg-card)}.table-state-message{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1.5rem;color:var(--text-secondary);font-weight:500}.table-cell-wrap{min-width:16rem;white-space:normal}th,td{border-bottom:1px solid var(--border-color);padding:.52rem .75rem;text-align:left;white-space:nowrap}th{background:var(--bg-hover);color:var(--text-secondary);font-weight:500}.table-header-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.table-header-sortable:hover{background:var(--border-color);color:var(--text-primary)}.table-header-content{display:inline-flex;align-items:center;gap:.4rem}.table-header-sort-icon{display:inline-flex;align-items:center;color:var(--text-muted)}.table-header-sort-icon .sort-active{color:#36454f}.table-header-sort-icon .sort-neutral{opacity:.5}tbody tr:hover{background:var(--bg-hover)}.table-cell-right{text-align:right}.status-toggle,.row-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.status-toggle{min-height:1.85rem;padding:.32rem .55rem}.status-toggle.is-active{border-color:#10b98138;background:#10b9811a;color:var(--success-color)}.status-toggle.is-inactive{border-color:#f59e0b47;background:#f59e0b1f;color:#b45309}.status-toggle:hover:not(:disabled){filter:brightness(.98)}.row-action-button:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover);color:var(--text-primary)}.status-toggle:disabled,.row-action-button:disabled{cursor:not-allowed;opacity:.55}.row-action-button{min-height:1.85rem;padding:.34rem .48rem}.row-action-danger{border-color:#fecaca;color:#b91c1c}.row-action-danger:hover:not(:disabled){border-color:#fca5a5;background:var(--danger-bg);color:#991b1b}.import-file-download{display:inline-flex;align-items:center;gap:.4rem;max-width:24rem;border:0;background:transparent;color:var(--info-color);padding:0;font-weight:600;text-align:left}.import-file-download span{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.16rem}.import-file-download:hover:not(:disabled){color:#1d4ed8}.import-file-download:focus-visible{border-radius:3px;outline:2px solid var(--info-color);outline-offset:3px}.import-file-download:disabled{cursor:wait;opacity:.6}.table-pagination,.row-actions,.modal-actions{display:flex;align-items:center;gap:.5rem}.row-actions{justify-content:flex-end}.table-selection-checkbox{width:1rem;min-height:1rem;height:1rem;margin:0;padding:0;box-shadow:none;accent-color:var(--text-primary)}.parchi-selection-actions{display:inline-flex;align-items:center;gap:.45rem;border-right:1px solid var(--border-color);padding-right:.55rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.modal-actions{justify-content:flex-end}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.45rem;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap}.badge-default{background:var(--bg-hover);color:var(--text-secondary)}.badge-success{background:#10b9811a;color:var(--success-color)}.badge-warning{background:#f59e0b1f;color:#b45309}.badge-danger{background:var(--danger-bg);color:#b91c1c}.badge-info{background:#3b82f61a;color:var(--info-color)}.alert{border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.alert-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}@keyframes modal-backdrop-in{0%{background-color:#0000;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{background-color:#09090b59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes modal-zoom-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:.875rem;animation:modal-backdrop-in .22s cubic-bezier(.16,1,.3,1) both}.modal{width:100%;max-height:90vh;overflow:hidden;animation:modal-zoom-in .25s cubic-bezier(.16,1,.3,1) both}.modal-sm{max-width:28rem}.modal-md{max-width:38rem}.modal-lg{max-width:min(74rem,calc(100vw - 1.5rem))}.modal-import-preview{display:flex;height:92vh;max-width:min(90rem,calc(100vw - 1.5rem));max-height:92vh;flex-direction:column}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding:.875rem 1rem}.modal-header h2{margin:0;font-size:1.125rem}.modal-body{display:flex;flex-direction:column;gap:1rem;max-height:70vh;overflow-y:auto;padding:1rem}.modal-import-preview .modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.modal-footer{justify-content:flex-end;border-top:1px solid var(--border-color);border-bottom:0}.confirm-dialog{display:flex;gap:.875rem;align-items:flex-start}.confirm-icon{display:inline-flex;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:8px}.confirm-icon-danger{border:1px solid #fecaca;background:var(--danger-bg);color:#b91c1c}.confirm-title{margin:0;color:var(--text-primary);font-weight:600}.confirm-copy{margin:.35rem 0 0;color:var(--text-secondary);font-size:.875rem}.form-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem .75rem}.checkbox-field{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);color:var(--text-primary);padding:.7rem .8rem;font-size:.875rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.checkbox-field:hover{border-color:var(--border-hover);background:var(--bg-card)}.checkbox-field input{position:relative;flex:0 0 2.45rem;width:2.45rem;height:1.35rem;min-height:0;margin:0;border-radius:9999px;background:var(--border-hover);box-shadow:none;padding:0;appearance:none}.checkbox-field input:after{content:"";position:absolute;left:.125rem;top:.125rem;width:1.1rem;height:1.1rem;border-radius:9999px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.checkbox-field input:checked{border-color:var(--text-primary);background:var(--text-primary)}.checkbox-field input:checked:after{transform:translate(1.1rem)}.checkbox-field input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.master-grid,.import-layout{display:grid;gap:.875rem;margin-bottom:.875rem}.master-crud-layout{display:grid;grid-template-columns:minmax(20rem,.42fr) minmax(0,1fr);gap:.875rem;align-items:start}.master-form-panel{overflow:hidden}.master-form-panel-header{border-bottom:1px solid var(--border-color);padding:.875rem 1rem}.master-form-panel-header h2,.master-form-section-header h3{margin:0;font-size:1rem}.master-form-panel-header p,.master-form-section-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.master-form-alert{margin:.875rem 1rem 0}.master-form-section{padding:.875rem 1rem;border-bottom:1px solid var(--border-color)}.master-form-section-header{margin-bottom:.75rem}.master-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.master-form-fields .checkbox-field,.master-form-fields textarea{grid-column:1 / -1}.master-status-field span{display:grid;gap:.15rem}.master-status-field small{color:var(--text-secondary);font-size:.75rem;font-weight:400}.master-form-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.875rem 1rem}.master-cell-main strong,.master-cell-main span{display:block}.master-cell-main span{color:var(--text-secondary);font-size:.8125rem}.master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.master-section,.import-panel{padding:0;overflow:hidden}.master-section-header{border-bottom:1px solid var(--border-color);padding:.875rem 1rem}.master-section-header h2,.import-errors h3{margin:0;font-size:1rem}.master-section-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.master-form,.import-form{display:grid;gap:.75rem;padding:.875rem 1rem}.master-form{grid-template-columns:repeat(2,minmax(0,1fr))}.master-form .checkbox-field,.master-form-actions,.import-form .btn-primary{align-self:end}.compact-checkbox{min-height:2.35rem;padding:.5rem .65rem}.master-form-actions,.import-actions{display:flex;gap:.5rem}.master-list{display:grid;border-top:1px solid var(--border-color)}.master-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border-color)}.master-row:last-child{border-bottom:0}.master-row strong,.master-row span{display:block}.master-row span{color:var(--text-secondary);font-size:.8125rem}.import-layout{grid-template-columns:minmax(18rem,.9fr) minmax(0,1.1fr)}.import-form{grid-template-columns:minmax(0,1fr)}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:.875rem 1rem}.import-summary div{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);padding:.625rem}.import-summary span,.import-summary strong{display:block}.import-summary span{color:var(--text-secondary);font-size:.75rem}.import-summary strong{font-size:1.25rem}.import-actions,.import-errors{padding:0 1rem .875rem}.import-errors h3{margin-bottom:.5rem}.row-error-text,.row-result-error span{color:#b91c1c;font-size:.8125rem}.row-result-error{display:flex;align-items:center;gap:.5rem;max-width:30rem;white-space:normal}.voter-status-stack,.voter-import-errors-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.voter-import-errors{margin:0 0 1rem;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;padding:.75rem}.voter-import-errors-heading span{color:#991b1b;font-size:.8125rem;font-weight:600}.voter-import-errors ul{margin:.625rem 0 0;padding-left:1.1rem;color:#991b1b;font-size:.875rem}.empty-state{padding:1.5rem;text-align:center}.empty-state h3{margin:0}.empty-state p,.access-denied p{color:var(--text-secondary)}.empty-state-action{display:flex;justify-content:center;margin-top:.875rem}.access-denied{max-width:28rem;margin:4rem auto;padding:2rem;text-align:center}.profile-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;width:100%}.profile-card{overflow:hidden}.profile-card:first-child{grid-column:1 / -1}.profile-section-header{border-bottom:1px solid var(--border-color);padding:.75rem 1rem}.profile-section-header h2{margin:0;font-size:1rem}.profile-section-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.profile-summary{display:flex;align-items:center;gap:.875rem;min-width:0;padding:1rem}.profile-avatar{display:inline-flex;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-weight:700;line-height:1}.profile-summary-copy{display:grid;gap:.25rem;min-width:0;width:100%}.profile-summary-heading,.profile-summary-badges{display:flex;align-items:center;gap:.5rem;min-width:0}.profile-summary-heading{flex-wrap:wrap;justify-content:space-between}.profile-summary-heading>strong{min-width:0;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.25}.profile-summary-badges{flex-wrap:wrap;gap:.35rem;margin-left:auto}.profile-summary-copy>span{min-width:0;color:var(--text-secondary);font-size:.8125rem;overflow-wrap:anywhere}.profile-form{display:grid;gap:.875rem;padding:1rem}.profile-form-grid,.profile-password-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.profile-actions{display:flex;justify-content:flex-end;gap:.5rem}.voter-filter-panel{display:grid;gap:.75rem;margin-bottom:.875rem;padding:.875rem}.voter-filter-sections{display:grid;gap:.875rem}.voter-filter-section{display:grid;gap:.5rem}.voter-filter-section-heading{color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.voter-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.625rem;align-items:end}.voter-filter-item{min-width:0}.voter-filter-panel .voter-filter-control{align-items:stretch;flex-direction:column;gap:.35rem;width:100%}.voter-filter-panel .voter-filter-control select,.voter-filter-panel .voter-filter-control input{width:100%;min-width:0}.voter-filter-actions{display:flex;justify-content:flex-end;gap:.5rem}.voter-filter-control select,.voter-filter-control input,.voter-filter-control .searchable-select-container{min-width:8.75rem}.voter-filter-control input{width:8.75rem}.voter-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}.voter-detail-grid div{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);padding:.625rem;min-width:0}.voter-detail-grid span,.voter-detail-grid strong{display:block}.parchi-modal-content{display:grid;gap:1rem}.parchi-generation-summary,.parchi-template-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}.parchi-generation-summary div,.parchi-template-preview div{min-width:0;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);padding:.625rem}.parchi-generation-summary span,.parchi-generation-summary strong,.parchi-template-preview span,.parchi-template-preview strong{display:block}.parchi-generation-summary span,.parchi-template-preview span{color:var(--text-secondary);font-size:.75rem}.parchi-generation-summary strong,.parchi-template-preview strong{margin-top:.2rem;white-space:normal;overflow-wrap:anywhere}.parchi-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.parchi-template-preview{grid-template-columns:1fr}@media(max-width:640px){.parchi-generation-summary,.parchi-template-grid{grid-template-columns:1fr}.parchi-selection-actions{width:100%;border-right:0;padding-right:0}}.voter-detail-grid span{color:var(--text-secondary);font-size:.75rem}.voter-detail-grid strong{margin-top:.2rem;min-width:0;overflow-wrap:anywhere;font-size:.875rem}.mobile-only,.sidebar-overlay{display:none}@media(max-width:768px){.mobile-only{display:inline-flex}.desktop-only{display:none}.panel-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:280px;transform:translate(-100%);transition:transform .2s ease}.panel-sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;z-index:55;display:block;pointer-events:none;background:#00000073;opacity:0;transition:opacity .2s ease}.sidebar-overlay.open{pointer-events:auto;opacity:1}.panel-header{height:60px}.page-header,.table-footer,.table-toolbar{align-items:stretch;flex-direction:column}.page-header-actions{width:100%;justify-content:flex-start}.page-header-actions .btn-primary,.page-header-actions .btn-secondary{width:100%}.form-grid,.profile-layout,.profile-form-grid,.profile-password-grid,.voter-detail-grid,.master-grid,.master-form,.master-crud-layout,.master-form-fields,.import-layout,.import-summary{grid-template-columns:1fr}.master-row{grid-template-columns:1fr;align-items:stretch}.master-form-actions,.master-form-footer,.profile-actions,.voter-filter-actions{flex-direction:column}.master-form-footer .btn-primary,.master-form-footer .btn-secondary,.profile-actions .btn-primary,.profile-actions .btn-secondary,.voter-filter-actions .btn-secondary{width:100%}.profile-summary{align-items:flex-start}.profile-summary-heading,.profile-summary-badges{gap:.4rem}.modal-actions{width:100%;flex-direction:column}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-danger{width:100%}.table-toolbar-primary,.table-filters,.table-footer-meta,.table-toolbar-actions,.table-pagination{align-items:stretch;flex-direction:column;width:100%}.dashboard-section-grid{grid-template-columns:1fr}.dashboard-attention-row,.dashboard-import-row{align-items:flex-start;grid-template-columns:1fr}.dashboard-attention-row{flex-direction:column}.dashboard-import-meta{justify-content:flex-start;text-align:left}.dashboard-composition-list{grid-template-columns:1fr}.dashboard-progress-heading{align-items:stretch;flex-direction:column;gap:.35rem}.dashboard-progress-heading>span{flex:0 1 auto}.table-toolbar-actions{margin-left:0}.table-search{width:100%;max-width:none;flex-basis:auto}.table-filter-control,.table-page-size{align-items:stretch;flex-direction:column}.table-filter-control select,.table-filter-control input,.table-page-size select{width:100%}.table-footer-count,.table-pagination-current{text-align:center}.panel-user-copy strong,.panel-user-copy small{max-width:7rem}}.import-alert{margin:.875rem 1rem 0}.import-upload-panel{margin-bottom:.875rem}.import-modal-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.875rem;padding:.25rem 0}.import-table-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 .625rem}.import-table-heading h2{margin:0;font-size:1rem}.import-table-heading p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem}.import-status-progress{width:8.5rem;max-width:100%}.import-status-progress-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text-secondary);font-size:.75rem;font-weight:600}.import-status-progress-track{height:.35rem;margin-top:.35rem;overflow:hidden;border-radius:999px;background:var(--bg-hover)}.import-status-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--info-color)}.import-preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.625rem}.import-preview-summary div{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);padding:.625rem}.import-preview-summary span,.import-preview-summary strong{display:block}.import-preview-summary span{color:var(--text-secondary);font-size:.75rem}.import-preview-summary strong{margin-top:.2rem;font-size:1rem}.import-preview-summary .badge{width:fit-content}.import-preview-data-table .table-footer{flex:0 0 auto;align-items:flex-start;gap:.75rem}.import-preview-data-table .table-footer-meta{flex:1 1 18rem}.import-preview-data-table .table-pagination{flex:0 1 auto}.import-preview-data-table{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.import-preview-data-table .table-toolbar{flex:0 0 auto}.import-preview-data-table .table-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}.import-preview-data-table table{min-width:118rem}.import-preview-data-table th{position:sticky;top:0;z-index:2}.import-preview-data-table .import-preview-text-cell{min-width:11rem;white-space:normal;overflow-wrap:anywhere}.import-preview-data-table .import-preview-compact-cell{min-width:7rem}.import-pdf-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.import-pdf-form .form-field:nth-last-of-type(1){grid-column:span 3}.import-pdf-form .btn-primary{align-self:end}.import-file-summary{display:inline-flex;align-items:center;gap:.4rem;min-width:0;color:var(--text-secondary);font-size:.8125rem;font-weight:500;overflow-wrap:anywhere}@media(max-width:768px){.import-pdf-form{grid-template-columns:1fr}.import-pdf-form .form-field:nth-last-of-type(1){grid-column:auto}.import-pdf-form .btn-primary{width:100%}}.role-table-primary,.role-permission-summary{display:grid;gap:.15rem;min-width:0}.role-table-primary strong,.role-permission-summary strong{color:var(--text-primary);font-weight:600}.role-table-primary span,.role-permission-summary span{color:var(--text-secondary);font-size:.8125rem}.permission-editor{display:grid;gap:.65rem}.permission-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.permission-editor-header>div{display:grid;gap:.2rem}.permission-editor-header h3{margin:0;font-size:.95rem}.permission-selection-count{color:var(--text-secondary);font-size:.8125rem}.permission-empty-state{border:1px dashed var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);padding:1rem;text-align:center}.permission-sections{display:grid;gap:.65rem}.permission-section{display:grid;gap:.45rem}.permission-section-heading{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:0}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.55rem}.permission-group{overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);transition:background .15s ease,border-color .15s ease}.permission-group:hover{border-color:var(--border-hover);background:var(--bg-card)}.permission-group.is-selected{border-color:#3b82f647;background:#3b82f60a}.permission-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;border-bottom:1px solid var(--border-color);background:var(--bg-hover);padding:.55rem}.permission-group-header>div{display:grid;gap:.15rem;min-width:0}.permission-group-header h4{margin:0;color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.2}.permission-group-header p{margin:0;color:var(--text-secondary);font-size:.7rem;line-height:1.25;overflow-wrap:anywhere}.permission-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .55rem;padding:.55rem}.role-grants-grid{display:flex;flex-wrap:wrap;gap:.45rem}.permission-checkbox{display:inline-flex;align-items:center;gap:.4rem;min-height:1.55rem;min-width:0;color:var(--text-primary);font-size:.8125rem;font-weight:500;line-height:1.25;cursor:pointer}.permission-checkbox span{min-width:0;overflow-wrap:anywhere}.permission-editor-header>.permission-checkbox,.permission-group-header .permission-checkbox{flex:0 0 auto;min-height:auto;color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.permission-checkbox input{width:.9rem;min-height:.9rem;height:.9rem;flex:0 0 .9rem;margin:0;padding:0;box-shadow:none;accent-color:var(--text-primary);cursor:pointer}.permission-checkbox input:disabled{cursor:not-allowed}.permission-checkbox:has(input:disabled){cursor:not-allowed;opacity:.62}@media(max-width:760px){.permission-editor-header{align-items:stretch;flex-direction:column}.permission-editor-header>.permission-checkbox{align-self:flex-start}}@media(max-width:480px){.permission-grid,.permission-actions{grid-template-columns:1fr}.permission-editor-header>.permission-checkbox{width:100%;justify-content:center}}.panel-lang-switcher-pill{position:relative;display:inline-flex;align-items:center;gap:.15rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:9999px;padding:2px;height:2.25rem;box-shadow:var(--shadow-sm);transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-lang-switcher-pill:hover{border-color:var(--border-hover);background:var(--bg-hover)}.lang-switcher-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--text-secondary);margin-left:.25rem;transition:transform .2s ease,color .2s ease}.panel-lang-switcher-pill:hover .lang-switcher-icon{transform:rotate(12deg) scale(1.05);color:var(--text-primary)}.lang-pill-btn{border:0;background:transparent;padding:0 .65rem;height:1.75rem;border-radius:9999px;font-size:.77rem;font-weight:600;color:var(--text-secondary);cursor:pointer;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.lang-pill-btn:hover{color:var(--text-primary)}.lang-pill-btn.active{background:var(--primary-btn-bg);color:var(--primary-btn-text);font-weight:700;box-shadow:0 1px 3px #00000026}.location-access-section{grid-column:1 / -1;border-top:1px solid var(--border-color);padding-top:1rem;margin-top:.5rem}.location-access-title{font-size:.95rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.location-access-subtitle{font-size:.8125rem;color:var(--text-secondary);margin-bottom:1rem}.location-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem .75rem}.selected-tags-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;min-height:2rem;padding:.4rem;border:1px dashed var(--border-color);border-radius:6px;background:var(--bg-hover);align-content:flex-start}.selected-tags-empty{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;padding-left:.25rem}.location-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem}.location-tag-remove{background:none;border:none;color:inherit;font-size:1rem;line-height:1;padding:0;margin:0 0 0 .15rem;cursor:pointer;opacity:.6;transition:opacity .15s ease;display:inline-flex;align-items:center}.location-tag-remove:hover{opacity:1}.searchable-select-container{position:relative;width:100%;-webkit-user-select:none;user-select:none}.searchable-select-trigger{display:flex;align-items:center;border:1px solid var(--border-color);background:var(--bg-input);min-height:2.35rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.searchable-select-trigger:hover{border-color:var(--border-hover);background:var(--bg-hover)}.searchable-select-container.is-open .searchable-select-trigger{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f626;background:var(--bg-card)}.trigger-icon-prefix{color:var(--text-secondary);margin-right:.625rem;flex-shrink:0}.trigger-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--text-primary);text-align:left}.trigger-label.is-placeholder{color:var(--text-muted, #9ca3af)}.trigger-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:.5rem}.trigger-clear-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;transition:all .15s ease}.trigger-clear-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.trigger-chevron{color:var(--text-secondary);transition:transform .2s ease}.searchable-select-container.is-open .trigger-chevron{transform:rotate(180deg)}.searchable-select-dropdown{z-index:999;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));overflow:hidden;padding:6px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transform:translateY(-8px);animation:selectSlideDown .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes selectSlideDown{to{opacity:1;transform:translateY(0)}}.dropdown-search-wrapper{display:flex;align-items:center;min-height:2.35rem;padding:.35rem .65rem;border:1px solid var(--border-color);gap:.5rem;background:var(--bg-input);border-radius:6px;margin-bottom:6px}.dropdown-search-wrapper:focus-within{border-color:var(--primary-color, #3b82f6)}.search-icon{color:var(--text-secondary);flex-shrink:0}.dropdown-search-input{flex:1 1 auto;border:none!important;outline:none!important;background:transparent!important;font-size:.875rem;color:var(--text-primary);padding:0!important;width:100%;box-shadow:none!important;min-height:auto!important}.dropdown-options-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.dropdown-options-list::-webkit-scrollbar{width:6px}.dropdown-options-list::-webkit-scrollbar-track{background:transparent}.dropdown-options-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.dropdown-options-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.dropdown-option-item{padding:.5rem .75rem;font-size:.8125rem;cursor:pointer;border-radius:6px;color:var(--text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:space-between}.dropdown-option-item:hover{background:var(--bg-hover)}.dropdown-option-item.is-selected{background:var(--primary-btn-bg, #3b82f6);color:var(--primary-btn-text, #ffffff);font-weight:600}.dropdown-no-results{padding:.875rem;text-align:center;color:var(--text-muted);font-size:.8125rem}.searchable-select-container.is-disabled{opacity:.65}.searchable-select-container.is-disabled .searchable-select-trigger{cursor:not-allowed;pointer-events:none}.possible-family-members{margin:1.25rem 0;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-lg, 12px);background:var(--bg-secondary)}.family-generation-form{margin-bottom:1.25rem;padding:1rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card)}.family-generation-form>.btn-primary{margin-top:1rem}.family-data-toolbar{display:grid;grid-template-columns:minmax(16rem,1fr) repeat(3,minmax(9rem,auto)) auto;align-items:end;gap:.75rem;margin:.875rem 0;padding:.875rem}.family-data-toolbar>label{display:grid;gap:.3rem;color:var(--text-secondary);font-size:.75rem;font-weight:500}.family-data-toolbar select{min-width:0}.family-data-search{position:relative}.family-data-search svg{position:absolute;bottom:.68rem;left:.7rem;color:var(--text-muted)}.family-data-search input{padding-left:2.1rem}.family-data-list{display:grid;gap:.875rem}.family-data-group{overflow:hidden;padding:1rem;animation:slide-fade-in .3s ease both}.family-data-group-heading,.family-data-title,.family-data-badges,.family-data-member-heading,.family-data-pagination,.family-data-pagination>div{display:flex;align-items:center;gap:.65rem}.family-data-group-heading,.family-data-pagination{justify-content:space-between}.family-data-group-heading{align-items:flex-start;padding-bottom:.875rem;border-bottom:1px solid var(--border-color)}.family-data-title{align-items:flex-start}.family-data-title h2,.family-data-title p,.family-data-members-heading h3,.family-data-relation{margin:0}.family-data-title h2{font-size:1rem}.family-data-title p,.family-data-member-heading span,.family-data-relation,.family-data-reasons,.family-data-group-reasons{color:var(--text-secondary);font-size:.78rem}.family-data-group-icon,.family-data-member-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-hover);color:var(--text-secondary)}.family-data-group-icon{width:2.35rem;height:2.35rem}.family-data-member-icon{width:2rem;height:2rem}.family-data-badges{flex-wrap:wrap;justify-content:flex-end}.family-data-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.875rem 0}.family-data-summary>div{display:grid;grid-template-columns:auto 1fr;gap:.2rem .45rem;align-items:center;min-width:0;padding:.65rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.family-data-summary span{color:var(--text-muted);font-size:.72rem}.family-data-summary strong{grid-column:1 / -1;overflow-wrap:anywhere;font-size:.82rem}.family-data-reasons{margin:.35rem 0 0;padding-left:1.1rem}.family-data-collapse-section{overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);transition:border-color .15s ease}.family-data-collapse-section+.family-data-collapse-section{margin-top:.65rem}.family-data-collapse-section:hover,.family-data-collapse-section.is-expanded{border-color:var(--border-hover)}.family-data-collapse-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.75rem;border:0;border-radius:0;background:var(--bg-hover);color:var(--text-primary);padding:.6rem .75rem;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.family-data-collapse-toggle:hover{background:var(--bg-primary)}.family-data-collapse-toggle>span{display:flex;align-items:center;gap:.5rem}.family-data-collapse-toggle strong{font-size:.88rem}.family-data-collapse-toggle small{color:var(--text-secondary);font-size:.75rem}.family-data-collapse-toggle>svg{flex:0 0 auto;color:var(--text-secondary);transition:transform .2s ease}.family-data-collapse-toggle>svg.is-expanded{transform:rotate(180deg)}.family-data-collapse-content{padding:.65rem;border-top:1px solid var(--border-color);animation:slide-fade-in .2s ease both}.family-data-group-reasons{margin:0;padding-left:1.1rem;color:var(--text-secondary);font-size:.78rem}.family-data-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.family-data-member{min-width:0;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.family-data-member-heading{align-items:flex-start}.family-data-member-heading>div:nth-child(2){display:grid;flex:1 1 auto;min-width:0;gap:.15rem}.family-data-member-heading strong,.family-data-member-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-data-member-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.65rem 0 0}.family-data-member-details>div{min-width:0}.family-data-member-details dt{color:var(--text-muted);font-size:.7rem}.family-data-member-details dd{margin:.1rem 0 0;overflow-wrap:anywhere;font-size:.8rem}.family-data-state{display:flex;justify-content:center;align-items:center;gap:.5rem;min-height:8rem;padding:1rem;color:var(--text-secondary)}.family-data-pagination{margin-top:.875rem;padding:.7rem .875rem;color:var(--text-secondary);font-size:.8rem}.family-data-pagination label{display:flex;align-items:center;gap:.4rem}.family-data-pagination select{width:auto;min-height:2rem;padding:.25rem 1.8rem .25rem .5rem}@media(max-width:1024px){.family-data-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.family-data-search{grid-column:1 / -1}.family-data-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.family-data-toolbar,.family-data-summary,.family-data-member-grid{grid-template-columns:1fr}.family-data-toolbar>.btn-secondary{width:100%}.family-data-group-heading,.family-data-pagination{align-items:flex-start;flex-direction:column}.family-data-badges{justify-content:flex-start}}.possible-family-selected-voter,.possible-family-family-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.possible-family-selected-voter>div,.possible-family-family-summary>span{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border-color);border-radius:10px}.possible-family-selected-voter span,.possible-family-family-summary span{color:var(--text-muted);font-size:.8rem}@media(max-width:640px){.possible-family-selected-voter,.possible-family-family-summary{grid-template-columns:1fr}}.feed-post-cell{display:grid;gap:.25rem;max-width:28rem}.feed-post-cell span{overflow:hidden;color:var(--text-secondary);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.feed-post-cell a,.feed-pinned{display:inline-flex;width:fit-content;align-items:center;gap:.25rem;color:var(--primary-color);font-size:.75rem}.feed-form,.feed-existing-media{display:grid;gap:1rem}.feed-form textarea{width:100%;resize:vertical}.feed-pin-control{display:flex;align-items:center;gap:.55rem;color:var(--text-primary);font-size:.875rem}.feed-pin-field{display:grid;gap:.3rem}.feed-pin-field.has-error .feed-pin-control{color:var(--danger-color)}.feed-pin-control input{width:auto;min-height:0}.feed-upload-button{display:inline-flex;width:fit-content;align-items:center;gap:.45rem;border:1px dashed var(--border-hover);border-radius:8px;background:var(--bg-input);cursor:pointer;padding:.75rem 1rem}.form-field.has-error .feed-upload-button{border-color:var(--danger-color);background:var(--danger-bg)}.feed-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}.feed-existing-media h3{margin:0;font-size:.9rem}.feed-media-card{display:grid;gap:.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);padding:.55rem}.feed-media-card>img,.feed-image-state{width:100%;height:8.5rem;border-radius:6px;background:var(--bg-hover);object-fit:cover}.feed-image-state{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.feed-media-card>span{overflow:hidden;color:var(--text-secondary);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.feed-media-card input{min-width:0}.feed-media-actions{display:flex;justify-content:flex-end;gap:.25rem}@media(max-width:640px){.feed-media-grid{grid-template-columns:1fr}}.possible-family-members-heading,.possible-family-member-main,.possible-family-members-pagination{display:flex;justify-content:space-between;gap:1rem;align-items:center}.possible-family-members-heading h3,.possible-family-members-heading p{margin:0}.possible-family-members-heading p{color:var(--text-secondary);font-size:.8125rem;margin-top:.25rem}.possible-family-members-heading label{display:grid;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.possible-family-member-card{margin-top:.75rem;padding:.875rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.possible-family-member-main strong,.possible-family-member-main span{display:block}.possible-family-member-main span,.possible-family-member-details,.possible-family-member-reasons,.possible-family-members-pagination,.possible-family-members-loading{color:var(--text-secondary);font-size:.8125rem}.possible-family-member-badges,.possible-family-member-details{display:flex;flex-wrap:wrap;gap:.5rem}.possible-family-member-details,.possible-family-member-reasons{margin:.75rem 0}.possible-family-member-reasons{padding-left:1.15rem}.possible-family-members-pagination{margin-top:.875rem}@media(max-width:640px){.possible-family-members-heading,.possible-family-member-main,.possible-family-members-pagination{align-items:flex-start;flex-direction:column}}
