.tab-navigation{display:flex;background:#2c3e50;border-bottom:2px solid #34495e}.tab-button{flex:1;padding:1rem 2rem;background:transparent;border:none;color:#ecf0f1;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent}.tab-button:hover{background:#ffffff1a}.tab-button.active{background:#34495e;border-bottom-color:#3498db;color:#fff}.leaflet-container{background-color:#e5e3df}.leaflet-container .leaflet-tile-pane img{filter:brightness(1.08) contrast(.7) saturate(.7)}.filters-panel{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:1rem;box-shadow:0 2px 4px #0000000d}.filters-content h3{margin-bottom:1rem;font-size:1.1rem;color:#2c3e50}.filter-group{margin-bottom:1rem}.filter-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#495057}.filter-group select,.filter-group input{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.address-search-container{position:relative}.address-search-loading{position:absolute;top:100%;left:0;right:0;padding:.5rem;background:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;font-size:.875rem;color:#6c757d;z-index:100}.address-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 2px 8px #0000001a}.filter-actions{display:flex;gap:.5rem;margin-top:1rem}.filter-actions button{flex:1;padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.detail-modal{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.detail-header{padding:1.5rem;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.detail-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.close-button{background:none;border:none;font-size:2rem;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background:#f8f9fa}.detail-content{padding:1.5rem}.detail-section{margin-bottom:2rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f3f5}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:#495057}.detail-value{color:#2c3e50}.detail-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.contact-form{border-top:1px solid #dee2e6;padding-top:1.5rem}.contact-form h3{margin-bottom:1rem;font-size:1.1rem;color:#2c3e50}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#495057}.form-group input,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.submit-button{width:100%;padding:.75rem;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background:#0056b3}.submit-button:disabled{background:#6c757d;cursor:not-allowed}.error-message{padding:.75rem;background:#f8d7da;color:#721c24;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.success-message{padding:1rem;background:#d4edda;color:#155724;border-radius:4px;text-align:center;font-weight:500}.filter-tab{flex:1;display:flex;flex-direction:column;overflow:hidden}.filter-tab-content{flex:1;display:flex;overflow:hidden}.groups-list-panel .filters-panel{flex-shrink:0;border-bottom:1px solid #dee2e6}.empty-state-hint{font-size:.875rem;margin-top:.5rem;color:#868e96}.groups-tab{flex:1;display:flex;flex-direction:column;overflow:hidden}.groups-tab-content{flex:1;display:flex;overflow:hidden}.groups-list-panel{width:400px;border-right:1px solid #dee2e6;display:flex;flex-direction:column;overflow:hidden;background:#fff}.groups-list-header{padding:1.5rem;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.groups-filters{padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #dee2e6;display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.groups-filters .filter-group{display:flex;flex-direction:column;min-width:150px;flex:1}.groups-filters .filter-group label{margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#495057}.groups-filters .filter-group input,.groups-filters .filter-group select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.groups-filters .filter-group input:focus,.groups-filters .filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.groups-filters .btn-clear-filters{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#6c757d;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap;align-self:flex-end}.groups-filters .btn-clear-filters:hover{background:#f8f9fa;border-color:#6c757d}.groups-list-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.count{background:#007bff;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.groups-list-content{flex:1;overflow-y:auto;padding:1rem}.group-item{padding:1rem;margin-bottom:.75rem;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.group-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.group-item.selected{border-color:#007bff;background:#f0f7ff;box-shadow:0 2px 8px #007bff4d}.group-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.group-age-group{font-weight:600;color:#2c3e50;font-size:1rem}.group-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.group-item-address{font-size:.875rem;color:#495057;margin-bottom:.5rem}.group-item-capacity{font-size:.875rem;color:#6c757d;margin-bottom:.25rem}.group-item-location{font-size:.75rem;color:#868e96;font-style:italic}.loading,.empty-state{padding:2rem;text-align:center;color:#6c757d}.groups-map-panel{flex:1;position:relative;display:flex;flex-direction:column}.selected-group-info{position:absolute;top:1rem;left:1rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #0003;z-index:1000;max-width:300px}.selected-group-info h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.selected-group-info p{margin:.25rem 0;font-size:.875rem;color:#495057}.admin-tab{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8f9fa}.admin-header{padding:1.5rem;background:#fff;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.admin-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.admin-actions{display:flex;gap:.75rem}.btn-primary,.btn-secondary{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.admin-filters{padding:1.5rem;background:#fff;border-bottom:1px solid #dee2e6;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.admin-filters .filter-group{display:flex;flex-direction:column;min-width:200px;flex:1}.admin-filters .filter-group label{margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#495057}.admin-filters .filter-group input,.admin-filters .filter-group select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.admin-filters .filter-group input:focus,.admin-filters .filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.btn-clear-filters{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#6c757d;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-clear-filters:hover{background:#f8f9fa;border-color:#6c757d}.admin-table-container{flex:1;overflow:auto;padding:1.5rem}.admin-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 4px #0000001a}.admin-table thead{background:#2c3e50;color:#fff}.admin-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s}.admin-table th.sortable:hover{background-color:#ffffff1a}.admin-table th.sortable:after{content:"";margin-left:.5rem;font-size:.75rem;opacity:.7}.admin-table td{padding:.75rem 1rem;border-bottom:1px solid #dee2e6;font-size:.875rem}.admin-table tbody tr:hover{background:#f8f9fa}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.btn-edit,.btn-delete{padding:.25rem .75rem;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;margin-right:.5rem;transition:all .2s}.btn-edit{background:#ffc107;color:#000}.btn-edit:hover{background:#e0a800}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.empty-state{text-align:center;padding:2rem;color:#6c757d;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-state p{margin:.5rem 0}.group-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.group-form{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.group-form h3{margin:0 0 1.5rem;font-size:1.5rem;color:#2c3e50}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#495057}.form-group input,.form-group select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input.disabled-input{background-color:#e9ecef;cursor:not-allowed;color:#6c757d}.address-input-container{position:relative;display:flex;gap:.5rem;align-items:flex-start}.address-input-container>input{flex:1;position:relative}.btn-refresh-coords{padding:.5rem;border:1px solid #ced4da;border-radius:4px;background:#fff;cursor:pointer;font-size:1rem;min-width:40px;height:38px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-refresh-coords:hover:not(:disabled){background:#f8f9fa;border-color:#007bff}.btn-refresh-coords:disabled{opacity:.6;cursor:not-allowed}.address-search-loading{position:absolute;top:calc(100% + 1px);left:0;width:calc(100% - 48px);padding:.5rem;background:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;font-size:.875rem;color:#6c757d;z-index:100}.address-suggestions{position:absolute;top:calc(100% + 1px);left:0;width:calc(100% - 48px);background:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 2px 8px #0000001a}.address-suggestion-item{padding:.75rem;cursor:pointer;font-size:.875rem;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.address-suggestion-item:hover{background-color:#f8f9fa}.address-suggestion-item:last-child{border-bottom:none}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.loading{text-align:center;padding:2rem;color:#6c757d}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{background:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.app-content,.filter-tab{flex:1;display:flex;flex-direction:column;overflow:hidden}*{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}#root{width:100vw;height:100vh}
