/* Visual primitives from the supplied template; Austin layout and interactions are in style.css. */
:root{font-family:Arial,sans-serif;color:#172b3b;background:#eef2f5}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#172b3b;color:white;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px}header strong{letter-spacing:3px;font-size:20px}header span{display:block;color:#bdcdd7;font-size:12px;margin-top:4px}a{color:#096b88}header a{color:#eef6fa;font-size:13px;margin-left:20px}#map{position:absolute;top:64px;bottom:92px;width:100%}.panel{position:absolute;top:80px;left:16px;width:294px;max-height:calc(100vh - 130px);background:#fff;border-radius:10px;box-shadow:0 3px 18px #172b3b35;overflow:auto;z-index:2;padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}h1{font-size:19px;margin:0}h2{font-size:13px;text-transform:uppercase;letter-spacing:.8px;margin:0 0 12px}section{border-top:1px solid #e4e9ee;margin-top:16px;padding-top:16px}label{display:block;font-size:13px;line-height:1.5;margin:8px 0}input[type=checkbox]{accent-color:#087f8c;margin-right:7px}input[type=search],input[type=number],select{width:100%;padding:9px;border:1px solid #bccbd6;border-radius:5px;color:#172b3b;background:white}input[type=range]{width:100%}button{cursor:pointer;border:1px solid #bacad5;background:#f5f8fa;border-radius:5px;padding:6px 9px;color:#172b3b}button:hover{background:#e2edf2}.muted{color:#607483}.small{font-size:11px;line-height:1.5}.search-label{font-size:12px}.buttons{display:flex;gap:10px;margin-top:14px}.legend p{font-size:12px;line-height:1.5;margin:8px 0}.legend i{display:inline-block;width:13px;height:13px;border:1px solid #354f65;border-radius:50%;margin-right:7px}.sample{display:inline-block;background:#facc15;border:2px solid #dc2626;border-radius:50%;width:34px;height:34px;text-align:center;font-size:11px;line-height:13px;padding-top:2px;vertical-align:middle}.hosts{left:auto;right:54px;width:240px}.hosts summary{cursor:pointer;font-size:14px;font-weight:bold}.host-row{display:block;width:100%;text-align:left;margin-top:6px}.host-row.selected{background:#cceced}.panel.collapsed .panel-body{display:none}.panel.collapsed{overflow:hidden}#statusbar{position:absolute;bottom:0;height:auto;min-height:72px;max-height:110px;overflow-y:auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:9px 16px;z-index:3}#statusbar .footer-data{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}#buildStatus{flex:0 0 auto;line-height:1.3}#currentPermitCount{background:#203c4e;border-color:#547184;color:#fff;font-weight:700}#currentPermitCount:hover{background:#2c5268}#statusbar .footer-about{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;line-height:1.35;text-align:right}.footer-about>span:last-child{display:flex;gap:12px}.github-note{color:#bdcdd7}#otherPermitDialog{width:min(440px,92vw);max-height:80vh;overflow:auto;border:0;border-radius:8px;padding:20px;color:#172b3b;box-shadow:0 10px 55px #0005}#otherPermitDialog::backdrop{background:#172b3b88}.permit-status-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e9ee;padding:7px 0;margin:0;font-size:13px}
@media(max-width:700px){#map{bottom:130px}#statusbar{max-height:124px;align-items:flex-start;padding:8px 10px;gap:5px 12px}#statusbar .footer-data{gap:5px 10px}#statusbar .footer-about{flex:1 0 100%;margin-left:0;align-items:flex-start;text-align:left}#statusbar .footer-about>span{overflow-wrap:anywhere}#statusbar .footer-about>span:last-child{gap:12px}}
.advanced{border-top:1px solid #e4e9ee;margin-top:16px;padding-top:16px}.advanced summary{cursor:pointer;font-size:13px;font-weight:bold}.spatial-warning{background:#fff7d9;border-left:3px solid #eab308;padding:8px}.balance-key{font-size:12px}

.maplibregl-popup-close-button{font-size:30px!important;width:44px;height:44px;line-height:40px;right:0!important;top:0!important;background:#f0f5f8!important;border-radius:0 10px 0 8px!important}.maplibregl-popup-content h3{padding-right:25px}.report-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.report-actions button{font-size:12px}#reportDialog{width:min(760px,94vw);max-height:92vh;border:0;border-radius:12px;padding:22px;color:#172b3b;box-shadow:0 10px 55px #0005}#reportDialog::backdrop{background:#172b3b88}.report-heading{display:flex;align-items:center;justify-content:space-between}.report-heading h2{margin:0}#closeReport{font-size:30px;width:44px;height:44px;padding:0}#reportCandidates{max-height:40vh;overflow:auto;margin:12px 0;border:1px solid #d5e0e7;border-radius:6px}.report-candidate{display:block;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #e5ebef;border-radius:0;padding:12px}.report-candidate span{display:block;font-size:12px;margin-top:4px}.report-candidate.selected{background:#d5f2e5;box-shadow:inset 4px 0 #15803d}#continueReport{background:#087f8c;color:white;padding:12px;font-weight:bold}#continueReport:disabled{opacity:.45;cursor:default}#reportSelection{font-size:13px}body:has(dialog[open]){overflow:hidden}

.hosts{width:360px}.host-grid{display:grid!important;grid-template-columns:minmax(95px,1fr) 34px 67px 55px;gap:7px;align-items:center}.host-grid span:not(:first-child){text-align:right}.host-column-labels{font-size:10px;font-weight:bold;background:white;position:sticky;top:0;padding:10px 7px;z-index:1}.host-row{font-size:12px}.host-row.host-grid{display:grid!important;margin-top:3px;padding:2px 0;border:0;background:transparent}.host-name{min-width:0;overflow-wrap:anywhere;text-align:left}.host-count,.host-metric{min-width:0;padding:5px 2px;background:#fef08a;border-color:#eab308;color:#713f12;text-align:center;font-weight:700}.host-metric.filter-active,.host-count.filter-active{background:#fecaca;border-color:#dc2626;color:#991b1b}.host-name.selected{background:#cceced}.hosts .host-column-labels{grid-template-columns:minmax(95px,1fr) 34px 67px 62px}.hosts .host-row.host-grid{grid-template-columns:minmax(95px,1fr) 34px 67px 62px}@media(max-width:700px){.hosts .host-column-labels,.hosts .host-row.host-grid{grid-template-columns:minmax(80px,1fr) 28px 61px 53px;gap:4px}}

.hosts #hostSearch{margin:8px 0}.host-combos{display:flex;flex-wrap:wrap;gap:5px;padding:5px 0 8px 8px;border-bottom:1px solid #e4e9ee}.host-combo{font-size:11px;padding:5px 7px;background:#fff8cc;border-color:#e7c84b}.host-combo.selected{background:#d5f2e5;border-color:#15803d;box-shadow:inset 0 0 0 1px #15803d}

.hosts-heading{display:flex;align-items:center;gap:8px}.hosts-heading details{flex:1;min-width:0}.hosts-heading>button{white-space:nowrap}.hosts-heading #hostSearch{width:100%}.license-filters{border-top:1px solid #e4e9ee;margin-top:16px;padding-top:12px}.license-filters summary{cursor:pointer;font-weight:700;font-size:13px}#hostConfirmDialog{width:min(430px,92vw);border:0;border-radius:8px;padding:20px;color:#172b3b;box-shadow:0 10px 55px #0005}#hostConfirmDialog::backdrop{background:#172b3b88}.popup-host-select{border:0;background:transparent;color:#096b88;padding:0;text-decoration:underline;font:inherit}

.listing-popup-centered{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;max-width:min(380px,calc(100vw - 24px))!important;z-index:1001!important}.listing-popup-centered .maplibregl-popup-tip{display:none}#clearHost.filter-attention{background:#dc2626;border-color:#991b1b;color:#fff;animation:clear-host-pulse 1.2s ease-in-out infinite}@keyframes clear-host-pulse{0%,100%{box-shadow:0 0 0 0 #dc262655}50%{box-shadow:0 0 0 7px #dc262600}}@media(prefers-reduced-motion:reduce){#clearHost.filter-attention{animation:none}}

.host-sort-label{font-size:11px;font-weight:700;margin:8px 0 2px}.hosts #hostSort{padding:6px;font-size:12px}.license-match-candidates{max-height:38vh;overflow:auto}.license-listing-candidate{display:block;width:100%;margin:4px 0;text-align:left;background:#fff;border-radius:3px}.license-listing-candidate strong,.license-listing-candidate span{display:block}.license-listing-candidate span{font-size:11px;color:#607483;margin-top:3px}

.host-column-labels .host-sort{min-width:0;padding:4px 2px;border:0;background:transparent;font-size:11px;font-weight:700;line-height:1.2;white-space:normal;text-align:left}.host-column-labels .host-sort:not(:first-child){text-align:right}.host-column-labels .host-sort.active{color:#096b88}.host-capacity-filter{display:flex;align-items:center;gap:5px;flex:0 0 100%;margin:0;padding:3px 2px;font-size:11px}.host-capacity-filter input{margin:0}

body.dark-mode{background:#101820;color:#e2e8f0}body.dark-mode header{background:#0b1117;color:#f3f7fa}body.dark-mode header span{color:#a8bbc8}body.dark-mode a{color:#79c9e8}body.dark-mode .panel,body.dark-mode #otherPermitDialog,body.dark-mode #firstVisitDisclaimer,body.dark-mode #reportDialog,body.dark-mode #hostConfirmDialog{background:#17232d;color:#e2e8f0;border-color:#3b5363}body.dark-mode section,body.dark-mode .license-filters,body.dark-mode .permit-status-row{border-color:#344b5c}body.dark-mode input[type=search],body.dark-mode input[type=number],body.dark-mode select{background:#101820;color:#e2e8f0;border-color:#496273}body.dark-mode button{background:#263845;color:#e2e8f0;border-color:#496273}body.dark-mode button:hover{background:#345064}body.dark-mode .host-column-labels{background:#17232d}body.dark-mode .host-row.host-grid{background:transparent}body.dark-mode .host-name.selected,body.dark-mode .host-combo.selected{background:#164e63;color:#ecfeff}body.dark-mode .host-count,body.dark-mode .host-metric{background:#544617;border-color:#927a27;color:#fff2b2}body.dark-mode .host-metric.filter-active,body.dark-mode .host-count.filter-active{background:#7f1d1d;border-color:#ef4444;color:#fee2e2}body.dark-mode .host-combo{background:#463b18;border-color:#927a27;color:#fff2b2}body.dark-mode .muted{color:#b3c1ca}body.dark-mode .spatial-warning{background:#342c16;border-color:#eab308}body.dark-mode #statusbar{background:#0b1117;color:#dce7ed;border-top:1px solid #344b5c}body.dark-mode .github-note{color:#b3c1ca}body.dark-mode .theme-switch{border-color:#496273}body.dark-mode .license-listing-candidate{background:#101820;color:#e2e8f0}body.dark-mode .license-listing-candidate span{color:#b3c1ca}body.dark-mode .report-candidate{background:#17232d;color:#e2e8f0;border-color:#344b5c}body.dark-mode .report-candidate.selected{background:#164e3a}body.dark-mode .maplibregl-popup-content{background:#17232d;color:#e2e8f0}body.dark-mode .maplibregl-popup-tip{border-top-color:#17232d;border-bottom-color:#17232d}#firstVisitDisclaimer{z-index:2000}#firstVisitDisclaimer button{background:#087f8c;color:#fff;font-weight:700;padding:10px 16px}
body.dark-mode #violationStatsDialog,body.dark-mode #revenueDialog{background:#17232d;color:#e2e8f0}
body.dark-mode #otherPermitStatuses .permit-current{background:#164e3a;color:#bbf7d0;border-color:#4ade80}
body.dark-mode .host-metric .host-cap-number{color:#fca5a5}
