@font-face{font-family:SolaimanLipi;src:url(/fonts/solaimanlipi-normal-v1.0.woff2)format("woff2"),url(/fonts/solaimanlipi-normal-v1.0.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SolaimanLipi;src:url(/fonts/solaimanlipi-bold-v1.0.woff2)format("woff2"),url(/fonts/solaimanlipi-bold-v1.0.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;font-size:25px;overflow:hidden}@media (width<=1024px){html{font-size:18px}}@media (width<=720px){html{font-size:16px}}:root{--font-sans:"SolaimanLipi", "Solaiman Lipi", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-size-body:1rem;--font-size-sm:1rem;--font-size-xs:1rem;--font-size-lg:1rem;--font-size-xl:1rem;--sidebar-w:288px;--accent:#086038;--accent-hover:#0a7544;--accent-pressed:#064f2c;--accent-dim:#08603824;--primary:var(--accent);--primary-soft:var(--accent-dim);--on-accent:#eaf7ef;--on-accent-muted:#c8e6d2;--cream:#edf7f0;--cream-deep:#e0efe4;--surface:#eef8ef;--surface-muted:#e8f5e9;--border:#c9ddd0;--border-strong:#b4cdbb;--sidebar-bg:#086038;--sidebar-border:#eaf7ef24;--sidebar-muted:#c8e6d2b8;--text:#152820;--text-muted:#5a6b5f;--danger:#dc2626;--success:#086038;--header-h:64px;font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--text);background-color:var(--surface-muted);font-synthesis:none;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;max-height:100%}html{overflow:hidden}body{height:100%;min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-body);margin:0;overflow:hidden}button,input,select,textarea,optgroup{font-family:inherit;font-size:inherit}#root{height:100%;min-height:100vh;font-size:1rem;overflow:hidden}#root :where(p,span,a,button,label,input,select,textarea,option,th,td,li,h1,h2,h3,h4,h5,h6,strong,em,small,legend,summary,nav,header,main,section,article,aside,footer,table,caption){font-size:1rem}.admin-shell{height:100%;max-height:100%;display:flex;overflow:hidden}.admin-sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;gap:1.5rem;height:100%;padding:1.25rem 0;display:flex;overflow:auto}.sidebar-brand{padding:0 1.25rem}.sidebar-brand-mark{width:36px;height:36px;color:var(--on-accent);letter-spacing:-.02em;background:#eaf7ef24;border:1px solid #eaf7ef38;border-radius:11px;place-items:center;font-size:1rem;font-weight:700;display:grid;box-shadow:inset 0 1px #04402440}.sidebar-brand-text{margin-top:.75rem}.sidebar-brand-title{color:var(--on-accent);letter-spacing:-.02em;font-size:1rem;font-weight:700}.brand-accent{color:var(--on-accent-muted)}.sidebar-brand-sub{color:var(--sidebar-muted);margin-top:.15rem;font-size:1rem}.sidebar-nav{flex-direction:column;gap:.25rem;padding:0 .75rem;display:flex}.sidebar-nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);padding:0 .5rem .35rem;font-size:1rem;font-weight:600}a.nav-item{box-sizing:border-box;text-decoration:none}.nav-item{width:100%;color:var(--on-accent-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:1rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:flex}.nav-item:hover{color:var(--on-accent);background:#eaf7ef1a}.nav-item.active{background:var(--on-accent);color:var(--accent);box-shadow:0 4px 14px -6px #04402473}.nav-item-icon{opacity:.85;width:18px;height:18px}.sidebar-settings{border-top:1px solid var(--sidebar-border);margin-top:.35rem;padding-top:.35rem}.sidebar-settings-toggle{width:100%}.sidebar-settings-caret{opacity:.7;margin-left:auto;font-size:.85rem}.sidebar-settings-panel{flex-direction:column;gap:.15rem;padding:.15rem 0 .25rem .55rem;display:flex}.sidebar-settings-link{padding-left:.75rem;font-size:.95rem}.sidebar-footer{border-top:1px solid var(--sidebar-border);color:var(--sidebar-muted);margin-top:auto;padding:1rem 1.25rem 0;font-size:1rem;line-height:1.45}.admin-main{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.admin-header{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.5rem;display:flex}.admin-header-left{flex-flow:wrap;align-items:baseline;gap:.35rem .7rem;min-width:0;display:flex}.admin-header-title{letter-spacing:-.02em;color:var(--text);flex-shrink:0;margin:0;font-size:1rem;font-weight:700}.admin-header-meta{color:var(--text-muted);min-width:0;font-size:1rem}.admin-header-badge{letter-spacing:.06em;text-transform:uppercase;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;flex-shrink:0;padding:.35rem .6rem;font-size:1rem;font-weight:600}.quick-nav{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--surface-muted));flex-shrink:0;padding:.55rem 1.5rem}.quick-nav-inner{align-items:center;gap:.75rem;min-width:0;display:flex}.quick-nav-row{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex}.quick-nav-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .7rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s;display:inline-flex}.quick-nav-btn .nav-item-icon{opacity:.8;width:.95rem;height:.95rem}.quick-nav-btn:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 6%, #fff);transform:translateY(-1px)}.quick-nav-btn.is-active{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:#0860381a;box-shadow:0 0 0 1px #0860381a}.quick-nav-btn.is-active .nav-item-icon{opacity:1}.quick-nav-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}@media (width<=720px){.quick-nav{padding:.5rem 1rem}.quick-nav-row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:.15rem;overflow-x:auto}.quick-nav-btn-text{font-size:1rem}}.admin-content{background:var(--surface-muted);flex:1;min-height:0;padding:1.5rem 1.75rem max(4.5rem,10vh);overflow:auto}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.35rem 1.45rem 1.5rem;box-shadow:0 1px 2px #1528200a,0 12px 32px -22px #08603838}.admin-card+.admin-card{margin-top:1.25rem}.admin-card-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.1rem;display:flex}.admin-card-title{letter-spacing:-.03em;margin:0;font-size:1rem;font-weight:700}.admin-card-desc{color:var(--text-muted);max-width:48ch;margin:.35rem 0 0;font-size:1rem;line-height:1.45}.form-stack label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:1rem;font-weight:600;display:flex}.form-stack label:not(:first-child){margin-top:.85rem}.assign-form{max-width:none}.assign-form .location-filters{margin-top:.15rem}.assign-serial-heading{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.assign-page.admin-card{background:var(--surface);padding:1.25rem 1.3rem 1.5rem}.geo-page-head{margin-bottom:1rem}.geo-page-head .admin-card-title{margin:0;font-size:1.3rem}.geo-page-head .admin-card-desc{max-width:36ch;color:var(--text-muted);margin:.25rem 0 0;font-size:.95rem}.geo-tabs{background:#f5efe3;border-radius:14px;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1.15rem;padding:.35rem;display:grid}.geo-tab{min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:11px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .85rem;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.geo-tab:hover{color:var(--text);background:#ffffff8c}.geo-tab.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #15282014}.geo-tab-num{background:var(--border);width:1.45rem;height:1.45rem;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex}.geo-tab.is-active .geo-tab-num{color:var(--accent);background:#0860382e}.geo-seat-field{max-width:28rem;margin-bottom:1rem}.geo-panel{margin-top:.35rem}.geo-form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1rem;margin-bottom:.85rem;display:grid}.geo-filter-check{margin-bottom:.85rem}.geo-center-field{max-width:36rem;margin-bottom:.85rem}.geo-range-hint{color:#334155;margin:.85rem 0 .55rem;font-size:.92rem;font-weight:700}.geo-actions{margin-top:1.15rem}@media (width<=900px){.geo-tabs,.geo-form-row{grid-template-columns:1fr}}.assign-step{border-bottom:1px dashed color-mix(in srgb, var(--accent) 18%, var(--border));box-shadow:none;background:0 0;border-radius:0;margin-bottom:1.15rem;padding:0 0 1.15rem}.assign-step:last-of-type{border-bottom:none;padding-bottom:.35rem}.assign-page .assign-step .location-filter-panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.assign-page .assign-step .location-filter-panel-head{display:none}.assign-step-head{align-items:flex-start;gap:.75rem;margin-bottom:.95rem;display:flex}.assign-step-num{width:1.85rem;height:1.85rem;color:var(--on-accent);background:linear-gradient(135deg,#086038,#0a7544);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.assign-step-head h3{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:1.02rem;font-weight:700;display:flex}.assign-step-head p{color:var(--text-muted);margin:.2rem 0 0;font-size:.9rem;line-height:1.4}.assign-step-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.85rem 1rem;display:grid}.assign-field label{color:#334155;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.92rem;font-weight:700;display:flex}.assign-field .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 20%, var(--border));background:#fffffff5;border-radius:14px}.assign-field .searchable-select-input{font-weight:600}.assign-field .searchable-select.is-open .searchable-select-field,.assign-field .searchable-select-field:focus-within{box-shadow:0 0 0 4px var(--accent-dim)}.assign-area-meta{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));color:var(--text-muted);background:#ffffffbf;border-radius:12px;margin:.85rem 0 0;padding:.55rem .75rem;font-size:.92rem}.assign-range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.assign-range-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:.7rem;padding:.85rem .9rem;display:flex}.assign-range-card.gender-male{border-color:color-mix(in srgb, #1d4ed8 22%, var(--border));background:linear-gradient(#1d4ed80d,#fff 55%)}.assign-range-card.gender-female{border-color:color-mix(in srgb, #be185d 22%, var(--border));background:linear-gradient(#be185d0d,#fff 55%)}.assign-range-card.gender-mixed{border-color:color-mix(in srgb, #7c3aed 22%, var(--border));background:linear-gradient(#7c3aed0d,#fff 55%)}.assign-range-inputs{align-items:flex-end;gap:.45rem;display:flex}.assign-range-inputs label{min-width:0;color:var(--text-muted);text-transform:none;letter-spacing:0;flex:1;margin:0;font-size:.78rem;font-weight:700}.assign-range-inputs input[type=number]{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;max-width:none;min-height:2.55rem;margin-top:.25rem;padding:.45rem .55rem}.assign-range-inputs input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.assign-range-sep{color:var(--text-muted);padding-bottom:.7rem;font-weight:700}.assign-success{border:1px solid color-mix(in srgb, var(--success) 28%, var(--border));color:#047857;background:#0596691a;border-radius:12px;margin:0 0 .85rem;padding:.65rem .85rem;font-size:.95rem}.assign-footer{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.assign-footer .primary{min-width:10rem}.assign-footer-hint{color:var(--text-muted);font-size:.9rem}@media (width<=900px){.assign-step-grid,.assign-range-grid{grid-template-columns:1fr}}.gender-cell{white-space:nowrap;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.gender-icon{flex-shrink:0;width:1.05rem;height:1.05rem}.gender-male{color:#1d4ed8}.gender-female{color:#be185d}.gender-mixed{color:#7c3aed}select,input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],input[type=file]{border:1px solid var(--border);width:100%;max-width:520px;font:inherit;background:var(--surface);color:var(--text);border-radius:8px;padding:.5rem .6rem;font-size:1rem}select:focus,input[type=text]:focus,input[type=search]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}input[type=password]:disabled,input[type=text]:disabled,input[type=search]:disabled,input[type=email]:disabled,input[type=number]:disabled,select:disabled{opacity:.65;cursor:not-allowed;background:var(--surface-muted)}button.primary,a.primary{cursor:pointer;font:inherit;background:linear-gradient(165deg, var(--accent-hover) 0%, var(--accent) 100%);color:var(--on-accent);box-sizing:border-box;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 6px 16px -10px #086038a6}button.primary:hover:not(:disabled),a.primary:hover{background:linear-gradient(165deg, #0c8650 0%, var(--accent-hover) 100%);box-shadow:0 8px 20px -10px #086038bf}button.secondary,a.secondary{cursor:pointer;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);box-sizing:border-box;border-radius:999px;justify-content:center;align-items:center;padding:.52rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}button.secondary:hover:not(:disabled),a.secondary:hover{background:#e4dcc8}button:disabled{opacity:.55;cursor:not-allowed}.err{color:var(--danger);font-size:1rem}.ok{color:var(--success);font-size:1rem}.debug-json-pre{border:1px solid var(--border);background:var(--surface-muted);max-height:min(70vh,32rem);color:var(--text);border-radius:10px;margin:0;padding:.85rem 1rem;font-size:1rem;line-height:1.45;overflow:auto}.table-wrap{border:1px solid var(--border);border-radius:10px;margin-top:.75rem;overflow-x:auto}table.data-table{border-collapse:collapse;border:1px solid #94a3b8;width:100%;font-size:1rem}.data-table th,.data-table td{text-align:center;vertical-align:middle;border:1px solid #94a3b8;padding:.55rem .65rem}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-muted);white-space:nowrap;font-size:1rem;font-weight:600}.data-table tbody tr:nth-child(2n){background:#f8fafcb3}.pager{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}.pager-meta{color:var(--text-muted);font-size:1rem}.search-row{align-items:stretch;gap:.5rem;display:flex}.search-row input{flex:1;min-width:0}.page-size-label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:1rem;display:flex}.page-size-label select{min-width:5rem}.browse-open-voters{margin-top:.75rem;text-decoration:none;display:inline-flex}.location-filters{flex-direction:column;gap:1.15rem;display:flex}.location-filters-seat{max-width:420px}.location-filters-seat select{max-width:100%}.location-filters label{color:var(--text-muted);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.45rem;font-size:1rem;font-weight:600;display:flex}.field-req,.field-opt{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-flex}.field-req{color:#086038;background:#08603824}.field-opt{color:#64748b;background:#f5efe3}.import-card .field-req{letter-spacing:0;text-transform:none;color:#dc2626;background:0 0;border-radius:0;padding:0;font-size:1.05em;font-weight:800;line-height:1}.location-filter-panel{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:radial-gradient(120% 80% at 50% -10%,#0860381a,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;padding:1.15rem 1.15rem 1.2rem;animation:.28s loc-panel-in;position:relative;box-shadow:inset 0 1px #fffc,0 10px 28px -18px #0f172a2e}@keyframes loc-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.location-filter-panel-head{border-bottom:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));margin-bottom:1rem;padding-bottom:.85rem}.location-filter-panel-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.location-filter-panel-hint{color:var(--text-muted);max-width:42ch;margin:.3rem 0 0;font-size:.92rem;line-height:1.45}.location-cascade{flex-direction:column;gap:1.05rem;display:flex}.location-cascade-level{animation:.22s loc-panel-in}.location-cascade-label{color:var(--text-muted);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.55rem;font-size:.95rem;font-weight:600;display:flex}.loc-chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.loc-chip{appearance:none;border:1px solid color-mix(in srgb, var(--border) 80%, #94a3b8);max-width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#ffffffeb;border-radius:999px;justify-content:space-between;align-items:center;gap:.5rem;padding:.42rem .55rem .42rem .85rem;font-size:.95rem;font-weight:500;line-height:1.25;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.loc-chip-body{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.loc-chip.is-selected .select-tick{color:#086038;background:#fffffff2}.loc-chip:hover{background:#08603812;border-color:#08603880;transform:translateY(-1px)}.loc-chip:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.loc-chip.is-selected{color:var(--on-accent);background:linear-gradient(135deg,#086038 0%,#0a7544 100%);border-color:#0000;font-weight:650;box-shadow:0 6px 16px -8px #086038a6}.loc-chip-primary{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.loc-chip-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;background:#0f172a0f;border-radius:999px;flex-shrink:0;padding:.08rem .38rem;font-size:.85rem;font-weight:700}.loc-chip.is-selected .loc-chip-meta{color:var(--on-accent);background:#eaf7ef38}.loc-chip:disabled{opacity:.55;cursor:not-allowed;transform:none}.location-filters-empty{margin-top:1rem}.voters-filter-center{text-align:center;border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:radial-gradient(90% 70% at 50% 0,#0860381f,#0000 60%),radial-gradient(70% 50% at 100% 100%,#38bdf814,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:22px;flex-direction:column;align-items:center;width:100%;margin:.15rem auto .35rem;padding:1.35rem 1.1rem 1.25rem;animation:.35s voters-filter-in;display:flex;position:relative;box-shadow:inset 0 1px #ffffffd9,0 18px 40px -28px #0f172a47}@keyframes voters-filter-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voters-filter-center .location-filters{align-items:center;gap:1.25rem;width:100%;max-width:40rem}.voters-filter-center .location-filters-seat{text-align:center;width:100%;max-width:26rem;margin-inline:auto}.voters-filter-center .location-filters label,.voters-filter-center .location-cascade-label{justify-content:center}.voters-filter-center .location-filters-seat label{color:#334155;margin-bottom:.55rem;font-weight:700}.voters-filter-center .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));background:#fffffff2;border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.voters-filter-center .searchable-select-input{text-align:center;font-weight:600}.voters-filter-center .searchable-select.is-open .searchable-select-field,.voters-filter-center .searchable-select-field:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-dim)}.voters-filter-center .location-filter-panel{text-align:center;border-radius:16px;width:100%;padding:1.05rem 1rem 1.1rem}.voters-filter-center .location-filter-panel-head{text-align:center}.voters-filter-center .location-filter-panel-hint{margin-inline:auto}.voters-filter-center .loc-chip-row{justify-content:center}.voters-filter-center .location-cascade{gap:1.15rem}.voters-filter-center .location-cascade-level+.location-cascade-level{border-top:1px dashed color-mix(in srgb, var(--accent) 16%, var(--border));padding-top:.95rem}.voters-filter-center .location-filters-empty,.voters-filter-center>.stat-inline{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));max-width:34rem;color:var(--text-muted);text-align:center;background:#ffffffb8;border-radius:12px;margin-top:1.1rem;margin-left:auto;margin-right:auto;padding:.7rem 1rem;line-height:1.5}.voters-filter-center .location-filters-empty a{color:var(--accent-hover);border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, transparent);font-weight:700;text-decoration:none}.voters-filter-center .location-filters-empty a:hover{color:#086038}.browse-ready{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:1.15rem;padding-top:1rem;display:flex}.browse-ready .browse-open-voters{margin-top:0}.voters-panel{border-top:1px solid var(--border);margin-top:1.15rem;padding-top:1rem}.scope-chip{margin-top:.65rem}@media (width<=900px){.location-filters-seat{max-width:none}.loc-chip-primary{max-width:20ch}}.table-wrap-wide{overflow-x:auto}.data-table-compact th,.data-table-compact td{white-space:nowrap;padding:.4rem .65rem;font-size:1rem}.data-table-compact td.col-name{white-space:normal;max-width:28rem;line-height:1.35}.data-table-compact td:nth-child(8){white-space:normal;min-width:12rem;max-width:22rem}.mono{font-family:var(--font-mono);font-size:1rem}.job-meta{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;margin-top:.85rem;padding:.85rem}.page-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.35rem .5rem;margin-top:.65rem;display:grid}.page-grid-scroll{max-height:220px;padding-right:.25rem;overflow:auto}.page-chip{font-size:1rem;line-height:1.35;font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.4rem .55rem}.page-chip.pending{color:#64748b;background:#f8fafc;border-color:#e4dcc8}.page-chip.processing{color:#086038;background:#ecfeff;border-color:#c8e6d2}.page-chip.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.page-chip.failed{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.import-card{--import-control-h:3rem;flex-direction:column;align-items:stretch;gap:1.15rem;width:min(100%,72rem);max-width:72rem;margin:0 auto;padding:1.5rem 1.6rem 2rem;display:flex}.import-card.import-map-page{gap:1.1rem;width:100%;max-width:none;margin:0;padding:1.25rem 1.35rem 1.5rem}.import-side-form{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-direction:column;gap:.75rem;padding:.9rem 1rem 1rem;display:flex}.import-side-form .import-field-label{margin-bottom:.35rem}.import-side-form .import-seg{min-height:2.45rem}.import-side-form .import-dropzone-inline{min-height:4.75rem}.import-map-page .ecs-side-panel{overflow:auto}.import-map-page .ecs-side-list{min-height:12rem;max-height:none}.import-map-page .ecs-side-unions{min-height:12rem}.import-hero{text-align:left;margin-bottom:.15rem}.import-hero-line{flex-wrap:wrap;align-items:baseline;gap:.55rem .85rem;margin:0;display:flex}.import-hero-line .centers-kicker{flex-shrink:0;margin:0}.import-hero .admin-card-title{letter-spacing:-.03em;font-size:1.35rem}.import-hero-line .admin-card-desc,.import-hero .admin-card-desc{max-width:none;color:var(--text-muted);margin:0;font-size:.98rem;font-weight:400}.import-setup{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#08603817,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;flex-direction:column;gap:1rem;width:100%;padding:1.25rem 1.3rem 1.35rem;display:flex;box-shadow:inset 0 1px #ffffffd9,0 14px 32px -24px #0f172a33}.import-setup-row,.import-setup-row.has-gender{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.import-setup-row-top{grid-template-columns:minmax(15.5rem,1.5fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,.9fr);gap:.65rem}.import-setup-row-top .import-field-kind .import-seg{min-height:var(--import-control-h)}.import-setup-row-top .import-field-kind .import-seg-btn{flex:auto;gap:.25rem;min-width:max-content;padding:.28rem .5rem;font-size:.86rem}.import-setup-row-top .import-field-kind .import-seg-btn>span:not(.select-tick){white-space:nowrap;text-overflow:clip!important;overflow:visible!important}.import-setup-row-top .import-field-kind .import-seg-btn .select-tick{flex-shrink:0;width:.85rem;height:.85rem}.import-setup-row-top .import-field:not(.import-field-kind) label{font-size:.82rem}.import-setup-row-top .import-field:not(.import-field-kind) .searchable-select-field{font-size:.84rem}.import-setup-row-top .import-field:not(.import-field-kind) .searchable-select-input{padding-left:.5rem;padding-right:.25rem;font-size:.84rem}.import-setup-row-top .import-seat-count{font-size:.72rem}.import-setup-row-geo{grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(13.5rem,1.25fr) minmax(0,1.05fr);gap:.65rem}.import-setup-row-geo .import-field label,.import-setup-row-geo .import-field-label{font-size:.82rem}.import-setup-row-geo .searchable-select-field{font-size:.84rem}.import-setup-row-geo .searchable-select-input{padding-left:.5rem;padding-right:.25rem;font-size:.84rem}.import-setup-row-geo .import-field-gender .import-seg{min-height:var(--import-control-h)}.import-setup-row-geo .import-field-gender .import-seg-btn{flex:auto;gap:.2rem;min-width:0;padding:.28rem .45rem;font-size:.86rem}.import-setup-row-geo .import-field-gender .import-seg-btn>span:not(.select-tick){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-setup-row-geo .import-dropzone-inline{min-height:var(--import-control-h);border-radius:12px;gap:.45rem;padding:.35rem .55rem}.import-setup-row-geo .import-dropzone-inline .import-dropzone-icon{flex-shrink:0;width:1.85rem;height:1.85rem}.import-setup-row-geo .import-dropzone-inline .import-dropzone-copy{gap:.05rem;min-width:0}.import-setup-row-geo .import-dropzone-inline .import-dropzone-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.2;overflow:hidden}.import-setup-row-geo .import-dropzone-inline .import-dropzone-hint{white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;line-height:1.2;overflow:hidden}.import-setup-row.upload-only{grid-template-columns:1fr}.import-field-spacer{visibility:hidden;pointer-events:none}.import-field-kind,.import-field-seat,.import-field-gender,.import-field-upload{flex-direction:column;min-width:0;display:flex}.import-row{width:100%}.import-field label,.import-field-label{color:#334155;letter-spacing:0;text-transform:none;align-items:center;gap:.4rem;min-height:1.35rem;margin-bottom:.45rem;font-size:.9rem;font-weight:700;display:flex}.import-card .import-field label,.import-card .import-field-label{letter-spacing:0;text-transform:none;color:#334155;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem;font-size:.9rem;font-weight:700}.import-seat-label-row{justify-content:space-between;align-items:center;gap:.65rem;min-height:1.35rem;margin-bottom:.45rem;display:flex}.import-seat-label-row label{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:0;display:inline-flex}.import-seat-count{background:color-mix(in srgb, var(--accent) 10%, #fff);border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));color:#086038;letter-spacing:0;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.18rem .55rem;font-size:.78rem;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.import-seat-count.is-filtered{background:color-mix(in srgb, var(--accent) 18%, #fff);border-color:color-mix(in srgb, var(--accent) 36%, var(--border));color:#0a7544}.import-field select{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;width:100%;max-width:none;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s}.import-field select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.import-card .import-row .searchable-select,.import-card .import-row .searchable-select-field,.import-card .import-field .searchable-select,.import-card .import-field .searchable-select-field,.import-seg,.import-dropzone{width:100%;height:var(--import-control-h);min-height:var(--import-control-h);max-height:var(--import-control-h);box-sizing:border-box}.import-card .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 18%, var(--border));background:#fffffff5;border-radius:12px;padding:.1rem .4rem .1rem .1rem}.import-card .import-row .searchable-select-input,.import-card .import-field .searchable-select-input{padding:.45rem .4rem .45rem .7rem;font-size:.95rem;font-weight:600}.import-card .searchable-select-option,.import-card .searchable-select-empty{font-size:.95rem}.import-seg{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:#fffffff5;border-radius:12px;flex-wrap:nowrap;gap:.28rem;padding:.22rem;display:flex}.import-seg-btn{appearance:none;min-width:0;height:100%;min-height:0;color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.25rem .45rem;font-size:.9rem;font-weight:600;line-height:1.15;transition:background .14s,color .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex}.import-seg-btn>span:not(.select-tick){text-overflow:ellipsis;overflow:hidden}.import-seg-btn .select-tick{width:1.05rem;height:1.05rem;margin-left:.15rem}.import-seg-btn .select-tick svg{width:.62rem;height:.62rem}.import-seg-btn:hover:not(:disabled):not(.is-active){color:var(--text);background:#f8fafcf2}.import-seg-btn.is-active{background:color-mix(in srgb, var(--accent) 10%, #fff);color:#086038;border-color:color-mix(in srgb, var(--accent) 42%, var(--border));box-shadow:0 1px 2px #0f172a0d}.import-seg-btn:disabled{opacity:.55;cursor:not-allowed}.import-seg-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}.import-seg-ico{flex-shrink:0;width:.95rem;height:.95rem}.import-seg-male.is-active{color:#1d4ed8;border-color:color-mix(in srgb, #3b82f6 38%, var(--border));background:#eff5fe}.import-seg-female.is-active{color:#be185d;border-color:color-mix(in srgb, #ec4899 38%, var(--border));background:#fdf0f7}.import-dropzone{border:1.5px dashed color-mix(in srgb, var(--accent) 36%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, #fff) 0%, #fff 55%, #f8fafc 100%);cursor:pointer;border-radius:12px;flex-direction:row;justify-content:flex-start;align-items:center;gap:.65rem;padding:.35rem .7rem;transition:border-color .2s,background .2s,box-shadow .2s,transform .18s;display:flex;position:relative;overflow:hidden}.import-dropzone:hover:not(.is-disabled):not(.is-busy){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 28px -20px #0860388c}.import-dropzone.is-drag{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, #fff);box-shadow:0 0 0 4px var(--accent-dim);border-style:solid;transform:translateY(-1px)}.import-dropzone.is-disabled,.import-dropzone.is-busy{opacity:.62;cursor:not-allowed;box-shadow:none;transform:none}.import-dropzone-input{opacity:0;pointer-events:none;width:100%;max-width:none;position:absolute;inset:0}.import-dropzone-icon{color:#086038;background:color-mix(in srgb, var(--accent) 14%, #fff);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:9px;flex-shrink:0;place-items:center;width:1.9rem;height:1.9rem;margin-bottom:0;display:grid}.import-dropzone-icon svg{width:1rem;height:1rem}.import-dropzone-copy{flex-direction:column;flex:1;justify-content:center;gap:.05rem;min-width:0;display:flex}.import-dropzone-title{letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:700;overflow:hidden}.import-dropzone-hint{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;line-height:1.25;overflow:hidden}.import-dropzone-cta{background:color-mix(in srgb, var(--accent) 14%, #fff);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));color:#086038;border-radius:999px;flex-shrink:0;padding:.28rem .65rem;font-size:.8rem;font-weight:700}.import-field-upload.is-center-mode .import-field-label{justify-content:center;width:100%}.import-field-upload.is-center-mode .import-dropzone{text-align:center;justify-content:center}.import-field-upload.is-center-mode .import-dropzone-copy{flex:0 auto;align-items:center}.import-field-upload.is-center-mode .import-dropzone-title,.import-field-upload.is-center-mode .import-dropzone-hint{text-align:center}.import-setup-alert{margin:0;font-size:.92rem}.import-card>.import-flash,.import-card>.import-queued,.import-card>.extract-action,.import-card>.page-board{width:100%;max-width:none;margin-left:0;margin-right:0}@media (width<=720px){.import-setup-row,.import-setup-row.has-gender,.import-setup-row-top,.import-setup-row-geo{grid-template-columns:1fr}.import-dropzone-cta{display:none}.import-card{max-width:none;padding:1.15rem 1rem 1.5rem}}.searchable-select{width:100%;position:relative}.searchable-select-field{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;align-items:center;gap:.35rem;width:100%;min-height:2.75rem;padding:.15rem .45rem .15rem .15rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.searchable-select:hover:not(.is-disabled) .searchable-select-field{border-color:#08603873}.searchable-select.is-open .searchable-select-field,.searchable-select-field:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-dim)}.searchable-select.has-value:not(.is-open) .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:#0860380f}.searchable-select.is-disabled .searchable-select-field{opacity:.65;cursor:not-allowed;background:var(--surface-muted)}.searchable-select-input{width:100%;min-width:0;max-width:none;color:var(--text);font:inherit;text-align:left;border-radius:10px;outline:none;flex:1;margin:0;padding:.55rem .55rem .55rem .7rem;font-size:1rem;box-shadow:none!important;background:0 0!important;border:0!important}.searchable-select-tick{pointer-events:none;flex-shrink:0;width:1.35rem;height:1.35rem;margin-right:.2rem;position:static;transform:none}.searchable-select-tick svg{width:.8rem;height:.8rem}.searchable-select-input::placeholder{color:var(--text-muted)}.searchable-select-input:hover:not(:disabled){border-color:#0000}.searchable-select-input:focus{box-shadow:none;background:0 0;border-color:#0000;outline:none}.searchable-select.is-open .searchable-select-input{box-shadow:none;background:0 0;border-color:#0000}.searchable-select.is-disabled .searchable-select-input{opacity:1;cursor:not-allowed;background:0 0}.searchable-select-chevron-btn{appearance:none;width:1.85rem;height:1.85rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin:0;padding:0;display:inline-grid;position:static;transform:none}.searchable-select-chevron-btn:hover:not(:disabled){color:var(--text);background:#0f172a0d}.searchable-select-chevron-btn:disabled{cursor:not-allowed;opacity:.55}.searchable-select-chevron{flex-shrink:0;font-size:1rem;line-height:1;transition:transform .15s;display:inline-block}.searchable-select.is-open .searchable-select-chevron{transform:rotate(180deg)}.searchable-select-panel{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;animation:.18s loc-panel-in;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;box-shadow:0 16px 40px -24px #0f172a73}.searchable-select-list{max-height:240px;margin:0;padding:.35rem;list-style:none;overflow-y:auto}.searchable-select-option{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:1rem;display:flex}.select-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-tick{width:1.2rem;height:1.2rem;color:var(--on-accent);background:#086038;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 1px 2px #0f172a2e}.select-tick svg{width:.72rem;height:.72rem}.searchable-select-option:hover,.searchable-select-option.is-active{background:#08603814}.searchable-select-option.is-selected{color:#086038;background:#08603824;font-weight:600}.searchable-select-empty{color:var(--text-muted);padding:.75rem .65rem;font-size:1rem}.import-flash{margin:0}.import-queued{background:color-mix(in srgb, var(--success) 8%, #fff);border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));border-radius:12px;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;padding:.7rem .9rem;font-size:1rem;display:flex}.import-queued-label{letter-spacing:.06em;text-transform:uppercase;color:var(--success);font-size:1rem;font-weight:700}.extract-action{flex-direction:column;gap:.75rem;display:flex}.extract-live-shell{border:1px solid var(--border);background:linear-gradient(165deg,#f8fffd 0%,#fff 42%,#f8fafc 100%);border-radius:16px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.extract-file-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.extract-file-meta{flex:1;min-width:0}.extract-transport{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.extract-transport-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:1rem;font-weight:650;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.extract-transport-btn:hover:not(:disabled){background:#f5efe3;border-color:#cbd5e1}.extract-transport-btn:disabled{opacity:.55;cursor:not-allowed}.extract-transport-btn.is-primary{color:var(--on-accent);background:#086038;border-color:#086038}.extract-transport-btn.is-primary:hover:not(:disabled){background:#0a7544;border-color:#0a7544}.extract-transport-btn.is-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.extract-transport-btn.is-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}@media (width<=560px){.extract-file-card{flex-wrap:wrap}.extract-transport{justify-content:flex-end;width:100%}}.extract-file-icon{color:#b91c1c;background:#fef2f2;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.extract-file-name{color:var(--text);word-break:break-word;font-size:1rem;font-weight:600}.extract-file-sub{color:var(--text-muted);margin-top:.1rem;font-size:1rem}.extract-status-banner{background:linear-gradient(90deg, #086038, var(--accent));color:var(--on-accent);letter-spacing:-.01em;border-radius:12px;justify-content:center;align-items:center;gap:.65rem;padding:.7rem 1rem;font-size:1rem;font-weight:600;display:flex}.extract-status-banner.is-success{background:var(--success);animation:.45s cubic-bezier(.22,1,.36,1) extract-success-banner-in}.extract-status-banner.is-failed{background:#dc2626;animation:.45s cubic-bezier(.22,1,.36,1) extract-success-banner-in}.extract-status-banner.is-paused{background:linear-gradient(90deg,#b45309,#d97706)}.extract-status-banner.is-cancelled{background:#475569}.page-board{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:.85rem;padding:1.05rem 1.1rem;display:flex}.page-board-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.page-board-title{letter-spacing:-.02em;word-break:break-word;margin:0;font-size:1rem;font-weight:700}.page-board-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:.3rem 0 0;font-size:1rem;display:flex}.page-board-status{color:var(--text);font-weight:600}.page-board-status.is-processing{color:#086038}.page-board-status.is-done{color:var(--success)}.page-board-status.is-failed{color:var(--danger)}.page-board-status.is-paused{color:#b45309;background:#fffbeb}.page-board-status.is-cancelled{color:#475569;background:#f5efe3}.page-board-sep{opacity:.5}.page-board-stats{gap:.55rem;display:flex}.page-stat{background:var(--surface-muted);border:1px solid var(--border);text-align:center;border-radius:12px;min-width:4.5rem;padding:.45rem .7rem}.page-stat-value{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;display:block}.page-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:1rem;font-weight:600}.page-board-legend{flex-wrap:wrap;align-items:center;gap:.45rem .55rem;display:flex}.page-legend{color:var(--text-muted);appearance:none;cursor:pointer;font-size:1rem;font-weight:500;font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:inline-flex}.page-legend:hover,.page-legend.is-active{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.page-legend i{border-radius:999px;width:8px;height:8px;display:inline-block}.page-legend.done i{background:#10b981}.page-legend.processing i{background:#086038;box-shadow:0 0 0 3px #08603833}.page-legend.pending i{background:#cbd5e1}.page-legend.failed i{background:#ef4444}.page-legend-clear{appearance:none;color:var(--accent-hover);font:inherit;cursor:pointer;background:0 0;border:none;padding:.25rem .35rem;font-size:1rem;font-weight:600}.page-dot-rail{flex-wrap:wrap;gap:3px;max-height:88px;padding:.25rem 0;display:flex;overflow:auto}.page-dot{cursor:pointer;background:#e4dcc8;border:none;border-radius:2px;flex-shrink:0;width:9px;height:9px;padding:0}.page-dot:hover,.page-dot.is-focus{outline:2px solid var(--accent);outline-offset:1px}.page-dot.done{background:#34d399}.page-dot.processing{background:#086038;animation:1.1s ease-in-out infinite extract-forward-pulse}.page-dot.failed{background:#f87171}.page-dot.pending{background:#e4dcc8}.page-board-live{letter-spacing:.04em;text-transform:uppercase;color:#086038;background:#ecfeff;border:1px solid #c8e6d2;border-radius:999px;align-items:center;gap:.3rem;margin-left:.15rem;padding:.1rem .45rem;font-size:1rem;font-weight:700;display:inline-flex}.page-board-live:before{content:"";background:#086038;border-radius:999px;width:6px;height:6px;animation:1.1s ease-in-out infinite page-ico-pending-pulse}.page-board-hint{color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;margin:0;padding:.45rem .65rem;font-size:1rem}.page-board-hint.is-live{color:#086038;background:#f0fdfa;border-color:#c8e6d2;font-weight:600}.btn-ghost{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .8rem;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--surface-muted);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.page-board-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-board-count{color:var(--text-muted);font-size:1rem;font-weight:500}.page-status-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;overflow:hidden}.page-status-head{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:4.5rem 1fr 3.5rem;gap:.5rem;padding:.45rem .75rem;font-size:1rem;font-weight:700;display:grid}.page-status-list{max-height:min(420px,55vh);overflow:auto}.page-status-row{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:4.5rem 1fr 3.5rem;align-items:center;gap:.35rem .5rem;padding:.55rem .75rem;font-size:1rem;display:grid}.page-status-row:last-child{border-bottom:none}.page-status-row.is-focus{box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb, var(--accent) 6%, #fff)}.page-status-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.page-status-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;width:fit-content;min-width:5.5rem;padding:.25rem .6rem .25rem .4rem;font-size:1rem;font-weight:700;display:inline-flex}.page-status-ico{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.page-status-ico svg{display:block}.page-status-ico.is-done{color:#059669}.page-status-ico.is-done .page-ico-ring{stroke:currentColor;stroke-width:1.6px;stroke-dasharray:54;stroke-dashoffset:54px;animation:.45s ease-out forwards page-ico-ring}.page-status-ico.is-done .page-ico-tick{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20px;animation:.35s ease-out .28s forwards page-ico-tick}.page-status-ico.is-processing{color:#0a7544}.page-status-ico.is-processing .page-ico-spin{stroke:currentColor;transform-origin:10px 10px;animation:.85s linear infinite page-ico-spin}.page-status-ico.is-pending{color:#94a3b8}.page-status-ico.is-pending .page-ico-pending-ring{stroke:currentColor;opacity:.85;animation:1.4s ease-in-out infinite page-ico-pending-pulse}.page-status-ico.is-pending .page-ico-pending-dot{fill:currentColor;transform-origin:10px 10px;animation:1.4s ease-in-out infinite page-ico-pending-dot}.page-status-ico.is-failed{color:#dc2626}.page-status-ico.is-failed circle,.page-status-ico.is-failed path{stroke:currentColor}@keyframes page-ico-ring{to{stroke-dashoffset:0}}@keyframes page-ico-tick{to{stroke-dashoffset:0}}@keyframes page-ico-spin{to{transform:rotate(360deg)}}@keyframes page-ico-pending-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes page-ico-pending-dot{0%,to{opacity:.55;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}.page-status-badge.pending{color:#475569;background:#f5efe3;border-color:#e4dcc8}.page-status-badge.processing{color:#086038;background:#ecfeff;border-color:#c8e6d2}.page-status-badge.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.page-status-badge.failed{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.page-status-tries{text-align:right;font-family:var(--font-mono);color:var(--text-muted);font-size:1rem}.page-status-error{color:#b91c1c;word-break:break-word;grid-column:1/-1;margin:0;font-size:1rem;line-height:1.35}.page-status-empty{text-align:center;color:var(--text-muted);margin:0;padding:1.25rem .75rem;font-size:1rem}.extract-metrics{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.55rem;margin-bottom:.15rem;display:grid}.extract-metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.55rem .65rem}.extract-metric.is-primary{background:color-mix(in srgb, var(--accent) 10%, #fff);border-color:color-mix(in srgb, var(--accent) 28%, var(--border))}.extract-metric-value{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;line-height:1.15;display:block}.extract-metric.is-primary .extract-metric-value{color:var(--accent-hover)}.extract-metric-slash{color:var(--text-muted);font-size:1rem;font-weight:600}.extract-metric-eta{font-size:1rem!important}.extract-metric-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:.2rem;font-size:1rem;font-weight:600;display:block}.num-cell{text-align:center;white-space:nowrap}.data-table th.num-cell{text-align:center}.table-foot-total td{border-top:2px solid var(--border);padding-top:.65rem;font-weight:500}.link-inline{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.link-inline:hover{color:var(--accent-hover,var(--accent))}.stat-inline{color:var(--text-muted);font-size:1rem}.seats-toolbar{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:linear-gradient(#fffffffa 0%,#f8fafceb 100%);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.65rem;margin-bottom:1.1rem;padding:.85rem .95rem;display:grid;box-shadow:inset 0 1px #fffc}.seats-toolbar-field{flex-direction:column;gap:.28rem;width:100%;min-width:0;display:flex}.seats-field-search,.seats-field-district,.seats-io-import,.seats-io-export{flex:none;width:100%;min-width:0;max-width:none}.seats-toolbar-field label,.seats-io-export-label{color:#64748b;text-transform:none;letter-spacing:.01em;min-height:1rem;margin:0;font-size:.72rem;font-weight:700;line-height:1;display:block}.seats-field-district .searchable-select,.seats-field-district .searchable-select-field{width:100%}.seats-field-district .searchable-select-field,.seats-toolbar-field input[type=search],.seats-import-row,.seats-io-export-btn{box-sizing:border-box;height:2.4rem;min-height:2.4rem;max-height:2.4rem}.seats-field-district .searchable-select-field{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:var(--surface);box-shadow:none;border-radius:10px;padding:.05rem .25rem .05rem .05rem}.seats-field-district .searchable-select-input{padding:.2rem .35rem .2rem .55rem;font-size:.86rem;font-weight:600}.seats-toolbar-field input[type=search]{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:var(--surface);width:100%;max-width:none;color:var(--text);border-radius:10px;padding:.3rem .65rem;font-size:.86rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.seats-toolbar-field input[type=search]:focus,.seats-field-district .searchable-select.is-open .searchable-select-field,.seats-import-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);background:var(--surface);outline:none}.seats-import-row{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:var(--surface);border-radius:10px;flex-wrap:nowrap;align-items:center;gap:.4rem;width:100%;padding:.2rem .25rem .2rem .35rem;transition:border-color .15s,box-shadow .15s;display:flex}.seats-import-row input[type=file]{width:auto;min-width:0;max-width:none;height:100%;color:var(--text-muted);box-shadow:none;box-sizing:border-box;background:0 0;border:0;border-radius:0;flex:auto;margin:0;padding:.15rem .2rem;font-size:.82rem}.seats-import-row input[type=file]:focus{outline:none}.seats-io-btn{white-space:nowrap;box-sizing:border-box;border-radius:8px;flex-shrink:0;height:1.95rem;min-height:1.95rem;padding:0 .75rem;font-size:.84rem;font-weight:700}.seats-io-export-btn{border-radius:10px;width:100%;padding:0 1rem;font-size:.88rem;height:2.4rem!important;min-height:2.4rem!important}.seats-io-divider,.seats-new-shell,.seats-new-add{display:none}@media (width<=980px){.seats-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.seats-toolbar{grid-template-columns:1fr;padding:.75rem}}.seats-import-ok{margin-bottom:1rem}.seats-list-bar{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:#f8fafceb;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;margin:0 0 .75rem;padding:.55rem .75rem;display:flex}.seats-list-bar-left{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;min-width:0;display:flex}.seats-total-count{color:var(--text-muted);font-size:.92rem;font-weight:650}.seats-select-all{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.92rem;font-weight:650;display:inline-flex}.seats-select-all input[type=checkbox]{width:1rem;max-width:none;height:1rem;accent-color:var(--accent);cursor:pointer}.seats-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.55rem .65rem;width:100%;display:grid}.seat-chip{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:.35rem;width:100%;min-width:0;height:2.75rem;padding:.35rem .35rem .35rem .45rem;transition:border-color .14s,box-shadow .14s,background .14s;display:flex;position:relative;box-shadow:0 1px 2px #0f172a0a}.seat-chip:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 4px 14px -10px #08603873}.seat-chip.is-selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 7%, #fff)}.seat-chip.is-menu-open,.seat-chip.is-editing{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 5%, #fff);z-index:2}.seat-chip.is-editing{padding:.3rem}.seat-chip-check{cursor:pointer;flex-shrink:0;place-items:center;margin:0;display:inline-grid}.seat-chip-check input[type=checkbox]{width:.95rem;max-width:none;height:.95rem;accent-color:var(--accent);cursor:pointer;margin:0}.seat-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:auto;font-weight:600;line-height:1.3;overflow:hidden}.seat-chip-menu{flex-shrink:0;position:relative}.seat-icon-btn{appearance:none;width:1.85rem;height:1.85rem;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;margin:0;padding:0;transition:background .14s,color .14s,border-color .14s;display:inline-grid}.seat-icon-btn:hover:not(:disabled){color:#086038;border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:#0860381f}.seat-icon-btn.is-pen[aria-expanded=true]{color:#086038;background:#08603829}.seat-icon-btn.is-save{color:#086038;background:#08603824}.seat-icon-btn:disabled{opacity:.45;cursor:not-allowed}.seat-icon-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}.seat-menu-pop{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:7.5rem;padding:.3rem;animation:.16s loc-panel-in;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 28px -14px #0f172a59}.seat-menu-item{appearance:none;width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin:0;padding:.45rem .65rem;font-weight:600;display:block}.seat-menu-item:hover{color:#086038;background:#0860381a}.seat-menu-item.is-danger{color:var(--danger)}.seat-menu-item.is-danger:hover{color:var(--danger);background:#fef2f2}.seat-chip-edit{align-items:center;gap:.25rem;width:100%;min-width:0;height:100%;display:flex}.seat-chip-input{height:2.05rem;font:inherit;flex:auto;margin:0;border-radius:8px!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;padding:.25rem .45rem!important}@media (width<=1100px){.seats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=860px){.seats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.seats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.inline-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.table-row-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.35rem;display:inline-flex}.table-row-actions a.secondary,.table-row-actions button.secondary,.table-row-actions button.link-danger,.table-row-actions .btn-delete-row{white-space:nowrap;border-radius:6px;padding:.3rem .55rem;font-size:1rem}button.link-danger{cursor:pointer;font:inherit;color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.45rem .65rem;font-size:1rem;font-weight:600}button.link-danger:hover:not(:disabled){background:#fee2e2}.table-edit-input{width:100%;max-width:360px}.browse-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.25rem;display:flex}.btn-delete-row{cursor:pointer;font:inherit;color:var(--danger);opacity:.55;white-space:nowrap;background:0 0;border:1px solid #fecaca;border-radius:6px;padding:.3rem .45rem;font-size:1rem;font-weight:700;line-height:1;transition:opacity .12s,background .12s}.btn-delete-row:hover:not(:disabled){opacity:1;background:#fef2f2}.btn-delete-row:disabled{opacity:.3;cursor:not-allowed}.col-check{text-align:center;vertical-align:middle;width:2rem}.col-check input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--accent,#0a7544)}tr.row-selected td{background:#f0fdfa}tr.row-deleting{opacity:.4}@media (width<=860px){.admin-shell{flex-direction:column}.admin-sidebar{flex-flow:wrap;flex-shrink:0;align-items:center;gap:1rem;width:100%;height:auto;max-height:none;padding:.85rem 1rem;overflow:visible}.sidebar-brand{align-items:center;gap:.65rem;padding:0;display:flex}.sidebar-brand-text{margin-top:0}.sidebar-nav{flex-flow:wrap;flex:1;padding:0}.sidebar-nav-label{display:none}.nav-item{width:auto}.sidebar-footer{border-top:1px solid var(--sidebar-border);width:100%;margin-top:0;padding:.65rem 0 0}}.login-shell{background:radial-gradient(ellipse 75% 50% at 18% -5%, #0c7a478c, transparent 58%), linear-gradient(160deg, #064f2c 0%, #086038 45%, var(--cream) 45.1%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:min(100%,400px);padding:1.75rem;box-shadow:0 4px 6px -1px #15282014,0 24px 48px -18px #0860386b}.login-brand{align-items:center;gap:.85rem;margin-bottom:1.5rem;display:flex}.login-brand .sidebar-brand-text{margin-top:0}.login-brand .sidebar-brand-title{color:var(--text);font-size:1rem}.login-brand .sidebar-brand-sub{color:var(--text-muted)}.login-card .form-stack input,.login-card .form-stack select{max-width:none}.login-card .form-stack button.primary{width:100%;margin-top:1.25rem;padding:.65rem 1rem}.login-card .form-stack .err{margin:.75rem 0 0}.login-switch{text-align:center;color:var(--text-muted);margin:1.25rem 0 0;font-size:.9rem}.login-switch a{color:var(--accent,#2563eb);font-weight:600}.tenant-login-shell{background:radial-gradient(ellipse 80% 50% at 20% 10%, #08603866, transparent 55%), linear-gradient(160deg, #043822 0%, #086038 42%, var(--cream) 42.1%)}.tenant-login-card{border-top:3px solid #086038}.tenant-key-input{letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tenant-shell .admin-sidebar{background:var(--sidebar-bg)}.tenant-shell .sidebar-brand-mark{color:var(--on-accent);background:#eaf7ef24;border:1px solid #eaf7ef38}.tenant-shell .brand-accent{color:var(--on-accent-muted)}.tenant-shell .nav-item.active{background:var(--on-accent);color:var(--accent)}.tenant-shell .quick-nav-btn.is-active{color:#086038;background:#0860381a;border-color:#086038}.tenant-page{gap:1rem;display:grid}.tenant-page-hero{background:linear-gradient(135deg, #08603814, transparent 55%), linear-gradient(180deg, var(--surface) 0%, var(--cream) 140%)}.tenant-dashboard{gap:1rem;display:grid}.tenant-dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.tenant-dash-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .35rem;font-size:.8rem}.tenant-dash-title{margin:0 0 .25rem;font-size:1.45rem}.tenant-dash-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tenant-stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.tenant-stat{border-left:3px solid #086038;gap:.35rem;display:grid}.tenant-stat-label{color:var(--text-muted);font-size:.85rem}.tenant-stat-value{color:#115e59;font-size:1.5rem;line-height:1.1}.tenant-area-card,.tenant-centers{gap:.75rem;display:grid}.tenant-area-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.tenant-area-head h3{margin:0;font-size:1.05rem}.tenant-area-head .muted,.tenant-area-head p{margin:.2rem 0 0}.tenant-area-bars{gap:.65rem;display:grid}.tenant-area-bar-row{color:inherit;background:var(--surface-muted,#f8fafc);border:1px solid #0000;border-radius:10px;gap:.35rem;padding:.55rem .65rem;text-decoration:none;transition:border-color .15s,background .15s;display:grid}.tenant-area-bar-row:hover{background:#0860380f;border-color:#08603859}.tenant-area-bar-meta{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.tenant-area-bar-track{background:#0f172a14;border-radius:999px;height:6px;overflow:hidden}.tenant-area-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#086038,#086038);height:100%}.tenant-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:.85rem;display:flex}.tenant-search-field{gap:.35rem;min-width:min(100%,280px);display:grid}.tenant-search-field span{color:var(--text-muted);font-size:.9rem}.tenant-table-actions{text-align:right;white-space:nowrap}.tenant-flash{border-radius:10px;margin:0;padding:.65rem .85rem;font-size:.95rem}.tenant-flash.is-ok{color:#115e59;background:#0860381a}.tenant-flash.is-err{color:#b91c1c;background:#b91c1c14}.tenant-agent-list{gap:.45rem;margin-top:.75rem;display:grid}.tenant-agent-item{text-align:left;border:1px solid var(--border,#e4dcc8);background:var(--surface,#fff);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.7rem .8rem;display:flex}.tenant-agent-item:hover{border-color:#08603866}.tenant-agent-item.is-active{background:#0860380f;border-color:#086038}.tenant-agent-item-main{gap:.15rem;display:grid}.tenant-agent-areas{border:1px solid var(--border,#e4dcc8);border-radius:10px;max-height:280px;margin:.75rem 0 1rem;padding:.5rem;overflow:auto}.agents-create h3,.agents-list h3,.agents-areas h3{margin:0 0 .75rem;font-size:1.05rem}.admin-header-actions{align-items:center;gap:.75rem;display:flex}.extract-banner-check{animation:.5s cubic-bezier(.22,1,.36,1) both extract-success-pop;display:inline-flex}@keyframes extract-success-banner-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.extract-spinner{animation:.85s linear infinite extract-spin;display:inline-flex}@keyframes extract-spin{to{transform:rotate(360deg)}}.extract-progress-card{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.65rem;padding:.15rem .1rem .25rem;display:flex;position:relative;overflow:visible}.extract-progress-card.is-success{border-color:color-mix(in srgb, var(--success) 45%, var(--border));box-shadow:0 8px 24px -10px color-mix(in srgb, var(--success) 55%, transparent);animation:.7s ease-out extract-card-glow}@keyframes extract-card-glow{0%{transform:scale(.98)}60%{transform:scale(1.015)}to{transform:scale(1)}}.extract-success-hero{flex-direction:column;align-items:center;gap:.35rem;padding:.35rem 0 .55rem;animation:.5s cubic-bezier(.22,1,.36,1) both extract-success-hero-in;display:flex}@keyframes extract-success-hero-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.extract-success-title{color:var(--success);margin:0;font-size:1rem;font-weight:700}.extract-success-check{animation:.55s cubic-bezier(.22,1,.36,1) both extract-success-pop;display:inline-flex}.extract-success-ring{stroke:var(--success);stroke-width:2.5px;stroke-dasharray:150;stroke-dashoffset:150px;animation:.55s ease-out forwards extract-ring-draw}.extract-success-tick{stroke:var(--success);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;animation:.35s ease-out .35s forwards extract-tick-draw}@keyframes extract-ring-draw{to{stroke-dashoffset:0}}@keyframes extract-tick-draw{to{stroke-dashoffset:0}}@keyframes extract-success-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}.extract-success-burst{pointer-events:none;position:absolute;inset:0}.extract-success-burst span{background:var(--success);opacity:0;border-radius:2px;width:7px;height:7px;animation:.85s ease-out forwards extract-burst;position:absolute}.extract-success-burst span:first-child{--dx:-28px;--dy:-22px;animation-delay:50ms;top:42%;left:18%}.extract-success-burst span:nth-child(2){background:color-mix(in srgb, var(--primary) 70%, var(--success));--dx:-8px;--dy:-34px;animation-delay:.1s;top:28%;left:32%}.extract-success-burst span:nth-child(3){--dx:18px;--dy:-30px;animation-delay:80ms;top:24%;left:55%}.extract-success-burst span:nth-child(4){background:color-mix(in srgb, var(--primary) 55%, #fff);--dx:30px;--dy:-12px;animation-delay:.14s;top:40%;left:72%}.extract-success-burst span:nth-child(5){--dx:22px;--dy:18px;animation-delay:.12s;top:58%;left:62%}.extract-success-burst span:nth-child(6){background:color-mix(in srgb, var(--success) 60%, #fff);--dx:-20px;--dy:16px;animation-delay:.16s;top:58%;left:28%}@keyframes extract-burst{0%{opacity:0;transform:translate(0)scale(.4)rotate(0)}35%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1) rotate(40deg)}}.extract-progress-track.is-done .extract-progress-fill{background:var(--success)}.extract-progress-card.is-failed{border-color:color-mix(in srgb, #dc2626 40%, var(--border))}.extract-progress-track.is-failed .extract-progress-fill{background:#dc2626;transition:none}.extract-progress-card.is-failed .extract-progress-pct{color:#dc2626}.extract-progress-card.is-paused{border-color:color-mix(in srgb, #d97706 45%, var(--border))}.extract-progress-track.is-paused .extract-progress-fill{background:#d97706;transition:none}.extract-progress-card.is-cancelled{border-color:color-mix(in srgb, #64748b 40%, var(--border))}.extract-progress-track.is-cancelled .extract-progress-fill{background:#64748b;transition:none}.extract-fail-hero{text-align:center;flex-direction:column;align-items:center;gap:.3rem;padding:.35rem 0 .55rem;animation:.45s cubic-bezier(.22,1,.36,1) both extract-success-hero-in;display:flex}.extract-fail-title{color:#dc2626;margin:0;font-size:1rem;font-weight:700}.extract-fail-hint{color:var(--text-muted);margin:0;font-size:1rem}.extract-fail-error{color:#b91c1c;word-break:break-word;max-width:36rem;margin:.35rem 0 0;font-size:1rem;line-height:1.4}.extract-fail-icon{animation:.5s cubic-bezier(.22,1,.36,1) both extract-success-pop;display:inline-flex}.extract-fail-ring{stroke:#dc2626;stroke-width:2.5px;stroke-dasharray:150;stroke-dashoffset:150px;animation:.45s ease-out forwards extract-ring-draw}.extract-fail-x{stroke:#dc2626;stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:48;stroke-dashoffset:48px;animation:.3s ease-out .3s forwards extract-tick-draw}.extract-progress-bar-row{align-items:center;gap:.65rem;display:flex}.extract-progress-track{background:color-mix(in srgb, var(--accent) 12%, #e4dcc8);border-radius:999px;flex:1;height:.75rem;overflow:hidden}.extract-progress-fill{border-radius:inherit;background:var(--primary);width:0%;height:100%;transition:width .35s}.extract-progress-track.is-indeterminate .extract-progress-fill{animation:1.1s ease-in-out infinite extract-forward-pulse}@keyframes extract-forward-pulse{0%,to{opacity:.55}50%{opacity:1}}.extract-progress-pct{text-align:right;min-width:2.75rem;color:var(--primary);flex-shrink:0;font-size:1rem;font-weight:700}.extract-progress-card.is-success .extract-progress-pct{color:var(--success)}.extract-progress-detail{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.45}.extract-progress-eta{color:var(--text);margin:0;font-size:1rem;font-weight:600}.export-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.center-form-page.admin-card{padding:1.15rem 1.2rem 1.4rem}.center-form-shell{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#0860381a,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;flex-direction:column;gap:.95rem;max-width:44rem;padding:1.05rem 1.1rem 1.15rem;display:flex;box-shadow:inset 0 1px #ffffffd9,0 14px 32px -24px #0f172a38}.center-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem 1rem;display:grid}.center-form-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.center-form-field label{color:#334155;align-items:center;gap:.4rem;font-size:.92rem;font-weight:700;display:flex}.center-form-field input[type=text],.center-form-select{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));width:100%;max-width:none;min-height:2.75rem;font:inherit;color:inherit;background:#fffffff2;border-radius:14px;padding:.6rem .85rem;box-shadow:0 1px 2px #0f172a0a}.center-form-field input[type=text]:focus,.center-form-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);outline:none}.center-form-field .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 20%, var(--border));background:#fffffff2;border-radius:14px}.center-form-field .searchable-select-input{font-weight:600}.center-form-maps{align-self:flex-start}.center-form-actions{flex-wrap:wrap;gap:.5rem;padding-top:.15rem;display:flex}@media (width<=640px){.center-form-grid{grid-template-columns:1fr}.center-form-shell{max-width:none}}.centers-page.admin-card{padding:1.15rem 1.2rem 1.4rem}.centers-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.9rem 1.25rem;margin-bottom:1.1rem;display:flex}.centers-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover);margin:0 0 .25rem;font-size:.78rem;font-weight:700}.centers-hero .admin-card-title{font-size:1.2rem}.centers-hero .admin-card-desc{max-width:36ch;font-size:.95rem}.centers-hero-actions{flex-wrap:wrap;gap:.5rem;display:flex}.centers-filter-shell{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#0860381a,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;margin-bottom:1.15rem;padding:1rem 1.05rem 1.05rem;box-shadow:inset 0 1px #ffffffd9,0 14px 32px -24px #0f172a38}.centers-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;display:grid}.centers-filter-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.centers-filter-field label{color:#334155;align-items:center;gap:.4rem;font-size:.92rem;font-weight:700;display:flex}.centers-filter-field input[type=search]{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));width:100%;max-width:none;min-height:2.75rem;font:inherit;background:#fffffff2;border-radius:14px;padding:.6rem .85rem;box-shadow:0 1px 2px #0f172a0a}.centers-filter-field input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);outline:none}.centers-filter-field .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 20%, var(--border));background:#fffffff2;border-radius:14px}.centers-filter-field .searchable-select-input{font-weight:600}.centers-filter-meta{color:var(--text-muted);margin:.75rem 0 0;font-size:.92rem}.centers-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text-muted);background:#ffffffb3;border-radius:16px;flex-direction:column;align-items:center;gap:.55rem;padding:1.6rem 1rem;display:flex}.centers-empty-icon{color:var(--accent);opacity:.8;font-size:1.4rem}.centers-empty p{max-width:28ch;margin:0;line-height:1.5}.centers-list-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.centers-select-all{color:var(--text-muted);cursor:pointer;align-items:center;gap:.45rem;font-size:.92rem;font-weight:600;display:inline-flex}.centers-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:.85rem;display:grid}.center-tile{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:.7rem;padding:.9rem .95rem .95rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 8px 22px -18px #0f172a47}.center-tile:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-2px);box-shadow:0 14px 28px -20px #0f172a59}.center-tile.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim), 0 14px 28px -20px #08603859}.center-tile-top{align-items:center;gap:.5rem;display:flex}.center-tile-check{display:inline-flex}.center-serial{color:#086038;font-variant-numeric:tabular-nums;background:#0860381f;border-radius:999px;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.18rem .55rem;font-weight:800;line-height:1.2;display:inline-flex}.center-serial small{opacity:.8;font-size:.7rem;font-weight:700}.center-assigned{color:var(--text-muted);background:#f5efe3;border-radius:999px;margin-left:auto;padding:.18rem .5rem;font-size:.82rem;font-weight:700}.center-tile-name{color:var(--text);margin:0;font-size:1rem;font-weight:700;line-height:1.4}.center-tile-actions{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.center-tile-actions a.secondary,.center-tile-actions button.link-danger{border-radius:8px;padding:.32rem .6rem;font-size:.9rem}@media (width<=720px){.centers-filter-grid{grid-template-columns:1fr}.centers-hero-actions{width:100%}.centers-hero-actions .primary,.centers-hero-actions .secondary{text-align:center;flex:1;justify-content:center}}.cv-page.admin-card{padding:1.2rem 1.25rem 1.45rem}.cv-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem 1.2rem;margin-bottom:1.1rem;display:flex}.cv-hero .admin-card-title{font-size:1.22rem}.cv-hero .admin-card-desc{max-width:38ch;font-size:.95rem}.cv-hero-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cv-filter-shell{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#0860381a,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;margin-bottom:1rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffffd9,0 14px 32px -24px #0f172a38}.cv-filter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:.85rem 1rem;display:grid}.cv-filter-field label{color:#334155;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.92rem;font-weight:700;display:flex}.cv-filter-field .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 20%, var(--border));background:#fffffff5;border-radius:14px}.cv-filter-field .searchable-select-input{font-weight:600}.cv-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text-muted);background:#ffffffb3;border-radius:16px;flex-direction:column;align-items:center;gap:.55rem;padding:1.5rem 1rem;display:flex}.cv-empty-icon{color:var(--accent);font-size:1.35rem}.cv-empty p{max-width:30ch;margin:0;line-height:1.5}.cv-empty-inline{margin-top:.85rem}.cv-summary{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:linear-gradient(135deg,#08603814,#fff 55%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;padding:.95rem 1.05rem;display:flex}.cv-summary-main{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.cv-summary-main h3{margin:0;font-size:1.02rem;font-weight:700;line-height:1.4}.cv-serial{color:#086038;background:#08603829;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.85rem;font-weight:800}.cv-summary-meta{flex-wrap:wrap;align-items:center;gap:.55rem .85rem;font-size:.92rem;display:flex}.cv-stat{color:var(--text-muted);background:#f5efe3;border-radius:999px;padding:.22rem .6rem}.cv-summary-meta a{color:var(--accent-hover);font-weight:700;text-decoration:none}.cv-summary-meta a:hover{text-decoration:underline}.cv-results{margin-top:.15rem}.cv-search-bar{flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;margin-bottom:.75rem;display:flex}.cv-search-field{flex:18rem;min-width:0}.cv-search-field label{color:#334155;margin-bottom:.4rem;font-size:.92rem;font-weight:700;display:block}.cv-search-field .search-row input{border-radius:12px;max-width:none;min-height:2.7rem}.cv-count-bar{margin-bottom:.7rem}.cv-count-bar p{color:var(--text-muted);margin:0;font-size:.95rem}.cv-pager{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}@media (width<=800px){.cv-filter-grid{grid-template-columns:1fr}.cv-hero-actions{width:100%}.cv-hero-actions .secondary{text-align:center;flex:1;justify-content:center}}.tenants-page.admin-card{padding:1.15rem 1.2rem 1.4rem}.tenants-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.9rem 1.25rem;margin-bottom:1.1rem;display:flex}.tenants-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover);margin:0 0 .25rem;font-size:.78rem;font-weight:700}.tenants-hero .admin-card-title{font-size:1.2rem}.tenants-hero .admin-card-desc{max-width:42ch;font-size:.95rem}.tenants-hero-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tenants-flash{border-radius:10px;margin:0 0 .85rem;padding:.55rem .75rem;font-size:.92rem}.tenants-flash.ok{background:color-mix(in srgb, var(--success) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--success) 35%, transparent);color:#047857}.tenants-flash.err{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.tenants-layout,.agents-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:1.25rem;display:grid}.tenants-list-shell{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#0860381a,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;padding:1rem 1.05rem 1.05rem;box-shadow:inset 0 1px #ffffffd9,0 14px 32px -24px #0f172a38}.tenants-list-search{flex-direction:column;gap:.4rem;margin-bottom:.65rem;display:flex}.tenants-list-search label{color:#334155;font-size:.92rem;font-weight:700}.tenants-list-search input[type=search]{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));width:100%;min-height:2.75rem;font:inherit;background:#fffffff2;border-radius:14px;padding:.6rem .85rem;box-shadow:0 1px 2px #0f172a0a}.tenants-list-search input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);outline:none}.tenants-list-meta{color:var(--text-muted);margin:0 0 .75rem;font-size:.88rem}.tenants-list{flex-direction:column;gap:.5rem;max-height:min(62vh,640px);padding-right:.15rem;display:flex;overflow-y:auto}.tenant-list-item{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fffffff2;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.75rem .85rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.tenant-list-item:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-1px);box-shadow:0 8px 20px -16px #0f172a47}.tenant-list-item.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface));box-shadow:0 0 0 3px var(--accent-dim)}.tenant-list-item-head{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.tenant-list-item-head strong{font-size:.95rem;line-height:1.3}.tenant-list-seat{color:var(--text-muted);font-size:.86rem}.tenant-list-meta{color:var(--text-muted);font-size:.82rem}.tenant-status-badge{letter-spacing:.02em;border-radius:999px;flex-shrink:0;align-items:center;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.tenant-status-badge.is-active{background:color-mix(in srgb, var(--success) 14%, var(--surface));color:#047857;border:1px solid color-mix(in srgb, var(--success) 35%, transparent)}.tenant-status-badge.is-inactive{background:color-mix(in srgb, var(--text-muted) 12%, var(--surface));color:var(--text-muted);border:1px solid color-mix(in srgb, var(--text-muted) 25%, transparent)}.tenants-empty,.tenants-detail-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text-muted);background:#ffffffb3;border-radius:16px;flex-direction:column;align-items:center;gap:.55rem;padding:1.6rem 1rem;display:flex}.tenants-detail-empty{justify-content:center;min-height:18rem}.tenants-empty-icon{color:var(--accent);opacity:.8;font-size:1.4rem}.tenants-empty p,.tenants-detail-empty p{max-width:28ch;margin:0;line-height:1.5}.tenants-detail-empty h3{color:var(--text);margin:0;font-size:1.05rem}.tenants-form-panel{min-width:0}.tenants-detail-head{flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:1rem;display:flex}.tenants-detail-head-copy{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%;display:flex}.tenants-back-btn{border-radius:999px;align-items:center;gap:.35rem;min-height:2.25rem;padding:.35rem .85rem;font-size:.88rem;font-weight:600;display:inline-flex}.tenants-detail-title{margin:0;font-size:1.1rem;font-weight:700}.tenants-detail-loading{color:var(--text-muted);font-size:.88rem}.tenant-form-tabs{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--accent) 12%);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;padding:.35rem;display:grid}.tenant-form-tab{min-width:0;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:.65rem;padding:.7rem .8rem;display:flex}.tenant-form-tab>span:first-child{background:color-mix(in srgb, var(--accent) 12%, var(--surface));width:1.7rem;height:1.7rem;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:inline-flex}.tenant-form-tab>span:last-child{flex-direction:column;gap:.12rem;min-width:0;display:flex}.tenant-form-tab strong{color:var(--text);font-size:.9rem}.tenant-form-tab small{color:var(--text-muted);font-size:.76rem}.tenant-form-tab:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.tenant-form-tab.is-active{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--surface);box-shadow:0 4px 12px -10px #0f172a73}.tenant-form-tab.is-active>span:first-child{background:var(--accent);color:#fff}.tenant-tab-hint{border:1px dashed var(--border);color:var(--text-muted);background:var(--surface);border-radius:12px;margin:0;padding:1rem}.tenants-section{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:#ffffffd9;border-radius:18px;margin-bottom:1.15rem;padding:1rem 1.05rem 1.05rem;box-shadow:0 8px 22px -20px #0f172a38}.tenants-section-head{margin-bottom:.85rem}.tenants-section-head h4{margin:0;font-size:.98rem;font-weight:700}.tenants-section-head p{color:var(--text-muted);max-width:48ch;margin:.25rem 0 0;font-size:.86rem}.tenants-form-fields{gap:1rem}.tenants-form-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start;gap:1rem 1.1rem;display:grid}.tenant-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.tenant-field-seat{grid-column:1/-1}.tenant-field label{color:#334155;text-transform:none;letter-spacing:normal;margin:0;font-size:.92rem;font-weight:700;display:block}.tenant-field input[type=text],.tenant-field input[type=password],.tenant-field select,.tenant-field-input{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));width:100%;max-width:none;min-height:2.75rem;font:inherit;color:var(--text);background:#fffffff2;border-radius:14px;padding:.62rem .85rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a0a}.tenant-field input[type=text]::placeholder,.tenant-field input[type=password]::placeholder,.tenant-field-input::placeholder{color:#94a3b8}.tenant-field input[type=text]:focus,.tenant-field input[type=password]:focus,.tenant-field select:focus,.tenant-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);outline:none}.tenant-field select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 1.1rem) calc(50% + .15rem),calc(100% - .75rem) calc(50% + .15rem);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}.tenant-field-seat .searchable-select-field{border-color:color-mix(in srgb, var(--accent) 20%, var(--border));background:#fffffff2;border-radius:14px;min-height:2.75rem;box-shadow:0 1px 2px #0f172a0a}.tenant-field-check{border:1px solid var(--border);background:var(--surface);color:var(--text);text-transform:none;letter-spacing:normal;cursor:pointer;border-radius:12px;align-items:center;gap:.55rem;padding:.65rem .85rem;font-size:.92rem;font-weight:600;display:flex}.tenant-check{align-items:center;gap:.5rem;display:flex}.tenant-geo-picker{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);border-radius:12px;margin-top:.25rem;padding:1rem}.geo-picker-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.geo-picker-title{margin:0;font-size:1rem;font-weight:650}.geo-picker-desc{color:var(--text-muted);max-width:42rem;margin:.25rem 0 0;font-size:.88rem}.geo-summary-pill{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.geo-summary-pill.is-full{background:color-mix(in srgb, #16a34a 14%, var(--surface));color:#15803d;border-color:#16a34a59}.geo-all-seat{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.65rem;margin-bottom:.85rem;padding:.75rem .85rem;display:flex}.geo-all-seat strong{font-size:.95rem;display:block}.geo-all-seat small{color:var(--text-muted);margin-top:.15rem;font-size:.82rem;display:block}.geo-tree{flex-direction:column;gap:.55rem;display:flex}.geo-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.geo-card.is-expanded{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 8%, transparent)}.geo-card.is-selected{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.geo-card-head{align-items:center;gap:.35rem;padding:.55rem .65rem .55rem .45rem;display:flex}.geo-card-body{flex-direction:column;gap:.45rem;padding:0 .65rem .75rem 2.1rem;display:flex}.geo-ward-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, var(--text) 4%);border-radius:8px}.geo-ward-card.is-expanded{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.geo-ward-card.is-selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.geo-ward-head{align-items:center;gap:.3rem;padding:.45rem .55rem .45rem .35rem;display:flex}.geo-ward-body{padding:0 .55rem .65rem 1.85rem}.geo-expand-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.geo-expand-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.geo-expand-btn:disabled{opacity:.35;cursor:default}.geo-expand-btn-sm{width:24px;height:24px}.geo-chevron{transition:transform .18s}.geo-chevron.is-open{transform:rotate(90deg)}.geo-select-row{cursor:pointer;flex-wrap:wrap;flex:1;align-items:baseline;gap:.35rem .55rem;min-width:0;display:flex}.geo-label-main{font-size:.92rem;font-weight:600}.geo-label-sub{color:var(--text-muted);font-size:.78rem}.geo-badge{background:var(--accent);min-width:1.35rem;height:1.35rem;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-flex}.geo-hint{color:var(--text-muted);margin:0;font-size:.82rem}.geo-area-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem;display:grid}.geo-area-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.45rem;padding:.45rem .55rem;transition:border-color .12s,background .12s;display:flex}.geo-area-chip:has(input:checked){border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.geo-area-num{font-family:var(--font-mono,monospace);color:var(--accent);flex-shrink:0;font-size:.78rem;font-weight:700}.geo-area-name{color:var(--text);font-size:.82rem;line-height:1.35}.tenant-geo-tree,.tenant-geo-subtree{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.tenant-geo-subtree{border-left:2px solid var(--border);margin-left:1rem;padding-left:.75rem}.tenant-geo-node{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tenant-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.15rem;padding-top:.25rem;display:flex}.tenant-key-mono{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}.tenant-key-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tenant-key-row input{flex:1;min-width:8rem}.tenant-key-hint{color:var(--text-muted);margin:.35rem 0 0;font-size:.82rem}.tenant-key-create-hint{grid-column:1/-1}.tenant-users-section{margin-top:0;padding-top:1rem}.tenant-user-create{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));align-items:end;gap:.85rem 1rem;margin-bottom:1rem;display:grid}.tenant-user-create-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.tenant-user-create-field label{color:#334155;font-size:.88rem;font-weight:600}.tenant-user-create-btn{align-self:end;min-height:2.5rem}.tenants-users-empty{color:var(--text-muted);margin:0 0 .75rem;font-size:.88rem}.tenant-users-list{flex-direction:column;gap:.45rem;margin:0;padding:0;display:flex}.tenant-list-item-wrap{border:1px solid #0000;border-radius:14px;flex-direction:column;gap:.35rem;margin-bottom:.35rem;padding:.35rem;transition:border-color .15s,background .15s;display:flex}.tenant-list-item-wrap.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.tenant-list-item-wrap .tenant-list-item{background:0 0;border:none;margin-bottom:0;padding:.35rem .45rem}.tenant-list-item-wrap.is-active .tenant-list-item{background:0 0}.tenant-list-item-actions{gap:.35rem;padding:0 .45rem .15rem;display:flex}.tenant-list-action-btn{min-height:2rem;padding:.25rem .65rem;font-size:.78rem}.tenant-draft-users{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.tenant-draft-user-row{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:linear-gradient(#fffffffa,#f8fafceb);border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));align-items:end;gap:.85rem 1rem;padding:1rem;display:grid;box-shadow:0 1px 3px #0f172a0a}.tenant-draft-remove{align-self:end;margin-bottom:.35rem}.tenant-user-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;align-items:stretch;gap:.55rem;padding:.75rem .85rem;display:flex}.tenant-user-row-main{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.tenant-user-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.tenant-user-action-btn{min-height:2rem;padding:.25rem .7rem;font-size:.78rem}.tenant-reset-row{flex-wrap:wrap;align-items:center;gap:.45rem;width:100%;display:flex}.tenant-reset-row input{flex:1;min-width:10rem}.tenant-user-name{font-size:.92rem}.tenant-role-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.tenant-role-badge.role-candidate{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent-hover);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.tenant-role-badge.role-manager{background:color-mix(in srgb, #6366f1 14%, var(--surface));color:#4338ca;border:1px solid #6366f159}.agent-row{align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.agent-row.is-active{color:var(--accent)}.agents-area-filters{max-width:420px}@media (width<=900px){.tenants-layout,.agents-layout{grid-template-columns:1fr}.tenants-list{max-height:none}.tenant-user-create{grid-template-columns:1fr}}@media (width<=560px){.tenant-form-tabs{grid-template-columns:1fr}}.api-docs-page.admin-card{padding:1.15rem 1.2rem 1.4rem}.api-docs-hero{margin-bottom:1.1rem}.api-docs-hero .admin-card-desc{max-width:52ch;font-size:.95rem}.api-docs-stack{gap:.9rem;display:grid}.api-docs-card{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:radial-gradient(90% 80% at 0 0,#08603814,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:16px;padding:1rem 1.05rem 1.1rem}.api-docs-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.api-docs-card-title{color:var(--text);margin:0 0 .55rem;font-size:1rem;font-weight:700}.api-docs-card-head .api-docs-card-title{margin-bottom:0}.api-docs-copy{flex-shrink:0;padding:.28rem .7rem;font-size:.82rem}.api-docs-list{color:var(--muted);gap:.4rem;margin:0;padding-left:1.15rem;font-size:.93rem;line-height:1.45;display:grid}.api-docs-list strong{color:var(--text);font-weight:650}.api-docs-note{color:var(--muted);margin:.65rem 0 0;font-size:.88rem;line-height:1.45}.api-docs-pre{border:1px solid color-mix(in srgb, var(--border) 80%, #94a3b8);color:#e4dcc8;white-space:pre;background:#0f172a;border-radius:12px;margin:0;padding:.85rem .95rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.api-docs-method{color:#6ee7b7;background:#34d39947;border-radius:6px;margin-right:.45rem;padding:.08rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.api-docs-table-wrap{margin-top:.35rem;overflow-x:auto}.api-docs-table{border-collapse:collapse;width:100%;font-size:.88rem}.api-docs-table th,.api-docs-table td{text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb, var(--border) 85%, transparent);padding:.5rem .55rem}.api-docs-table th{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.api-docs-table td{color:var(--text)}.api-docs-table code{font-size:.82rem}.ecs-page{flex-direction:column;gap:1.1rem;padding:1.25rem 1.35rem 1.5rem;display:flex}.ecs-page-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ecs-page-head-main{flex-direction:column;flex:1;align-items:flex-start;gap:.45rem;min-width:0;display:flex}.ecs-kicker{letter-spacing:.04em;color:var(--text-muted);margin:0 0 .25rem;font-size:.72rem}.ecs-title{color:#0b3d5c;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;min-width:0;margin:0;font-size:1.35rem;font-weight:700;line-height:1.3;display:flex}.ecs-title-row,.ps-title-row{flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;min-width:0;display:flex}.ecs-title-row .ecs-subtitle,.ps-title-row .ps-subtitle,.ecs-title .ecs-subtitle,.ecs-title .ps-subtitle{margin:0}.ecs-subtitle{max-width:42rem;color:var(--text-muted);margin:0;font-size:.88rem;font-weight:400;line-height:1.5}.ecs-page-search{width:fit-content;max-width:100%;display:block}.ecs-page-search-input{field-sizing:content;border-radius:.4rem;width:auto;min-width:9rem;max-width:100%;height:2rem;padding:0 .55rem;font-size:.78rem}.ecs-page .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ecs-reset-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:.55rem;flex-shrink:0;padding:.45rem .9rem;transition:background .15s,border-color .15s}.ecs-reset-btn:hover{background:var(--surface-muted);border-color:#cbd5e1}.ecs-filters{margin-bottom:.85rem;display:block}.ecs-filter-bar{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:linear-gradient(#f7faf8f2 0%,#fff 70%);border-radius:.85rem;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:.55rem;padding:.7rem .8rem;display:grid}.ecs-filter-bar-6{grid-template-columns:repeat(6,minmax(0,1fr))}.ecs-filter-bar>.ps-field{gap:.28rem;min-width:0}.ecs-filter-bar>.ps-field>span{letter-spacing:.01em;color:#475569;font-size:.72rem;font-weight:700}.ecs-filter-eq .searchable-select-field,.ecs-filter-eq .ecs-mode-shell,.ecs-filter-eq .ps-search-input{height:2.35rem;min-height:2.35rem}.ecs-filter-eq .searchable-select-field{padding:.1rem .35rem .1rem .1rem;font-size:.84rem}.ecs-filter-eq .searchable-select-input{padding-left:.4rem;font-size:.84rem}.ecs-mode-shell{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-muted,#f8fafc);border-radius:12px;grid-template-columns:1fr 1fr;width:100%;display:grid;overflow:hidden}.ecs-mode-tab{color:#64748b;min-width:0;height:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0 .4rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.ecs-mode-tab+.ecs-mode-tab{border-left:1px solid var(--border)}.ecs-mode-tab:disabled{opacity:.45;cursor:not-allowed}.ecs-mode-tab:not(:disabled):not(.is-active):hover{background:var(--surface);color:#0b3d5c}.ecs-mode-tab.is-active{color:var(--on-accent);box-shadow:none;z-index:1;background:#086038;position:relative}.ecs-map-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;display:flex}.ecs-map-panel-titles{flex:1;min-width:0}.ecs-map-search{z-index:5;flex-direction:column;flex:0 18rem;gap:.25rem;min-width:min(100%,16rem);display:flex;position:relative}.ecs-map-search>span{color:#475569;font-size:.72rem;font-weight:700}.ecs-map-search-input{border-radius:.4rem;width:100%;height:2.2rem;padding:0 .65rem;font-size:.84rem}.ecs-omni{position:relative}.ps-map-panel .ecs-map-panel-head,.ps-map-panel .ps-panel-head,.ecs-map-panel .ecs-map-panel-head,.ecs-map-panel .ecs-panel-head{z-index:30;position:relative}.ecs-omni-list{background:var(--surface);z-index:50;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:.55rem;width:100%;min-width:0;max-width:100%;max-height:min(20rem,52vh);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .28rem);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #0f172a24}.ecs-omni-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:.4rem;flex-direction:column;align-items:flex-start;gap:.12rem;padding:.45rem .55rem;display:flex}.ecs-omni-item:hover,.ecs-omni-item.is-active{background:#eef5ff}.ecs-omni-item-main{align-items:baseline;gap:.45rem;width:100%;min-width:0;display:flex}.ecs-omni-kind{letter-spacing:.01em;color:#1d4ed8;background:#dbeafe;border-radius:.3rem;flex:none;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.ecs-omni-label{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.84rem;font-weight:650;overflow:hidden}.ecs-omni-detail{color:#64748b;padding-left:.1rem;font-size:.72rem;line-height:1.35}.ecs-omni-empty,.ecs-omni-hint{color:#64748b;padding:.45rem .55rem;font-size:.75rem}.ecs-omni-hint{border-top:1px solid #eef2f7;margin-top:.2rem}.ecs-map-search-compact{flex:none;width:fit-content;min-width:0;max-width:100%}.ecs-map-search-compact .ecs-map-search-input{field-sizing:content;width:auto;min-width:7.5rem;max-width:100%;height:2rem;padding:0 .5rem;font-size:.78rem}.ecs-field{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.ecs-field-grow{grid-column:span 1}.ecs-field select,.ecs-field input{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:var(--surface);border-radius:.55rem;padding:.55rem .7rem}.ecs-field select:focus,.ecs-field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-color:var(--accent)}.ecs-breadcrumb{color:#0b3d5c;margin:0;font-size:.85rem;font-weight:700}.ecs-head-actions{flex-shrink:0;gap:.5rem;display:flex}.ecs-drill-grid{grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr);align-items:stretch;gap:1rem;display:grid}.ecs-map-panel,.ecs-side-panel,.ecs-list-panel{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;flex-direction:column;min-height:28rem;display:flex;overflow:hidden}.ecs-side-panel{background:linear-gradient(#f8fbfd 0%,#fff 30%)}.ecs-list-panel-wide{min-height:16rem}.ecs-panel-head{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:.85rem 1rem .55rem}.ecs-panel-head h3{color:#0b3d5c;margin:0;font-size:1rem}.ecs-panel-title-inline{color:#0b3d5c;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;line-height:1.35;overflow:hidden}.ecs-panel-hint{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.ecs-panel-head p{color:var(--text-muted);margin:.15rem 0 0;font-size:.78rem}.ecs-side-empty{color:var(--text-muted);padding:.55rem .5rem;font-size:.82rem}.ecs-map-host{background:var(--surface);flex:1;justify-content:center;align-items:center;min-height:24rem;padding:.85rem 1rem 1rem;display:flex;position:relative}.ecs-map-host.is-loading:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 45%,#0000 100%) 0 0/200% 100%;border-radius:.5rem;animation:1.1s linear infinite ecs-map-shimmer;position:absolute;inset:.85rem 1rem 1rem}@keyframes ecs-map-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ecs-map-host svg{width:100%;height:auto;max-height:min(70vh,38rem);display:block}.ecs-map-host.ecs-map-level-constituency>svg{fill:none}.ecs-map-img{object-fit:contain;width:100%;max-height:min(70vh,38rem);display:block}.ecs-map-panel:has(.ecs-map-zoom){min-height:36rem}.ecs-map-zoom{-webkit-user-select:none;user-select:none;touch-action:none;background:#f7faf8;flex-direction:column;flex:1;min-height:32rem;display:flex;position:relative}.ecs-map-zoom.is-loading:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000 0%,#fff6 45%,#0000 100%) 0 0/200% 100%;border-radius:.5rem;animation:1.1s linear infinite ecs-map-shimmer;position:absolute;inset:2.5rem .75rem .75rem}.ecs-map-zoom-toolbar{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--surface);z-index:3;align-items:center;gap:.35rem;padding:.45rem .75rem;display:flex}.ecs-map-zoom-toolbar button{border:1px solid color-mix(in srgb, #086038 35%, var(--border));background:var(--surface);color:#0b3d5c;cursor:pointer;border-radius:.4rem;min-width:2rem;height:1.85rem;padding:0 .55rem;font-size:.95rem;font-weight:700;line-height:1}.ecs-map-zoom-toolbar button:hover{background:#e6efeb;border-color:#086038}.ecs-map-zoom-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:.25rem;font-size:.75rem}.ecs-map-zoom-hint{color:var(--text-muted);background:var(--surface);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);margin:0;padding:.25rem .75rem .35rem;font-size:.72rem}.ecs-map-zoom-viewport{cursor:grab;background:radial-gradient(circle at 30% 20%,#0086400a,#0000 45%),#fff;flex:1;min-height:min(72vh,40rem);position:relative;overflow:hidden}.ecs-map-zoom.is-zoomed .ecs-map-zoom-viewport{cursor:grab}.ecs-map-zoom-viewport:active{cursor:grabbing}.ecs-map-zoom-stage{transform-origin:50%;will-change:transform;justify-content:center;align-items:center;width:100%;height:100%;transition:transform 50ms linear;display:flex}.ecs-map-zoom .ecs-map-host{background:0 0;width:100%;height:100%;min-height:0;padding:.5rem}.ecs-map-zoom .ecs-map-img{object-fit:contain;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:min(70vh,38rem)}@media (width<=640px){.ecs-map-zoom{min-height:26rem}.ecs-map-zoom-viewport{min-height:min(58vh,28rem)}}.ecs-map-host .division-region,.ecs-map-host .district-region,.ecs-map-host .constituency-region,.ecs-map-host .union-region{transition:opacity .15s,fill .15s}.ecs-map-host.ecs-map-level-national .division-region .division-body,.ecs-map-host.ecs-map-level-national .division-region .division-outline{filter:none}.ecs-map-host.ecs-map-level-national .division-region .division-outline{pointer-events:none}.ecs-map-host.ecs-map-level-national .division-region .division-outline path{fill:none!important;stroke:#fff!important;stroke-width:7.5px!important}.ecs-map-host.ecs-map-level-national .division-region .division-body>path{stroke-width:3px!important}.ecs-map-host .district-region:hover>path[fill]:not([fill=none]):not(.place-name),.ecs-map-host .constituency-region:hover>path[fill]:not([fill=none]):not(.place-name),.ecs-map-host .union-region:hover>path[fill]:not([fill=none]):not(.place-name){fill:#086038!important;stroke:#fff!important}.ecs-map-host.ecs-map-level-national .division-region:hover .division-body>path,.ecs-map-host.ecs-map-level-national .division-region.is-active .division-body>path{fill:#086038!important;stroke:#086038!important}.ecs-map-host.ecs-map-level-national .division-region:hover .division-outline path,.ecs-map-host.ecs-map-level-national .division-region.is-active .division-outline path{stroke:#fff!important}.ecs-map-host .division-region path:not([fill]),.ecs-map-host .district-region path:not([fill]),.ecs-map-host .constituency-region path:not([fill]),.ecs-map-host .union-region path:not([fill]),.ecs-map-host .division-region path[fill=none],.ecs-map-host .district-region path[fill=none],.ecs-map-host .constituency-region path[fill=none],.ecs-map-host .union-region path[fill=none]{pointer-events:none}.ecs-map-host .division-region.is-dimmed,.ecs-map-host .district-region.is-dimmed,.ecs-map-host .constituency-region.is-dimmed,.ecs-map-host .union-region.is-dimmed{opacity:.38}.ecs-map-host .district-region.is-active>path[fill]:not([fill=none]):not(.place-name),.ecs-map-host .constituency-region.is-active>path[fill]:not([fill=none]):not(.place-name),.ecs-map-host .union-region.is-active>path[fill]:not([fill=none]):not(.place-name){fill:#086038!important;stroke:#fff!important}.ecs-map-host .union-map-labels,.ecs-map-host .union-map-underlay,.ecs-map-host .place-name{pointer-events:none}.ecs-map-error{text-align:center;color:var(--danger);padding:2rem 1rem}.ecs-side-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;padding:.75rem .85rem;display:grid}.ecs-stat{color:var(--on-accent);text-align:center;border-radius:.55rem;flex-direction:column;justify-content:center;gap:.12rem;min-height:0;padding:.55rem .35rem;display:flex;box-shadow:0 6px 14px #15282014}.ecs-stat-navy{background:linear-gradient(160deg,#03325e 0%,#0a4a7a 100%)}.ecs-stat-green{background:linear-gradient(160deg,#086038 0%,#007236 100%)}.ecs-stat-purple{background:linear-gradient(160deg,#662d91 0%,#4f2470 100%)}.ecs-stat-gold{background:linear-gradient(160deg,#8a7400 0%,#d2b700 100%)}.ecs-stat-value{letter-spacing:.01em;margin:0;font-size:.92rem;font-weight:700;line-height:1.15}.ecs-stat-label{opacity:.95;margin:0;font-size:.68rem;line-height:1.2}.ecs-side-unions{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-direction:column;flex:1;min-height:24rem;max-height:min(70vh,38rem);display:flex}.ecs-side-unions-head{flex-shrink:0;padding:.55rem .85rem .35rem}.ecs-side-unions-head h4{color:#0b3d5c;margin:0;font-size:.82rem}.ecs-side-unions-head p{color:var(--text-muted);margin:.15rem 0 0;font-size:.72rem}.ecs-side-unions .ecs-union-table-wrap{border:none;border-radius:0;flex:1;min-height:0;max-height:none;margin:0;overflow:auto}.ecs-table tbody tr.is-active-row td{background:#e1ece7}.ecs-side-list{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex:1;min-height:24rem;max-height:min(70vh,38rem);padding:.65rem .75rem .85rem;overflow:auto}.ecs-side-list h4{color:#0b3d5c;margin:0 0 .45rem;font-size:.82rem}.ecs-side-list ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.ecs-side-list button{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .5rem;font-size:.82rem;display:flex}.ecs-side-list button:hover{background:#f5efe3}.ecs-side-list button.is-active{background:#e1ece7;border-color:#a9c7b9}.ecs-side-list strong{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.78rem;font-weight:600}.ecs-table-wrap{flex:1;max-height:min(50vh,28rem);overflow:auto}.ecs-table{border-collapse:collapse;width:100%;font-size:.86rem}.ecs-table th,.ecs-table td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--border) 85%, transparent);white-space:nowrap;padding:.55rem .7rem}.ecs-table th{color:var(--text-muted);z-index:1;background:#f5efe3;font-size:.75rem;font-weight:700;position:sticky;top:0}.ecs-table tbody tr{cursor:pointer;transition:background .12s}.ecs-table tbody tr:hover{background:#f0f9ff}.ecs-table td:nth-child(n+3),.ecs-table th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.ecs-empty{color:var(--text-muted);text-align:center!important;padding:2rem 1rem!important}.ecs-union-table-wrap{max-height:min(55vh,32rem)}.ecs-union-table th:nth-child(3),.ecs-union-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.ecs-union-table tbody tr{cursor:pointer}.ecs-union-table tbody tr:hover{background:#ebf2ef}.ecs-union-table tbody tr.is-active{background:#d7e6df}.ecs-union-table tbody tr.is-active td{color:#0b3d5c;font-weight:600}.ecs-map-match-note{color:#8a5a00;margin:.35rem 0 0;font-size:.72rem;line-height:1.35}@media (width<=1100px){.ecs-filter-bar,.ecs-filter-bar-6{grid-template-columns:repeat(3,minmax(0,1fr))}.ecs-drill-grid,.ps-filter-row-top,.ps-filter-row-bottom{grid-template-columns:1fr}}@media (width<=640px){.ecs-page{padding:1rem}.ecs-page-head{flex-direction:column}.ecs-page .ecs-title.ps-title{flex-wrap:wrap;overflow:visible}.ecs-page .ecs-title .ecs-subtitle,.ecs-page .ecs-title .ps-subtitle{white-space:normal;text-overflow:unset;flex:100%;overflow:visible}.ecs-page-search,.ecs-page-search-input{width:100%;max-width:100%}.ecs-filter-bar,.ecs-filter-bar-6{grid-template-columns:1fr 1fr}.ecs-map-panel-head{flex-direction:column;align-items:stretch}.ecs-map-search,.ecs-map-search-compact{flex:auto;width:100%;min-width:0}.ecs-map-search-compact .ecs-map-search-input{width:100%}.ecs-stat-value{font-size:.78rem}.ecs-stat-label{font-size:.58rem}.ecs-side-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;padding:.55rem}}.ps-page{padding:1.25rem 1.35rem 1.5rem}.ps-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.ecs-page.ps-page>.ps-head.ecs-page-head{align-items:center;margin-bottom:.65rem}.ecs-page .ecs-title.ps-title{flex-wrap:nowrap;flex:1;align-items:baseline;gap:.55rem .75rem;min-width:0;display:flex;overflow:hidden}.ecs-page .ecs-title .ecs-subtitle,.ecs-page .ecs-title .ps-subtitle{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;max-width:none;margin:0;font-size:.82rem;font-weight:400;line-height:1.35;display:block;overflow:hidden}.ps-title{color:#0b3d5c;margin:0;font-size:1.35rem}.ps-subtitle{color:var(--text-muted);max-width:40rem;margin:0;font-size:.88rem;line-height:1.45}.ps-status{color:var(--text-muted);margin:.5rem 0 1rem}.ps-status.is-error{color:var(--danger)}.ps-filters{background:0 0;border:none;border-radius:0;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:0;display:flex}.ps-filter-row{align-items:stretch;gap:1rem;display:grid}.ps-filter-row-top,.ps-filter-row-bottom{grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr)}.ps-filter-row>.ps-field-pair,.ps-filter-row>.ps-field{border:1px solid var(--border);box-sizing:border-box;background:linear-gradient(#f7faf8 0%,#fff 55%);border-radius:.9rem;min-width:0;padding:.85rem 1rem}.ps-field-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.4rem;min-width:0;display:grid}.ps-field-pair-wide{grid-column:1/-1}.ps-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.ps-field>span{color:#0b3d5c;font-size:.78rem;font-weight:600}.ps-field-wide{grid-column:auto}.ps-mode-toggle{flex-wrap:nowrap;gap:.4rem;display:flex}.ps-mode-toggle button{border:1px solid color-mix(in srgb, #086038 30%, var(--border));background:var(--surface);color:#0b3d5c;cursor:pointer;white-space:nowrap;border-radius:.45rem;flex:1;min-width:0;height:2.4rem;padding:0 .45rem;font-size:.82rem;font-weight:600}.ps-mode-toggle button:disabled{opacity:.45;cursor:not-allowed}.ps-mode-toggle button.is-active{color:var(--on-accent);background:#086038;border-color:#086038}.ps-mode-toggle button:not(:disabled):not(.is-active):hover{background:#ebf2ef;border-color:#086038}.ps-head-actions{flex-shrink:0;gap:.5rem;display:flex}.ps-search-field{max-width:none}.ps-search-input{border:1px solid var(--border);color:#0b3d5c;background:var(--surface);box-sizing:border-box;border-radius:.45rem;width:100%;height:2.4rem;padding:0 .75rem;font-size:.9rem}.ps-search-input:focus{border-color:#086038;outline:2px solid #08603859}.ps-body-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:.75rem;display:grid}.ps-body-grid>.ps-map-panel{align-self:stretch;height:100%;min-height:28rem;position:relative;top:auto}.ps-body-grid>.ps-body-right{align-self:stretch;min-width:0;height:100%;min-height:28rem}:is(.ps-body-grid:has(.ecs-map-zoom)>.ps-map-panel,.ps-body-grid:has(.ecs-map-zoom)>.ps-body-right){min-height:36rem}.voters-browse-page .ps-head{align-items:center;gap:.75rem;margin-bottom:.65rem}.voters-browse-page .ps-title{flex-wrap:nowrap;flex:1;align-items:baseline;gap:.55rem .75rem;min-width:0;margin:0;font-size:1.2rem;line-height:1.3;display:flex;overflow:hidden}.voters-browse-page .ps-title .ps-subtitle{min-width:0;max-width:none;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:.82rem;font-weight:400;line-height:1.35;display:block;overflow:hidden}.voters-browse-page .voters-map-titles{flex-wrap:nowrap;flex:1;align-items:baseline;gap:.4rem .65rem;min-width:0;display:flex;overflow:hidden}.voters-browse-page .voters-map-titles .ecs-panel-title-inline{white-space:nowrap;flex-shrink:0}.voters-browse-page .voters-map-titles .ecs-panel-hint{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:.75rem;font-weight:400;display:block;overflow:hidden}.voters-browse-page .ps-map-panel .ecs-map-panel-head{flex-wrap:nowrap;align-items:center;gap:.5rem .65rem}.voters-browse-page .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.voters-browse-page .ps-body-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:.75rem}.voters-browse-page .ps-map-panel{background:linear-gradient(165deg,#f3f8fb 0%,#eef5f8 42%,#f7fafc 100%);border:none;border-radius:1.05rem;align-self:stretch;height:100%;min-height:28rem;position:relative;top:auto;overflow:hidden;box-shadow:0 0 0 1px #0b3d5c14,0 10px 28px #0b3d5c0f}.voters-browse-page .ps-map-panel .ecs-map-panel-head,.voters-browse-page .ps-map-panel .ps-panel-head{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-bottom:1px solid #0b3d5c14;padding:.65rem .75rem .5rem}.voters-browse-page .ps-map-panel .ecs-map-host{background:0 0;flex:1;min-height:24rem;padding:.85rem 1rem 1rem}.voters-browse-page .ps-map-panel .ecs-map-zoom{background:0 0;flex:1;min-height:32rem;padding:0}.voters-browse-page .ps-map-panel:has(.ecs-map-zoom){min-height:36rem}.voters-browse-page .ps-map-panel .ecs-map-host.is-loading:after{border-radius:.5rem;inset:.85rem 1rem 1rem}.voters-browse-page .ps-map-panel .ecs-map-host svg,.voters-browse-page .ps-map-panel .ecs-map-img{object-fit:contain;width:100%;height:auto;max-height:min(70vh,38rem)}.voters-browse-page .ps-body-right{flex-direction:column;align-self:stretch;gap:.65rem;min-width:0;height:100%;min-height:28rem;display:flex}:is(.voters-browse-page .ps-map-panel:has(.ecs-map-zoom)~.ps-body-right,.voters-browse-page .ps-body-grid:has(.ecs-map-zoom) .ps-body-right){min-height:36rem}.voters-browse-page .ps-center-pick{box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 85%, transparent);border-radius:1rem;padding:.65rem .75rem}.voters-search-strip{background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 85%, transparent);border-radius:1rem;flex-shrink:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.45rem .65rem;padding:.65rem .75rem;display:grid}.voters-search-name,.voters-side-filter{flex-direction:column;gap:.35rem;min-width:0;margin:0;padding:0;display:flex}.voters-search-name.ps-field{gap:.35rem}.voters-search-name>span,.voters-side-filter-head{box-sizing:border-box;align-items:center;min-height:1.85rem;display:flex}.voters-search-name>span,.voters-side-filter-title{color:#0b3d5c;font-size:.78rem;font-weight:600;line-height:1.2}.voters-side-filter-head{justify-content:space-between;gap:.4rem;padding:0}.voters-side-filter-tabs{flex-shrink:0}.voters-side-filter-tabs .ecs-mode-tab{padding:.2rem .45rem;font-size:.7rem;line-height:1.15}.voters-search-name .ps-search-input,.voters-side-filter .ps-search-input{box-sizing:border-box;width:100%;height:2.25rem;min-height:2.25rem;padding:0 .65rem;font-size:.88rem}.voters-search-clear{border:1px solid var(--border);background:var(--surface);color:#64748b;cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;margin:0;display:inline-flex}.voters-search-clear:hover{color:#b91c1c;border-color:color-mix(in srgb, #b91c1c 35%, var(--border));background:#fef2f2}.voters-search-clear-spacer{width:2.25rem;height:2.25rem;margin:0}.voters-pick-from-results{margin:0}.voters-name-preview-panel{flex-direction:column;flex:auto;min-height:0;max-height:none;display:flex;overflow:hidden}.voters-name-preview{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:.25rem;min-height:0;margin:0;padding:.35rem .45rem .55rem;list-style:none;display:flex;overflow:hidden auto}.voters-name-preview>li{border-radius:.5rem;flex-shrink:0}.voters-name-preview>li.is-expanded{background:#f0f5f3;box-shadow:0 0 0 1px #0860382e}.voters-preview-row{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:.45rem;grid-template-columns:3.2rem minmax(0,1fr) minmax(0,1.1fr) 1.1rem;align-items:center;gap:.35rem .5rem;padding:.42rem .5rem;font-size:.88rem;display:grid}.voters-preview-row:hover{background:#f0f3f5}.voters-preview-row.is-active{color:#065f3c;background:#e6efeb}.voters-preview-serial{font-variant-numeric:tabular-nums;color:#475569;white-space:nowrap;font-weight:600}.voters-preview-row.is-active .voters-preview-serial{color:#065f3c}.voters-preview-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.voters-preview-father{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.voters-preview-chevron{text-align:center;color:#94a3b8;font-size:.75rem}.voters-preview-details{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:.15rem .55rem .65rem}.voters-preview-details .ps-detail-list{margin:0}.ps-empty.is-error{color:var(--danger,#b91c1c)}.voters-browse-page .voters-table-panel{border-radius:1rem;flex-direction:column;width:100%;min-height:14rem;margin-top:.85rem;display:flex;overflow:hidden}.voters-browse-page .voters-table-title-row{flex-wrap:nowrap;flex:1;align-items:baseline;gap:.4rem .7rem;min-width:0;display:flex;overflow:hidden}.voters-browse-page .voters-table-title-row h3{white-space:nowrap;flex-shrink:0;margin:0}.voters-browse-page .voters-table-title-row p{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-muted);flex:1;margin:0;font-size:.82rem;overflow:hidden}.voters-table-wrap{flex:1;min-height:0;max-height:min(52vh,28rem);overflow:auto}.voters-result-table tbody tr{cursor:pointer}.voters-result-table tbody tr:hover{background:#f5f7f8}@media (width<=900px){.voters-search-strip{grid-template-columns:1fr auto;align-items:end}.voters-search-name{grid-column:1/-1}.voters-side-filter{grid-column:1}.voters-browse-page .ps-body-right{min-height:22rem}}.voters-browse-page .ps-detail-panel,.voters-browse-page .ps-list-panel{border-radius:1rem;min-height:0}@media (width<=1100px){.voters-browse-page .ps-body-grid{grid-template-columns:1fr}.voters-browse-page .ps-map-panel{position:static}.voters-browse-page .ps-map-panel .ecs-map-zoom,.voters-browse-page .ps-map-panel .ecs-map-zoom-viewport{min-height:min(58vh,28rem)}}.ps-body-right{flex-direction:column;gap:.85rem;min-width:0;display:flex}.ps-center-pick{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;padding:.75rem .85rem}.voters-name-search-row{flex-direction:column;gap:.55rem;display:flex}.voters-name-apply{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.voters-name-apply .ps-search-input{flex:10rem;min-width:0}.voters-list-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.voters-select-all{color:var(--muted,#5b6472);border-bottom:1px solid var(--border);align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.85rem;display:flex}.voters-list-check{align-items:center;margin-right:.15rem;display:inline-flex}.ps-list-panel .ps-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.ps-result-grid{grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);align-items:stretch;gap:1rem;display:grid}.ps-detail-panel,.ps-list-panel,.ps-map-panel{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;flex-direction:column;min-height:22rem;display:flex;overflow:hidden}.ps-map-panel{align-self:start;min-height:28rem;position:sticky;top:.75rem}.ps-body-right .ps-detail-panel{min-height:0}.ps-detail-panel.has-selection{background:var(--surface);border:1.5px solid #0860388c;box-shadow:0 0 0 3px #0860381f,0 12px 28px #08603814}.ps-detail-panel.has-selection .ps-detail-head,.ps-detail-panel.has-selection .ps-panel-head{background:linear-gradient(#eef4f1 0%,#fff 100%);border-bottom-color:#08603829}.ps-detail-panel.is-collapsed{min-height:0}.ps-detail-head{flex-direction:column;gap:.4rem;display:flex}.ps-detail-head-top{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.ps-detail-head-top h3{flex:1;min-width:0;margin:0}.ps-detail-head-summary{color:#0b3d5c;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;margin:0;font-size:.9rem;font-weight:650;line-height:1.4;display:-webkit-box;overflow:hidden}.ps-detail-head-meta{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.ps-detail-actions{flex-shrink:0;align-items:center;gap:.25rem;display:inline-flex}.ps-detail-icon-btn{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--surface);color:#475569;cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ps-detail-icon-btn:hover{color:#0b3d5c;background:#f5efe3}.ps-detail-icon-btn.is-danger:hover{color:#dc2626;background:#fce9e9;border-color:#f3b3b3}.ps-detail-icon-btn.is-edit{color:#086038}.ps-detail-icon-btn.is-edit:hover{color:#006f36;background:#e6efeb;border-color:#9cbfaf}.ps-detail-icon-btn:disabled{opacity:.45;cursor:not-allowed}.ps-detail-panel.is-editing{border-color:#0860388c;box-shadow:0 0 0 3px #08603824,0 12px 28px #08603814}.ps-detail-body{background:#f1f5f6;padding:.85rem 1rem 1rem}.ps-preview-card{background:var(--surface);border:1px solid #0b3d5c14;border-radius:.95rem;flex-direction:column;gap:.75rem;padding:.9rem .95rem;display:flex;position:relative;box-shadow:0 1px 2px #0b3d5c0a}.ps-preview-card:before{content:none}.ps-preview-top{min-width:0;display:block}.ps-name-banner{box-sizing:border-box;width:100%;min-width:0;color:var(--on-accent);background:linear-gradient(135deg,#1a7a4c 0%,#0f6b40 48%,#0a5c36 100%);border-radius:1.35rem;align-items:center;gap:.55rem;padding:.75rem 1rem;display:flex;box-shadow:0 8px 18px #0a5c3638,inset 0 1px #ffffff29}.ps-serial-num{background:color-mix(in srgb, var(--on-accent) 18%, transparent);width:fit-content;min-width:0;height:auto;color:var(--on-accent);border:1px solid color-mix(in srgb, var(--on-accent) 28%, transparent);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;box-shadow:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:.1rem .42rem;font-size:.92rem;font-weight:700;line-height:1.35;display:inline-flex}.ps-name-text{min-width:0;color:var(--on-accent);letter-spacing:.01em;flex-wrap:wrap;flex:1;align-items:center;gap:.35rem .45rem;margin:0;font-size:.95rem;font-weight:700;line-height:1.35;display:flex}.ps-name-copy{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.ps-name-banner .ps-gender-pill{background:color-mix(in srgb, var(--on-accent) 16%, transparent);border-color:color-mix(in srgb, var(--on-accent) 28%, transparent);color:var(--on-accent)}.ps-name-banner .ps-gender-pill.is-male,.ps-name-banner .ps-gender-pill.is-female,.ps-name-banner .ps-gender-pill.is-both{color:var(--on-accent);background:color-mix(in srgb, var(--on-accent) 16%, transparent);border-color:color-mix(in srgb, var(--on-accent) 28%, transparent)}.ps-gender-pill{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;padding:.16rem .5rem;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex}.ps-geo-trail{flex-wrap:wrap;align-items:center;gap:.35rem .15rem;padding:.15rem .1rem;display:flex}.ps-geo-trail-item{align-items:center;gap:.15rem;min-width:0;display:inline-flex}.ps-geo-trail-arrow{color:#94a3b8;flex-shrink:0;display:inline-flex}.ps-geo-trail-chip{white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:999px;align-items:center;max-width:100%;padding:.28rem .65rem;font-size:.78rem;font-weight:700;line-height:1.25;display:inline-flex;overflow:hidden}.ps-geo-trail-chip.is-root{color:#1e3a8a;background:#e7f0fe;border-color:#3b82f638}.ps-geo-trail-chip.is-seat{color:#065f3a;background:#def5ed;border-color:#10b98142}.ps-geo-trail-chip.is-upazila{color:#9a3412;background:#fef0e4;border-color:#fb923c47}.ps-geo-trail-chip.is-ward{color:#6b21a8;background:#f6eeff;border-color:#c084fc42}.ps-geo-trail-chip.is-area{color:#9f1239;background:#feebee;border-color:#fb718542}.ps-preview-foot{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-top:1px solid #0b3d5c14;border-radius:0;justify-content:space-between;align-items:center;gap:.65rem;min-width:0;margin-top:.05rem;padding-top:.7rem;display:flex}.ps-preview-foot.is-single{padding-right:0}.ps-area-inline{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;min-width:0;display:inline-flex}.ps-area-inline-label{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:650}.ps-area-inline-value{color:#0b3d5c;font-variant-numeric:tabular-nums;word-break:break-word;font-size:.92rem;font-weight:750}.ps-maps-pill{color:#334155;white-space:nowrap;max-width:100%;box-shadow:none;background:#f8fafc;border:1px solid #94a3b880;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.76rem;font-weight:700;line-height:1.15;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.ps-maps-pill:hover{background:var(--surface);color:#0f172a;box-shadow:none;border-color:#64748b;transform:translateY(-1px)}.ps-maps-pill:active{box-shadow:none;transform:translateY(0)}.ps-save-flash{color:#086038;align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.78rem;font-weight:600;animation:.35s ps-flash-in;display:inline-flex}.ps-save-flash:before{content:"";background:#086038;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 3px #08603838}@keyframes ps-flash-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ps-edit-body{gap:.85rem}.ps-edit-list>div{align-items:center}.ps-edit-list dt label{font:inherit;color:inherit;font-weight:inherit}.ps-edit-input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--border) 90%, #94a3b8);color:#0b3d5c;width:100%;min-height:2.15rem;font:inherit;background:#f8fafc;border-radius:.5rem;padding:.4rem .65rem;font-size:.9rem;transition:border-color .15s,background .15s,box-shadow .15s}.ps-edit-input:hover{background:var(--surface)}.ps-edit-input:focus{background:var(--surface);border-color:#086038;outline:none;box-shadow:0 0 0 3px #08603829}.ps-edit-list .searchable-select{width:100%}.ps-edit-coord-row{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.ps-edit-error{color:#b91c1c;background:#fceeee;border-radius:.5rem;margin:0;padding:.55rem .7rem;font-size:.85rem;font-weight:600}.ps-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.15rem;display:flex}.ps-edit-btn{min-height:2.35rem;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:.55rem;padding:.45rem 1rem;font-size:.9rem;font-weight:650;transition:background .15s,border-color .15s,color .15s,transform .12s}.ps-edit-btn:active:not(:disabled){transform:translateY(1px)}.ps-edit-btn:disabled{opacity:.65;cursor:wait}.ps-edit-btn.is-ghost{background:var(--surface);border-color:color-mix(in srgb, var(--border) 90%, #94a3b8);color:#475569}.ps-edit-btn.is-ghost:hover:not(:disabled){color:#0b3d5c;background:#f8fafc}.ps-edit-btn.is-primary{color:var(--on-accent);background:#086038}.ps-edit-btn.is-primary:hover:not(:disabled){background:#006f36}.ps-body-right .ps-list-panel{flex:1;min-height:16rem}.ps-panel-head{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:.85rem 1rem .55rem}.ps-panel-head h3{color:#009951;margin:0;font-size:1rem}.ps-panel-head p{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.ps-meta-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:.65rem;display:grid}.ps-meta-row.is-single{grid-template-columns:1fr}.ps-meta-chip{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:linear-gradient(#f8fbf9 0%,#fff 100%);border-radius:.85rem;flex-direction:column;justify-content:center;gap:.2rem;min-width:0;padding:.7rem .85rem;display:flex}.ps-meta-label{letter-spacing:.02em;color:var(--text-muted);font-size:.72rem;font-weight:650}.ps-meta-value{color:#0b3d5c;word-break:break-word;font-size:1rem;font-weight:700;line-height:1.3}.ps-detail-list{flex-direction:column;gap:.65rem;margin:0;display:flex}.ps-detail-list>div{grid-template-columns:7.5rem 1fr;gap:.5rem;font-size:.9rem;display:grid}.ps-detail-list dt{color:var(--text-muted);margin:0;font-weight:600}.ps-detail-list dd{color:#0b3d5c;margin:0;line-height:1.4}.ps-maps-link{box-sizing:border-box;color:#0b3d5c;background:linear-gradient(135deg,#ebf2ef 0%,#fff 55%),#fff;border:1px solid #08603847;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;min-height:100%;padding:.65rem .8rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:grid;box-shadow:0 1px #08603814}.ps-maps-link:hover{background:linear-gradient(135deg,#dce9e3 0%,#fff 60%),#fff;border-color:#0860388c;transform:translateY(-1px);box-shadow:0 8px 20px #0860381f}.ps-maps-link:active{box-shadow:none;transform:translateY(0)}.ps-maps-icon{width:2.1rem;height:2.1rem;color:var(--on-accent);background:#086038;border-radius:.65rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ps-maps-copy{flex-direction:column;gap:.08rem;min-width:0;display:flex}.ps-maps-title{color:#065f3a;font-size:.86rem;font-weight:700;line-height:1.2}.ps-maps-sub{color:var(--text-muted);font-size:.7rem;line-height:1.25}.ps-maps-arrow{color:#086038;opacity:.85;transition:transform .15s,opacity .15s;display:inline-flex}.ps-maps-link:hover .ps-maps-arrow{opacity:1;transform:translate(2px)}.ps-empty,.ps-empty-li{color:var(--text-muted);text-align:center;padding:1.5rem 1rem;font-size:.9rem}.ps-center-list{max-height:min(60vh,34rem);margin:0;padding:.4rem;list-style:none;overflow:auto}.ps-center-list button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:.45rem;grid-template-rows:auto auto;grid-template-columns:2.4rem 1fr;gap:.1rem .55rem;padding:.55rem .65rem;display:grid}.ps-center-list button:hover{background:#ebf2ef}.ps-center-list button.is-active{background:#d7e6df}.ps-center-serial{font-variant-numeric:tabular-nums;color:#086038;grid-row:1/span 2;align-self:center;font-size:.85rem;font-weight:700}.ps-center-name{color:#0b3d5c;font-size:.88rem;font-weight:600;line-height:1.35}.ps-center-meta{color:var(--text-muted);font-size:.72rem}.ps-footer{color:var(--text-muted);margin:1rem 0 0;font-size:.75rem}@media (width<=1100px){.ps-body-grid{grid-template-columns:1fr}.ps-map-panel{position:static}}@media (width<=900px){.ps-result-grid{grid-template-columns:1fr}.ps-search-field{max-width:none}}.settings-page.admin-card{padding:1.15rem 1.2rem 1.4rem}.settings-hero{margin-bottom:1.1rem}.settings-hero .admin-card-desc{max-width:52ch;font-size:.95rem}.settings-card{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:radial-gradient(90% 80% at 0 0,#08603817,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-radius:16px;padding:1.05rem 1.1rem 1.15rem}.settings-field,.settings-field .searchable-select-field{max-width:42rem}.settings-model-hint{color:var(--muted,#5a6570);margin:.4rem 0 0;font-size:.82rem;line-height:1.4}.settings-model-hint code{background:#0000000d;border-radius:.25rem;padding:.05rem .3rem;font-size:.78rem}.settings-model-hint-warn{color:#9a3412}.settings-model-hint-ok{color:#086038}@media (width<=640px){.ps-head{flex-direction:column}.ps-head-actions{flex-wrap:wrap;width:100%}.ps-detail-list>div{grid-template-columns:1fr;gap:.15rem}.ps-preview-foot{flex-wrap:wrap}.ps-maps-pill{margin-left:auto}.ps-edit-list>div{align-items:stretch}.ps-edit-coord-row{grid-template-columns:1fr}.ps-edit-actions{flex-direction:column-reverse}.ps-edit-btn{width:100%}}mark.search-hit{background:color-mix(in srgb, var(--accent) 28%, #fef9c3);color:inherit;border-radius:3px;padding:0 .1em;font-weight:650}.find-recent-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;display:flex}.find-recent-chips{flex-wrap:wrap;gap:.4rem;display:flex}.find-recent-chip{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));background:color-mix(in srgb, var(--accent) 7%, #fff);color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:16rem;padding:.28rem .7rem;font-size:.82rem;overflow:hidden}.find-recent-chip:hover{border-color:var(--accent);background:var(--accent-dim)}.find-empty-tips{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--accent) 5%, #fff);border-radius:12px;max-width:40rem;padding:.85rem 1rem}.find-empty-tips-list{color:var(--text-muted);margin:0;padding-left:1.15rem;font-size:.92rem;line-height:1.55}.find-empty-tips-list li+li{margin-top:.35rem}.find-empty-tips-list code{background:#0000000d;border-radius:4px;padding:.05em .35em;font-size:.85em}.find-empty-tips-warn{color:#b45309;font-weight:600}kbd.find-kbd{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:color-mix(in srgb, var(--accent) 8%, #fff);border-radius:5px;padding:.05em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;display:inline-block}.find-did-you-mean{max-width:40rem;color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.45}.find-dym-link{color:var(--accent-hover);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.find-dym-link:hover{color:#086038}.find-dym-muted{opacity:.85}.find-result-skeleton{max-width:52rem;margin-top:1.15rem}.find-skel-table{gap:.55rem;margin-top:.75rem;display:grid}.find-skel-line{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 8%, #e8eef0) 0%, color-mix(in srgb, var(--accent) 16%, #f5f8f9) 50%, color-mix(in srgb, var(--accent) 8%, #e8eef0) 100%);background-size:200% 100%;border-radius:6px;height:.85rem;animation:1.1s ease-in-out infinite find-skel-shimmer}.find-skel-line-lg{width:min(14rem,55%);height:1rem}.find-skel-line-short{width:62%}.find-skel-line-count{width:11rem;height:.95rem;margin:0}@keyframes find-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ai-management-page{max-width:1100px;margin:0 auto}.ai-banner{border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:500;animation:.3s fadeIn;display:flex}.ai-banner-ok{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.ai-banner-err{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d}.ai-banner-icon{font-size:1.1rem;font-weight:700}.ai-provider-cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.ai-provider-card{border:1.5px solid var(--border-color,#ffffff14);background:var(--bg-card,#ffffff08);cursor:pointer;border-radius:16px;flex-direction:column;padding:1.25rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.ai-provider-card:hover{border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.ai-provider-card-active{background:linear-gradient(135deg,#6366f11f 0%,#8b5cf60f 100%);border-color:#6366f1;box-shadow:0 0 0 1px #6366f1,0 8px 24px #6366f126}.ai-provider-card-header{align-items:center;gap:.85rem;margin-bottom:.75rem;display:flex}.ai-provider-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex}.vertex-icon{background:#4285f426;border:1px solid #4285f44d}.gemini-icon{background:#a855f726;border:1px solid #a855f74d}.ai-provider-name{color:var(--text-main,#fff);margin:0;font-size:1.1rem;font-weight:700}.ai-provider-tag{opacity:.7;margin:.15rem 0 0;font-size:.8rem}.ai-badge-active{color:#fff;letter-spacing:.02em;background:#10b981;border-radius:20px;margin-left:auto;padding:.3rem .65rem;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #10b98166}.ai-btn-switch{color:var(--text-main,#fff);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;margin-left:auto;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.ai-btn-switch:hover{background:var(--accent,#6366f1);border-color:var(--accent,#6366f1);color:#fff}.ai-provider-desc{opacity:.85;flex:1;margin:0 0 1rem;font-size:.88rem;line-height:1.45}.ai-provider-meta{opacity:.8;border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;font-size:.8rem;display:flex}.ai-provider-meta code{background:#00000040;border-radius:4px;padding:.15rem .35rem}.ai-model-box{background:var(--bg-card,#ffffff08);border:1px solid var(--border-color,#ffffff14);border-radius:16px;margin-bottom:1.5rem;padding:1.25rem}.ai-field-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ai-current-model-tag code{color:#818cf8;background:#6366f126;border-radius:6px;padding:.2rem .5rem;font-weight:600}.ai-model-desc-text{color:var(--text-muted,#ffffffb3);margin-top:.4rem;font-size:.85rem}.ai-tabs-container{flex-direction:column;gap:1.25rem;display:flex}.ai-tabs-nav{border-bottom:1px solid var(--border-color,#ffffff1a);gap:.5rem;padding-bottom:.5rem;display:flex}.ai-tab-btn{color:var(--text-muted,#fff9);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.ai-tab-btn:hover{color:var(--text-main,#fff);background:#ffffff0d}.ai-tab-btn-active{color:#fff;background:var(--accent,#6366f1);box-shadow:0 4px 12px #6366f14d}.ai-subcard{background:var(--bg-card,#ffffff05);border:1px solid var(--border-color,#ffffff14);border-radius:16px;margin-bottom:1.25rem;padding:1.5rem}.ai-subcard-header{margin-bottom:1.25rem}.ai-subcard-title{color:var(--text-main,#fff);margin:0;font-size:1.15rem;font-weight:700}.ai-subcard-desc{opacity:.75;margin:.3rem 0 0;font-size:.88rem;line-height:1.4}.ai-dropzone{text-align:center;cursor:pointer;background:#6366f108;border:2px dashed #6366f166;border-radius:14px;margin-bottom:1.5rem;padding:2rem 1.5rem;transition:all .25s}.ai-dropzone:hover,.ai-dropzone-dragging{background:#6366f114;border-color:#6366f1;transform:scale(1.005)}.ai-dropzone-icon{margin-bottom:.5rem;font-size:2.2rem}.ai-dropzone-text{color:var(--text-main,#fff);margin-bottom:.35rem;font-size:.95rem}.ai-dropzone-hint{opacity:.6;font-size:.8rem}.ai-loading-box{text-align:center;background:#6366f11a;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.ai-keys-table-wrap{margin-top:1rem}.ai-table-title{color:var(--text-main,#fff);margin:0 0 .75rem;font-size:.95rem;font-weight:600}.ai-table-responsive{border:1px solid #ffffff14;border-radius:10px;overflow-x:auto}.ai-keys-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.ai-keys-table th,.ai-keys-table td{border-bottom:1px solid #ffffff0f;padding:.75rem 1rem}.ai-keys-table th{opacity:.8;background:#ffffff0a;font-weight:600}.ai-row-active{background:#10b9810d}.ai-status-pill{border-radius:20px;padding:.25rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.ai-status-active{color:#10b981;background:#10b98133;border:1px solid #10b98166}.ai-key-filename{color:var(--text-main,#fff);font-weight:600}.ai-key-email{opacity:.8;font-family:monospace;font-size:.8rem}.ai-key-date{opacity:.65;font-size:.8rem}.ai-table-empty{opacity:.7;text-align:center;background:#ffffff05;border-radius:8px;padding:1rem;font-size:.85rem}.ai-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.ai-keys-form{flex-direction:column;gap:1.25rem;display:flex}.ai-form-group{flex-direction:column;gap:.35rem;display:flex}.ai-key-label-row{justify-content:space-between;align-items:center;display:flex}.ai-form-label{color:var(--text-main,#fff);font-size:.85rem;font-weight:600}.ai-badge-configured{color:#10b981;background:#10b98126;border-radius:4px;margin-left:.4rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.ai-input{width:100%;color:var(--text-main,#fff);background:#00000040;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:.65rem .9rem;font-size:.9rem;transition:border-color .2s}.ai-input:focus{border-color:#6366f1}.ai-input-mono{letter-spacing:.05em;font-family:monospace}.ai-input-hint{opacity:.6;font-size:.75rem}.ai-input-hint code{background:#ffffff14;border-radius:3px;padding:.1rem .3rem}.ai-form-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.ai-btn-primary{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:10px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #6366f14d}.ai-btn-primary:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.ai-btn-test{color:var(--text-main,#fff);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.ai-btn-test:hover:not(:disabled){background:#ffffff26}.ai-btn-sm{cursor:pointer;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.ai-btn-outline{color:var(--text-main,#fff);background:0 0;border:1px solid #fff3}.ai-btn-outline:hover:not(:disabled){background:#ffffff1a}.ai-btn-danger{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.ai-btn-danger:hover:not(:disabled){color:#fff;background:#ef4444}.ai-btn-text{color:#818cf8;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.75rem;font-weight:600}.ai-btn-text:hover{text-decoration:underline}.ai-tester-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#1e293bd9 0%,#0f172af2 100%);border:1px solid #6366f14d;border-radius:18px;margin-top:2rem;padding:1.75rem;position:relative;overflow:hidden;box-shadow:0 12px 36px #00000073,0 0 0 1px #ffffff0d}.ai-tester-card:before{content:"";background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899,#10b981);height:3px;position:absolute;top:0;left:0;right:0}.ai-tester-header-row{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.ai-tester-title-group h3{color:#f8fafc;align-items:center;gap:.6rem;margin:0 0 .3rem;font-size:1.25rem;font-weight:700;display:flex}.ai-tester-title-group p{color:#94a3b8;margin:0;font-size:.86rem}.ai-mode-pills{background:#0f172a99;border:1px solid #ffffff1a;border-radius:12px;gap:.35rem;padding:.3rem;display:flex}.ai-mode-pill{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.ai-mode-pill:hover:not(.active){color:#f8fafc;background:#ffffff0f}.ai-mode-pill.active{color:#fff;background:#6366f1;box-shadow:0 4px 12px #6366f159}.ai-tester-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.ai-tester-grid{grid-template-columns:1fr}}.ai-tester-controls-col{flex-direction:column;gap:1.25rem;display:flex}.ai-sample-selector{flex-wrap:wrap;gap:.5rem;display:flex}.ai-sample-btn{color:#cbd5e1;cursor:pointer;background:#0f172a80;border:1.5px solid #ffffff1f;border-radius:10px;flex:auto;justify-content:center;align-items:center;gap:.4rem;min-width:140px;padding:.6rem .8rem;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.ai-sample-btn:hover{color:#fff;background:#6366f11a;border-color:#6366f180}.ai-sample-btn.active{color:#a5b4fc;background:#6366f133;border-color:#6366f1;box-shadow:0 0 0 1px #6366f1}.ai-tester-preview-box{background:#0f172ab3;border:1.5px dashed #ffffff26;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:1rem;transition:all .2s;display:flex;position:relative}.ai-tester-preview-box.is-upload{cursor:pointer}.ai-tester-preview-box.is-upload:hover{background:#6366f10d;border-color:#6366f1}.ai-preview-img{object-fit:contain;border:1px solid #ffffff26;border-radius:8px;max-width:100%;max-height:220px;box-shadow:0 4px 14px #00000080}.ai-preview-info{color:#94a3b8;gap:.75rem;margin-top:.5rem;font-size:.76rem;display:flex}.ai-prompt-presets{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.ai-preset-chip{color:#cbd5e1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .6rem;font-size:.74rem;transition:all .15s}.ai-preset-chip:hover{color:#fff;background:#6366f133;border-color:#6366f166}.ai-tester-actions{gap:.75rem;margin-top:.5rem;display:flex}.ai-btn-run-test{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 6px 20px #6366f159}.ai-btn-run-test:hover:not(:disabled){background:linear-gradient(135deg,#4338ca 0%,#6d28d9 100%);transform:translateY(-2px);box-shadow:0 8px 24px #6366f173}.ai-btn-run-test:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-tester-result-col{flex-direction:column;display:flex}.ai-tester-result-card{background:#0f172abf;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;height:100%;padding:1.25rem;animation:.3s fadeIn;display:flex}.ai-tester-result-card.success{border-color:#10b98166;box-shadow:0 8px 24px #10b9811a}.ai-tester-result-card.error{border-color:#ef444466;box-shadow:0 8px 24px #ef44441a}.ai-res-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.ai-res-badge{border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;font-weight:700;display:flex}.ai-res-badge.success{color:#34d399;background:#10b98133;border:1px solid #10b98166}.ai-res-badge.error{color:#f87171;background:#ef444433;border:1px solid #ef444466}.ai-res-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ai-meta-tag{color:#cbd5e1;background:#ffffff12;border-radius:6px;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.ai-meta-latency.fast{color:#34d399;background:#10b98126}.ai-meta-latency.normal{color:#22d3ee;background:#06b6d426}.ai-meta-latency.slow{color:#fbbf24;background:#f59e0b26}.ai-res-body{flex-direction:column;flex:1;display:flex}.ai-res-output-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.ai-res-output-header span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.ai-output-box{color:#f1f5f9;white-space:pre-wrap;word-break:break-word;background:#0006;border:1px solid #ffffff1a;border-radius:10px;flex:1;min-height:160px;max-height:380px;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.5;overflow-y:auto}.ai-empty-test-state{text-align:center;color:#64748b;background:#0f172a66;border:1px dashed #ffffff1a;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:260px;padding:2rem;display:flex}.ai-empty-test-icon{opacity:.8;margin-bottom:.75rem;font-size:2.5rem}.ai-empty-test-title{color:#94a3b8;margin:0 0 .35rem;font-size:1rem;font-weight:600}.ai-empty-test-desc{max-width:320px;margin:0;font-size:.82rem}.ai-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite aiSpin;display:inline-block}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-test-result{border-radius:14px;margin-top:1.25rem;padding:1.25rem;animation:.3s fadeIn}.ai-test-success{background:#10b9811a;border:1.5px solid #10b98159}.ai-test-error{background:#ef44441a;border:1.5px solid #ef444459}.ai-test-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ai-test-badge{font-size:.95rem;font-weight:700}.ai-test-success .ai-test-badge{color:#10b981}.ai-test-error .ai-test-badge{color:#ef4444}.ai-test-latency{opacity:.75;font-size:.8rem}.ai-test-message{color:var(--text-main,#fff);margin:0;font-size:.88rem;line-height:1.45}
