:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-surface-hover: #f1f3f5;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-text: #212529;--color-text-secondary: #6c757d;--color-text-muted: #adb5bd;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-danger: #ef4444;--color-success: #22c55e;--color-warning: #f59e0b;--color-zgn: #3b82f6;--color-pkp: #ef4444;--color-ztm: #22c55e;--color-metro: #f59e0b;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--sidebar-width: 280px;--header-height: 56px;--stats-height: 40px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;overflow:hidden;height:100vh}#app{height:100vh;display:flex;flex-direction:column;overflow:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.leaflet-popup-content-wrapper{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;padding:0!important}.leaflet-popup-content{margin:0!important;font-family:var(--font-sans)!important;font-size:var(--text-sm)!important;line-height:1.5!important}.leaflet-popup-tip{box-shadow:none!important}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background-color:#2563eb33!important}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background-color:var(--color-primary)!important;color:#fff!important;font-weight:600!important;font-size:var(--text-sm)!important}.app-header[data-v-b7667f42]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;z-index:100}.header-brand[data-v-b7667f42]{display:flex;align-items:center;gap:var(--space-sm)}.brand-icon[data-v-b7667f42]{width:24px;height:24px;color:var(--color-primary)}.brand-title[data-v-b7667f42]{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.brand-subtitle[data-v-b7667f42]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:var(--space-xs)}.view-toggle[data-v-b7667f42]{display:flex;gap:2px;background:var(--color-bg);border-radius:var(--radius-md);padding:3px}.view-btn[data-v-b7667f42]{display:flex;align-items:center;gap:var(--space-xs);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.view-btn[data-v-b7667f42]:hover{color:var(--color-text);background:var(--color-surface)}.view-btn.active[data-v-b7667f42]{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.view-icon[data-v-b7667f42]{width:16px;height:16px}.header-controls[data-v-b7667f42]{display:flex;align-items:center;gap:var(--space-md)}.lang-toggle[data-v-b7667f42]{display:flex;gap:2px;background:var(--color-bg);border-radius:var(--radius-md);padding:3px}.lang-toggle button[data-v-b7667f42]{padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);transition:all var(--transition-fast)}.lang-toggle button[data-v-b7667f42]:hover{color:var(--color-text);background:var(--color-surface)}.lang-toggle button.active[data-v-b7667f42]{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}@media(max-width:768px){.brand-subtitle[data-v-b7667f42],.view-label[data-v-b7667f42]{display:none}.view-btn[data-v-b7667f42]{padding:6px 10px}}.stats-bar[data-v-1410c507]{display:flex;align-items:center;height:var(--stats-height);padding:0 var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.stats-inner[data-v-1410c507]{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:opacity var(--transition-base)}.stats-inner.dimmed[data-v-1410c507]{opacity:.5}.stats-inner strong[data-v-1410c507]{color:var(--color-text);font-weight:600}.stat-divider[data-v-1410c507]{width:1px;height:14px;background:var(--color-border)}@media(max-width:768px){.stats-bar[data-v-1410c507]{padding:0 var(--space-md);overflow-x:auto}.stats-inner[data-v-1410c507]{gap:var(--space-sm);font-size:var(--text-xs);white-space:nowrap}}.filter-panel[data-v-fa0b4ff0]{display:flex;flex-direction:column;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.filter-header[data-v-fa0b4ff0]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.filter-title[data-v-fa0b4ff0]{font-size:var(--text-lg);font-weight:600}.close-btn[data-v-fa0b4ff0]{display:none;padding:var(--space-xs);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.close-btn[data-v-fa0b4ff0]:hover{background:var(--color-surface-hover)}.filter-body[data-v-fa0b4ff0]{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl)}.filter-group[data-v-fa0b4ff0]{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-label[data-v-fa0b4ff0]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.source-checks[data-v-fa0b4ff0]{display:flex;flex-direction:column;gap:var(--space-xs)}.source-check[data-v-fa0b4ff0]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);font-size:var(--text-sm)}.source-check[data-v-fa0b4ff0]:hover{background:var(--color-surface-hover)}.source-check input[data-v-fa0b4ff0]{display:none}.source-dot[data-v-fa0b4ff0]{width:10px;height:10px;border-radius:50%;flex-shrink:0;opacity:.35;transition:opacity var(--transition-fast)}.source-check.checked .source-dot[data-v-fa0b4ff0]{opacity:1}.source-name[data-v-fa0b4ff0]{text-transform:uppercase;font-weight:500;letter-spacing:.02em;color:var(--color-text-secondary);transition:color var(--transition-fast)}.source-check.checked .source-name[data-v-fa0b4ff0]{color:var(--color-text)}.filter-input[data-v-fa0b4ff0]{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.filter-input[data-v-fa0b4ff0]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.filter-input[data-v-fa0b4ff0]::placeholder{color:var(--color-text-muted)}.filter-select[data-v-fa0b4ff0]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}.range-inputs[data-v-fa0b4ff0]{display:flex;align-items:center;gap:var(--space-sm)}.range-input[data-v-fa0b4ff0]{flex:1;min-width:0}.range-sep[data-v-fa0b4ff0]{color:var(--color-text-muted);flex-shrink:0}.status-toggles[data-v-fa0b4ff0]{display:flex;gap:2px;background:var(--color-bg);border-radius:var(--radius-md);padding:3px}.status-toggle[data-v-fa0b4ff0]{flex:1;padding:6px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);text-align:center}.status-toggle[data-v-fa0b4ff0]:hover{color:var(--color-text)}.status-toggle.active[data-v-fa0b4ff0]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.filter-actions[data-v-fa0b4ff0]{display:flex;gap:var(--space-sm);padding:var(--space-lg);border-top:1px solid var(--color-border-light)}.btn[data-v-fa0b4ff0]{flex:1;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;transition:all var(--transition-fast);text-align:center}.btn-primary[data-v-fa0b4ff0]{background:var(--color-primary);color:#fff}.btn-primary[data-v-fa0b4ff0]:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary[data-v-fa0b4ff0]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-fa0b4ff0]{color:var(--color-text-secondary)}.btn-ghost[data-v-fa0b4ff0]:hover{background:var(--color-surface-hover);color:var(--color-text)}.filter-overlay[data-v-fa0b4ff0]{display:none}@media(max-width:768px){.filter-panel[data-v-fa0b4ff0]{position:fixed;top:0;left:0;bottom:0;width:300px;z-index:1000;transform:translate(-100%);transition:transform var(--transition-base);box-shadow:var(--shadow-lg)}.filter-panel.open[data-v-fa0b4ff0]{transform:translate(0)}.close-btn[data-v-fa0b4ff0]{display:flex}.filter-overlay[data-v-fa0b4ff0]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:999}}.map-wrapper[data-v-ef65de5e]{position:relative;flex:1;min-height:0}.map-container[data-v-ef65de5e]{width:100%;height:100%}.map-loading[data-v-ef65de5e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.loading-text[data-v-ef65de5e]{font-size:var(--text-sm);color:var(--color-text-muted)}[data-v-ef65de5e] .wpla-marker{background:transparent!important;border:none!important}.source-badge[data-v-3347cafa]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--badge-color);background:color-mix(in srgb,var(--badge-color) 12%,transparent);white-space:nowrap}.status-badge[data-v-f654854d]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.status-badge.active[data-v-f654854d]{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.status-badge.expired[data-v-f654854d]{color:var(--color-text-secondary);background:var(--color-border-light)}.pagination-bar[data-v-2dfd8d90]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border-top:1px solid var(--color-border-light);flex-shrink:0}.page-info[data-v-2dfd8d90]{font-size:var(--text-sm);color:var(--color-text-secondary)}.page-controls[data-v-2dfd8d90]{display:flex;align-items:center;gap:2px}.page-btn[data-v-2dfd8d90]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.page-btn[data-v-2dfd8d90]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.page-btn[data-v-2dfd8d90]:disabled{opacity:.3;cursor:not-allowed}.page-num[data-v-2dfd8d90]{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.page-num[data-v-2dfd8d90]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.page-num.active[data-v-2dfd8d90]{background:var(--color-primary);color:#fff}.page-num[data-v-2dfd8d90]:disabled{cursor:not-allowed}.page-ellipsis[data-v-2dfd8d90]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-muted);font-size:var(--text-sm)}.table-container[data-v-efe17a0d]{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-surface)}.table-scroll[data-v-efe17a0d]{flex:1;overflow:auto;transition:opacity var(--transition-base)}.table-scroll.dimmed[data-v-efe17a0d]{opacity:.5}.listing-table[data-v-efe17a0d]{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead[data-v-efe17a0d]{position:sticky;top:0;z-index:5}th[data-v-efe17a0d]{padding:var(--space-sm) var(--space-md);background:var(--color-bg);color:var(--color-text-secondary);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}th.sortable[data-v-efe17a0d]{cursor:pointer}th.sortable[data-v-efe17a0d]:hover{color:var(--color-text)}.th-content[data-v-efe17a0d]{display:inline-flex;align-items:center;gap:4px}.sort-icon[data-v-efe17a0d]{transition:transform var(--transition-fast)}.sort-icon.asc[data-v-efe17a0d]{transform:rotate(180deg)}td[data-v-efe17a0d]{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.data-row[data-v-efe17a0d]{cursor:pointer;transition:background var(--transition-fast)}.data-row[data-v-efe17a0d]:hover{background:var(--color-surface-hover)}.data-row.highlighted[data-v-efe17a0d]{background:var(--color-primary-light)}.address-cell[data-v-efe17a0d]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-cell[data-v-efe17a0d]{width:32px;text-align:center;padding-left:0!important;padding-right:0!important}.source-link[data-v-efe17a0d]{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);opacity:.6;transition:opacity var(--transition-fast)}.source-link[data-v-efe17a0d]:hover{opacity:1}.type-cell[data-v-efe17a0d]{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.date-cell[data-v-efe17a0d]{white-space:nowrap;font-size:var(--text-xs)}.date-row[data-v-efe17a0d]{display:block}.date-label[data-v-efe17a0d]{font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.04em;color:var(--color-text-muted)}.date-secondary[data-v-efe17a0d]{color:var(--color-text-muted);font-size:10px}.date-muted[data-v-efe17a0d]{color:var(--color-text-muted)}.deadline-expired[data-v-efe17a0d],.deadline-expired .date-label[data-v-efe17a0d]{color:#ef4444}.text-right[data-v-efe17a0d]{text-align:right}.mono[data-v-efe17a0d]{font-family:var(--font-mono);font-size:var(--text-xs)}.empty-cell[data-v-efe17a0d]{text-align:center;padding:var(--space-2xl)!important;color:var(--color-text-muted)}@media(max-width:768px){.listing-table[data-v-efe17a0d]{font-size:var(--text-xs)}th[data-v-efe17a0d],td[data-v-efe17a0d]{padding:var(--space-xs) var(--space-sm)}}.app-body[data-v-5f03b96a]{display:flex;flex:1;min-height:0;overflow:hidden}.main-content[data-v-5f03b96a]{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.main-content.split[data-v-5f03b96a]{flex-direction:column}.split-map[data-v-5f03b96a]{flex:6;display:flex;min-height:0;border-bottom:2px solid var(--color-border)}.split-table[data-v-5f03b96a]{flex:4;display:flex;min-height:0}.error-banner[data-v-5f03b96a]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);background:#fef2f2;color:var(--color-danger);font-size:var(--text-sm);font-weight:500;border-bottom:1px solid #fecaca;flex-shrink:0}.error-banner button[data-v-5f03b96a]{padding:4px 12px;border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;font-weight:600;font-size:var(--text-xs)}.loading-bar[data-v-5f03b96a]{position:absolute;top:0;left:0;right:0;height:2px;z-index:50;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);background-size:200% 100%;animation:loading-slide-5f03b96a 1.5s ease-in-out infinite}@keyframes loading-slide-5f03b96a{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-filter-btn[data-v-5f03b96a],.mobile-nav[data-v-5f03b96a]{display:none}@media(max-width:768px){.app-body[data-v-5f03b96a]{flex-direction:column}.mobile-filter-btn[data-v-5f03b96a]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:var(--color-surface);border-bottom:1px solid var(--color-border-light)}.mobile-nav[data-v-5f03b96a]{display:flex;background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;z-index:100}.mobile-nav-btn[data-v-5f03b96a]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) 0;font-size:10px;font-weight:600;color:var(--color-text-muted);transition:color var(--transition-fast)}.mobile-nav-btn.active[data-v-5f03b96a]{color:var(--color-primary)}}
