/* Regulation documents and location-based land use checks. */
.rm-landuse {color:#16374a;font:14px/1.55 Arial,sans-serif;text-align:left}
.rm-landuse *, .rm-regulation-fields * {box-sizing:border-box}
.rm-landuse h2,.rm-landuse h3,.rm-landuse p {margin:0 0 12px}
.rm-landuse h2 {font-size:23px}.rm-landuse h3 {font-size:17px}
.rm-landuse small,.rm-landuse .muted {color:#586d7a}
.rm-landuse .rm-lu-head {padding:22px 24px;background:#12364d;color:white;border-bottom:4px solid #2ab1a0;position:relative}
.rm-landuse .rm-lu-head p {color:#d1e5e9;margin:0;max-width:85%}
.rm-landuse .rm-lu-head h2 {color:white;margin:0 0 8px}
.rm-landuse .rm-lu-kicker {font-size:11px;letter-spacing:1.2px;text-transform:uppercase;display:block;margin-bottom:7px}
.rm-landuse .rm-lu-body {padding:22px;background:#f4f8fa}
.rm-landuse .rm-lu-card {border:1px solid #dce7eb;background:white;border-radius:12px;padding:20px;margin-bottom:16px}
.rm-landuse .rm-lu-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rm-landuse label,.rm-regulation-fields label {display:flex;flex-direction:column;gap:7px;font-weight:600;min-width:0}
.rm-landuse input,.rm-landuse select,.rm-landuse textarea,.rm-regulation-fields input {font:inherit;width:100%;border:1px solid #c5d4dc!important;background:white!important;color:#16374a!important;border-radius:8px!important;min-height:44px;padding:10px!important}
.rm-landuse textarea {font:12px/1.7 ui-monospace,monospace;min-height:190px;white-space:pre;resize:vertical}
.rm-landuse .rm-lu-check {flex-direction:row;align-items:center;margin:14px 0;font-weight:400}
.rm-landuse .rm-lu-check input {width:18px;min-height:18px}
.rm-landuse button,.rm-landuse .rm-lu-link {font:600 13px/1.3 Arial,sans-serif;min-height:44px;border:1px solid #bdcfd7;background:white;color:#16374a;padding:10px 15px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.rm-landuse button.primary {background:#117e72;color:white;border-color:#117e72}
.rm-landuse button:disabled {opacity:.55;cursor:wait}
.rm-landuse button:focus-visible,.rm-landuse input:focus-visible,.rm-landuse select:focus-visible,.rm-landuse textarea:focus-visible {outline:2px solid #14867e;outline-offset:2px}
.rm-landuse .rm-lu-actions {display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.rm-landuse .rm-lu-note {padding:12px 14px;border-radius:8px;background:#edf5f7;border-left:3px solid #3c8091;white-space:pre-line;margin-top:12px}
.rm-landuse .rm-lu-note.error {color:#8b332e;background:#fff2ee;border-color:#d77768}
.rm-landuse .rm-lu-note.warn {background:#fff8e6;border-color:#bf8b2c;color:#785718}
.rm-landuse .rm-lu-stats {display:flex;gap:22px;flex-wrap:wrap;margin:14px 0}
.rm-landuse .rm-lu-stats strong {display:block;font-size:20px}.rm-landuse .rm-lu-stats small {font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.rm-landuse .rm-lu-table {overflow:auto;border:1px solid #dce7eb;border-radius:9px;margin-top:12px}
.rm-landuse table {border-collapse:collapse;width:100%;font-size:12px;min-width:650px}
.rm-landuse th,.rm-landuse td {padding:12px;text-align:left;border-bottom:1px solid #e1eaee;vertical-align:top;max-width:320px;overflow-wrap:anywhere;white-space:pre-line}
.rm-landuse th {background:#eef4f7;color:#47616f;font-size:11px}
.rm-landuse .rm-lu-badge {display:inline-block;padding:5px 9px;background:#e4f3ee;color:#156556;border-radius:6px;font-size:12px;font-weight:700}
.rm-landuse .rm-lu-badge.x {background:#ffedeb;color:#a23530}.rm-landuse .rm-lu-badge.tb {background:#fff2d3;color:#815b10}.rm-landuse .rm-lu-badge.unknown {background:#edf0f4;color:#556470}
#rmLandUsePanel {position:fixed!important;top:var(--rm-map-panel-top,96px);right:var(--rm-map-panel-edge,16px);bottom:var(--rm-map-panel-bottom,24px);z-index:1900!important;width:min(560px,calc(100vw - 32px));max-width:none;margin:0;border:0;display:flex;padding:0;background:transparent}
#rmLandUsePanel::backdrop {background:transparent}
#rmLandUsePanel[hidden] {display:none!important}
#rmLandUsePanel .rm-lu-dialog {width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;background:white;border-radius:17px;box-shadow:0 25px 80px #061e354d}
#rmLandUsePanel .rm-lu-close {position:absolute;right:16px;top:16px;background:#ffffff1a;color:white;border-color:#ffffff40;font-size:25px;min-width:42px;padding:5px}
#rmLandUsePanel .rm-lu-results-map {height:220px;border:1px solid #dce7eb;border-radius:8px;background:#eff3f5}
.rm-landuse-popup {padding:10px 14px;border-top:1px solid #e1e9ee}
.rm-landuse-popup button {width:100%;min-height:42px;background:#117e72;color:white;font-weight:600;border:0;border-radius:8px;padding:10px;cursor:pointer}
.rm-regulation-fields {grid-column:1/-1;border:1px solid #d4e3e8;border-radius:12px;padding:16px;background:#f4f9fa;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rm-regulation-fields small {font-size:12px;font-weight:400;color:#5a7280}.rm-regulation-fields .wide {grid-column:1/-1}
.rm-regulation-fields a {color:#117e72}
@media(max-width:640px){#rmLandUsePanel {padding:8px}#rmLandUsePanel .rm-lu-dialog {max-height:calc(100dvh - 16px);border-radius:12px}.rm-landuse .rm-lu-head {padding:18px}.rm-landuse .rm-lu-body {padding:12px}.rm-landuse .rm-lu-grid,.rm-regulation-fields {grid-template-columns:1fr}.rm-landuse .rm-lu-card {padding:15px}.rm-landuse h2 {font-size:19px;max-width:85%}.rm-landuse .rm-lu-actions button {flex:1}}
@media(prefers-reduced-motion:reduce){.rm-landuse *{scroll-behavior:auto!important}}

.rm-lu-import{margin-top:18px;padding:16px;background:#f3f6fa;border-radius:12px}.rm-lu-import input[type=file]{max-width:100%}.rm-lu-import [hidden]{display:none!important}

/* Rule editor and analysis refinements, 5.44.71. */
.rm-landuse [hidden],.rm-lu-toast[hidden]{display:none!important}
#rmLandUseAdmin .rm-lu-body{padding:0;background:transparent}
.rm-landuse .rm-lu-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rm-landuse .rm-lu-span{grid-column:1/-1}
.rm-landuse .rm-lu-select{position:relative;display:block;width:100%;min-width:0}
.rm-landuse .rm-lu-select::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:2px solid #526d7a;border-bottom:2px solid #526d7a;transform:translateY(-70%) rotate(45deg);pointer-events:none}
html body #adminModuleContainer #rmLandUseAdmin .rm-lu-select select,html body #rmLandUsePanel .rm-lu-select select{appearance:none!important;-webkit-appearance:none!important;display:block!important;background-image:none!important;padding:10px 40px 10px 12px!important;height:44px!important;min-height:44px!important;line-height:22px!important;text-overflow:ellipsis;cursor:pointer}
html body #adminModuleContainer #rmLandUseAdmin .rm-lu-select select::picker-icon,html body #rmLandUsePanel .rm-lu-select select::picker-icon{display:none!important}
.rm-landuse .rm-lu-actions{align-items:center}
.rm-landuse .rm-lu-secondary-actions{margin:0 0 16px}
.rm-landuse .rm-lu-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.rm-landuse .rm-lu-section-title h3{margin:0}
.rm-landuse .rm-lu-sheet-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px}
html body #adminModuleContainer #rmLandUseAdmin #rmLuApplySheet{height:44px!important;min-height:44px!important;max-height:44px!important;align-self:end!important;background:#117e72!important;border:1px solid #117e72!important;color:white!important;flex:none!important;width:auto!important;padding:10px 16px!important}
.rm-landuse .rm-lu-import{margin:0 0 16px}
.rm-landuse .rm-lu-guide{margin:12px 0;color:#526d7a;font-size:12px}
.rm-landuse .rm-lu-guide summary{cursor:pointer;padding:6px 0}
.rm-landuse .rm-lu-guide p{margin-top:8px}
.rm-landuse .rm-lu-save-hint{display:block;margin-top:9px}
.rm-landuse .rm-lu-note.success{background:#e8f6ef;border-color:#2b9466;color:#175940}
.rm-landuse .rm-lu-progress{margin:16px 0;padding:14px 16px;border:1px solid #d1e4e7;background:#edf6f7;border-radius:10px}
.rm-landuse .rm-lu-progress>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px}
.rm-landuse .rm-lu-progress progress{display:block;width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;accent-color:#117e72}
.rm-landuse .rm-lu-progress progress::-webkit-progress-bar{background:#d5e7e8;border-radius:10px}
.rm-landuse .rm-lu-progress progress::-webkit-progress-value{background:#117e72;border-radius:10px}
.rm-landuse .rm-lu-progress.warn{background:#fff8e6;border-color:#e8d59f}
.rm-landuse .rm-lu-progress.success{background:#e8f6ef;border-color:#bcddcc}
.rm-lu-toast{position:fixed;z-index:30000;top:20px;right:20px;max-width:min(420px,calc(100vw - 32px));padding:16px 20px;border-radius:12px;background:#165c43;color:white;font:600 14px/1.5 Arial,sans-serif;box-shadow:0 12px 35px #0b273333}
.rm-lu-toast.error{background:#983d34}
#rmLandUsePanel .rm-lu-head{flex:none}
#rmLandUsePanel .rm-lu-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a3bbc4 transparent;scrollbar-gutter:stable}
#rmLandUsePanel .rm-lu-scroll::-webkit-scrollbar{width:8px}
#rmLandUsePanel .rm-lu-scroll::-webkit-scrollbar-thumb{background:#a3bbc4;border:2px solid #f4f8fa;border-radius:8px}
#rmLandUsePanel .rm-lu-analysis-fields{margin-top:18px;align-items:start}
.rm-landuse .rm-lu-search-field{position:relative;min-width:0}
.rm-landuse .rm-lu-search-field label{margin-bottom:7px}
.rm-landuse .rm-lu-search-field>small{display:block;margin-top:7px;font-size:12px}
#rmLuSuggestions{position:absolute;top:75px;left:0;right:0;z-index:600;max-height:240px;overflow:auto;border:1px solid #bad1d8;border-radius:10px;background:white;box-shadow:0 12px 28px #193b5026}
.rm-landuse .rm-lu-suggestion{padding:11px 13px;cursor:pointer;border-bottom:1px solid #e5eef1}
.rm-landuse .rm-lu-suggestion:last-child{border-bottom:0}
.rm-landuse .rm-lu-suggestion:hover,.rm-landuse .rm-lu-suggestion[aria-selected=true]{background:#e8f6f1}
.rm-landuse .rm-lu-suggestion strong,.rm-landuse .rm-lu-suggestion small{display:block;white-space:normal;overflow-wrap:anywhere}
.rm-landuse .rm-lu-report-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}
.rm-landuse .rm-lu-report-actions h3{margin:0}
.rm-landuse .rm-lu-result-activity{margin-top:12px}
#rmLandUsePanel .rm-lu-results-map{height:280px}
.rm-landuse .rm-lu-map-legend{display:block;margin-top:8px;font-size:11px}
.rm-landuse .rm-lu-disclaimer{font-size:12px;color:#58717e;margin:18px 2px 0}
@media(max-width:1000px){.rm-landuse .rm-lu-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.rm-landuse .rm-lu-filter-grid{grid-template-columns:1fr}.rm-landuse .rm-lu-sheet-picker{grid-template-columns:1fr}.rm-landuse .rm-lu-sheet-picker button{justify-self:start}.rm-landuse .rm-lu-section-title{align-items:start}.rm-lu-toast{top:12px;right:16px}.rm-landuse .rm-lu-stats{gap:16px}.rm-landuse .rm-lu-stats strong{font-size:18px}#rmLandUsePanel .rm-lu-results-map{height:250px}}

.rm-landuse .rm-lu-progress>div>strong{flex:none;white-space:nowrap}

/* 5.44.72: a map-side workspace; the remaining map stays interactive. */
#rmLandUsePanel .rm-lu-head{padding:20px 60px 18px 20px;border-bottom-width:2px}
#rmLandUsePanel .rm-lu-head h2{font-size:20px;line-height:1.35;margin:0;max-width:none}
#rmLandUsePanel .rm-lu-body{flex:1;padding:16px}
#rmLandUsePanel .rm-lu-dialog{border:1px solid #d8e4e9;box-shadow:0 12px 40px #08253633}
#rmLandUsePanel .rm-lu-close{top:14px;right:12px}
#rmLandUsePanel .rm-lu-card{padding:16px}
#rmLandUsePanel .rm-lu-analysis-fields{margin-top:20px}
#rmLandUsePanel .rm-lu-area-actions{margin:0;gap:8px}
#rmLandUsePanel .rm-lu-area-actions button{font-size:12px;padding:8px 10px}
#rmLandUsePanel .rm-lu-stats{gap:16px}
#rmLandUsePanel .rm-lu-stats strong{font-size:18px}
#rmLandUsePanel .rm-lu-stats small{font-size:10px}
#rmLandUsePanel #rmLuDrawBar{padding:16px;background:#fff}
#rmLandUsePanel #rmLuDrawBar p{margin:0}
#rmLandUsePanel.is-drawing{top:auto;bottom:var(--rm-map-panel-bottom,24px)}
#rmLandUsePanel.is-drawing .rm-lu-body{display:none}
#rmLandUsePanel.is-drawing .rm-lu-dialog{height:auto}
.rm-lu-drawing-map,.rm-lu-drawing-map .leaflet-interactive{cursor:crosshair!important}
@media(max-width:768px){#rmLandUsePanel{width:calc(100vw - 16px);padding:0}#rmLandUsePanel .rm-lu-dialog{max-height:100%;border-radius:12px}#rmLandUsePanel .rm-lu-body{padding:12px}#rmLandUsePanel .rm-lu-head h2{font-size:18px}}
@media print{#rmLandUsePanel{display:none!important}}
