:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#14251b;background:#f2f6f3;line-height:1.4}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}.app-shell{height:100dvh;max-width:1700px;margin:auto;padding:24px;display:flex;flex-direction:column;gap:18px}.topbar,.results-head,.filter-head,.toolbar,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{flex-shrink:0}.topbar h1{margin:0;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.04em}.eyebrow{margin:0 0 4px;color:#187044;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.13em}.muted{margin:4px 0;color:#63756b;font-size:.86rem}.badge{background:#dff2e6;border:1px solid #c3e5cf;padding:8px 12px;border-radius:999px;color:#176239;font-size:.78rem;font-weight:700;white-space:nowrap}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;min-height:0;flex:1}.filters,.results{background:#fff;border:1px solid #dce7df;border-radius:16px;box-shadow:0 8px 24px #173d2410;min-height:0;overflow:hidden}.filters{display:flex;flex-direction:column}.filter-head{padding:16px 18px;border-bottom:1px solid #e5ede7}.filter-head h2{font-size:1rem;margin:0}.icon-button,.button{border:1px solid #d7e3da;background:#fff;color:#244b34;border-radius:9px;padding:8px 11px;cursor:pointer}.icon-button{padding:4px 9px;font-size:1.1rem}.button:hover,.button.active{background:#eaf5ee;border-color:#9bc7aa}.button.primary{background:#176b42;color:#fff;border-color:#176b42}.button.secondary{width:100%;margin-top:auto}.filters-body{padding:18px;display:flex;flex-direction:column;gap:16px;overflow:auto}.filters-body label{display:flex;flex-direction:column;gap:6px;font-size:.76rem;font-weight:800;text-transform:uppercase;color:#405448}.filters-body select,.toolbar input,.toolbar select{width:100%;border:1px solid #ccdacf;border-radius:9px;background:#fff;padding:10px;color:#1c3023;outline:none}.filters-body select:focus,.toolbar input:focus{border-color:#197043;box-shadow:0 0 0 3px #19704320}.filters-body select[multiple]{min-height:210px}.filters-body small{font-size:.72rem;font-weight:400;text-transform:none;color:#68786e}.hierarchy{padding:11px;border-radius:9px;background:#f0f7f2;color:#225b39;font-size:.8rem}.results{display:flex;flex-direction:column}.results-head{padding:18px;border-bottom:1px solid #e5ede7;align-items:flex-start}.results-head h2{margin:0;font-size:1.35rem}.actions{flex-wrap:wrap;justify-content:flex-end}.toolbar{padding:14px 18px;border-bottom:1px solid #e5ede7}.toolbar input{max-width:480px}.toolbar select{width:auto}.alert,.empty,.map-panel{margin:18px;padding:18px;border-radius:10px;background:#fff4e8;color:#824d15}.empty{text-align:center;background:#f3f7f4;color:#627469}.map-panel{flex:1;background:#e9f3ec;margin:18px;min-height:300px}.map-canvas{position:relative;min-height:360px;border-radius:10px;overflow:hidden;background-color:#dcebdc;background-image:linear-gradient(25deg,transparent 45%,#fff9 46%,#fff9 48%,transparent 49%),linear-gradient(120deg,transparent 45%,#fff9 46%,#fff9 48%,transparent 49%),linear-gradient(#b9d7b8 1px,transparent 1px),linear-gradient(90deg,#b9d7b8 1px,transparent 1px);background-size:auto,auto,40px 40px,40px 40px}.map-label{position:absolute;top:12px;left:12px;z-index:2;background:#fff;padding:7px 10px;border-radius:8px;color:#275439;font-size:.78rem;font-weight:700;box-shadow:0 2px 8px #173d2420}.map-pin{position:absolute;z-index:2;transform:translate(-50%,-100%);border:0;background:#176b42;color:#fff;width:23px;height:23px;border-radius:50% 50% 50% 0;rotate:-45deg;padding:0;cursor:pointer;box-shadow:0 2px 4px #173d2455}.map-pin:first-letter{rotate:45deg}.map-pin.selected{background:#b45309;scale:1.25}.map-popup{position:absolute;z-index:3;right:14px;top:14px;display:flex;flex-direction:column;gap:4px;max-width:290px;padding:14px 34px 14px 14px;background:#fff;border-radius:10px;box-shadow:0 8px 24px #173d2433;color:#263b2d;font-size:.8rem}.map-popup strong{font-size:.9rem}.map-popup a{color:#176b42}.popup-close{position:absolute;right:8px;top:6px;border:0;background:none;font-size:1.2rem;cursor:pointer}.map-attribution{font-size:.72rem;color:#5f7366;margin:10px 0 0}.results-scroll{overflow:auto;min-height:0;flex:1}table{width:100%;border-collapse:collapse;min-width:930px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf1ee;vertical-align:top;font-size:.82rem}th{position:sticky;top:0;background:#f8fbf8;color:#5c6e63;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.table-sort{border:0;background:none;color:inherit;text-transform:inherit;letter-spacing:inherit;font-size:inherit;font-weight:800;cursor:pointer;padding:0}.table-sort:hover{color:#176b42}td strong{display:block}.status{display:inline-block;margin-top:5px;color:#9a6216;font-size:.68rem;text-transform:uppercase}.copy{padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}.copy:hover,.results a{color:#176b42;text-decoration:underline}@media(max-width:850px){body{overflow:hidden}.app-shell{padding:14px;gap:12px}.topbar{align-items:flex-start}.badge{display:none}.workspace{display:flex;flex-direction:column}.filters{flex:0 0 auto;max-height:45dvh}.filters.closed{max-height:58px}.results{flex:1;min-height:0}.results-head{padding:14px;flex-wrap:wrap}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none;flex:1 1 100%}.toolbar select{flex:1}.toolbar .button{flex:0}.results-scroll{padding:0 12px}table{min-width:0;border-collapse:separate;border-spacing:0 10px}thead{display:none}tbody,tr,td{display:block}tr{border:1px solid #dce7df;border-radius:12px;padding:10px;background:#fff}td{border:0;padding:5px 8px;display:grid;grid-template-columns:92px 1fr;gap:8px;font-size:.82rem}td:before{content:attr(data-label);font-size:.68rem;font-weight:800;text-transform:uppercase;color:#718077}td:first-child{display:block}td:first-child:before{display:none}.actions{width:100%;justify-content:flex-start}.map-panel{margin:10px;min-height:260px}.map-canvas{min-height:300px}.map-popup{inset:auto 12px 12px;max-width:none}}.map-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.map-canvas{flex:1;height:100%;min-height:0;overflow:hidden}.map-canvas-real{position:relative;background:#dbe9d8}.tile-layer{position:absolute;inset:0;overflow:hidden}.map-tile{position:absolute;width:256px;height:256px;max-width:none}.map-canvas-real .map-pin{position:absolute;z-index:3}.map-controls{position:absolute;right:12px;top:12px;z-index:5;display:flex;gap:4px}.map-controls button{min-width:34px;min-height:34px;border:1px solid #c9d9ce;border-radius:7px;background:#fff;color:#174d31;font-weight:800;cursor:pointer;box-shadow:0 2px 7px #173d2426}.map-controls button:hover{background:#eaf5ee;border-color:#77ad88}.map-pin{transition:scale .15s ease}.map-label{z-index:4}@media(max-width:850px){.map-controls button{min-width:38px;min-height:38px}}@media(max-width:850px){.app-shell{padding:8px;gap:8px}.workspace{gap:8px}.filters{max-height:43dvh}.filters-body{padding:10px;gap:8px}.filters-body select[multiple]{height:88px;min-height:88px}.hierarchy{padding:8px}.filter-head{padding:10px 14px}.results-head{padding:10px;gap:8px}.results-head h2{font-size:1.1rem}.actions{gap:5px}.actions .button{padding:6px 8px}}.filters-body .button.secondary{position:sticky;bottom:0;z-index:3;flex-shrink:0;margin-top:0;background:#fff;box-shadow:0 -8px 12px #fff;padding-top:9px;padding-bottom:9px}.results-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.active-location{color:#52685a;text-transform:none;letter-spacing:normal;font-size:.78rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters-body .hierarchy{display:none}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 18px;border-top:1px solid #e5ede7;color:#52685a;font-size:.8rem;flex-wrap:wrap}.pagination label{display:flex;align-items:center;gap:6px}.pagination select{border:1px solid #ccdacf;border-radius:7px;background:#fff;padding:6px}.pagination .button{padding:6px 9px}.pagination .button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:850px){.pagination{justify-content:center;padding:8px 10px;gap:6px}.pagination span{order:-1;width:100%;text-align:center}}
