*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh}.login-container[data-v-ed4abf44]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card[data-v-ed4abf44]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}h1[data-v-ed4abf44]{margin:0 0 1.5rem;color:#333;text-align:center;font-size:1.75rem}.login-form[data-v-ed4abf44]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-ed4abf44]{display:flex;flex-direction:column;gap:.5rem}label[data-v-ed4abf44]{font-weight:600;color:#555;font-size:.9rem}input[data-v-ed4abf44]{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}input[data-v-ed4abf44]:focus{outline:none;border-color:#667eea}input[data-v-ed4abf44]:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message[data-v-ed4abf44]{padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.9rem}.login-button[data-v-ed4abf44]{padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button[data-v-ed4abf44]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0003}.login-button[data-v-ed4abf44]:disabled{opacity:.6;cursor:not-allowed}.export-container[data-v-80ea0822]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.export-card[data-v-80ea0822]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:500px}.header[data-v-80ea0822]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-actions[data-v-80ea0822]{display:flex;gap:.5rem}h1[data-v-80ea0822]{margin:0;color:#333;font-size:1.75rem}.nav-button[data-v-80ea0822]{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.nav-button[data-v-80ea0822]:hover{background:#5a67d8}.logout-button[data-v-80ea0822]{padding:.5rem 1rem;background:#f44336;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.logout-button[data-v-80ea0822]:hover{background:#d32f2f}.export-form[data-v-80ea0822]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-80ea0822]{display:flex;flex-direction:column;gap:.5rem}label[data-v-80ea0822]{font-weight:600;color:#555;font-size:.9rem}.custom-dropdown[data-v-80ea0822]{position:relative;width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;color:#333;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.custom-dropdown[data-v-80ea0822]:hover:not(.disabled){border-color:#667eea}.custom-dropdown.disabled[data-v-80ea0822]{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.custom-dropdown[data-v-80ea0822]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.custom-dropdown.open[data-v-80ea0822]{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dropdown-selected[data-v-80ea0822]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow[data-v-80ea0822]{font-size:.7rem;color:#666;margin-left:.5rem;transition:transform .2s}.custom-dropdown.open .dropdown-arrow[data-v-80ea0822]{transform:rotate(180deg)}.dropdown-options[data-v-80ea0822]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #667eea;border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.dropdown-option[data-v-80ea0822]{padding:.75rem;cursor:pointer;transition:background-color .15s;color:#333;font-size:1rem}.dropdown-option.grouped-option[data-v-80ea0822]{padding-left:1.25rem}.dropdown-option.all-option[data-v-80ea0822]{font-weight:600}.dropdown-separator[data-v-80ea0822]{padding:.4rem .75rem;font-size:.75rem;color:#999;text-align:center;border-top:1px solid #eee;border-bottom:1px solid #eee;background-color:#fafafa;pointer-events:none;-webkit-user-select:none;user-select:none;font-style:italic}.dropdown-option[data-v-80ea0822]:hover{background-color:#f0f0ff}.dropdown-option.selected[data-v-80ea0822]{background-color:#667eea;color:#fff}.dropdown-option.selected[data-v-80ea0822]:hover{background-color:#5a67d8}.dropdown-group-header[data-v-80ea0822]{padding:.5rem .75rem;font-size:.75rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;background-color:#fafafa;border-top:1px solid #eee;pointer-events:none;-webkit-user-select:none;user-select:none}.error-message[data-v-80ea0822]{padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.9rem}.success-message[data-v-80ea0822]{padding:.75rem;background-color:#efe;border:1px solid #cfc;border-radius:4px;color:#3c3;font-size:.9rem}.export-button[data-v-80ea0822]{padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.export-button[data-v-80ea0822]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0003}.export-button[data-v-80ea0822]:disabled{opacity:.6;cursor:not-allowed}.retry-button[data-v-80ea0822]{margin-left:.5rem;padding:.25rem .5rem;background:transparent;border:1px solid #c33;border-radius:4px;color:#c33;font-size:.8rem;cursor:pointer;transition:background-color .15s}.retry-button[data-v-80ea0822]:hover{background-color:#fcc}.import-container[data-v-db041153]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.import-card[data-v-db041153]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:1400px;max-height:90vh;overflow-y:auto}.header[data-v-db041153]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-actions[data-v-db041153]{display:flex;gap:.5rem}.header h1[data-v-db041153]{margin:0;color:#333;font-size:1.75rem}.nav-button[data-v-db041153]{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.nav-button[data-v-db041153]:hover{background:#5a67d8}.logout-button[data-v-db041153]{padding:.5rem 1rem;background:#f56565;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.logout-button[data-v-db041153]:hover{background:#e53e3e}.workflow-breadcrumb[data-v-db041153]{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1rem;background:#f7fafc;border-radius:8px}.step[data-v-db041153]{display:flex;flex-direction:column;align-items:center;position:relative}.step-number[data-v-db041153]{width:40px;height:40px;border-radius:50%;background:#cbd5e0;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.5rem}.step.active .step-number[data-v-db041153]{background:#667eea}.step.completed .step-number[data-v-db041153]{background:#48bb78}.step-label[data-v-db041153]{font-size:.875rem;color:#718096;font-weight:500}.step.active .step-label[data-v-db041153]{color:#667eea}.step-connector[data-v-db041153]{width:100px;height:2px;background:#cbd5e0;margin:0 1rem 2rem}.step-connector.active[data-v-db041153]{background:#667eea}.upload-section[data-v-db041153]{padding:1rem}.drop-zone[data-v-db041153]{border:2px dashed #cbd5e0;border-radius:8px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s;position:relative}.drop-zone[data-v-db041153]:hover,.drop-zone.drag-over[data-v-db041153]{border-color:#667eea;background:#f7fafc}.drop-zone-content[data-v-db041153]{pointer-events:none}.upload-icon[data-v-db041153]{width:64px;height:64px;margin:0 auto 1rem;color:#a0aec0}.drop-text[data-v-db041153]{font-size:1.125rem;color:#4a5568;margin-bottom:.5rem}.drop-hint[data-v-db041153]{font-size:.875rem;color:#a0aec0}.file-input[data-v-db041153]{position:absolute;inset:0;opacity:0;cursor:pointer;pointer-events:all}.selected-file[data-v-db041153]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f7fafc;border-radius:6px;margin-top:1rem}.file-icon[data-v-db041153]{width:24px;height:24px;color:#667eea}.file-name[data-v-db041153]{flex:1;font-weight:500;color:#2d3748}.clear-button[data-v-db041153]{background:#e53e3e;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem}.import-button[data-v-db041153]{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1.5rem}.import-button[data-v-db041153]:hover:not(:disabled){background:#5a67d8}.import-button[data-v-db041153]:disabled{background:#cbd5e0;cursor:not-allowed}.review-section[data-v-db041153]{padding:1rem}.performance-note[data-v-db041153]{background:#edf2f7;border-left:4px solid #4299e1;padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#2d3748;font-size:.875rem}.summary-cards[data-v-db041153]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.summary-card[data-v-db041153]{background:#f7fafc;padding:1.5rem;border-radius:8px}.summary-card h3[data-v-db041153]{margin:0 0 1rem;color:#2d3748;font-size:1.125rem}.stats[data-v-db041153]{display:flex;flex-direction:column;gap:.5rem}.stat[data-v-db041153]{padding:.5rem .75rem;border-radius:4px;font-weight:500;font-size:.875rem}.stat.insert[data-v-db041153]{background:#c6f6d5;color:#22543d}.stat.update[data-v-db041153]{background:#fef5e7;color:#744210}.stat.delete[data-v-db041153]{background:#fed7d7;color:#742a2a}.stat.skip[data-v-db041153]{background:#fef3c7;color:#92400e}.stat.no-change[data-v-db041153]{background:#e2e8f0;color:#2d3748}.tabs[data-v-db041153]{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid #e2e8f0}.tab[data-v-db041153]{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:#718096;transition:all .2s;margin-bottom:-2px}.tab[data-v-db041153]:hover{color:#667eea}.tab.active[data-v-db041153]{color:#667eea;border-bottom-color:#667eea}.table-container[data-v-db041153]{margin-bottom:1.5rem}.data-table-wrapper h3[data-v-db041153]{margin:0 0 1rem;color:#2d3748}.section-wrapper[data-v-db041153]{margin-bottom:2rem}.section-title[data-v-db041153]{margin:1rem 0 .75rem;padding:.5rem .75rem;background:#edf2f7;color:#2d3748;font-size:1rem;font-weight:600;border-radius:4px}.read-only[data-v-db041153]{background-color:#f7fafc;color:#718096;font-style:italic}.filter-buttons[data-v-db041153]{display:flex;gap:.5rem;margin-bottom:1rem;align-items:center}.filter-buttons button[data-v-db041153]{padding:.5rem 1rem;background:#f7fafc;border:1px solid #cbd5e0;border-radius:4px;cursor:pointer;font-size:.875rem}.filter-buttons button.active[data-v-db041153]{background:#667eea;color:#fff;border-color:#667eea}.hide-unchanged-label[data-v-db041153]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4a5568;margin-left:auto;cursor:pointer;-webkit-user-select:none;user-select:none}.hide-unchanged-label input[type=checkbox][data-v-db041153]{width:16px;height:16px;cursor:pointer}.pagination[data-v-db041153]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;padding:1rem 0}.pagination-button[data-v-db041153]{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.pagination-button[data-v-db041153]:hover:not(:disabled){background:#5a67d8}.pagination-button[data-v-db041153]:disabled{background:#cbd5e0;cursor:not-allowed;opacity:.6}.pagination-info[data-v-db041153]{font-size:.875rem;color:#4a5568}.table-scroll[data-v-db041153]{overflow-x:auto;max-height:400px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px}.data-table[data-v-db041153]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead[data-v-db041153]{background:#f7fafc;position:sticky;top:0;z-index:10}.data-table th[data-v-db041153]{padding:.75rem;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.data-table td[data-v-db041153]{padding:.75rem;border-bottom:1px solid #e2e8f0}.data-table tr.row-insert[data-v-db041153]{background:#f0fff4}.data-table tr.row-update[data-v-db041153]{background:#fffaf0}.data-table tr.row-delete[data-v-db041153]{background:#fff5f5}.data-table tr.row-skip[data-v-db041153]{background:#fffbeb;opacity:.7}.skip-reason[data-v-db041153]{font-size:.875rem;color:#d97706;margin-bottom:.75rem;padding:.5rem;background:#fef3c7;border-radius:4px;border-left:3px solid #f59e0b}.skip-reason-cell[data-v-db041153]{font-size:.875rem;color:#d97706;font-style:italic}.action-badge[data-v-db041153]{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.action-badge.insert[data-v-db041153]{background:#c6f6d5;color:#22543d}.action-badge.update[data-v-db041153]{background:#fef5e7;color:#744210}.action-badge.no_change[data-v-db041153]{background:#e2e8f0;color:#2d3748}.table-input[data-v-db041153]{width:100%;padding:.25rem .5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:.875rem}.old-value[data-v-db041153]{font-size:.75rem;color:#a0aec0;font-style:italic;margin-top:.25rem}.field-changed[data-v-db041153]{background-color:#fef5e7!important;position:relative}.changed-input[data-v-db041153]{background-color:#fff9e6;border-color:#f59e0b;border-width:2px}.action-buttons[data-v-db041153]{display:flex;gap:1rem;justify-content:flex-end}.secondary-button[data-v-db041153],.save-button[data-v-db041153]{padding:.75rem 2rem;border:none;border-radius:6px;font-weight:600;cursor:pointer}.secondary-button[data-v-db041153]{background:#e2e8f0;color:#2d3748}.secondary-button[data-v-db041153]:hover{background:#cbd5e0}.save-button[data-v-db041153]{background:#48bb78;color:#fff}.save-button[data-v-db041153]:hover:not(:disabled){background:#38a169}.save-button[data-v-db041153]:disabled{background:#cbd5e0;cursor:not-allowed}.success-section[data-v-db041153]{padding:3rem;text-align:center}.success-icon[data-v-db041153]{width:80px;height:80px;margin:0 auto 1.5rem;background:#48bb78;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg[data-v-db041153]{width:48px;height:48px;color:#fff}.success-section h2[data-v-db041153]{color:#2d3748;margin-bottom:1.5rem}.success-details[data-v-db041153]{background:#f7fafc;padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:left}.success-details p[data-v-db041153]{margin:.5rem 0;color:#4a5568}.primary-button[data-v-db041153]{padding:.75rem 2rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.primary-button[data-v-db041153]:hover{background:#5a67d8}.error-message[data-v-db041153]{background:#fed7d7;color:#c53030;padding:.75rem;border-radius:4px;margin-top:1rem}.summary-stats[data-v-cb2fa87e]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}@media(max-width:1200px){.summary-stats[data-v-cb2fa87e]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.summary-stats[data-v-cb2fa87e]{grid-template-columns:1fr}}.stat-card[data-v-cb2fa87e]{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card[data-v-cb2fa87e]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-projects[data-v-cb2fa87e]{border-left:4px solid #667eea}.stat-lots[data-v-cb2fa87e]{border-left:4px solid #4caf50}.stat-available[data-v-cb2fa87e]{border-left:4px solid #2196f3}.stat-rate[data-v-cb2fa87e]{border-left:4px solid #ffc107}.stat-value[data-v-cb2fa87e]{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;line-height:1}.stat-label[data-v-cb2fa87e]{font-size:.95rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.map-wrapper[data-v-e5a6fdd3]{position:relative;width:100%;height:100%}.map-container[data-v-e5a6fdd3]{width:100%;height:500px;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.map-popup[data-v-e5a6fdd3]{position:absolute;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1rem;min-width:200px;pointer-events:auto}.popup-close[data-v-e5a6fdd3]{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;line-height:1;padding:0;width:24px;height:24px}.popup-close[data-v-e5a6fdd3]:hover{color:#374151}.popup-content h3[data-v-e5a6fdd3]{margin:0 0 .5rem;font-size:1rem;color:#111827}.popup-content p[data-v-e5a6fdd3]{margin:0;font-size:.875rem;color:#6b7280}.status-proposed[data-v-e5a6fdd3]{color:#ffc107;font-weight:600}.status-recorded[data-v-e5a6fdd3]{color:#4caf50;font-weight:600}.status-selling[data-v-e5a6fdd3]{color:#2196f3;font-weight:600}.status-complete[data-v-e5a6fdd3]{color:#9e9e9e;font-weight:600}.table-container[data-v-48ddc677]{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.table-header[data-v-48ddc677]{margin-bottom:1rem}.search-input[data-v-48ddc677]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.table-wrapper[data-v-48ddc677]{overflow-x:auto;max-height:600px;overflow-y:auto}.projects-table[data-v-48ddc677]{width:100%;border-collapse:collapse;font-size:.9rem}.projects-table thead[data-v-48ddc677]{position:sticky;top:0;background:#f9fafb;z-index:10}.projects-table th[data-v-48ddc677]{padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;cursor:pointer;-webkit-user-select:none;user-select:none}.projects-table th[data-v-48ddc677]:hover{background:#f3f4f6}.projects-table td[data-v-48ddc677]{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.projects-table tbody tr[data-v-48ddc677]:hover{background:#f9fafb}.projects-table tbody tr[data-v-48ddc677]:nth-child(2n){background:#fafafa}.status-badge[data-v-48ddc677]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-proposed[data-v-48ddc677]{background:#fff9c4;color:#f57f17}.status-recorded[data-v-48ddc677]{background:#c8e6c9;color:#2e7d32}.status-selling[data-v-48ddc677]{background:#bbdefb;color:#1565c0}.status-complete[data-v-48ddc677]{background:#e0e0e0;color:#424242}.county-selector[data-v-aa3b156a]{display:flex;flex-direction:column;gap:.5rem;max-width:400px}.county-label[data-v-aa3b156a]{font-weight:600;color:#555;font-size:.9rem}.county-dropdown[data-v-aa3b156a]{position:relative;width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;color:#333;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.county-dropdown[data-v-aa3b156a]:hover:not(.disabled){border-color:#667eea}.county-dropdown.disabled[data-v-aa3b156a]{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.county-dropdown[data-v-aa3b156a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.county-dropdown.open[data-v-aa3b156a]{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dropdown-selected[data-v-aa3b156a]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow[data-v-aa3b156a]{font-size:.7rem;color:#666;margin-left:.5rem;transition:transform .2s}.county-dropdown.open .dropdown-arrow[data-v-aa3b156a]{transform:rotate(180deg)}.dropdown-options[data-v-aa3b156a]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #667eea;border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.dropdown-option[data-v-aa3b156a]{padding:.75rem;cursor:pointer;transition:background-color .15s;color:#333;font-size:1rem}.dropdown-option[data-v-aa3b156a]:hover{background-color:#f0f0ff}.dropdown-option.selected[data-v-aa3b156a]{background-color:#667eea;color:#fff}.dropdown-option.selected[data-v-aa3b156a]:hover{background-color:#5a67d8}.county-message[data-v-aa3b156a]{font-size:.9rem;padding:.75rem;border-radius:4px}.county-message.loading[data-v-aa3b156a]{color:#6b7280;background-color:#f9fafb}.county-message.error[data-v-aa3b156a]{padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.county-message.empty[data-v-aa3b156a]{color:#6b7280;background-color:#f9fafb;border:1px solid #e5e7eb}.report-container[data-v-1b2ef987]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.report-card[data-v-1b2ef987]{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:1600px;margin:0 auto;padding:2rem}.header[data-v-1b2ef987]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.header h1[data-v-1b2ef987]{margin:0;color:#1f2937;font-size:1.875rem;font-weight:700}.header-actions[data-v-1b2ef987]{display:flex;gap:1rem}.btn[data-v-1b2ef987]{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.btn-primary[data-v-1b2ef987]{background-color:#667eea;color:#fff}.btn-primary[data-v-1b2ef987]:hover{background-color:#5568d3;transform:translateY(-2px)}.btn-secondary[data-v-1b2ef987]{background-color:#6b7280;color:#fff}.btn-secondary[data-v-1b2ef987]:hover{background-color:#4b5563}.content[data-v-1b2ef987]{padding:1rem 0}.county-selector-container[data-v-1b2ef987]{margin-bottom:2rem;padding:1rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.permission-error-banner[data-v-1b2ef987]{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-weight:500}.error-icon[data-v-1b2ef987]{font-size:1.25rem}.error-banner[data-v-1b2ef987]{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-weight:500}.btn-retry[data-v-1b2ef987]{margin-left:auto;padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500}.btn-retry[data-v-1b2ef987]:hover{background-color:#b91c1c}.loading-overlay[data-v-1b2ef987]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.loading-spinner[data-v-1b2ef987]{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #667eea;border-radius:50%;animation:spin-1b2ef987 1s linear infinite;margin-bottom:1rem}@keyframes spin-1b2ef987{to{transform:rotate(360deg)}}.empty-state[data-v-1b2ef987]{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280;font-size:1.1rem}.layout-split[data-v-1b2ef987]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.map-section[data-v-1b2ef987]{border-radius:8px;background:#fff;min-width:0}.table-section[data-v-1b2ef987]{border-radius:8px;background:#fff;min-width:0;overflow:hidden}@media(max-width:1200px){.layout-split[data-v-1b2ef987]{grid-template-columns:1fr}}@media(max-width:640px){.header[data-v-1b2ef987]{flex-direction:column;gap:1rem;align-items:flex-start}}
