:root{color-scheme:dark;--bg:#030f17;--panel:#0c1c26;--border:#1e3a47;--text:#e8f7f5;--muted:#8ba8b0;--accent:#2ec4b6;--danger:#ff6b6b;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#0b3d5c 0,var(--bg) 55%);color:var(--text);min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:.5rem .85rem}button.primary{background:var(--accent);color:#030f17;border-color:transparent;font-weight:600}button.danger{border-color:var(--danger);color:var(--danger)}.layout{max-width:1200px;margin:0 auto;padding:1.5rem}.header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.header h1{margin:0;font-size:1.4rem;letter-spacing:.02em}.muted{color:var(--muted)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button.active{border-color:var(--accent);color:var(--accent)}.grid{grid-template-columns:1.1fr .9fr;grid-gap:1rem}.grid,.grid-3{display:grid;gap:1rem}.grid-3{grid-template-columns:.85fr 1fr 1fr;grid-gap:1rem}@media (max-width:1100px){.grid-3{grid-template-columns:1fr}}@media (max-width:900px){.grid{grid-template-columns:1fr}}.panel{background:rgba(12,28,38,.92);border:1px solid var(--border);border-radius:12px;padding:1rem}.list{display:flex;flex-direction:column;gap:.5rem;max-height:70vh;overflow:auto}.card{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:rgba(3,15,23,.45);text-align:left}.card.selected{border-color:var(--accent)}.card h3{margin:0 0 .25rem;font-size:1rem}.list-toolbar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:1;background:rgba(12,28,38,.98)}.filter-tabs{display:flex;gap:.5rem}.filter-tabs button.active{border-color:var(--accent);color:var(--accent)}.filter-tabs button:disabled,.tabs button:disabled,button:disabled{opacity:.55;cursor:not-allowed}.layout.is-blocked{pointer-events:none}.layout.is-blocked .modal-backdrop{pointer-events:auto}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(3,15,23,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.35rem;box-shadow:0 18px 50px rgba(0,0,0,.45)}.modal-panel h2{margin:0 0 .5rem;font-size:1.15rem}.progress-track{margin-top:1rem;height:10px;border-radius:999px;background:rgba(3,15,23,.65);border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width .2s ease}.progress-count{margin:.55rem 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.busy-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem}.busy-panel h2{margin:.35rem 0 0}.spinner{width:2rem;height:2rem;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(1turn)}}.check-label{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem;cursor:pointer}.candidate-card{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:.75rem;gap:.75rem;min-height:4rem;padding:.85rem .9rem}.candidate-card:not(:has(.candidate-check)){grid-template-columns:1fr}.candidate-check{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer}.candidate-body{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer;box-shadow:none}.candidate-body:focus-visible,.candidate-body:hover{background:transparent;outline:none}.candidate-body:disabled{opacity:1;cursor:default}.candidate-body h3{margin:0 0 .3rem;font-size:1rem;font-weight:600;color:var(--text);line-height:1.3}.candidate-body .muted{line-height:1.35;font-size:.88rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;align-items:center}.map-frame{width:100%;height:280px;border:0;border-radius:10px;background:#061e2e}.login{max-width:420px;margin:4rem auto}.login input{width:100%;margin:.5rem 0 1rem;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.banner{padding:.75rem 1rem;border-radius:8px;background:rgba(46,196,182,.12);border:1px solid var(--accent);margin-bottom:1rem}.error{color:var(--danger)}