@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--bg:#f6f7f2;--surface:#fff;--text:#193c32;--muted:#69796f;--line:#dce4db;--accent:#d4f28d;--soft:#e9eee5;--shadow:0 8px 32px #102c2420;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif}body.dark{--bg:#12251f;--surface:#1a3028;--text:#edf4e5;--muted:#b1c0b5;--line:#375044;--soft:#243d31;color-scheme:dark}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button,select{cursor:pointer}button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 14px}button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #75a958;outline-offset:3px}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{text-decoration:none;font:800 22px Manrope,sans-serif;display:flex;gap:12px;align-items:center}.logo{background:var(--text);color:var(--bg);border-radius:13px;padding:4px 10px;font-size:29px}.city{font:600 10px 'DM Sans',sans-serif;letter-spacing:2px;margin-left:20px;color:var(--muted)}main{display:grid;grid-template-columns:400px 1fr;height:calc(100dvh - 84px)}aside{padding:32px;overflow:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1{font:800 42px/1.14 Manrope,sans-serif;letter-spacing:-2px;margin:18px 0}h1 em{font-style:normal;color:#6a9142}.intro{line-height:1.7;color:var(--muted);margin-bottom:26px}label{font-weight:600;display:block;margin-bottom:9px}.search{display:flex;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}input{padding:14px 12px;width:100%;min-width:0;border:0;background:transparent;color:var(--text)}.search button{border:0;font-size:24px;padding:3px 14px}.primary{display:block;text-align:center;background:var(--text);color:var(--bg);border:0;border-radius:11px;padding:14px 16px;font-weight:700;text-decoration:none;width:100%;margin-top:14px}.privacy{font-size:11px;line-height:1.6;color:var(--muted)}.filter{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:20px}.filter label{margin:0}select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.results-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px}h2{font:800 18px Manrope,sans-serif}#count{font-size:13px;background:var(--soft);padding:3px 7px;border-radius:7px}.results-head button{font-size:12px;border:0;background:transparent;padding:7px}#status{color:var(--muted);font-size:12px;line-height:1.6}.error{color:#b75539!important}.view-switch{display:flex;background:var(--soft);border-radius:10px;padding:4px;margin:16px 0}.view-switch button{width:50%;border:0;background:transparent}.view-switch [aria-pressed=true]{background:var(--surface);box-shadow:0 2px 4px #0001}.bin-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;margin-bottom:9px;padding:14px}.bin-icon{background:var(--soft);padding:10px;border-radius:10px}.bin-row strong{display:block;font-size:13px}.bin-row small{display:block;color:var(--muted);margin-top:5px}.bin-row .distance{margin-left:auto;white-space:nowrap;font-size:12px}footer{font-size:10px;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.map-panel{position:relative;margin:16px 16px 16px 0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}#map{height:100%;width:100%;background:#adb8a4}.map-top{position:absolute;z-index:500;left:22px;top:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.map-top>*{pointer-events:auto}.badge{background:var(--surface);border-radius:9px;box-shadow:var(--shadow);padding:12px 16px;font-size:10px;font-weight:700;letter-spacing:2px}.floating{position:absolute;top:76px;left:50%;transform:translateX(-50%);z-index:500;box-shadow:var(--shadow);white-space:nowrap}.map-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:500;background:var(--surface);padding:10px 16px;border-radius:30px;box-shadow:var(--shadow);font-size:11px;white-space:nowrap}.bin-marker{border-radius:50%;background:#d4f28d;border:3px solid #fff;box-shadow:0 2px 7px #0006;text-align:center;color:#173d32;font-weight:bold;line-height:23px}.leaflet-control-zoom{margin-bottom:65px!important}.leaflet-control-attribution{max-width:100%}dialog{width:min(450px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:30px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}dialog::backdrop{background:#061f18aa}dialog h2{font-size:25px}dialog .close{float:right;margin:-14px -14px 12px 8px}#detailBody{line-height:1.9}#source{display:block;text-align:center;margin:18px}#places button{width:100%;text-align:left;margin-top:6px;font-size:12px}.list-mode main{grid-template-columns:minmax(320px,700px) 1fr}.list-mode .map-panel{display:none}.list-mode aside{grid-column:1/-1;width:min(800px,100%);margin:auto;height:100%}.empty{padding:20px 0;color:var(--muted)}@media(min-width:1000px){.list-mode #list{display:grid;grid-template-columns:1fr 1fr;gap:10px}}@media(max-width:760px){header{height:68px;padding:0 16px}.brand{font-size:18px;gap:8px}.city{display:none}main{height:auto;display:flex;flex-direction:column}aside{padding:24px 20px;overflow:visible}.map-panel{height:56dvh;min-height:350px;margin:0 12px 16px;order:-1;border-radius:16px;margin-top:12px}h1{font-size:34px}h1 br{display:none}h1 em{margin-left:7px}.intro{margin-bottom:20px}#list{max-height:380px;overflow:auto}.list-mode .map-panel{display:none}.map-hint{font-size:10px;max-width:90%;white-space:normal;text-align:center}body:not(.list-mode) aside{padding-top:10px}.map-top{left:12px;right:12px;top:12px}}

.logo{display:grid;place-items:center;width:46px;height:52px;padding:6px 9px;flex-shrink:0}.logo svg{display:block;width:100%;height:100%}

.trash-pin{background:transparent;border:0;filter:drop-shadow(0 3px 4px #0006)}.trash-pin svg{width:36px;height:48px;display:block}.bin-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px}.bin-status-card{padding:16px 12px;background:var(--soft);border:1px solid var(--line);border-radius:13px}.bin-status-card span{display:block;font-size:11px;color:var(--muted)}.bin-status-card strong{display:block;font:800 25px Manrope,sans-serif;margin:8px 0}.bin-status-card small{display:block;font-size:10px;color:var(--muted);line-height:1.5}.status-explanation{font-size:12px;line-height:1.7;color:var(--muted)}

.bin-status-card meter{display:block;width:100%;height:12px;margin:10px 0;accent-color:#779b42}.bin-status-card:nth-child(2) strong{font-size:18px;line-height:1.5}.status-explanation{padding:12px;border-left:3px solid #9fbe65;background:var(--soft);border-radius:5px}

.sorting-section{margin:22px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sorting-section h3{font:800 16px Manrope,sans-serif;margin:0 0 8px}.sorting-provenance{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 14px}.sorting-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.sorting-chip{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:7px 10px;border:1px solid var(--line);background:var(--soft);border-radius:8px}.sorting-chip:before{content:'';height:10px;width:10px;border-radius:3px;background:var(--sort-color,#777)}.sort-residual{--sort-color:#818181}.sort-plastic{--sort-color:#ae72cb}.sort-paper{--sort-color:#6da7dc}.sort-cardboard{--sort-color:#c49d70}.sort-metal{--sort-color:#8ba3ae}.sort-glass{--sort-color:#61aa74}.sort-beverage_cartons{--sort-color:#df9477}#detail{max-height:90dvh;overflow-y:auto}
