.leaflet-pane.leaflet-popup-pane{z-index:950!important;pointer-events:auto!important}html,body,#app,#map{height:100%;width:100%;margin:0;padding:0}body{box-sizing:border-box}.leaflet-container{font:12px/1.5 Arial,Helvetica,sans-serif}.pwa-banner{position:fixed;left:50%;transform:translate(-50%);bottom:80px;display:flex;align-items:center;gap:12px;padding:12px 16px;color:#fff;background:#004953;border-radius:16px;box-shadow:0 10px 40px #00000040;z-index:4000;max-width:min(520px,calc(100% - 24px));font-size:14px}.pwa-banner.warning{background:#b45309}.pwa-banner.success{background:#1b5e20}.pwa-banner__message{margin:0;flex:1;line-height:1.4}.pwa-banner__actions{display:flex;gap:8px}.pwa-banner__button{padding:8px 16px;border-radius:999px;border:none;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.pwa-banner__button.primary{background:#fff;color:#004953}.pwa-banner.warning .pwa-banner__button.primary{color:#b45309}.pwa-banner.success .pwa-banner__button.primary{color:#1b5e20}.pwa-banner__button.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}.pwa-banner__button:active{transform:scale(.97);opacity:.85}@media(max-width:640px){.pwa-banner{flex-direction:column;align-items:stretch;bottom:96px}.pwa-banner__actions{width:100%;flex-direction:column}.pwa-banner__button{width:100%}}.tabs{height:100%}.tab{height:100%;display:flex;flex-direction:column}#tab-map{padding:0 0 50px;box-sizing:border-box}#tab-map #map{flex:1}#tab-info{overflow-y:auto;padding:var(--f7-page-content-padding, 16px);padding-bottom:50px}#tab-settings{overflow-y:auto;padding-bottom:50px}.info-tab-content{max-width:640px;margin:0 auto;padding:16px}.info-card{background:var(--f7-card-bg-color, #ffffff);border-radius:16px;box-shadow:0 8px 24px #00000014;padding:24px;color:var(--f7-text-color, #1a1a1a)}.info-card h2{margin-top:0;font-size:22px}.info-card ul{padding-left:20px;margin:12px 0 0}.info-card li{margin-bottom:8px;line-height:1.4}.table-tab-content{padding:12px 12px 50px;display:flex;flex-direction:column;gap:12px;height:100%;box-sizing:border-box}.table-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.control-label{font-size:14px;color:var(--f7-text-color, #111)}.control-select,.filter-select{padding:6px 8px;font-size:14px;border:1px solid #ccc;border-radius:8px;background:#fff}.table-filters{display:none}.attributes-table thead tr.table-filter-row th,.admin-users-table thead tr.table-filter-row th,.admin-audit-table thead tr.table-filter-row th{padding:4px!important;background:#f9f9f9!important;border-bottom:1px solid #ddd!important;vertical-align:middle!important}.attributes-table thead tr.table-filter-row th.filter-cell,.admin-users-table thead tr.table-filter-row th.filter-cell,.admin-audit-table thead tr.table-filter-row th.filter-cell{padding:4px 6px!important}.filter-dropdown{position:absolute!important;z-index:10000!important;background:#fff!important;border:1px solid #ccc!important;border-top:none!important;border-radius:0 0 4px 4px!important;box-shadow:0 4px 6px #0000001a!important;max-height:200px!important;overflow-y:auto!important}.filter-dropdown-option{padding:6px 8px!important;cursor:pointer!important;border-bottom:1px solid #eee!important;transition:background .2s!important}.filter-dropdown-option:hover{background:#f0f0f0!important}.filter-dropdown-option:last-child{border-bottom:none!important}.admin-filter-container{width:100%;position:relative}.admin-filter-input{width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid #c6ccd9;border-radius:4px;font-size:12px;background:#fff;color:#111;transition:border-color .2s ease,box-shadow .2s ease}.admin-filter-input:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 1px #1e88e540}.table-pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.pagination-buttons{display:flex;gap:6px}.pagination-btn{padding:6px 10px;border-radius:6px;border:1px solid #d0d0d0;background:#fff;font-size:13px;cursor:pointer}.pagination-btn[disabled]{opacity:.5;cursor:not-allowed}.table-scroll{overflow-x:auto;overflow-y:auto;flex:1;background:var(--f7-card-bg-color, #fff);border-radius:12px;box-shadow:0 8px 24px #0000000f}.attributes-table{width:100%;min-width:900px;border-collapse:collapse;font-size:14px;table-layout:auto}@media(max-width:768px){.table-scroll{padding-bottom:5px!important;margin-bottom:45px!important}.attributes-table{min-width:auto;width:100%;table-layout:auto}.attributes-table thead th,.attributes-table tbody td{width:auto!important;min-width:auto!important;max-width:none!important;padding:4px 6px!important;font-size:12px!important}.attributes-table thead th[data-col=_actions_],.attributes-table tbody td:has(.table-action-btn){width:40px!important;min-width:40px!important;max-width:40px!important;padding:4px!important}.attributes-table thead th[data-col=object_type],.attributes-table tbody td:nth-child(2){width:auto!important;min-width:80px!important;max-width:150px!important}.attributes-table thead th[data-col=object_title],.attributes-table tbody td:nth-child(3){width:auto!important;min-width:100px!important;max-width:200px!important}.attributes-table thead th[data-col=platiba_ha],.attributes-table thead th[data-col=garums_m],.attributes-table tbody td:nth-child(4){width:auto!important;min-width:70px!important;max-width:100px!important}.attributes-table thead tr.table-filter-row th.filter-cell input.filter-search-input{width:100%!important;max-width:100%!important;font-size:11px!important;padding:3px 4px!important}}.attributes-table thead tr.table-filter-row th.filter-cell{padding:4px 6px!important;width:auto}.attributes-table thead tr.table-filter-row th.filter-cell>div,.admin-users-table thead tr.table-filter-row th.filter-cell>div,.admin-audit-table thead tr.table-filter-row th.filter-cell>div{width:100%;max-width:100%}.attributes-table thead tr.table-filter-row th.filter-cell input.filter-search-input,.admin-users-table thead tr.table-filter-row th.filter-cell input.filter-search-input,.admin-audit-table thead tr.table-filter-row th.filter-cell input.filter-search-input{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.attributes-table thead th{position:sticky;top:0;background:#f7f7f7;color:#111;text-align:left;padding:8px 10px;border-bottom:1px solid #e5e5e5;white-space:nowrap}.attributes-table thead th:first-child{min-width:60px;max-width:80px}.attributes-table thead th:nth-child(2){min-width:50px;max-width:60px}.attributes-table thead th[data-col=id]{min-width:60px;max-width:80px}.attributes-table thead th[data-col=object_type],.attributes-table thead th[data-col=object_title]{min-width:120px;max-width:200px}.attributes-table thead th[data-col=platiba_ha],.attributes-table thead th[data-col=garums_m]{min-width:100px;max-width:120px}.attributes-table tbody td{padding:6px 8px;border-bottom:1px solid #eee;vertical-align:middle;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.attributes-table tbody tr:hover{background:#fafafa}.table-action-btn{padding:6px 10px;font-size:13px;background:#1e88e5;color:#fff;border:none;border-radius:6px;cursor:pointer}.table-action-btn:hover{background:#1976d2}.table-action-btn.leaflet-style-btn{width:34px!important;height:34px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#fff!important;color:#333!important;border:1px solid #999!important;border-radius:4px!important;box-shadow:0 1px 5px #0006!important;font-size:14px!important}.table-action-btn.leaflet-style-btn:hover{background-color:#d0d0d0!important;color:#000!important}.table-action-btn.leaflet-style-btn i{font-size:14px!important}.settings-tab-content{padding:16px 16px 50px;display:flex;flex-direction:column;gap:16px;height:100%;box-sizing:border-box}.settings-tabset{display:inline-flex;gap:8px;padding:6px;background:#e9eff7;border-radius:999px;align-self:flex-start;flex-wrap:wrap}@media(min-width:769px){.settings-tabset{flex-direction:row;width:auto;max-width:100%;flex-wrap:nowrap;align-self:flex-start}.settings-tab-button{flex:0 1 auto;min-width:fit-content;white-space:nowrap}}.settings-tab-button{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;border:none;background:transparent;color:#274060;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.settings-tab-button i{font-size:16px}.settings-tab-button:hover{background:#fff9}.settings-tab-button.active{background:#fff;box-shadow:0 6px 18px #00000029;color:#0d2340}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.settings-panel{display:flex;flex-direction:column;gap:16px}.settings-panel[hidden]{display:none!important}.settings-title{margin:0;font-size:22px;font-weight:700}.settings-subtitle{margin:4px 0 0;color:#546e7a;font-size:14px}.settings-add-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-weight:600}.settings-add-btn i{font-size:16px}.settings-notice{padding:10px 14px;border-radius:8px;font-size:13px;background:#e3f2fd;color:#0d47a1}.settings-notice.success{background:#e8f5e9;color:#1b5e20}.settings-notice.error{background:#ffebee;color:#c62828}.settings-notice[hidden]{display:none!important}.admin-users-table-wrapper{flex:1;overflow:auto;background:var(--f7-card-bg-color, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0000000f}.admin-species-colours-table-wrapper{flex:1;overflow:auto;background:var(--f7-card-bg-color, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0000000f;padding-bottom:50px;box-sizing:border-box}.settings-empty-state{padding:40px 16px;display:grid;gap:8px;place-items:center;text-align:center;color:#607d8b;font-size:14px}.settings-empty-state i{font-size:36px;color:#90a4ae}.admin-users-table tbody td{vertical-align:middle}.admin-audit-table tbody td{vertical-align:top;line-height:1.4}.admin-audit-table tbody td:nth-child(6),.admin-audit-table tbody td:nth-child(7),.admin-audit-table tbody td:nth-child(9){white-space:normal;overflow:visible;text-overflow:initial;max-width:none}.admin-users-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-users-actions button{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:12px;font-weight:600;transition:background .2s ease,transform .1s ease}.admin-users-actions button:active{transform:translateY(1px)}.admin-users-actions .edit-btn{background:#1e88e5;color:#fff}.admin-users-actions .edit-btn:hover{background:#1565c0}.admin-users-actions .reset-btn{background:#546e7a;color:#fff}.admin-users-actions .reset-btn:hover{background:#455a64}.admin-species-colours-table tbody td{vertical-align:middle}.admin-species-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-species-save-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:600;background:#1e88e5;color:#fff;transition:background .2s ease,transform .1s ease}.admin-species-save-btn:hover{background:#1565c0}.admin-species-save-btn:active{transform:translateY(1px)}.admin-species-save-btn:disabled{opacity:.6;cursor:not-allowed}.admin-species-color-input{width:60px;height:30px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#fff}.settings-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.settings-pill.admin{background:#e8f5e9;color:#2e7d32}.settings-pill.user{background:#f1f8e9;color:#558b2f}.admin-audit-table-wrapper{flex:1;overflow:auto;background:var(--f7-card-bg-color, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0000000f;padding-bottom:50px;box-sizing:border-box}.admin-audit-json{display:block;font-family:Fira Code,monospace;white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border-radius:6px;padding:6px 8px;margin-top:4px;color:#1b3049}.audit-actions{display:flex;gap:8px}.system-settings-content{display:flex;flex-direction:column;gap:24px}.system-setting-item{padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.system-setting-label{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#263238;cursor:pointer;margin-bottom:8px}.system-setting-checkbox{width:20px;height:20px;cursor:pointer}.system-setting-description{margin:8px 0 0 30px;font-size:13px;color:#546e7a;line-height:1.5}.column-editing-config{margin-top:16px;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.column-editing-title{margin:0 0 16px;font-size:18px;font-weight:600;color:#263238}.column-editing-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;border-bottom:2px solid #e0e0e0}.column-editing-tab{padding:10px 16px;border:none;background:transparent;color:#546e7a;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}@media(min-width:769px){.column-editing-tabs{flex-wrap:nowrap;flex-direction:row}.column-editing-tab{width:100px;flex-shrink:0;text-align:center;padding:10px 8px}.column-editing-tab span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.column-editing-tab:hover{color:#263238;background:#f5f5f5}.column-editing-tab.active{color:#1e88e5;border-bottom-color:#1e88e5;font-weight:600}.column-editing-content{min-height:300px;max-height:600px;overflow-y:auto}.column-list{display:flex;flex-direction:column;gap:8px}.column-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:move;transition:background .2s ease}.column-item:hover{background:#f0f0f0}.column-item.dragging{opacity:.5}.column-drag-handle{color:#9e9e9e;font-size:18px;cursor:grab}.column-drag-handle:active{cursor:grabbing}.column-name-input{flex:1;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff}.column-name-input:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 1px #1e88e540}.column-checkboxes{display:flex;gap:12px;align-items:center;flex-shrink:0}.column-checkboxes label{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;white-space:nowrap}.column-checkboxes input[type=checkbox]{cursor:pointer}.column-save-btn{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:background .2s ease;flex-shrink:0;width:70px;justify-content:center}.column-save-btn:hover{background:#45a049}.column-save-btn:active{transform:scale(.97)}.column-editing-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}@media(max-width:768px){.settings-tab-content{padding:12px}.settings-header{align-items:flex-start;flex-direction:column;gap:12px}.settings-add-btn{width:100%;justify-content:center}.audit-actions{width:100%;flex-direction:column}.column-editing-config{padding:12px}.column-editing-tabs{flex-direction:row;flex-wrap:wrap;gap:4px;border-bottom:2px solid #e0e0e0}.column-editing-tab{padding:8px 12px;font-size:12px;text-align:center;white-space:nowrap}.column-editing-tab[data-table=polygons]{width:70px;flex:0 0 70px}.column-editing-tab[data-table=points],.column-editing-tab[data-table=lines]{width:60px;flex:0 0 60px}.column-editing-tab[data-table=users]{width:70px;flex:0 0 70px}.column-editing-tab[data-table=audit],.column-editing-tab[data-table=species_colours]{width:80px;flex:0 0 80px}.column-editing-content{min-height:200px;max-height:400px}.column-item{flex-wrap:wrap;gap:8px;padding:10px}.column-name-input{min-width:120px;font-size:13px}.column-checkboxes{flex-wrap:wrap;gap:8px}.column-checkboxes label{font-size:11px}.column-save-btn{width:70px;font-size:11px;padding:6px 8px}.settings-tabset{width:100%;justify-content:space-between}.settings-tab-button{flex:1;justify-content:center}}.navbar-login-slot{display:flex;align-items:center;gap:8px;min-width:0}.navbar-login-slot .button{margin:0}.navbar-user-wrapper{display:flex;align-items:center;gap:8px}.navbar-user-label{font-size:14px;font-weight:500;color:var(--f7-navbar-text-color, #000);white-space:nowrap;max-width:none;overflow:visible;text-overflow:clip;cursor:help}@media(max-width:768px){.navbar-user-label{display:none}}.navbar-user-icon-wrapper{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.navbar-user-icon{font-size:20px;color:var(--f7-navbar-text-color, #000);transition:color .2s ease}.navbar-user-icon-wrapper:hover .navbar-user-icon{color:var(--f7-theme-color, #007aff)}@media(max-width:768px){.navbar-user-icon{font-size:24px}.navbar-user-icon-wrapper{padding:4px;min-width:32px;min-height:32px}}.user-info-popover{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;max-width:320px;z-index:10002;display:none;animation:popoverFadeIn .2s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-info-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #eee}.user-info-header i{font-size:36px;color:var(--f7-theme-color, #007aff)}.user-info-name{flex:1;min-width:0}.user-info-fullname{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.user-info-login{font-size:13px;color:#666}.user-info-body{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.user-info-role{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.user-info-role i{font-size:14px;color:#888}.user-info-body .change-password-btn{width:100%;margin:0;display:flex;align-items:center;justify-content:center;gap:6px}.user-info-body .change-password-btn i{font-size:13px}.navbar-logo{height:28px;width:auto;display:block}.test-badge{color:#dc3545;font-weight:700;border:1px solid #dc3545;border-radius:10px;padding:2px 8px;margin-left:8px;background:#dc35450f}.messages-container{height:100%;display:flex;flex-direction:column;padding-bottom:50px;box-sizing:border-box}.messages-user-view,.messages-admin-view{height:100%;display:flex;flex-direction:column}.messages-header{padding:16px;border-bottom:1px solid #e0e0e0;background:#fff}.messages-header h2{margin:0;font-size:18px;font-weight:600}.messages-list,.messages-conversation-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.messages-user-view .messages-list{flex-direction:column}.messages-empty{text-align:center;color:#999;padding:40px 20px;font-size:14px}.message-item{max-width:75%;padding:10px 14px;border-radius:12px;word-wrap:break-word}.message-sent{align-self:flex-end;background:var(--f7-theme-color, #007aff);color:#fff}.message-received{align-self:flex-start;background:#f0f0f0;color:#1a1a1a}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;opacity:.8}.message-sender{font-weight:600}.message-time{margin-left:8px}.message-text{line-height:1.4;white-space:pre-wrap}.messages-input-container{padding:12px 16px 62px;border-top:1px solid #e0e0e0;background:#fff;display:flex;gap:8px;align-items:flex-end}.message-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;resize:none;min-height:44px;max-height:120px}.message-input:focus{outline:none;border-color:var(--f7-theme-color, #007aff)}.send-message-btn{padding:10px 20px;min-width:80px;display:flex;align-items:center;justify-content:center;gap:6px}.report-form-container{padding:16px;border-bottom:1px solid #e0e0e0;background:#fff;margin-bottom:0}.report-form-container h3{margin:0 0 16px;font-size:16px;font-weight:600}.report-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:600;color:#333}.form-input,.form-textarea,.form-select{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 4px #0000000d}.report-header{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.report-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.report-title{margin:0;font-size:16px;font-weight:600;color:#1a1a1a;flex:1}.report-status{padding:4px 12px;border-radius:12px;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.report-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666}.report-body,.report-description{margin-bottom:12px}.report-description strong{display:block;margin-bottom:4px;font-size:13px;color:#333}.report-description p{margin:0;font-size:14px;color:#555;line-height:1.5;white-space:pre-wrap}.report-details{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.report-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.report-badge.priority-low{background:#e3f2fd;color:#1976d2}.report-badge.priority-medium{background:#fff3e0;color:#f57c00}.report-badge.priority-high{background:#fce4ec;color:#c2185b}.report-badge.priority-critical{background:#ffebee;color:#c62828}.report-badge.impact-low{background:#f1f8e9;color:#558b2f}.report-badge.impact-medium{background:#fff9c4;color:#f57f17}.report-badge.impact-high{background:#ffccbc;color:#d84315}.admin-response{margin-top:12px;padding:12px;background:#f5f5f5;border-radius:8px;border-left:3px solid var(--f7-theme-color, #007aff)}.admin-response strong{display:block;margin-bottom:6px;font-size:13px;color:#333}.admin-response p{margin:0;font-size:14px;color:#555;line-height:1.5;white-space:pre-wrap}.report-actions{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #f0f0f0}.report-status-select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit}.admin-response-input{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;min-height:60px}.update-report-btn{align-self:flex-start}.image-upload-hint{font-size:12px;color:#666;margin-bottom:8px;font-style:italic}.image-preview-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px;background:#f9f9f9;border-radius:8px;min-height:60px}.image-preview-item-wrapper{position:relative;display:inline-block}.image-preview-item{max-width:100px;max-height:100px;object-fit:cover;border-radius:4px;border:1px solid #ddd}.image-preview-remove{position:absolute;top:-8px;right:-8px;background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.image-preview-remove:hover{background:#c82333}.report-images{margin:12px 0;padding:12px;background:#f9f9f9;border-radius:8px}.report-images strong{display:block;margin-bottom:8px;font-size:13px;color:#333}.report-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.report-image-item{display:flex;flex-direction:column;gap:4px}.report-image{width:100%;height:120px;object-fit:cover;border-radius:6px;border:1px solid #ddd;cursor:pointer;transition:transform .2s}.report-image:hover{transform:scale(1.05)}.report-image-name{font-size:11px;color:#666;text-align:center;word-break:break-word;line-height:1.2}.messages-admin-view{display:flex;flex-direction:column;height:100%}.report-filters{padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:120px;flex:1}.filter-group label{font-size:12px;font-weight:600;color:#666}.filter-select{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--f7-theme-color, #007aff)}@media(max-width:768px){.report-filters{flex-direction:column}.filter-group{min-width:100%}}.messages-icon-container{margin-right:8px}.navbar-icon-btn{position:relative;background:none;border:none;color:var(--f7-text-color, #1a1a1a);font-size:20px;padding:8px;cursor:pointer;border-radius:8px;transition:background .2s}.navbar-icon-btn:hover{background:#0000000d}.messages-badge{position:absolute;top:4px;right:4px;background:#dc3545;color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600;min-width:18px;text-align:center;line-height:1.2}@media(max-width:768px){.messages-admin-layout{flex-direction:column}.messages-user-list-panel{width:100%;max-height:200px;border-right:none;border-bottom:1px solid #e0e0e0}.message-item{max-width:85%}}.navbar .title{display:flex;align-items:center;justify-content:center;line-height:1;margin-top:0;padding-top:0;height:100%}.navbar .title .test-badge{margin-left:0;margin-top:0;margin-bottom:0;vertical-align:middle;display:inline-flex;align-items:center}@media(max-width:768px){.test-badge{font-size:10px;padding:1px 4px;margin-left:0;margin-top:0;line-height:1}}.user-tooltip{--f7-tooltip-font-size: 13px;line-height:1.4}.leaflet-top,.leaflet-bottom{z-index:1000}.leaflet-top.leaflet-left{max-height:calc(100vh - 90px)!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:5px;padding-bottom:10px;margin-bottom:45px;margin-top:10px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;pointer-events:auto!important;touch-action:pan-y!important;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) rgba(0,0,0,.1)}@media(min-width:769px){.leaflet-top.leaflet-left{display:flex!important;flex-direction:row!important;align-items:flex-start!important;flex-wrap:wrap!important;max-height:none!important;height:auto!important;overflow-y:visible!important;overflow-x:visible!important;padding-right:0!important;padding-bottom:0!important;margin-bottom:0!important;margin-top:10px!important;margin-left:10px!important;gap:0!important;scrollbar-width:none!important;-ms-overflow-style:none!important}.leaflet-top.leaflet-left::-webkit-scrollbar{display:none!important}.leaflet-top.leaflet-left .leaflet-control{margin-top:0!important;margin-bottom:0!important}.leaflet-top.leaflet-left .leaflet-control:first-child{margin-left:0!important}.leaflet-top.leaflet-left .leaflet-control:not(:first-child):not(.leaflet-draw){margin-left:0!important}.leaflet-top.leaflet-left .leaflet-draw+.leaflet-control{margin-left:10px!important}.leaflet-top.leaflet-left .leaflet-control-zoom+.leaflet-control{margin-left:20px!important}.leaflet-top.leaflet-left .leaflet-control.draw-polygon-control+.leaflet-control{margin-left:20px!important}.leaflet-top.leaflet-left .leaflet-control.delete-control+.leaflet-control{margin-left:20px!important}.leaflet-top.leaflet-left .leaflet-control.karte-control+.leaflet-control{margin-left:20px!important}.leaflet-top.leaflet-left .leaflet-control.geolocation-tracking-control+.leaflet-control{margin-left:20px!important}.leaflet-top.leaflet-left .leaflet-control:last-child{margin-bottom:0!important;margin-right:0!important}.leaflet-top.leaflet-left .leaflet-control:has(a[title=GPS]),.leaflet-top.leaflet-left .leaflet-control:has(.fa-location-crosshairs){display:none!important}.leaflet-top.leaflet-left .leaflet-control.geolocation-tracking-control{display:none!important}.leaflet-control-zoom{display:flex!important;flex-direction:row!important}.leaflet-control-zoom a{width:41px!important;height:41px!important;line-height:41px!important;display:block!important;text-align:center!important;border-right:1px solid #ccc!important;border-bottom:none!important}.leaflet-control-zoom a:last-child{border-right:none!important}.leaflet-top.leaflet-left .leaflet-bar a{width:41px!important;height:41px!important;line-height:41px!important}.leaflet-top.leaflet-left .leaflet-bar a i{font-size:17px!important;line-height:41px!important}.leaflet-top.leaflet-left .leaflet-bar{border-radius:4px!important}.parcel-search-dropdown{top:100%!important;bottom:auto!important;border-top:1px solid #ccc!important;border-bottom:1px solid #ccc!important;border-radius:0 0 4px 4px!important;box-shadow:0 4px 6px #0000001a!important;margin-top:2px!important;margin-bottom:0!important}.leaflet-top.leaflet-right{display:flex!important;flex-direction:column!important;align-items:flex-end!important;margin-top:10px!important;margin-right:0!important;right:0!important;padding-right:0!important}.leaflet-top.leaflet-right .leaflet-control{margin-right:0!important}.leaflet-top.leaflet-right .base-map-control.leaflet-bar{width:190px!important;min-width:190px!important;max-width:190px!important;height:50px!important;margin:0 10px 0 0!important;display:flex!important;position:relative!important;order:-1!important;padding:0!important;border:1px solid #999!important;box-sizing:border-box!important;overflow:hidden!important}.leaflet-top.leaflet-right .base-map-control .base-map-btn{width:95px!important;height:50px!important;flex:0 0 95px!important;box-sizing:border-box!important}.leaflet-top.leaflet-right .base-map-control .base-map-btn:first-child{border-right:1px solid #ccc!important}.leaflet-top.leaflet-right .base-map-control .base-map-btn:last-child{border-right:none!important}.leaflet-top.leaflet-right .leaflet-control-layers{margin-right:10px!important;margin-top:10px!important;order:1!important}@media(max-width:768px){.base-map-control{display:none!important}}.base-map-control .base-map-btn{transition:opacity .2s ease,border .2s ease!important}.base-map-control .base-map-btn:hover{opacity:1!important}.leaflet-control-layers-base{display:none!important}.leaflet-control-layers-overlays{margin-top:0!important}.leaflet-control-layers{width:190px!important;min-width:190px!important;max-width:190px!important;padding:5px!important;background:#fff!important;border:1px solid #e0e0e0!important;border-radius:8px!important;color:#152238!important;box-shadow:0 4px 12px #00000026!important;box-sizing:border-box!important}.leaflet-control-layers-toggle{display:none!important}.leaflet-control-layers-list{margin:0!important;padding:0!important}.leaflet-control-layers-list:before{content:"Slāņi";display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#666;margin-bottom:4px;font-weight:700}.leaflet-control-layers .layer-control-header+.leaflet-control-layers-list:before{display:none}.leaflet-control-layers .layer-control-header{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid #e5e7eb}.leaflet-control-layers .layer-control-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4b5563;font-weight:700}.leaflet-control-layers .layer-control-toggle{width:20px;height:20px;border-radius:4px;border:1px solid #d1d5db;background:#fff;color:#152238;font-size:13px;line-height:1;font-weight:700;display:inline-flex!important;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.leaflet-control-layers .layer-control-toggle:hover,.leaflet-control-layers .layer-control-toggle:focus-visible{background:#eef2ff;border-color:#94a3b8;outline:none;box-shadow:0 0 0 2px #94a3b859}.leaflet-control-layers .layer-control-toggle.active{background:#4caf50;border-color:#4caf50;color:#fff;box-shadow:0 0 0 1px #4caf5066}.leaflet-control-layers-overlays{display:flex;flex-direction:column;gap:2px;max-height:calc(80vh - 45px);overflow-y:auto;padding-right:2px;transition:max-height .25s ease,opacity .25s ease,padding .2s ease}.leaflet-control-layers.layers-collapsed .leaflet-control-layers-overlays{max-height:0!important;opacity:0;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;overflow:hidden;pointer-events:none}.leaflet-control-layers-overlays label{background:#f8f9fa;border-radius:4px;padding:2px 4px;border:1px solid #e0e0e0;display:flex;align-items:center;gap:2px;color:#152238;font-weight:500;font-size:10px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 2px 4px #0000000d;cursor:move;min-height:26px;overflow:hidden}.leaflet-control-layers-overlays label:hover{transform:translateY(-1px);box-shadow:0 15px 35px #162a4a29}.leaflet-control-layers-overlays label.overlay-active{border:2px solid #4caf50!important;box-shadow:0 2px 8px #4caf504d}.leaflet-control-layers-overlays label.overlay-inactive{opacity:.75}.leaflet-control-layers-overlays label.dragging{opacity:.4!important}.leaflet-control-layers-overlays label.drag-over{border-color:#34d399!important;box-shadow:0 0 0 2px #34d39940}.leaflet-control-layers-overlays .leaflet-layer-drag-handle{font-size:10px!important;color:#94a3b8!important;margin-right:1px!important;flex-shrink:0}.leaflet-control-layers-overlays input[type=checkbox]{width:12px;height:12px;accent-color:#2563eb;cursor:pointer;flex-shrink:0}.leaflet-control-layers-overlays label>span:not(.layer-color-picker){flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:2px}.leaflet-control-layers-overlays .layer-color-picker{margin-left:auto!important;flex-shrink:0!important;flex-grow:0!important;order:999}.leaflet-control-layers-overlays .layer-color-picker button{width:16px!important;height:14px!important;border-radius:2px!important}.leaflet-control-layers-overlays .color-palette-popup{top:calc(100% + 6px)!important}}@media(max-width:768px){.leaflet-control-layers .layer-control-header,.leaflet-control-layers .layer-control-toggle{display:none!important}.leaflet-control-layers-list:before{display:block!important}.leaflet-top.leaflet-left{max-height:none!important;height:auto!important;overflow-y:visible!important;overflow-x:visible!important;width:60px!important;padding-bottom:10px;margin-bottom:10px;margin-top:10px;position:fixed!important;top:60px!important;left:1px!important;right:auto!important;max-width:none;display:inline-flex;flex-direction:column;align-items:flex-start;z-index:1200;touch-action:none!important;padding-right:8px;margin-right:0;padding-left:0}.leaflet-top.leaflet-left .leaflet-control{margin-left:0!important}.leaflet-top.leaflet-left .leaflet-control:last-child{margin-bottom:0!important}.leaflet-control-zoom{display:none!important}}.leaflet-top.leaflet-left .leaflet-control{pointer-events:auto!important;touch-action:manipulation!important}.leaflet-top.leaflet-left .leaflet-control:last-child{margin-bottom:40px}.leaflet-top.leaflet-left::-webkit-scrollbar{width:6px}.leaflet-top.leaflet-left::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.leaflet-top.leaflet-left::-webkit-scrollbar-thumb{background:#0000004d;border-radius:3px}.leaflet-top.leaflet-left::-webkit-scrollbar-thumb:hover{background:#00000080}.leaflet-pane.leaflet-panePoints,div[class*=panePoints]{position:relative!important;pointer-events:auto!important}.leaflet-pane.leaflet-panePoints path,.leaflet-pane.leaflet-panePoints circle,.leaflet-pane.leaflet-panePoints svg{pointer-events:auto!important}.leaflet-pane.leaflet-panePolygons,div[class*=panePolygons],.leaflet-pane.leaflet-paneLines,div[class*=paneLines]{position:relative!important}.leaflet-top.leaflet-left .leaflet-control{margin-left:10px!important}.leaflet-top.leaflet-left .leaflet-control:not(:first-child):not(.leaflet-draw){margin-top:0!important}.leaflet-top.leaflet-left .leaflet-draw~.leaflet-control{margin-top:10px!important}.leaflet-top.leaflet-left .leaflet-draw~.leaflet-control~.leaflet-control{margin-top:0!important}.leaflet-top.leaflet-left .leaflet-control.draw-polygon-control,.leaflet-top.leaflet-left .leaflet-control.delete-control,.leaflet-top.leaflet-left .leaflet-control.karte-control,.leaflet-top.leaflet-left .leaflet-control.geolocation-tracking-control{margin-bottom:20px!important}.leaflet-draw-edit-save,.leaflet-draw-actions a[title=Save],.leaflet-draw-actions a[title*=Save],.leaflet-draw-actions li:has(a[title=Save]),.leaflet-draw-actions li:has(a[title*=Save]){display:none!important}.leaflet-draw-actions a[title=Cancel],.leaflet-draw-actions a[title*=Cancel],.leaflet-draw-actions a[title*=cancel],.leaflet-draw-actions a[title*=Atcelt],.leaflet-draw-actions li:has(a[title=Cancel]),.leaflet-draw-actions li:has(a[title*=Cancel]),.leaflet-draw-actions li:has(a[title*=cancel]),.leaflet-draw-actions li:has(a[title*=Atcelt]){display:none!important}.leaflet-draw-toolbar .leaflet-draw-edit-edit,.leaflet-draw-toolbar .leaflet-draw-edit-remove{display:none!important}.custom-popup .leaflet-popup-content-wrapper{width:auto!important;min-width:fit-content!important;max-width:none!important;padding:8px!important;background:transparent!important;background-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.custom-popup .leaflet-popup-tip{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.custom-popup .leaflet-popup-content{width:auto!important;margin:0!important;background:transparent!important}.leaflet-popup-close-button{background-color:#fff!important;color:#000!important;width:18px!important;height:18px!important;line-height:18px!important;text-align:center!important;font-size:14px!important;font-weight:700!important;border-radius:0!important;opacity:1!important;top:3px!important;right:3px!important;position:absolute!important}.leaflet-popup-close-button:hover{background-color:#f0f0f0!important;color:#000!important;opacity:1!important}.leaflet-bar{box-shadow:0 1px 5px #0006!important;border-radius:4px!important;border:1px solid #999!important}.leaflet-bar a{width:34px!important;height:34px!important;line-height:34px!important;display:block!important;text-align:center!important;text-decoration:none!important;color:#333!important;background-color:#fff!important;border-bottom:1px solid #ccc!important;padding:0!important;font-size:14px!important;font-weight:400!important}.leaflet-bar a:last-child{border-bottom:none!important}.leaflet-bar a:hover{background-color:#d0d0d0!important;color:#000!important}.leaflet-bar a.leaflet-disabled{background-color:#fff!important;color:#333!important;cursor:default!important}.leaflet-bar a i{display:inline-block!important;font-size:14px!important;line-height:34px!important;vertical-align:middle!important;width:100%!important;text-align:center!important}.tabula-control a{position:relative!important}.tabula-badge{position:absolute!important;top:2px!important;right:2px!important;background-color:#2196f3!important;color:#fff!important;border-radius:50%!important;min-width:12px!important;height:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:8px!important;font-weight:700!important;line-height:1!important;padding:0 2px!important;box-shadow:0 1px 2px #0000004d!important;z-index:10!important;pointer-events:none!important}.karte-control a{position:relative!important}.karte-badge{position:absolute!important;top:2px!important;right:2px!important;background-color:#2196f3!important;color:#fff!important;border-radius:50%!important;min-width:12px!important;height:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:8px!important;font-weight:700!important;line-height:1!important;padding:0 2px!important;box-shadow:0 1px 2px #0000004d!important;z-index:10!important;pointer-events:none!important}.wms-control a{position:relative!important}.wms-badge{position:absolute!important;top:2px!important;right:2px!important;background-color:#2196f3!important;color:#fff!important;border-radius:50%!important;min-width:12px!important;height:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:8px!important;font-weight:700!important;line-height:1!important;padding:0 2px!important;box-shadow:0 1px 2px #0000004d!important;z-index:10!important;pointer-events:none!important}.leaflet-draw-toolbar a,.leaflet-draw-actions a{background-color:#fff!important;color:#333!important}.leaflet-draw-toolbar a:hover,.leaflet-draw-actions a:hover{background-color:#d0d0d0!important;color:#000!important}.leaflet-draw-toolbar a[aria-pressed=true],.leaflet-draw-actions a[aria-pressed=true]{background-color:#4caf50!important;background:#4caf50!important;color:#fff!important}.leaflet-draw-toolbar a[aria-pressed=true]:hover,.leaflet-draw-actions a[aria-pressed=true]:hover{background-color:#45a049!important;background:#45a049!important;color:#fff!important}.leaflet-draw-toolbar a.leaflet-disabled,.leaflet-draw-actions a.leaflet-disabled{background-color:#fff!important;color:#333!important;cursor:default!important}.leaflet-bar a.active-btn,.leaflet-bar a.active-btn:focus,.leaflet-bar a.active-btn:visited{box-shadow:0 0 0 2px #4caf50,0 0 8px #4caf5080!important;background-color:#4caf50!important;background:#4caf50!important;color:#fff!important}.leaflet-bar a.active-btn:hover,.leaflet-bar a.active-btn:focus:hover{background-color:#45a049!important;background:#45a049!important;color:#fff!important;box-shadow:0 0 0 2px #4caf50,0 0 8px #4caf5080!important}.custom-popup button[type=button]{background-color:#fff!important;color:#333!important;border:.5px solid #999!important;border-radius:0!important;padding:0!important;margin-bottom:0!important;cursor:pointer!important;text-align:center!important;font-size:12px!important;font-weight:500!important;width:32px!important;height:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background-color .2s ease!important;box-shadow:0 1px 3px #00000026!important;white-space:nowrap!important}.custom-popup button[type=button] i{font-size:14px!important;display:inline-block!important;color:#333!important}.custom-popup button[type=button]:last-child{margin-bottom:0!important}.custom-popup button[type=button]:hover{background-color:#d0d0d0!important;color:#000!important}.custom-popup button[type=button]:hover i{color:#000!important}.custom-popup button[type=button]:active{background-color:silver!important}.custom-popup .leaflet-popup-content>div>div[style*="flex-direction:column"]{display:flex!important;flex-direction:column!important;gap:0!important;align-items:flex-start!important}.leaflet-layer-drag-handle{cursor:move!important;user-select:none!important;display:inline-block!important;margin-right:6px!important;color:#666!important;font-size:14px!important;vertical-align:middle!important;opacity:.6!important;transition:opacity .2s ease!important}.leaflet-layer-drag-handle:hover{opacity:1!important;color:#333!important}.leaflet-control-layers-overlays label{position:relative!important;transition:background-color .2s ease!important;display:flex!important;align-items:center!important;gap:8px!important}.leaflet-control-layers-overlays label.dragging{opacity:.5!important;background-color:#0000000d!important}.leaflet-control-layers-overlays label.drag-over{background-color:#4caf501a!important;border-left:3px solid #4caf50!important;padding-left:3px!important}.leaflet-control-layers-overlays label.drag-over:before{content:""!important;position:absolute!important;left:-3px!important;top:0!important;bottom:0!important;width:3px!important;background-color:#4caf50!important}.leaflet-control-layers-overlays label:hover .leaflet-layer-drag-handle{opacity:1!important}.layer-color-picker{margin-left:auto!important;margin-right:0!important;position:relative!important}.layer-color-picker button{cursor:pointer!important;border:1px solid #ccc!important;border-radius:3px!important;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease!important}.layer-color-picker button:hover{border-color:#999!important;box-shadow:0 0 2px #0003!important}.color-palette-popup{position:absolute!important;top:100%!important;right:0!important;margin-top:4px!important;background:#fff!important;border:1px solid #ccc!important;border-radius:4px!important;padding:8px!important;box-shadow:0 4px 8px #0003!important;z-index:10000!important;width:200px!important}.color-palette-popup button{width:28px!important;height:28px!important;border:1px solid #ccc!important;border-radius:3px!important;cursor:pointer!important;padding:0!important;transition:transform .1s ease,border-color .1s ease!important}.color-palette-popup button:hover{transform:scale(1.1)!important;border-color:#333!important;z-index:1!important;position:relative!important}.leaflet-draw-toolbar,.leaflet-draw-actions,.leaflet-draw-toolbar-top,.leaflet-draw-toolbar-bottom,.leaflet-pane.leaflet-draw-pane,.leaflet-draw-toolbar a,.leaflet-draw-actions a{z-index:2000!important}.leaflet-marker-icon.leaflet-edit-marker-icon,.leaflet-edit-marker-icon,.leaflet-div-icon.leaflet-editing-icon,.leaflet-editing-icon,.leaflet-vertex-icon,.leaflet-middle-icon{z-index:2100!important;cursor:pointer!important}.leaflet-edit-marker:not([data-middle-marker=true]),.leaflet-edit-marker-icon:not([data-middle-marker=true]),.leaflet-editing-icon:not([data-middle-marker=true]),.leaflet-vertex-icon:not([data-middle-marker=true]){width:14px!important;height:14px!important;border-radius:50%!important;background:#1e88e5!important;background-image:none!important;border:2px solid #ffffff!important;box-shadow:0 0 0 2px #1e88e559!important;margin-left:-7px!important;margin-top:-7px!important}.leaflet-edit-marker-selected:not([data-middle-marker=true]),.leaflet-edit-marker.leaflet-edit-marker-selected:not([data-middle-marker=true]),.leaflet-edit-marker-icon.leaflet-edit-marker-selected:not([data-middle-marker=true]),.leaflet-editing-icon.leaflet-edit-marker-selected:not([data-middle-marker=true]),.leaflet-vertex-icon.leaflet-edit-marker-selected:not([data-middle-marker=true]){background:#0d47a1!important;border-color:#fff!important;box-shadow:0 0 0 3px #0d47a166!important}.leaflet-middle-icon,.leaflet-edit-marker[data-middle-marker=true],.leaflet-edit-marker-icon[data-middle-marker=true],.leaflet-editing-icon[data-middle-marker=true]{width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important;border-radius:50%!important;background:#fff!important;background-image:none!important;border:2px solid rgba(0,0,0,.3)!important;box-shadow:0 0 0 1px #0000001a!important}.leaflet-middle-icon.hidden-near-vertex,.leaflet-edit-marker[data-middle-marker=true].hidden-near-vertex,.leaflet-edit-marker-icon[data-middle-marker=true].hidden-near-vertex,.leaflet-editing-icon[data-middle-marker=true].hidden-near-vertex{display:none!important}.leaflet-pane.leaflet-marker-pane{z-index:2100!important;pointer-events:auto!important}.active-object-color-control{position:absolute!important;top:10px!important;left:50%!important;transform:translate(-50%)!important;z-index:1000!important;pointer-events:auto!important}.ecology-search-control{display:flex;flex-direction:column;gap:4px}.ecology-search-control .ecology-main-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center}.ecology-action-panel{display:none;flex-direction:column;gap:6px;background:#fff;border:1px solid #ccd3dd;border-radius:6px;padding:6px;box-shadow:0 4px 12px #00000026}.ecology-action-panel.visible{display:flex}.ecology-action-btn{width:34px;height:34px;border:1px solid #c2c8d0;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:background .2s ease,color .2s ease}.ecology-action-btn:hover:not(:disabled){background:#f0f4f7;color:#1f4f2b}.ecology-action-btn:disabled{opacity:.5;cursor:not-allowed}.ecology-action-btn.spinning i{animation:ecology-spin 1s linear infinite}@keyframes ecology-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ecology-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:12000}.ecology-modal{background:#fff;border-radius:12px;width:min(520px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000040;overflow:hidden}.ecology-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e6e8ec}.ecology-modal-header h2{margin:0;font-size:18px;font-weight:600}.ecology-modal-close{background:none;border:none;font-size:24px;width:32px;height:32px;border-radius:50%;cursor:pointer;line-height:30px}.ecology-modal-close:hover{background:#00000014}.ecology-modal-content{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.ecology-modal-content label{font-size:13px;font-weight:600;display:block;margin-bottom:6px}.ecology-species-select{width:100%;min-height:120px;border:1px solid #c9ced7;border-radius:6px;padding:6px;font-size:13px}.ecology-order-section .ecology-order-list{display:flex;flex-wrap:wrap;gap:8px}.ecology-order-item{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 8px;border:1px solid #d0d6e0;border-radius:6px;background:#f7f9fc}.ecology-range-grid{display:grid;grid-template-columns:1fr;gap:8px}.ecology-range-pair{display:flex;gap:8px}.ecology-range-grid input{width:100%;padding:8px 10px;border:1px solid #c9ced7;border-radius:6px;font-size:13px;box-sizing:border-box}.ecology-modal-actions{padding:16px 20px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e6e8ec}.ecology-btn{min-width:100px;padding:8px 16px;border-radius:6px;border:none;font-size:14px;cursor:pointer}.ecology-btn.primary{background:#2e7d32;color:#fff}.ecology-btn.secondary{background:#f0f2f6;color:#1b1f2a}.ecology-btn:disabled{opacity:.6;cursor:not-allowed}.ecology-actions-popup .leaflet-popup-content{margin:0!important;padding:6px!important}.ecology-popup-grid{display:grid;grid-template-columns:repeat(2,42px);gap:6px}.ecology-popup-grid button{width:42px;height:42px;border-radius:8px;border:1px solid #c5cbd5;background:#fff;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.ecology-popup-grid button:hover:not(:disabled){background:#ecf3ef;color:#1d5b2a}.ecology-popup-grid button.active-btn{background:#1b5e20;color:#fff;border-color:#1b5e20}.system-settings-sections{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.system-settings-section-label{font-size:14px;font-weight:600;color:#274060;white-space:nowrap}.system-settings-section-select{flex:1;padding:10px 16px;border:1px solid #cfd8dc;border-radius:8px;background:#fff;font-size:14px;color:#274060;cursor:pointer;transition:border-color .2s ease}.system-settings-section-select:hover{border-color:#90a4ae}.system-settings-section-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.system-settings-section-content{display:flex;flex-direction:column;gap:16px}.system-settings-section-content[hidden]{display:none!important}.server-hardware-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.server-hardware-card{background:#f8fafc;border:1px solid #e0e7ef;border-radius:12px;padding:16px 20px;box-shadow:0 6px 20px #0f172a14}.server-hardware-card h3{margin:0 0 6px;font-size:16px;color:#1b314b}.server-hardware-card p{margin:0 0 10px;color:#4b6075;font-size:14px}.server-hardware-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#1f2937}.server-processes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.server-process-card{background:#fff;border-radius:14px;border:1px solid #e2e8f0;padding:18px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a14}.server-process-card-icon{width:42px;height:42px;border-radius:12px;background:#e3f2fd;color:#1d4ed8;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:18px}.server-process-card h3{margin:0 0 6px;font-size:15px;color:#0f172a}.server-process-card p{margin:0 0 12px;font-size:14px;color:#475569}.server-process-metrics{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.server-process-metrics li{display:flex;justify-content:space-between;font-size:14px;color:#1e293b}.server-process-metrics span{color:#64748b}.server-process-value{font-weight:600;color:#0f172a}.server-processes-meta{font-size:13px;color:#475569;margin:4px 0 0}.server-logs-selector{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.server-logs-select-field,.server-log-line-field{display:flex;flex-direction:column;gap:6px}.server-logs-select-field{flex:1}.server-log-line-field{width:160px;min-width:160px}.server-log-groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.server-log-group-card{border:1px solid #e0e7ef;border-radius:12px;background:#fff;padding:14px 16px;box-shadow:0 6px 18px #0f172a14;display:flex;flex-direction:column;gap:6px}.server-log-group-card h4{margin:0;font-size:15px;color:#0f172a}.server-log-group-card p{margin:0;font-size:13px;color:#475569}.server-log-group-status{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;width:fit-content}.server-log-group-status.running{background:#ecfdf5;color:#047857}.server-log-group-status.stopped{background:#fee2e2;color:#b91c1c}.server-log-group-status.unknown{background:#f1f5f9;color:#475569}.server-log-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.server-log-meta-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px}.server-log-meta-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.server-log-meta-value{display:block;margin-top:4px;font-size:15px;color:#0f172a;word-break:break-all}.server-log-viewer{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 32px #0f172a14}.server-log-viewer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.server-log-viewer-header h3{margin:0;font-size:18px;color:#0f172a}.server-log-viewer-header p{margin:4px 0 0;font-size:14px;color:#475569}.server-log-viewer-actions{display:flex;flex-wrap:wrap;gap:10px}.server-log-content{background:#0f172a;border-radius:12px;border:1px solid #1e293b;padding:12px;min-height:240px;max-height:420px;overflow:auto;color:#e2e8f0;font-family:JetBrains Mono,Fira Code,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;position:relative}.server-log-content.loading:after{content:"";position:absolute;inset:0;background:#0f172a80}.server-log-content-meta{font-size:13px;color:#475569}.server-log-sidecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.server-log-card{border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:8px;min-height:140px}.server-log-card h4{margin:0;font-size:15px;color:#0f172a}.server-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#475569}.server-log-list li{display:flex;justify-content:space-between;gap:12px}.server-log-list li span{color:#0f172a;font-weight:600}.server-log-status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.server-log-status-chip.available{background:#dcfce7;color:#166534}.server-log-status-chip.missing{background:#fee2e2;color:#b91c1c}@media(max-width:768px){.server-log-viewer-header{flex-direction:column}.server-logs-selector{flex-direction:column;align-items:stretch}.server-log-line-field{width:100%;min-width:100%}}@media(max-width:768px){.server-processes-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.mapserver-warning-banner{position:fixed;top:0;left:0;right:0;z-index:10000;background-color:#ff9800;color:#fff;box-shadow:0 4px 12px #ff980066;border-bottom:3px solid #f57c00;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.mapserver-warning-content{display:flex;align-items:center;gap:12px;padding:12px 16px;max-width:100%}.mapserver-warning-content i{font-size:20px;flex-shrink:0;color:#fff}.mapserver-warning-text{flex:1;font-size:14px;line-height:1.5;font-weight:500}.mapserver-warning-close{background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;transition:background-color .2s}.mapserver-warning-close:hover{background-color:#fff3}.mapserver-warning-close:active{background-color:#ffffff4d}@media(max-width:768px){.mapserver-warning-content{padding:10px 12px;gap:10px}.mapserver-warning-text{font-size:13px}.mapserver-warning-content i{font-size:18px}.mapserver-warning-close{width:24px;height:24px;font-size:20px}}
