    *{box-sizing:border-box;margin:0;padding:0}
    body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#f0f2f5}

    /* ── HEADER ── */
    #hdr{background:#1a3c6e;color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.35);z-index:1001;position:relative}
    #country-sw{display:flex;background:rgba(255,255,255,.13);border-radius:20px;padding:3px;gap:2px;flex-shrink:0}
    #city-sw{display:flex;background:rgba(255,255,255,.13);border-radius:20px;padding:3px;gap:2px;flex-shrink:0}
    .city-sw-btn{background:transparent;border:none;color:rgba(255,255,255,.65);padding:5px 15px;border-radius:16px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit;letter-spacing:.3px}
    .city-sw-btn.active{background:#fff;color:#1a3c6e}
    .city-sw-btn:hover:not(.active){color:#fff;background:rgba(255,255,255,.18)}
    .city-sw-sep{width:1px;background:rgba(255,255,255,.25);margin:4px 3px;flex-shrink:0}
    #hdr h1{font-size:1.05rem;font-weight:800;white-space:nowrap;display:flex;align-items:center;letter-spacing:.3px}
    @media(min-width:700px){#hdr-sub{display:inline!important}}
    #sw{flex:1;max-width:700px;position:relative}
    #sw-row{position:relative}
    .sw-bar{display:flex;align-items:stretch;background:#fff;border-radius:7px;overflow:visible;box-shadow:0 0 0 1.5px rgba(255,255,255,.18)}
    .sw-seg{position:relative;display:flex;align-items:center;min-width:0}
    .sw-addr{flex:2}
    .sw-ku{flex:1.5}
    .sw-cislo{width:105px;flex-shrink:0}
    .sw-sep{width:1px;background:rgba(26,60,110,.15);align-self:stretch;flex-shrink:0;margin:5px 0}
    .sw-bar.addr-only .sw-ku,.sw-bar.addr-only .sw-cislo,.sw-bar.addr-only .sw-sep{display:none}
    .sw-seg input{width:100%;border:none;outline:none;padding:8px 11px;font-size:.88rem;background:transparent;font-family:inherit;color:#1a2535}
    .sw-seg input::placeholder{color:#9aabbf}
    .sw-seg input:focus{background:rgba(240,165,0,.04)}
    #sb{border:none;border-radius:0 7px 7px 0;background:#f0a500;color:#fff;font-weight:700;padding:0 16px;cursor:pointer;font-size:.85rem;white-space:nowrap;flex-shrink:0;transition:background .15s}
    #sb:hover{background:#d49000}
    #sb:disabled{background:#b8880a;cursor:default}
    .hbtn{padding:7px 13px;border:none;border-radius:5px;font-size:.82rem;font-weight:700;cursor:pointer}
    #hint{font-size:.72rem;opacity:.6;white-space:nowrap}
    #ac{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:9999;max-height:240px;overflow-y:auto;display:none}
    #ac div{padding:8px 12px;cursor:pointer;font-size:.83rem;border-bottom:1px solid #f0f0f0;color:#1a2535}
    #ac div:hover{background:#eef4ff}#ac div:last-child{border:none}
    #smode{display:flex;gap:0;background:rgba(255,255,255,.15);border-radius:4px;padding:2px;flex-shrink:0}
    .smode-btn{padding:3px 10px;font-size:.72rem;font-weight:700;border:none;border-radius:3px;cursor:pointer;background:transparent;color:rgba(255,255,255,.7);transition:all .15s;white-space:nowrap}
    .smode-btn.active{background:#fff;color:#1a3c6e}

    /* ── PARCEL FIELDS ── */
    #pm-ku-wrap{position:relative;display:flex;align-items:center;width:100%}
    #pm-ku-wrap input{flex:1}
    #pm-ku-ac{position:absolute;top:100%;left:-1px;right:-1px;background:#fff;border:1px solid #ccd6ee;border-radius:0 0 6px 6px;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:10002;max-height:200px;overflow-y:auto;display:none}
    #pm-ku-ac div{padding:7px 11px;cursor:pointer;font-size:.82rem;color:#1a2535;border-bottom:1px solid #f0f0f0}
    #pm-ku-ac div:hover{background:#eef4ff}#pm-ku-ac div:last-child{border:none}
    #pm-error{font-size:.75rem;color:#c00;margin-top:5px;display:none;padding-left:2px}

    /* ── MAIN ── */
    #main{flex:1;display:flex;overflow:hidden;position:relative}
    #map-area{flex:1;position:relative;overflow:hidden}
    #map3d-base{position:absolute;inset:0;z-index:0;display:none}
    #map{position:absolute;inset:0;z-index:1}
    #map.map-crosshair,#map.map-crosshair .leaflet-container{cursor:crosshair!important}
    #map.map-crosshair .leaflet-interactive{cursor:pointer!important}
    body.mode-3d .leaflet-container{background:transparent!important}

    /* ── PANEL ── */
    #panel{width:520px;flex-shrink:0;background:#fff;border-left:1px solid #dde3ec;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:500}

    /* tabs */
    #tabs{display:flex;border-bottom:2px solid #dde3ec;flex-shrink:0}
    .tab{flex:1;padding:9px 6px;text-align:center;cursor:pointer;font-size:.8rem;font-weight:600;color:#667;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;user-select:none}
    .tab.active{color:#1a3c6e;border-bottom-color:#1a3c6e}
    .tab:hover{background:#f5f8ff}

    /* tab panes */
    #pane-info{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
    #pane-info-inner{flex:1;overflow-y:auto;padding:13px;min-height:0}
    #pane-sel{flex:1;overflow-y:auto;padding:13px;display:none;min-height:0}

    /* placeholder */
    .ph{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;text-align:center;color:#8a9bb5;gap:8px;padding:24px}
    .ph h3{font-size:.9rem;font-weight:600;color:#6b7f9e}
    .ph p{font-size:.76rem;line-height:1.6}

    /* location header */
    .lochdr{background:linear-gradient(135deg,#1a3c6e,#254e99);color:#fff;border-radius:8px;padding:11px 13px;margin-bottom:9px}
    .la{font-size:.92rem;font-weight:700;margin-bottom:2px}
    .lb{font-size:.75rem;opacity:.8;word-break:break-word;line-height:1.4;margin-bottom:3px}
    .lc{font-size:.69rem;opacity:.55;font-family:monospace}

    /* buttons */
    .btn-ext{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:700;font-size:.8rem;padding:7px;border-radius:5px;margin-bottom:7px;transition:background .15s}
    .btn-up{background:#2a6099;color:#fff}.btn-up:hover{background:#1a4a7a}

    /* section */
    .sec{border:1px solid #dde7f5;border-radius:7px;margin-bottom:8px;overflow:hidden}
    .sh{background:#eef3fb;padding:8px 12px;font-size:.76rem;font-weight:700;color:#1a3570;display:flex;align-items:center;gap:5px;border-bottom:1px solid #d4e2f5;cursor:pointer;user-select:none}
    .sh .cnt{margin-left:auto;background:#1a3570;color:#fff;font-size:.65rem;border-radius:10px;padding:1px 7px;font-weight:700}
    .sh .ar{font-size:.6rem;margin-left:3px;opacity:.5}
    .sb2{padding:9px 11px}

    /* card */
    .card{background:#f8faff;border:1px solid #dae4f5;border-radius:5px;padding:7px 9px;margin-bottom:5px;font-size:.77rem}
    .card:last-child{margin-bottom:0}
    .ctitle{font-weight:700;color:#1a3c6e;font-size:.8rem;margin-bottom:4px}
    .row{display:flex;gap:5px;margin-bottom:2px}
    .row:last-child{margin-bottom:0}
    .k{color:#788;min-width:128px;flex-shrink:0;font-size:.71rem;padding-top:1px}
    .v{color:#1a2535;font-weight:500;word-break:break-word;font-size:.77rem}
    .vtag{display:inline-block;background:#fffbe0;border:1px solid #e8c400;border-radius:3px;padding:1px 6px;font-weight:700;color:#5a3c00;font-size:.74rem}
    .vred{display:inline-block;background:#fff0f0;border:1px solid #e08080;border-radius:3px;padding:1px 6px;font-weight:700;color:#800000;font-size:.74rem}
    .vgreen{display:inline-block;background:#f0fff4;border:1px solid #60c080;border-radius:3px;padding:1px 6px;font-weight:700;color:#1a5a1a;font-size:.74rem}
    .nd{color:#aab;font-size:.74rem;font-style:italic;padding:2px 0}
    .tip{background:#fffbe0;border:1px solid #e8c040;border-radius:4px;padding:6px 9px;font-size:.73rem;color:#5a3c00;line-height:1.5;margin-top:7px}
    a.lnk{color:#2a5faa;font-size:.74rem;text-decoration:underline}

    /* zone picker */
    .zone-sel{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}
    .zbtn{padding:3px 8px;border:1px solid #c0cfe8;border-radius:3px;background:#f5f8ff;cursor:pointer;font-size:.72rem;font-weight:700;color:#1a3570;transition:all .15s}
    .zbtn:hover,.zbtn.active{background:#1a3570;color:#fff;border-color:#1a3570}
    .zone-detail{margin-top:0;padding:9px 11px;background:#f5f8ff;border:1px solid #c0d4f0;border-radius:5px;font-size:.76rem;display:none}
    .zone-detail .zt{font-weight:700;color:#1a3570;font-size:.83rem;margin-bottom:6px}
    .zone-detail .zr{display:flex;gap:7px;margin-bottom:3px}
    .zone-detail .zk{color:#778;min-width:130px;font-size:.71rem}
    .zone-detail .zv{font-weight:600;color:#1a2535}

    /* section header */
    .sec-hdr{font-size:.72rem;font-weight:800;color:#1a3570;letter-spacing:.06em;text-transform:uppercase;padding:10px 2px 4px;margin-top:4px;border-top:2px solid #dde7f5}
    .sec-hdr:first-of-type{border-top:none;margin-top:0}

    /* building dim inputs – no spinners */
    .draw-dim-inp::-webkit-outer-spin-button,.draw-dim-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
    .draw-dim-inp{-moz-appearance:textfield}

    /* spinner */
    .loading{text-align:center;padding:20px;color:#8a9bb5;font-size:.82rem}
    .sp{display:inline-block;width:14px;height:14px;border:2px solid #ccd;border-top-color:#2a4a8a;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:5px}
    @keyframes spin{to{transform:rotate(360deg)}}
    @keyframes acqScroll{from{background-position:0 0}to{background-position:80px 0}}

    /* ── SELECTION PANE ── */
    .sel-summary{background:#1a3c6e;color:#fff;border-radius:8px;padding:11px 13px;margin-bottom:10px}
    .sel-summary .ss-total{font-size:1.1rem;font-weight:700;margin-bottom:3px}
    .sel-summary .ss-count{font-size:.78rem;opacity:.75}
    .sel-btn{padding:6px 12px;border:none;border-radius:5px;cursor:pointer;font-size:.79rem;font-weight:700;transition:background .15s}
    .btn-clear{background:#e05050;color:#fff;margin-right:6px}.btn-clear:hover{background:#c03030}
    .btn-analyze{background:#2a8a50;color:#fff}.btn-analyze:hover{background:#1a6a38}
    .parcel-item{background:#f8faff;border:1px solid #dae4f5;border-radius:5px;padding:7px 9px;margin-bottom:5px;font-size:.77rem;display:flex;align-items:center;gap:8px}
    .parcel-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}
    .parcel-info{flex:1}
    .parcel-remove{background:none;border:none;cursor:pointer;color:#e05050;font-size:1rem;padding:0 2px;line-height:1}
    .sel-ph{text-align:center;padding:30px;color:#8a9bb5;font-size:.8rem}
    .zone-badge{display:inline-block;background:#1a3570;color:#fff;border-radius:3px;padding:1px 7px;font-size:.7rem;font-weight:700;margin-left:5px;vertical-align:middle}
    .zone-badge.loading{background:#8a9bb5}
    .zone-name{font-size:.69rem;color:#556;margin-top:1px}
    .leaflet-tooltip.zone-tt{background:#1a3570;color:#fff;border:none;border-radius:6px;padding:7px 11px;font-size:.78rem;box-shadow:0 3px 10px rgba(0,0,0,.35);pointer-events:none;line-height:1.45}
    .leaflet-popup.inz-popup .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.25);padding:0;overflow:hidden}
    .leaflet-popup.inz-popup .leaflet-popup-content{margin:14px 16px;min-width:200px}
    .leaflet-tooltip.zone-tt.leaflet-tooltip-top::before{border-top-color:#1a3570}
    .leaflet-tooltip.zone-tt.leaflet-tooltip-bottom::before{border-bottom-color:#1a3570}

    /* ── ZONE CARD (prominent) ── */
    .zone-card{border-radius:8px;margin-bottom:9px;overflow:hidden;border:1px solid #c5d0e8;box-shadow:0 2px 7px rgba(0,0,0,.1)}
    .zc-top{background:linear-gradient(135deg,#0f2a5e,#1a4a8a);color:#fff;padding:7px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .zc-code{font-size:1rem;font-weight:800;letter-spacing:.5px;line-height:1}
    .zc-name{font-size:.82rem;opacity:.88;font-weight:500}
    .zc-params{display:flex;gap:8px;padding:8px 14px 4px;flex-wrap:wrap;background:#f4f7fd}
    .zc-params span{background:#dce6f7;color:#1a3570;border-radius:12px;padding:3px 11px;font-size:.76rem;font-weight:600}
    .zc-popis{padding:6px 14px 7px;font-size:.73rem;color:#334;line-height:1.5;background:#fff}
    .zc-hpp{margin:0 10px 8px;background:#eef3ff;border:1px solid #b4c6ee;border-left:4px solid #1a3570;border-radius:5px;padding:8px 11px;color:#0f1f4a}
    .zc-hpp-lbl{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:3px}
    .zc-hpp-row{display:flex;align-items:baseline;gap:7px;margin-bottom:2px;flex-wrap:wrap}
    .zc-hpp-val{font-size:1.15rem;font-weight:800;color:#1a3570}
    .zc-hpp-sub{font-size:.71rem;color:#445;opacity:.75}
    .zc-permit{margin:0 10px 6px;background:#f2faf5;border:1px solid #a8d8b5;border-left:4px solid #2e9a50;border-radius:5px;padding:7px 10px;font-size:.75rem;line-height:1.5;color:#1a3320}
    .zc-cond{margin:0 10px 6px;background:#fffbf0;border:1px solid #f5d98a;border-left:4px solid #d4900a;border-radius:5px;padding:7px 10px;font-size:.75rem;line-height:1.5;color:#3a2800}
    .zc-forbid{margin:0 10px 6px;background:#fef3f3;border:1px solid #f0b3b3;border-left:4px solid #d32f2f;border-radius:5px;padding:7px 10px;font-size:.75rem;line-height:1.5;color:#3a1010}
    .zc-footer{padding:4px 14px 9px;font-size:.64rem;color:#899;background:#fff}

    /* ── ACQUISITION FILTER ── */
    .acq-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
    .acq-row label{flex:1;font-size:.77rem;color:#445}
    .acq-input{width:130px;padding:5px 8px;border:1px solid #c5d0e8;border-radius:4px;font-size:.82rem;text-align:right}
    .acq-check{display:flex;align-items:center;gap:7px;margin-bottom:2px;cursor:pointer}
    .acq-check label{font-size:.77rem;color:#445;cursor:pointer}
    .acq-result-item{background:#f0fdf4;border:1px solid #a8d8b5;border-left:4px solid #1a8a40;border-radius:5px;padding:8px 11px;margin-bottom:6px;cursor:pointer;transition:background .15s}
    .acq-result-item:hover{background:#d8f5e4}
    .acq-ri-top{display:flex;align-items:center;gap:8px;margin-bottom:3px;flex-wrap:wrap}
    .acq-cislo{font-weight:700;font-size:.85rem;color:#1a2535}
    .acq-ri-vals{font-size:.74rem;color:#445;display:flex;gap:10px;flex-wrap:wrap}
    .acq-run-btn{width:100%;padding:9px;background:#1a3570;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s;margin-top:4px}
    .acq-run-btn:hover{background:#0f2448}
    .acq-run-btn.running{background:#c03030}
    .acq-progress-bar{background:#e8eef8;border-radius:4px;height:7px;margin-bottom:6px;overflow:hidden}
    .acq-progress-fill{background:#1a3570;height:7px;border-radius:4px;transition:width .25s}
    .acq-section{margin-top:9px;padding-top:8px;border-top:1px solid #dde7f5}
    .acq-section-title{font-size:.7rem;font-weight:800;color:#1a3570;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px}
    .acq-section-title span{text-transform:none;font-weight:400;color:#889;font-size:.68rem;letter-spacing:0}
    .acq-drop-wrap{position:relative}
    .acq-drop-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:5px 9px;border:1px solid #c5d0e8;border-radius:4px;background:#fff;font-size:.8rem;color:#334;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s}
    .acq-drop-btn:hover,.acq-drop-wrap.open .acq-drop-btn{border-color:#1a3570}
    .acq-drop-arrow{font-size:.6rem;color:#889;margin-left:6px;flex-shrink:0;transition:transform .15s}
    .acq-drop-wrap.open .acq-drop-arrow{transform:rotate(180deg)}
    .acq-drop-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 3px);background:#fff;border:1px solid #c5d0e8;border-radius:5px;box-shadow:0 4px 16px rgba(0,0,0,.14);z-index:9999;max-height:210px;overflow-y:auto;padding:3px 0 0}
    .acq-drop-wrap.open .acq-drop-panel{display:block}
    .acq-drop-close{display:block;width:100%;padding:5px 11px;background:#f4f7fd;border:none;border-top:1px solid #e8eef8;font-size:.72rem;color:#1a3570;font-weight:700;cursor:pointer;text-align:center;font-family:inherit;position:sticky;bottom:0}
    .acq-drop-close:hover{background:#e8eef8}
    .acq-drop-item{display:flex;align-items:center;gap:8px;padding:6px 11px;cursor:pointer;font-size:.79rem;color:#334;white-space:nowrap}
    .acq-drop-item:hover{background:#f0f4fc}
    .acq-drop-item input[type=checkbox]{margin:0;accent-color:#1a3570;cursor:pointer;flex-shrink:0}
    .acq-select{width:100%;padding:5px 9px;border:1px solid #c5d0e8;border-radius:4px;font-size:.8rem;font-family:inherit;color:#334;background:#fff;cursor:pointer;-webkit-appearance:auto}
    .acq-note{font-size:.68rem;color:#889;margin-top:3px}

    /* ── IPR export tiles – zakázat browser smoothing ── */
    .ipr-tile{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}

    /* ── Wrocław DB data – zelené zbarvení přes CSS filter ── */
    .wr-dbdata img{filter:sepia(1) saturate(6) hue-rotate(70deg) brightness(0.85)}

    /* ── Podlaží budov – NP labely ── */
    .np-label{background:none!important;border:none!important;box-shadow:none!important;font-size:.62rem;font-weight:800;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.8),0 0 6px rgba(0,0,0,.5);pointer-events:none;white-space:nowrap;text-align:center}

    /* ── Základní mapa – lepší kontrast ── */
    .base-tile-light img{}
    .base-tile-dark img{filter:brightness(1)}
    .leaflet-tile-container img:not([src]){ visibility:hidden }
    img.leaflet-tile{ background:transparent }
    /* tmavá mapa – invertovat barvy pro noční/tmavý styl */
    /* ── Bratislava kataster WMS – zčernění čar (ESKN vrací barevné linie) ── */
    .ba-kat-wms-tiles { filter: brightness(0); }

    /* ── OVERLAYS ── */
    #ovl{position:fixed;bottom:26px;left:calc(50vw - 210px);transform:translateX(-50%);z-index:900;display:inline-block;background:rgba(255,255,255,.97);border-radius:7px;padding:5px 9px;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:.75rem;max-width:calc(100vw - 450px)}
    #ovl-mob-btn{display:none}
    .ovl-row{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
    .ovl-row+.ovl-row{margin-top:4px}
    .olabel{color:#556;font-weight:700;font-size:.72rem;white-space:nowrap}
    .obtn{padding:3px 9px;border:1px solid #ccd;border-radius:4px;cursor:pointer;background:#f5f7ff;color:#334;font-size:.72rem;white-space:nowrap;transition:all .15s}
    .obtn.on{background:#1a3570;color:#fff;border-color:#1a3570}
    .mup-opt{padding:5px 12px;font-size:.72rem;cursor:pointer;color:#1a3570;font-weight:600;white-space:nowrap}
    .mup-opt:hover{background:#f0f4fb}
    .mup-opt.sel{background:#1a3570;color:#fff}
    #dtm-tooltip{position:absolute;z-index:1500;background:rgba(15,25,55,.94);color:#eef;padding:6px 11px;border-radius:6px;font-size:.71rem;pointer-events:none;display:none;max-width:300px;line-height:1.5;box-shadow:0 2px 10px rgba(0,0,0,.55)}
    #sekm-tooltip{position:absolute;z-index:1500;background:rgba(15,25,55,.94);color:#eef;padding:6px 11px;border-radius:6px;font-size:.71rem;pointer-events:none;display:none;max-width:300px;line-height:1.5;box-shadow:0 2px 10px rgba(0,0,0,.55)}
    #dtm-legend{display:none;margin-top:6px;background:rgba(255,255,255,.97);border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.22);border:1px solid #d0d8ea;padding:8px 10px;min-width:175px;font-family:inherit}
    #dtm-legend h4{margin:0 0 6px;font-size:.68rem;font-weight:800;color:#1a3570;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e0e6f0;padding-bottom:4px}
    .dtm-lr{display:flex;align-items:center;gap:7px;margin-bottom:4px;color:#223}
    .dtm-ll{width:28px;height:4px;border-radius:2px;flex-shrink:0}
    .dtm-op-row{margin-top:7px;border-top:1px solid #e0e6f0;padding-top:6px}
    .dtm-op-lbl{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.71rem;color:#333;font-weight:600;user-select:none}
    .dtm-op-lbl input[type=checkbox]{accent-color:#1a3570;width:13px;height:13px;cursor:pointer}

    /* Měření – tlačítka aktivní stav (platí na všech rozlišeních) */
    .mbtn{display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;background:#fff;color:#333;transition:background .15s,color .15s;border:none;text-decoration:none;width:26px;height:26px;padding:0}
    .mbtn.on{background:#1a3570!important;color:#fff!important}
    /* Měření – výsledkový panel pod ikonkami */
    #measure-panel{display:none;margin-top:6px;background:#fff;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.22);border:1px solid #d0d8ea;min-width:150px;overflow:hidden;font-family:inherit}
    #measure-panel table{width:100%;border-collapse:collapse;font-size:.72rem}
    #measure-panel th{background:#1a3570;color:#fff;padding:5px 8px;text-align:left;font-size:.71rem;font-weight:700;white-space:nowrap}
    #measure-panel td{padding:4px 8px;border-bottom:1px solid #eef0f5;color:#223;white-space:nowrap}
    #measure-panel td:first-child{color:#667;font-size:.68rem;width:60px}
    #measure-panel tr:last-child td{border-bottom:none}
    #measure-panel .mp-live{color:#1a8a50;font-weight:700}
    #measure-panel .mp-clear{display:block;width:100%;padding:4px 8px;background:none;border:none;border-top:1px solid #eef0f5;color:#c03;font-size:.69rem;cursor:pointer;text-align:left;font-family:inherit}
    #measure-panel .mp-clear:hover{background:#fff5f5}

    /* Legenda – Podlaží budov */
    #np-legend{display:none;margin-top:6px;background:rgba(255,255,255,.97);border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.22);border:1px solid #d0d8ea;padding:7px 10px;min-width:130px;font-family:inherit}
    #np-legend .np-title{font-size:.68rem;font-weight:800;color:#1a3570;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;border-bottom:1px solid #e0e6f0;padding-bottom:4px}
    .np-lr{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-size:.7rem;color:#223}
    .np-lr:last-child{margin-bottom:0}
    .np-lc{width:18px;height:14px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}

    /* Legenda – Development skóre */
    #score-legend{display:none;margin-top:6px;background:rgba(255,255,255,.97);border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.22);border:1px solid #d0d8ea;padding:7px 10px;min-width:145px;font-family:inherit}
    #score-legend .sc-title{font-size:.68rem;font-weight:800;color:#1a3570;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;border-bottom:1px solid #e0e6f0;padding-bottom:4px}
    .sc-lr{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-size:.7rem;color:#223}
    .sc-lr:last-child{margin-bottom:0}
    .sc-lc{width:18px;height:14px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}

    /* selection mode indicator */
    #sel-mode-ind{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:900;background:#2a8a50;color:#fff;border-radius:6px;padding:5px 14px;font-size:.78rem;font-weight:700;display:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}
    /* parcel polygons – ensure mouse events work even with near-transparent fill */
    .parcel-poly{pointer-events:all!important;cursor:pointer}
    .leaflet-interactive:focus{outline:none}
    .parcel-tooltip{background:rgba(30,50,100,.85);color:#fff;border:none;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600;box-shadow:none;white-space:nowrap}
    .draw-bld-tip{background:rgba(20,40,90,.88);color:#fff;border:none;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:700;box-shadow:none;white-space:nowrap;pointer-events:none}
    .draw-bld-tip::before{display:none}

    /* ── HAMBURGER MENU ── */
    #mob-menu-btn{display:none;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:5px;padding:6px 10px;font-size:1.1rem;cursor:pointer;flex-shrink:0;margin-left:auto;line-height:1}
    #mob-menu{display:none;position:absolute;top:100%;right:0;z-index:3000;background:#1a3c6e;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35);min-width:180px;overflow:hidden}
    #mob-menu button{display:block;width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-align:left;padding:13px 18px;font-size:.88rem;font-weight:600;cursor:pointer}
    #mob-menu button:last-child{border-bottom:none}
    #mob-menu button:active{background:rgba(255,255,255,.15)}

    /* ── MOBILE TOGGLE BUTTON ── */
    #mob-toggle{display:none;position:fixed;bottom:18px;right:16px;z-index:1200;background:#1a3c6e;color:#fff;border:none;border-radius:50px;padding:11px 18px;font-size:.82rem;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.35);cursor:pointer;align-items:center;gap:7px}

    /* ── RESPONSIVE / MOBILE ── */
    @media (max-width: 768px) {
      body{overflow:hidden}

      /* Header: logo + hledání, tlačítka schovaná */
      #hdr{flex-wrap:wrap;padding:8px 12px;gap:6px}
      #hdr h1{font-size:.95rem}
      #hint{display:none}
      #sw{max-width:100%;order:3;flex-basis:100%}
      #si{font-size:.9rem;padding:8px 12px}
      #sb{padding:8px 13px;font-size:.82rem}
      #ac{top:38px}
      /* Schovat header tlačítka – na mobilu jsou v hamburger menu */
      #hdr > button:not(#mob-menu-btn){display:none}
      #mob-menu-btn{display:flex}
      #mob-menu-btn.open + #mob-menu{display:block}

      /* Hlavní layout: flexbox, panel dole – bez hardcoded vh */
      #main{flex-direction:column}
      #map-area{height:45vh;flex:none}
      #panel{width:100%;flex:1;border-left:none;border-top:1px solid #dde3ec;min-height:0;overflow:hidden}

      /* Tabs: větší pro dotyk */
      .tab{font-size:.75rem;padding:9px 4px}

      /* Overlay vrstev – skrytý, otevírá se tlačítkem */
      #ovl{display:none;position:fixed;left:8px;right:8px;bottom:auto;top:auto;transform:none;max-width:none;flex-direction:column;gap:0;padding:6px 8px;z-index:1050}
      #ovl.mob-open{display:flex}
      .ovl-row{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:4px 0}
      .ovl-row+.ovl-row{border-top:1px solid #e8edf5}
      .obtn{padding:2px 6px;font-size:.63rem;flex-shrink:0}
      .olabel{display:none}
      /* Tlačítko pro otevření – dole vlevo v mapě */
      #ovl-mob-btn{display:flex;position:absolute;top:calc(45vh - 44px);left:8px;z-index:901;background:rgba(255,255,255,.95);border:1px solid #ccd6ee;border-radius:7px;padding:5px 11px;font-size:.75rem;font-weight:700;color:#1a3570;cursor:pointer;box-shadow:0 2px 7px rgba(0,0,0,.18);align-items:center;gap:6px;white-space:nowrap;font-family:inherit}

      /* DTM legenda */
      #dtm-legend{right:4px;top:44px;max-height:40vh;min-width:160px}

      /* Měření */
      .mbtn{display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;background:#fff;color:#333;transition:background .15s;border:none;padding:0;width:26px;height:26px;text-decoration:none}
      .mbtn.on{background:#1a3570;color:#fff}

      /* MPP hover tooltip */
      #mup-hover{position:absolute;z-index:1500;background:rgba(15,25,55,.93);color:#eef;padding:6px 11px;border-radius:6px;font-size:.76rem;pointer-events:none;display:none;max-width:260px;line-height:1.5;box-shadow:0 2px 10px rgba(0,0,0,.5);white-space:pre-wrap}
      .score-tooltip{background:rgba(15,25,55,.92);color:#eef;border:none;border-radius:6px;font-size:.74rem;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.4);padding:5px 10px}

      /* Selection mode indicator */
      #sel-mode-ind{font-size:.7rem;padding:4px 10px;top:6px}

      /* Panel padding */
      #pane-info-inner,#pane-sel,#pane-acq{padding:10px}

      /* Zone card */
      .zc-code{font-size:1.25rem}
      .zc-name{font-size:.8rem}

      /* Selection tlačítka */
      .sel-btn{padding:8px 14px;font-size:.8rem}

      /* Mobile toggle button */
      #mob-toggle{display:flex}

      /* Jen mapa (panel schovaný) */
      body.mob-maponly #map-area{height:100%;flex:1}
      body.mob-maponly #panel{display:none}

      /* Jen panel (mapa schovaná) */
      body.mob-panelonly #map-area{display:none}
      body.mob-panelonly #panel{flex:1}
    }

    @media (max-width: 420px) {
      .tab{font-size:.68rem;padding:8px 2px}
      .zc-params span{font-size:.69rem;padding:2px 8px}
      .k{min-width:100px}
    }

    /* ── PORTFOLIO ── */
    .ptab{flex:1;padding:7px 6px;border:1px solid #c5d0e8;border-radius:5px;background:#f5f8ff;font-size:.78rem;font-weight:700;color:#1a3570;cursor:pointer;transition:all .15s;text-align:center}
    .ptab:hover{background:#dce6f7}
    .active-ptab{background:#1a3570;color:#fff;border-color:#1a3570}
    .inz-card{background:#f8faff;border:1px solid #dae4f5;border-radius:7px;padding:9px 11px;margin-bottom:7px;font-size:.77rem}
    .inz-card-top{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}
    .inz-cislo{font-weight:700;color:#1a2535;font-size:.85rem}
    .inz-price{font-weight:700;color:#1a8a40;font-size:.85rem}
    .inz-meta{font-size:.72rem;color:#556;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
    .inz-desc{font-size:.73rem;color:#334;line-height:1.5;margin-bottom:5px}
    .inz-actions{display:flex;gap:6px}
    .inz-btn{padding:4px 11px;border:none;border-radius:4px;font-size:.74rem;font-weight:700;cursor:pointer}
    .inz-btn-edit{background:#dce6f7;color:#1a3570}.inz-btn-edit:hover{background:#b4c6ee}
    .inz-btn-del{background:#fde8e8;color:#c03030}.inz-btn-del:hover{background:#f8c0c0}
    /* ── Inzerce filtr typ toggle ── */
    .inz-ft{padding:3px 8px;border:1.5px solid #ccd6ee;border-radius:12px;background:#fff;font-size:.7rem;font-weight:600;color:#445;cursor:pointer;transition:all .12s;white-space:nowrap}
    .inz-ft:hover{border-color:#1a3570;color:#1a3570}
    .inz-ft.active{background:#1a3570;border-color:#1a3570;color:#fff}
    /* ── Inzerce tooltip (hover) ── */
    .inz-tt{background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.22);padding:0;overflow:hidden;min-width:200px;max-width:240px;pointer-events:none;border:none}
    .leaflet-tooltip.inz-tt::before{display:none}
    /* ── Inzerce detail modal ── */
    #inz-detail-modal{display:none;position:fixed;inset:0;z-index:5200;background:rgba(10,20,50,.55);align-items:center;justify-content:center;padding:16px}
    #inz-detail-inner{background:#fff;border-radius:14px;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.45)}
    .inz-gallery{display:flex;gap:4px;overflow-x:auto;padding:0;scrollbar-width:none}
    .inz-gallery::-webkit-scrollbar{display:none}
    .inz-gallery img{height:190px;width:auto;min-width:200px;object-fit:cover;flex-shrink:0}
    .inz-detail-body{padding:20px 22px 24px}
    .proj-card{background:#f8faff;border:1px solid #dae4f5;border-radius:7px;padding:9px 11px;margin-bottom:7px;font-size:.77rem}
    .proj-card-top{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap}
    .proj-name{font-weight:700;color:#1a2535;font-size:.87rem}
    .proj-meta{font-size:.72rem;color:#556;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:5px}
    .proj-parcely{font-size:.72rem;color:#445;margin-bottom:5px;line-height:1.5}
    .proj-tbl{width:100%;border-collapse:collapse;margin-bottom:7px;font-size:.76rem}
    .proj-tbl td{padding:4px 7px;border-bottom:1px solid #e8eef8;vertical-align:top}
    .proj-tbl td:first-child{color:#556;font-weight:600;white-space:nowrap;width:44%;background:#f0f5ff}
    .proj-tbl td:last-child{color:#223;font-weight:500}
    .proj-tbl tr:last-child td{border-bottom:none}
    .proj-actions{display:flex;gap:6px}
    /* ── HARMONOGRAM MODAL (CZ + BA) ── */
    #harm-modal .harm-inner,#harm-ba-modal .harm-inner{background:#fff;border-radius:12px;width:92vw;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.35)}
    #harm-modal .harm-hdr,#harm-ba-modal .harm-hdr{background:linear-gradient(135deg,#162f5e,#2b508d);color:#fff;padding:12px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}
    #harm-modal .harm-hdr-title,#harm-ba-modal .harm-hdr-title{font-size:.95rem;font-weight:800;flex:1}
    #harm-modal .harm-hdr-close,#harm-ba-modal .harm-hdr-close{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;font-family:inherit}
    #harm-modal .harm-body,#harm-ba-modal .harm-body{display:flex;flex:1;min-height:0;overflow:hidden}
    #harm-modal .harm-controls,#harm-ba-modal .harm-controls{width:230px;flex-shrink:0;background:#f5f8ff;border-right:1px solid #dde7f5;overflow-y:auto;padding:14px}
    #harm-modal .harm-main,#harm-ba-modal .harm-main{flex:1;overflow-y:auto;padding:14px;min-width:0;display:flex;flex-direction:column;gap:14px}
    .hctl-label{font-size:.7rem;font-weight:700;color:#1a3570;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
    .hctl-input{width:100%;padding:6px 9px;border:1.5px solid #c5d0e8;border-radius:6px;font-size:.83rem;font-family:inherit;outline:none;box-sizing:border-box;background:#fff}
    .hctl-input:focus{border-color:#1a3570}
    .hctl-group{margin-bottom:13px}
    #harm-gantt,#harm-ba-gantt{overflow-x:auto;min-width:0;font-size:.72rem}
    .hg-header,.hg-row{display:flex;align-items:stretch}
    .hg-header{margin-bottom:2px}
    .hg-label-col{width:175px;flex-shrink:0;font-size:.68rem;color:#334;padding:3px 8px 3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;line-height:1.3}
    .hg-timeline{flex:1;position:relative;border-left:1px solid #dde7f5;min-height:26px;min-width:400px}
    .hg-row .hg-timeline{border-bottom:1px solid #f0f4fb}
    .hg-row:hover .hg-timeline{background:#f8faff}
    .hg-tick{position:absolute;top:0;height:100%;font-size:.61rem;color:#889;border-left:1px dashed #d0daea;padding:3px 3px;box-sizing:border-box;white-space:nowrap;overflow:hidden}
    .hg-bar{position:absolute;top:4px;height:calc(100% - 8px);border-radius:4px;display:flex;align-items:center;padding:0 5px;box-sizing:border-box;cursor:default;transition:opacity .1s;min-width:4px}
    .hg-bar:hover{opacity:.82;filter:brightness(1.08)}
    .hg-bar-label{color:rgba(255,255,255,.92);font-size:.61rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .hg-summary{display:flex;flex-wrap:wrap;gap:10px;background:#f0f4fb;border:1px solid #dde7f5;border-radius:8px;padding:12px 14px}
    .hg-sum-item{min-width:110px;flex:1}
    .hg-sum-label{font-size:.64rem;color:#667;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
    .hg-sum-value{font-size:.92rem;font-weight:800;color:#1a3570}
    .hg-sum-highlight{color:#1a6a30}
    .hg-sum-sub{font-size:.64rem;color:#889;margin-top:1px}
    #harm-etap-wrap{margin-top:4px;padding-top:8px;border-top:1px solid #dde7f5}
    .hg-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
    .hg-leg-item{display:flex;align-items:center;gap:4px;font-size:.65rem;color:#445}
    .hg-leg-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
    @media(max-width:640px){
      #harm-modal .harm-inner,#harm-ba-modal .harm-inner{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}
      #harm-modal .harm-body,#harm-ba-modal .harm-body{flex-direction:column}
      #harm-modal .harm-controls,#harm-ba-modal .harm-controls{width:100%;border-right:none;border-bottom:1px solid #dde7f5;max-height:200px}
      .hg-label-col{width:110px;font-size:.62rem}
    }
