.nl-root{--nl-bg:#fff;--nl-panel:#fff;--nl-border:#d8d8d8;--nl-ink:#111;--nl-sub:#5c5c5c;--nl-accent:#000;--nl-accent-dark:#2b2b2b;--nl-accent-soft:#f0f0f0;--nl-radius:14px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--nl-ink);background:var(--nl-bg);min-height:100vh}.nl-header{padding:20px 24px 12px;border-bottom:1px solid var(--nl-border);background:var(--nl-panel)}.nl-header h1{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--nl-ink)}.nl-header p{margin:0;color:var(--nl-sub);font-size:13px}.nl-state-banner{height:96px;overflow:hidden;border-bottom:1px solid var(--nl-border);background:var(--nl-panel)}.nl-state-banner img,.nl-state-banner picture{display:block;width:100%;height:100%}.nl-state-banner img{object-fit:cover;object-position:center 65%}.nl-search{display:flex;flex-wrap:wrap;gap:8px;padding:14px 24px 0;background:var(--nl-panel);position:relative;z-index:10}.nl-autocomplete{position:relative;flex:1 1 200px;min-width:160px}.nl-autocomplete input[type=text]{width:100%;box-sizing:border-box;border:1px solid var(--nl-border);border-radius:8px;padding:9px 12px;font-size:13px;background:#fff;color:var(--nl-ink)}.nl-autocomplete input[type=text]:focus{outline:none;border-color:var(--nl-accent);box-shadow:0 0 0 1px var(--nl-accent)}.nl-autocomplete input[type=text]::placeholder{color:var(--nl-sub)}.nl-autocomplete-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--nl-border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);max-height:240px;overflow-y:auto}.nl-autocomplete-option{padding:7px 10px;font-size:13px;border-radius:6px;cursor:pointer;color:var(--nl-ink)}.nl-autocomplete-option.active,.nl-autocomplete-option:hover{background:var(--nl-accent);color:#fff}.nl-controls{display:flex;flex-wrap:wrap;gap:8px;padding:14px 24px;border-bottom:1px solid var(--nl-border);background:var(--nl-panel)}.nl-controls input,.nl-controls select{border:1px solid var(--nl-border);border-radius:8px;padding:8px 10px;font-size:13px;background:#fff;color:var(--nl-ink)}.nl-controls input[type=text]{flex:1 1 220px;min-width:160px}.nl-btn{border:1px solid var(--nl-accent);background:var(--nl-accent);color:#fff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.nl-btn:hover{background:var(--nl-accent-dark);border-color:var(--nl-accent-dark)}.nl-btn.secondary{background:#fff;color:var(--nl-ink)}.nl-btn.secondary:hover{background:var(--nl-accent-soft)}.nl-layout{display:grid;grid-template-columns:40% 60%;grid-gap:0;gap:0;min-height:calc(100vh - 140px)}@media (max-width:860px){.nl-layout{grid-template-columns:1fr}.nl-map{height:360px}}.nl-list{overflow-y:auto;border-right:1px solid var(--nl-border);padding:12px}.nl-count{font-size:12px;color:var(--nl-sub);padding:4px 4px 10px}.nl-empty{padding:32px 16px;text-align:center;color:var(--nl-sub);font-size:14px}.nl-card{border:1px solid var(--nl-border);border-radius:var(--nl-radius);padding:12px 14px;margin-bottom:10px;background:var(--nl-panel);cursor:pointer}.nl-card.selected{border-color:var(--nl-accent);box-shadow:0 0 0 1px var(--nl-accent)}.nl-card h3{margin:0 0 4px;font-size:15px;font-weight:700}.nl-card .nl-addr{font-size:12.5px;color:var(--nl-sub);margin-bottom:6px}.nl-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--nl-accent-soft);color:var(--nl-ink);margin-right:6px}.nl-badge.warn{background:var(--nl-accent);color:#fff}.nl-cats{font-size:12px;color:var(--nl-sub);margin:6px 0}.nl-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.nl-actions a{font-size:12.5px;font-weight:600;text-decoration:none;padding:6px 10px;border-radius:7px;border:1px solid var(--nl-border);color:var(--nl-ink)}.nl-actions a.primary{background:var(--nl-accent);border-color:var(--nl-accent);color:#fff}.nl-disclaimer{font-size:11px;color:var(--nl-sub);margin-top:8px;font-style:italic}.nl-map{height:calc(100vh - 140px);position:-webkit-sticky;position:sticky;top:0;z-index:1}.nl-map .leaflet-container{width:100%;height:100%}.nl-map .leaflet-marker-icon{filter:grayscale(1) brightness(.35)}.nl-embedded.nl-root{min-height:0}.nl-embedded .nl-layout{min-height:0;align-items:start}.nl-embedded .nl-list{overflow-y:auto;height:640px}.nl-embedded .nl-map{height:640px;position:relative;z-index:1;top:auto}@media (max-width:860px){.nl-embedded .nl-list{height:360px}.nl-embedded .nl-map{height:320px}}