.gis-administration { min-width: 0; }
.gis-administration label { display: block; margin: 0.4rem 0; }
.gis-administration input:not([type=checkbox]):not([type=range]), .gis-administration textarea, .gis-administration select { display: block; box-sizing: border-box; max-width: 100%; width: 100%; padding: 0.4rem; border: 1px solid var(--mud-palette-lines-inputs); border-radius: 4px; color: inherit; background: var(--mud-palette-surface); font: inherit; }
.gis-administration fieldset { margin: 0.75rem 0; padding: 0.75rem; border: 1px solid var(--mud-palette-lines-default); min-width: 0; }
.gis-administration button { margin: 0.25rem; padding: 0.4rem 0.75rem; font: inherit; cursor: pointer; }
.gis-administration .gis-editor { margin: 0; padding: 0; border: 0; }
.gis-layer-head, .gis-source-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 0.5rem 1rem; align-items: center; }
.gis-source-style { grid-column: 1 / -1; }
.gis-advanced { margin: 1rem 0; padding: 0.75rem; border: 1px solid var(--mud-palette-lines-default); border-radius: 6px; }
.gis-category-group { border: 1px solid var(--mud-palette-lines-default); border-radius: 6px; margin-bottom: 0.75rem; padding: 0.75rem; }
.gis-category-group summary, .gis-advanced summary { cursor: pointer; font-weight: 600; }
.gis-count { margin-left: 0.5rem; font-weight: 400; color: var(--mud-palette-text-secondary); }
.gis-layer-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; border-top: 1px solid var(--mud-palette-lines-default); padding: 0.4rem 0; }
.gis-layer-row > span { color: var(--mud-palette-text-secondary); overflow-wrap: anywhere; }
.gis-assigned-layer { margin: 0.5rem 1rem; }
.gis-add-attribute { display: flex; flex-wrap: wrap; align-items: end; gap: 0.5rem; }
.gis-attribute-scroll { width: 100%; overflow-x: auto; }
.gis-attribute-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.gis-attribute-table th, .gis-attribute-table td { padding: 0.5rem; border-bottom: 1px solid var(--mud-palette-lines-default); text-align: left; white-space: nowrap; }
.gis-attribute-table tr > th:first-child { position: sticky; left: 0; z-index: 1; background: var(--mud-palette-surface); }
.gis-attribute-table small { display: block; font-weight: 400; }
.gis-attribute-table input:not([type=checkbox]) { min-width: 6rem; }
.gis-zoom-range { display: flex; align-items: center; gap: 0.75rem; min-height: 2.5rem; }
.gis-zoom-range output { flex: 0 0 auto; white-space: nowrap; }
.gis-zoom-track { position: relative; height: 24px; flex: 1; min-width: 5rem; }
.gis-zoom-track input[type=range] { appearance: none; position: absolute; inset: 0; margin: 0; width: 100%; height: 24px; background: transparent; pointer-events: none; }
.gis-zoom-track input[type=range]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: var(--mud-palette-lines-default); }
.gis-zoom-track input[type=range]:last-child::-webkit-slider-runnable-track { background: transparent; }
.gis-zoom-track input[type=range]::-webkit-slider-thumb { appearance: none; pointer-events: auto; width: 18px; height: 18px; border: 2px solid var(--mud-palette-surface); border-radius: 50%; background: var(--mud-palette-primary); margin-top: -7px; cursor: ew-resize; }
.gis-zoom-track input[type=range]::-moz-range-track { height: 4px; background: var(--mud-palette-lines-default); }
.gis-zoom-track input[type=range]:last-child::-moz-range-track { background: transparent; }
.gis-zoom-track input[type=range]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: var(--mud-palette-primary); cursor: ew-resize; }
.gis-zoom-track input:focus { z-index: 2; }
