body.m{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.m-top{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;position:sticky;top:0;z-index:5}
.m-bal{font-weight:700;text-decoration:none;background:var(--okbg);color:var(--ok);padding:6px 12px;border-radius:99px;font-size:14px}
.m-main{max-width:560px;margin:0 auto;padding:16px}
.m-main h1{font-size:22px}.m-main .card{margin-bottom:12px}
.m-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:6}
.m-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);text-decoration:none;padding:4px 0}
.m-nav svg{width:22px;height:22px;fill:currentColor}.m-nav a.on{color:var(--brand);font-weight:600}
.m-hero{text-align:center;padding:16px 8px 8px}.m-hero h1{justify-content:center;font-size:26px;margin:12px 0 6px}.m-hero p{color:var(--muted);margin:0 0 18px}
.m-center{text-align:center}.small{font-size:13px}.m-help{text-align:center;color:var(--muted);font-size:13px;margin-top:24px}
.big-btn{padding:14px;font-size:17px;font-weight:600}
.m-live{border:2px solid var(--brand)}.m-live-h{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--brand)}
.pulse{width:10px;height:10px;border-radius:50%;background:#22C55E;animation:pl 1.4s infinite}.pulse.warn{background:#F59E0B}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}100%{box-shadow:0 0 0 12px rgba(34,197,94,0)}}
.m-kwh{font-size:52px;font-weight:800;text-align:center;margin:10px 0 4px;letter-spacing:-1px}.m-kwh small{font-size:18px;font-weight:500;color:var(--muted);margin-left:6px}
.m-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;margin:10px 0}.m-grid3 span,.m-tile span,.m-price span{display:block;color:var(--muted);font-size:12px}.m-grid3 b{font-size:17px}
.m-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.m-tile{text-decoration:none;color:var(--ink)}.m-tile b{font-size:18px}
.m-soc{position:relative;height:26px;border-radius:8px;background:var(--grey);overflow:hidden;margin:6px 0 10px}.m-soc div{height:100%;background:linear-gradient(90deg,#22C55E,#14B8A6)}.m-soc span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.m-ready{font-weight:700;color:var(--ok);font-size:17px;margin:0 0 6px}.m-warn{font-weight:600;color:var(--warn);margin:0 0 8px}
.m-list{padding:4px 16px}.m-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.m-row:last-of-type{border-bottom:0}
.m-more{display:block;text-align:right;padding:8px 0;font-size:14px;text-decoration:none}
.m-st{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:var(--ink)}.m-st .r{text-align:right}
.m-conn{display:flex;justify-content:space-between;align-items:center;gap:12px}
.m-price b{font-size:28px;display:block}.m-price b small{font-size:15px;color:var(--muted);font-weight:400}.m-price>small{color:var(--muted);font-size:12px}
.m-iban{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;background:var(--grey);padding:12px;border-radius:10px;word-break:break-all}.m-iban span{color:var(--muted);font-size:13px}
.m-text p{font-size:14px;line-height:1.6}.m-text h3{margin-top:14px}
label.check span{font-size:14px}
.m-map{height:46vh;min-height:280px;margin:0 0 10px}.m-mini{height:180px;margin:8px 0 0}
.m-filt{justify-content:space-between;align-items:center;margin-bottom:4px}.m-adres p{margin:0 0 6px}
.leaflet-popup-content a{font-weight:600}
.langs{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;font-size:12px;margin-right:8px}
.langs a{padding:4px 9px;text-decoration:none;color:var(--muted)}.langs a.on{background:var(--brand);color:#fff}
.m-top .row{gap:0}
.m-scan span{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-22px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(255,87,87,.4);border:3px solid var(--card)}
.m-scan span svg{width:24px;height:24px}.m-nav a.m-scan{color:var(--accent);font-weight:600}
.scan-box{position:relative;width:100%;aspect-ratio:1/1;max-height:62vh;background:#000;border-radius:16px;overflow:hidden}
.scan-box video{width:100%;height:100%;object-fit:cover}
.scan-frame{position:absolute;inset:16%;border:3px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.scan-box.off{aspect-ratio:auto;height:120px;background:var(--grey)}.scan-box.off .scan-frame,.scan-box.off video{display:none}
.file-btn{display:block;text-align:center;cursor:pointer}
.m-top .brand.eb img{height:26px}.m-bal{background:#E8F1F7;color:var(--brand)}
@media (prefers-color-scheme:dark){.m-bal{background:#12324A;color:#9CCBEA}}
