@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800&display=swap");
:root{
--bg:#070a12;
  --fg:#eef4ff;
  --muted:rgba(238,244,255,.70);
  --card:rgba(16,22,34,.26);
  --card2:rgba(16,22,34,.16);
  --border:rgba(255,255,255,.14);
  --shadow:0 26px 76px rgba(0,0,0,.55);
  --accent:#2b6cb0;
  --accent-rgb:43,108,176;
  --role-dentist-rgb:43,108,176;
  --role-hygiene-rgb:255,201,66;
  --role-pharmacy-rgb:56,161,105;
  --role-lab-rgb:145,101,54;
  --role-supplier-rgb:255,140,0;
  --nearest-route-dentist-rgb:var(--role-dentist-rgb);
  --nearest-route-hygiene-rgb:var(--role-hygiene-rgb);
  --nearest-route-pharmacy-rgb:var(--role-pharmacy-rgb);
  --nearest-route-lab-rgb:var(--role-lab-rgb);
  --nearest-route-supplier-rgb:var(--role-supplier-rgb);

  --nearest-route:var(--accent);
  --nearest-route-rgb:var(--accent-rgb);
  --danger:#e53e3e;
  --ok:#38a169;
  --z-cards:2000;
  --z-topbar:9000;
  --z-dropdown:9500;
  --z-modal:10000;
  --radius:18px;
  --r2:22px;
  --font:'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  --sidebar-w:420px;

  --topbar-h:56px;
  --topbar-slide-ms:820ms;
  --dock-left-w:420px;
  --dock-right-w:420px;
  --dock-min-w:280px;
  --dock-max-w:720px;
  --dock-peek:22px;
  --dock-left-cur:var(--dock-left-w);
  --dock-right-cur:var(--dock-right-w);
  --blur:22px;
  --sat:1.45;
  --ui-font-scale:1;
  --ui-line-scale:1;
  --ui-density:1;
  --ui-row-pad-y:7px;
  --ui-row-pad-x:6px;
  --glass-rgb:16,22,34;
  --glass-hi:.34;
  --glass-lo:.18;
  --topbar-rgb:16,22,34;
  --topbar-a1:.22;
  --topbar-a2:.06;

}
html,body{height:100%;font-size:calc(14px * var(--ui-font-scale));line-height:calc(1.35 * var(--ui-line-scale));}

html,body{height:100%;}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--fg);font-weight:300;letter-spacing:.01em;}
body[data-page="index"],body[data-page="dashboard"]{overflow:hidden;}
body.theme-light{
--bg:#f3f6ff;
  --fg:#0b1020;
  --muted:#516072;
  --card:rgba(255,255,255,.28);
  --card2:rgba(255,255,255,.18);
  --border:rgba(10,14,24,.14);
  --shadow:0 20px 60px rgba(10,14,24,.18);
  --glass-rgb:255,255,255;
  --glass-hi:.38;
  --glass-lo:.20;
  --topbar-rgb:255,255,255;
  --topbar-a1:.28;
  --topbar-a2:.10;

}
*{box-sizing:border-box;}
a{color:inherit;}

#map{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100;background:#0b1220;transition:left .22s ease,width .22s ease;}

.topbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-topbar);display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--ui-density));padding:calc(10px * var(--ui-density)) calc(12px * var(--ui-density));
  background:linear-gradient(to bottom, rgba(var(--topbar-rgb), var(--topbar-a1)), rgba(var(--topbar-rgb), var(--topbar-a2)));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}

.topbar__left{display:flex;align-items:center;gap:12px;min-width:260px;}
.brand{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;
  background:rgba(255,255,255,.06);backdrop-filter:blur(calc(var(--blur) - 6px)) saturate(var(--sat));
}
body.theme-light .brand{background:rgba(255,255,255,.32);}
.brand__logo{height:18px;width:auto;display:block;filter:drop-shadow(0 0 0 rgba(0,0,0,0));}
.brand__name{font-weight:700;letter-spacing:.2px;}
.brand__badge{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);}
.topbar__controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}

.btn{appearance:none;border:1px solid var(--border);background:rgba(0,0,0,.18);color:var(--fg);padding:8px 10px;border-radius:12px;cursor:pointer;font-weight:600;line-height:1;display:inline-flex;align-items:center;gap:8px;user-select:none}
body.theme-light .btn{background:rgba(255,255,255,.7);} 
.btn:hover{border-color:rgba(255,255,255,.22)}
body.theme-light .btn:hover{border-color:rgba(10,14,24,.22)}
.btn--primary{background:var(--accent);border-color:rgba(0,0,0,.0);color:white;}
.btn--danger{background:var(--danger);border-color:rgba(0,0,0,.0);color:white;}
.btn--ghost{background:transparent;}
.btn--chip{padding:7px 10px;border-radius:999px;font-weight:700;font-size:calc(12px * var(--ui-font-scale))}
.btn--chip.is-on{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .45);}

.dropdown{position:relative;}
.dropdown__panel{position:absolute;right:0;top:44px;min-width:220px;z-index:var(--z-dropdown);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;display:none;}
.dropdown__panel.is-open{display:block;}
.palette-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:8px;margin-top:10px;}
.swatch{width:22px;height:22px;border-radius:999px;border:1px solid var(--border);cursor:pointer;}
.palette-custom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale))}

/* palette panel (v2.7.16) */
.paletteDropdown{
  position:fixed;
  top:var(--topbar-h);
  right:12px;
  z-index:var(--z-dropdown);
  width:360px;
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 86px);
  overflow:auto;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:calc(10px * var(--ui-density));
  backdrop-filter:blur(calc(var(--blur) - 6px)) saturate(var(--sat));
  display:none;
}
.paletteDropdown[aria-hidden="false"]{display:block}

.palHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.palHead__txt{display:flex;flex-direction:column;gap:2px}
.paletteTitle{font-weight:900;letter-spacing:.12px}
.paletteSub{color:var(--muted);font-size:calc(12px * var(--ui-font-scale))}
.palClose{
  appearance:none;
  width:36px;
  height:32px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .08s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
body.theme-light .palClose{background:rgba(255,255,255,.55)}
.palClose:hover{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 12px 22px rgba(var(--accent-rgb), .18)}
.palClose:active{transform:scale(.98)}
.palClose .ico{width:16px;height:16px}

.palTabs{
  display:flex;
  gap:8px;
  padding:6px;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  margin-bottom:12px;
}
body.theme-light .palTabs{background:rgba(255,255,255,.45)}

.palTab{
  appearance:none;
  flex:1;
  height:34px;
  border-radius:14px;
  border:1px solid transparent;
  background:transparent;
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:900;
  letter-spacing:.08px;
  transition:transform .08s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.palTab .ico{width:16px;height:16px}
.palTab:hover{background:rgba(255,255,255,.06)}
body.theme-light .palTab:hover{background:rgba(255,255,255,.65)}
.palTab:active{transform:scale(.98)}
.palTab.is-active{
  background:rgba(var(--accent-rgb), .16);
  border-color:rgba(var(--accent-rgb), .40);
  box-shadow:0 12px 22px rgba(var(--accent-rgb), .16);
}
.palTab__lbl{font-size:calc(12px * var(--ui-font-scale))}

.palPane{display:none}
.palPane.is-active{display:block}

.palSection{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) - 2px);
  background:rgba(255,255,255,.04);
  padding:10px;
  margin-bottom:10px;
}
body.theme-light .palSection{background:rgba(255,255,255,.55)}
.palSection:last-child{margin-bottom:0}
.palSection__title{
  font-weight:900;
  font-size:calc(12px * var(--ui-font-scale));
  color:var(--muted);
  letter-spacing:.14px;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}

.palTitleIco{display:inline-flex;align-items:center;justify-content:center;opacity:.92}
.palTitleIco .ico{width:14px;height:14px}

.paletteGrid{display:grid;grid-template-columns:repeat(6, 1fr);gap:10px;margin-bottom:10px}
.paletteSwatch{
  appearance:none;
  width:100%;
  aspect-ratio:1/1;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--sw);
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  transition:transform .08s ease, border-color .12s ease, box-shadow .12s ease;
}
.paletteSwatch:hover{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 10px 18px rgba(var(--accent-rgb), .12)}
.paletteSwatch:active{transform:scale(.98)}
.paletteSwatch:focus{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px}

.paletteSwatch[data-accent="#2b6cb0"]{--sw:#2b6cb0}
.paletteSwatch[data-accent="#2f855a"]{--sw:#2f855a}
.paletteSwatch[data-accent="#b83280"]{--sw:#b83280}
.paletteSwatch[data-accent="#c05621"]{--sw:#c05621}
.paletteSwatch[data-accent="#9b2c2c"]{--sw:#9b2c2c}
.paletteSwatch[data-accent="#2c7a7b"]{--sw:#2c7a7b}

.paletteDropdown[data-accent="#2b6cb0"] .paletteSwatch[data-accent="#2b6cb0"],
.paletteDropdown[data-accent="#2f855a"] .paletteSwatch[data-accent="#2f855a"],
.paletteDropdown[data-accent="#b83280"] .paletteSwatch[data-accent="#b83280"],
.paletteDropdown[data-accent="#c05621"] .paletteSwatch[data-accent="#c05621"],
.paletteDropdown[data-accent="#9b2c2c"] .paletteSwatch[data-accent="#9b2c2c"],
.paletteDropdown[data-accent="#2c7a7b"] .paletteSwatch[data-accent="#2c7a7b"]{
  outline:2px solid rgba(var(--accent-rgb), .85);
  outline-offset:2px;
}

.paletteCustomRow{display:flex;align-items:center;justify-content:flex-start}
.paletteCustom{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));font-weight:900}
.paletteCustom input{width:48px;height:34px;border:0;background:transparent;padding:0}

.palCtrl{margin:10px 0 12px 0}
.palCtrl:last-child{margin-bottom:0}
.palCtrl__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.palCtrl__label{font-weight:900}
.palCtrl__val{color:var(--muted);font-weight:900;font-size:calc(12px * var(--ui-font-scale))}

.palRange{width:100%;appearance:none;height:28px;background:transparent}
.palRange::-webkit-slider-runnable-track{
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.10);
}
body.theme-light .palRange::-webkit-slider-runnable-track{
  background:rgba(10,14,24,.08);
  border-color:rgba(10,14,24,.10);
}
.palRange::-webkit-slider-thumb{
  appearance:none;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(var(--accent-rgb), .95);
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 12px 22px rgba(var(--accent-rgb), .22);
  margin-top:-6px;
}
.palRange::-moz-range-track{
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.10);
}
body.theme-light .palRange::-moz-range-track{
  background:rgba(10,14,24,.08);
  border-color:rgba(10,14,24,.10);
}
.palRange::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(var(--accent-rgb), .95);
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 12px 22px rgba(var(--accent-rgb), .22);
}

.palFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.palBtn{
  appearance:none;
  border-radius:14px;
  padding:8px 12px;
  cursor:pointer;
  font-weight:900;
  border:1px solid rgba(var(--accent-rgb), .40);
  background:rgba(var(--accent-rgb), .16);
  color:var(--fg);
  transition:transform .08s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.palBtn:hover{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 12px 22px rgba(var(--accent-rgb), .16)}
.palBtn:active{transform:scale(.98)}
.palBtn--ghost{background:transparent;border-color:var(--border);color:var(--muted)}
.palBtn--ghost:hover{border-color:rgba(var(--accent-rgb), .30);box-shadow:none;background:rgba(255,255,255,.06)}
body.theme-light .palBtn--ghost:hover{background:rgba(255,255,255,.65)}


.layerSwitch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.cards-root{position:fixed;inset:0;z-index:var(--z-cards);pointer-events:none;overflow:hidden;}
.cards-root[data-layout="menu"]{
  pointer-events:auto;
  position:fixed;
  top:56px;
  left:0;
  width:var(--sidebar-w);
  height:calc(100vh - 56px);
  overflow:auto;
  padding:12px;
  border-right:1px solid var(--border);
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.28));
  backdrop-filter:blur(12px);
}
body.theme-light .cards-root[data-layout="menu"]{background:linear-gradient(to bottom, rgba(255,255,255,.88), rgba(255,255,255,.55));}
@media (max-width:960px){
  .cards-root[data-layout="menu"]{width:100%;}
}
.cards-root[data-layout="menu"] .card:not([data-menu-float="1"]){position:relative;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:unset;margin:0 0 12px 0;cursor:default}
.cards-root[data-layout="menu"] .card:not([data-menu-float="1"]):last-child{margin-bottom:0}
.cards-root[data-layout="menu"] .card:not([data-menu-float="1"]) .card__header{cursor:default}
.cards-root[data-layout="menu"] .card__resizer{display:none}
.cards-root[data-layout="menu"] .card[data-menu-float="1"] .card__resizer{display:block!important}
.card{position:absolute;pointer-events:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-width:260px;min-height:160px}
.card__header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px;border-bottom:1px solid var(--border);background:linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.02));cursor:move;}
body.theme-light .card__header{background:linear-gradient(to bottom, rgba(10,14,24,.06), rgba(10,14,24,.01));}
.card__title{font-weight:800;font-size:calc(13px * var(--ui-font-scale));letter-spacing:.25px}
.card__actions{display:flex;align-items:center;gap:6px}
.iconbtn{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--fg);cursor:pointer}
.iconbtn:hover{border-color:rgba(255,255,255,.22)}
.iconbtn.is-on{border-color:rgba(var(--accent-rgb), .55);background:rgba(var(--accent-rgb), .12)}
.card__resizer{position:absolute;z-index:8;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.12);opacity:0;pointer-events:none;transition:opacity .12s ease}
body.theme-light .card__resizer{background:rgba(10,14,24,.05)}
.card:hover .card__resizer{opacity:1;pointer-events:auto}
.card__resizer--n{top:0;left:0;width:100%;height:10px;cursor:ns-resize;transform:none}
.card__resizer--s{bottom:0;left:0;width:100%;height:10px;cursor:ns-resize;transform:none}
.card__resizer--e{right:0;top:0;width:10px;height:100%;cursor:ew-resize;transform:none}
.card__resizer--w{left:0;top:0;width:10px;height:100%;cursor:ew-resize;transform:none}
.card__resizer--ne{top:0;right:0;width:14px;height:14px;border-radius:12px;cursor:nesw-resize}
.card__resizer--sw{bottom:0;left:0;width:14px;height:14px;border-radius:12px;cursor:nesw-resize}
.card__resizer--nw{top:0;left:0;width:14px;height:14px;border-radius:12px;cursor:nwse-resize}
.card__resizer--se{bottom:0;right:0;width:14px;height:14px;border-radius:12px;cursor:nwse-resize}
.card__body{padding:10px;max-height:calc(100% - 48px);overflow:auto}

/* V „módu karet“ musí tělo okna vždy vyplnit dostupnou výšku pod hlavičkou */
.cards-root[data-layout="cards"] .card > .card__body{height:calc(100% - 48px);max-height:none;}


/* Kulaté scrollbary (okna/panely/výpisy) */
.card__body,
.dropdown__panel,
.modal,
.modal__body,
.group-panel__body,
.paletteDropdown,
.sideDock__scroll,
.chat__inbox,
.chat__favs,
.chat__messages,
.searchListWrap,
.offersListWrap,
.offersDetail,
.offersDetailTools,
.offersCol .list,
.ratingsOverview,
.ratingsListWrap,
.ratingsDetail{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb), .35) transparent}

.card__body::-webkit-scrollbar,
.dropdown__panel::-webkit-scrollbar,
.modal::-webkit-scrollbar,
.modal__body::-webkit-scrollbar,
.group-panel__body::-webkit-scrollbar,
.paletteDropdown::-webkit-scrollbar,
.sideDock__scroll::-webkit-scrollbar,
.chat__inbox::-webkit-scrollbar,
.chat__favs::-webkit-scrollbar,
.chat__messages::-webkit-scrollbar,
.searchListWrap::-webkit-scrollbar,
.offersListWrap::-webkit-scrollbar,
.offersDetail::-webkit-scrollbar,
.offersDetailTools::-webkit-scrollbar,
.offersCol .list::-webkit-scrollbar,
.ratingsOverview::-webkit-scrollbar,
.ratingsListWrap::-webkit-scrollbar,
.ratingsDetail::-webkit-scrollbar{width:10px;height:10px}
.card__body::-webkit-scrollbar-track,
.dropdown__panel::-webkit-scrollbar-track,
.modal::-webkit-scrollbar-track,
.modal__body::-webkit-scrollbar-track,
.group-panel__body::-webkit-scrollbar-track,
.paletteDropdown::-webkit-scrollbar-track,
.sideDock__scroll::-webkit-scrollbar-track,
.chat__inbox::-webkit-scrollbar-track,
.chat__favs::-webkit-scrollbar-track,
.chat__messages::-webkit-scrollbar-track,
.searchListWrap::-webkit-scrollbar-track,
.offersListWrap::-webkit-scrollbar-track,
.offersDetail::-webkit-scrollbar-track,
.offersDetailTools::-webkit-scrollbar-track,
.offersCol .list::-webkit-scrollbar-track,
.ratingsOverview::-webkit-scrollbar-track,
.ratingsListWrap::-webkit-scrollbar-track,
.ratingsDetail::-webkit-scrollbar-track{background:transparent}
.card__body::-webkit-scrollbar-thumb,
.dropdown__panel::-webkit-scrollbar-thumb,
.modal::-webkit-scrollbar-thumb,
.modal__body::-webkit-scrollbar-thumb,
.group-panel__body::-webkit-scrollbar-thumb,
.paletteDropdown::-webkit-scrollbar-thumb,
.sideDock__scroll::-webkit-scrollbar-thumb,
.chat__inbox::-webkit-scrollbar-thumb,
.chat__favs::-webkit-scrollbar-thumb,
.chat__messages::-webkit-scrollbar-thumb,
.searchListWrap::-webkit-scrollbar-thumb,
.offersListWrap::-webkit-scrollbar-thumb,
.offersDetail::-webkit-scrollbar-thumb,
.offersDetailTools::-webkit-scrollbar-thumb,
.offersCol .list::-webkit-scrollbar-thumb,
.ratingsOverview::-webkit-scrollbar-thumb,
.ratingsListWrap::-webkit-scrollbar-thumb,
.ratingsDetail::-webkit-scrollbar-thumb{
  background:rgba(var(--accent-rgb), .26);
  border:2px solid transparent;
  border-radius:999px;
  background-clip:content-box;
}
.card__body::-webkit-scrollbar-thumb:hover,
.dropdown__panel::-webkit-scrollbar-thumb:hover,
.modal::-webkit-scrollbar-thumb:hover,
.modal__body::-webkit-scrollbar-thumb:hover,
.group-panel__body::-webkit-scrollbar-thumb:hover,
.paletteDropdown::-webkit-scrollbar-thumb:hover,
.sideDock__scroll::-webkit-scrollbar-thumb:hover,
.chat__inbox::-webkit-scrollbar-thumb:hover,
.chat__favs::-webkit-scrollbar-thumb:hover,
.chat__messages::-webkit-scrollbar-thumb:hover,
.searchListWrap::-webkit-scrollbar-thumb:hover,
.offersListWrap::-webkit-scrollbar-thumb:hover,
.offersDetail::-webkit-scrollbar-thumb:hover,
.offersDetailTools::-webkit-scrollbar-thumb:hover,
.offersCol .list::-webkit-scrollbar-thumb:hover,
.ratingsOverview::-webkit-scrollbar-thumb:hover,
.ratingsListWrap::-webkit-scrollbar-thumb:hover,
.ratingsDetail::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .38);background-clip:content-box}
body.theme-light .card__body::-webkit-scrollbar-thumb,
body.theme-light .dropdown__panel::-webkit-scrollbar-thumb,
body.theme-light .modal::-webkit-scrollbar-thumb,
body.theme-light .modal__body::-webkit-scrollbar-thumb,
body.theme-light .group-panel__body::-webkit-scrollbar-thumb,
body.theme-light .paletteDropdown::-webkit-scrollbar-thumb,
body.theme-light .sideDock__scroll::-webkit-scrollbar-thumb,
body.theme-light .chat__inbox::-webkit-scrollbar-thumb,
body.theme-light .chat__favs::-webkit-scrollbar-thumb,
body.theme-light .chat__messages::-webkit-scrollbar-thumb,
body.theme-light .searchListWrap::-webkit-scrollbar-thumb,
body.theme-light .offersListWrap::-webkit-scrollbar-thumb,
body.theme-light .offersDetail::-webkit-scrollbar-thumb,
body.theme-light .offersDetailTools::-webkit-scrollbar-thumb,
body.theme-light .offersCol .list::-webkit-scrollbar-thumb,
body.theme-light .ratingsOverview::-webkit-scrollbar-thumb,
body.theme-light .ratingsListWrap::-webkit-scrollbar-thumb,
body.theme-light .ratingsDetail::-webkit-scrollbar-thumb{background:rgba(10,14,24,.18);background-clip:content-box}
body.theme-light .card__body::-webkit-scrollbar-thumb:hover,
body.theme-light .dropdown__panel::-webkit-scrollbar-thumb:hover,
body.theme-light .modal::-webkit-scrollbar-thumb:hover,
body.theme-light .modal__body::-webkit-scrollbar-thumb:hover,
body.theme-light .group-panel__body::-webkit-scrollbar-thumb:hover,
body.theme-light .paletteDropdown::-webkit-scrollbar-thumb:hover,
body.theme-light .sideDock__scroll::-webkit-scrollbar-thumb:hover,
body.theme-light .chat__inbox::-webkit-scrollbar-thumb:hover,
body.theme-light .chat__favs::-webkit-scrollbar-thumb:hover,
body.theme-light .chat__messages::-webkit-scrollbar-thumb:hover,
body.theme-light .searchListWrap::-webkit-scrollbar-thumb:hover,
body.theme-light .offersListWrap::-webkit-scrollbar-thumb:hover,
body.theme-light .offersDetail::-webkit-scrollbar-thumb:hover,
body.theme-light .offersDetailTools::-webkit-scrollbar-thumb:hover,
body.theme-light .offersCol .list::-webkit-scrollbar-thumb:hover,
body.theme-light .ratingsOverview::-webkit-scrollbar-thumb:hover,
body.theme-light .ratingsListWrap::-webkit-scrollbar-thumb:hover,
body.theme-light .ratingsDetail::-webkit-scrollbar-thumb:hover{background:rgba(10,14,24,.26);background-clip:content-box}
.card[data-hidden="1"]{display:none}

/* Filtry: menší výchozí okno a rozumné limity ve „módu karet“ */
.cards-root[data-layout="cards"] #cardFilters{max-width:360px;max-height:520px}

.cards-root[data-layout="cards"] .card[data-minimized="1"]{height:44px!important;min-height:44px;width:220px!important;min-width:180px;overflow:hidden}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__body{display:none}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__resizer{display:none}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__header{border-bottom:none;cursor:pointer}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__actions [data-card-action="info"],.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__actions [data-card-action="pin"]{display:none}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.cards-root[data-layout="cards"] .card[data-collapsed="1"]{height:44px!important;min-height:44px!important;overflow:hidden;min-width:180px!important}
.cards-root[data-layout="cards"] .card[data-collapsed="1"] .card__body{display:none}
.cards-root[data-layout="cards"] .card[data-collapsed="1"] .card__resizer{display:none}
.cards-root[data-layout="cards"] .card[data-collapsed="1"] .card__header{border-bottom:none}
.cards-root[data-layout="cards"] .card[data-collapsed="1"] .card__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}


/* cards dock (minimized cards as bottom buttons) */
.cards-dock{display:none}
.cards-root[data-layout="cards"] .cards-dock{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;gap:10px;align-items:stretch;justify-content:space-between;padding:10px 12px;pointer-events:auto;
  background:linear-gradient(to top, rgba(255,255,255,.05), rgba(255,255,255,.02)), linear-gradient(to top, rgba(16,22,34,.22), rgba(16,22,34,.10));
  border-top:1px solid var(--border);
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}
body.theme-light .cards-root[data-layout="cards"] .cards-dock{background:linear-gradient(to top, rgba(255,255,255,.30), rgba(255,255,255,.16));}
.cards-root[data-layout="cards"] .cards-dock[aria-hidden="true"]{display:none}
.cards-root[data-layout="cards"] .cards-dock .card{position:relative!important;left:auto!important;top:auto!important;width:auto!important;min-width:0!important;flex:1 1 0;box-shadow:0 8px 20px rgba(0,0,0,.35)}
body.theme-light .cards-root[data-layout="cards"] .cards-dock .card{box-shadow:0 8px 18px rgba(10,14,24,.12)}
.cards-root[data-layout="cards"] .cards-dock .card[data-minimized="1"]{height:44px!important;min-height:44px!important}
.cards-root[data-layout="cards"] .cards-dock .card__header{cursor:pointer}
.cards-root[data-layout="cards"] .cards-dock .card[data-minimized="1"] .card__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}
.cards-root[data-layout="cards"] .cards-dock .card__actions{flex:0 0 auto}
.cards-root[data-layout="cards"] .cards-dock .card[data-minimized="1"] .card__actions [data-card-action]:not([data-card-action="min"]){display:none!important}


.row{display:flex;gap:10px;flex-wrap:wrap;}
.field{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.check{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:calc(13px * var(--ui-font-scale))}
.muted{color:var(--muted)}
.small{font-size:calc(12px * var(--ui-font-scale))}
.divider{height:1px;background:var(--border);margin:12px 0}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips--wrap{flex-wrap:wrap}

.list{display:flex;flex-direction:column;gap:8px}
.list-item{border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(0,0,0,.10);cursor:pointer}
body.theme-light .list-item{background:rgba(10,14,24,.04)}
.list-item.is-on{border-color:rgba(var(--accent-rgb), .55);background:rgba(var(--accent-rgb), .10)}
.list-title{font-weight:900}

/* notifications */
.notif{border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(0,0,0,.10);cursor:pointer}
body.theme-light .notif{background:rgba(10,14,24,.04)}
.notif--unread{border-color:rgba(var(--accent-rgb), .55)}
.notif--read{opacity:.72}

/* chat */
.chat{display:flex;gap:12px;height:100%}
.card__body.chat{overflow:hidden}
.cards-root[data-layout="menu"] .card__body.chat{max-height:none}
.cards-root[data-layout="menu"] .chat{height:auto}
.chat__left{width:36%;min-width:240px;border-right:1px solid var(--border);padding-right:10px;overflow:hidden;display:flex;flex-direction:column}
.chat__leftTop{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding-bottom:10px}
.chat__inbox{flex:1;overflow:auto;padding-right:6px}
.chat__leftBottom{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--border);margin-top:10px;max-height:180px;overflow:hidden}
.chat__right{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}

.chat__search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:rgba(0,0,0,.10);border-radius:12px;padding:6px 8px}
body.theme-light .chat__search{background:rgba(10,14,24,.04)}
.chat__search .ico{width:16px;height:16px;color:var(--muted)}
.chat__search input{border:0;background:transparent;padding:0;margin:0;outline:none;color:var(--fg);width:100%;font-size:calc(12px * var(--ui-font-scale))}

.chat__sectionTitle{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);font-weight:900;letter-spacing:.02em;text-transform:uppercase;margin-top:2px}

.chat__favs{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:6px}
.chat__leftBottom .chat__favs{flex:1;max-height:none}
.chatFav{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:7px 8px;background:rgba(0,0,0,.10);cursor:pointer}
body.theme-light .chatFav{background:rgba(10,14,24,.04)}
.chatFav:hover{border-color:rgba(255,255,255,.22)}
.chatFav__avatar{width:28px;height:28px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:rgba(0,0,0,.12)}
.chatFav__name{font-weight:900;font-size:calc(12px * var(--ui-font-scale));line-height:1.15}
.chatFav__meta{font-size:calc(11px * var(--ui-font-scale));color:var(--muted);margin-top:2px}

.chatHead{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:8px}
.chatHead__left{display:flex;align-items:center;gap:10px;min-width:0}
.chatHead__avatar{width:36px;height:36px;border-radius:12px;object-fit:cover;border:1px solid var(--border);background:rgba(0,0,0,.12)}
.chatHead__meta{min-width:0}
.chatHead__name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chatHead__right{display:flex;align-items:center;gap:6px}

.chat__messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:6px}
.chat__send{display:flex;gap:8px;align-items:flex-end}
.chat__send .chat__input{flex:1;min-height:44px;max-height:140px;resize:vertical}

.chatDay{display:flex;justify-content:center;margin:6px 0}
.chatDay__label{font-size:calc(11px * var(--ui-font-scale));color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:rgba(0,0,0,.08)}
body.theme-light .chatDay__label{background:rgba(10,14,24,.03)}

.chatItem{display:flex;gap:10px;align-items:center}
.chatItem__avatar{width:34px;height:34px;border-radius:12px;object-fit:cover;border:1px solid var(--border);background:rgba(0,0,0,.12);flex:0 0 auto}
.chatItem__main{min-width:0;flex:1}
.chatItem__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chatItem__name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatItem__time{font-size:calc(11px * var(--ui-font-scale));color:var(--muted);white-space:nowrap}
.chatItem__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.chatItem__preview{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chatItem__badge{font-size:calc(11px * var(--ui-font-scale));font-weight:900;border:1px solid rgba(var(--accent-rgb), .55);background:rgba(var(--accent-rgb), .12);border-radius:999px;padding:2px 8px;white-space:nowrap}

.msg{display:flex}
.msg--mine{justify-content:flex-end}
.msg--other{justify-content:flex-start;gap:8px}
.msg__avatar{width:28px;height:28px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:rgba(0,0,0,.12);margin-top:2px;flex:0 0 auto}
.msg__bubble{max-width:82%;border:1px solid var(--border);border-radius:14px;padding:8px 10px;background:rgba(0,0,0,.12)}
body.theme-light .msg__bubble{background:rgba(10,14,24,.04)}
.msg--mine .msg__bubble{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .45)}
.msg__meta{margin-top:4px;font-size:calc(11px * var(--ui-font-scale));color:var(--muted)}
.msg__att{margin-top:6px}
.msg__att a{text-decoration:underline}
.label{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);font-weight:700}
.input,.textarea,.select{width:100%;border:1px solid var(--border);background:rgba(0,0,0,.10);color:var(--fg);border-radius:12px;padding:9px 10px;outline:none}
body.theme-light .input,body.theme-light .textarea,body.theme-light .select{background:rgba(10,14,24,.04)}
.textarea{min-height:110px;resize:vertical}

.table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--ui-font-scale))}
.table th,.table td{padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top}
.table th{color:var(--muted);text-align:left;font-weight:800;font-size:calc(12px * var(--ui-font-scale))}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:calc(12px * var(--ui-font-scale));color:var(--muted)}
.badge.is-on{border-color:rgba(56,161,105,.45);background:rgba(56,161,105,.14);color:var(--fg)}
.badge.is-off{border-color:rgba(229,62,62,.45);background:rgba(229,62,62,.14);color:var(--fg)}

.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:18px}
.modal-overlay.is-open{display:flex}
.modal{width:min(980px, 100%);max-height:92vh;background:var(--card);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.modal__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}
.modal__title{font-weight:900}
.modal__body{padding:14px;overflow:auto}

.group-panel{position:fixed;right:14px;top:70px;z-index:var(--z-cards);width:min(360px, calc(100% - 28px));max-height:calc(100% - 84px);background:var(--card);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow);display:none;flex-direction:column;overflow:hidden}
.group-panel.is-open{display:flex}
.group-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px;border-bottom:1px solid var(--border)}
.group-panel__title{font-weight:900;font-size:calc(13px * var(--ui-font-scale))}
.group-panel__body{padding:10px;overflow:auto}
.entity-card{border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(0,0,0,.10);margin-bottom:10px;cursor:pointer}
body.theme-light .entity-card{background:rgba(10,14,24,.04)}
.entity-card__name{font-weight:900}
.entity-card__meta{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));margin-top:4px}

.toasts{position:fixed;left:12px;bottom:12px;z-index:var(--z-modal);display:flex;flex-direction:column;gap:10px;max-width:min(420px, calc(100% - 24px))}
.toast{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:10px 12px}
.toast--out{opacity:0;transform:translateY(6px);transition:opacity .25s ease, transform .25s ease}
.toast{transition:opacity .25s ease, transform .25s ease;}
.toast.toast--out{opacity:0;transform:translateY(6px)}
.toast__title{font-weight:900;font-size:calc(13px * var(--ui-font-scale))}
.toast__body{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));margin-top:4px}

.tooltip{
  position:fixed;
  z-index:var(--z-dropdown);
  /* glass tooltip: průhledný + rozostření pozadí */
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(var(--glass-rgb), .18), rgba(var(--glass-rgb), .08));
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px 10px;
  box-shadow:var(--shadow);
  font-size:calc(12px * var(--ui-font-scale));
  color:var(--muted);
  max-width:280px;
  display:none;
  pointer-events:none;
  backdrop-filter:blur(calc(var(--blur) - 8px)) saturate(var(--sat));
  -webkit-backdrop-filter:blur(calc(var(--blur) - 8px)) saturate(var(--sat));
}
.tooltip.is-open{display:block}
body.theme-light .tooltip{background:linear-gradient(135deg, rgba(var(--glass-rgb), .22), rgba(var(--glass-rgb), .10));}

/* tooltip: subjekt */
.tt{max-width:280px}
.tt__row{display:flex;gap:10px;align-items:flex-start}
.tt__avatar{flex:0 0 auto;width:44px;height:44px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:rgba(0,0,0,.12)}
.tt__img{width:100%;height:100%;object-fit:cover;display:block}
.tt__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text)}
.tt__ph svg{width:100%;height:100%;opacity:.9}
.tt__ph img{width:100%;height:100%;display:block;object-fit:cover;opacity:.95}
.tt__main{min-width:0}
.tt__title{font-weight:900;color:var(--text);font-size:calc(13px * var(--ui-font-scale));line-height:1.2}
.tt__meta{color:var(--muted);font-size:calc(11px * var(--ui-font-scale));margin-top:2px;line-height:1.2}
.tt__addr{color:var(--muted);font-size:calc(11px * var(--ui-font-scale));margin-top:3px;line-height:1.2}
.tt__sub{color:var(--muted);font-size:calc(11px * var(--ui-font-scale));margin-top:3px;line-height:1.2}
.tt__pill{display:inline-block;padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.10);margin-right:6px;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
body.theme-light .tt__pill{background:rgba(10,14,24,.04)}

.tt--group .tt__title{font-weight:900}

/* tooltip: POI (Google) */
.poi-tip{
  position:absolute;
  z-index:var(--z-dropdown);
  transform:translate(-50%, calc(-100% - 10px));
  pointer-events:auto;
}
.poi{
  position:relative;
  width:min(360px, calc(100vw - 24px));
  max-width:360px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(var(--glass-rgb), .18), rgba(var(--glass-rgb), .08));
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:10px;
  color:var(--muted);
  backdrop-filter:blur(calc(var(--blur) - 6px)) saturate(var(--sat));
  -webkit-backdrop-filter:blur(calc(var(--blur) - 6px)) saturate(var(--sat));
}
body.theme-light .poi{
  background:linear-gradient(135deg, rgba(var(--glass-rgb), .22), rgba(var(--glass-rgb), .10));
}
.poi__close{
  position:absolute;
  right:8px;
  top:8px;
  width:30px;
  height:30px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.08);
  color:var(--text);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
body.theme-light .poi__close{background:rgba(10,14,24,.04)}
.poi__row{display:flex;gap:10px;align-items:flex-start}
.poi__avatar{flex:0 0 auto;width:64px;height:64px;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:rgba(0,0,0,.12)}
.poi__img{width:100%;height:100%;object-fit:cover;display:block}
.poi__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text)}
.poi__ph svg{width:100%;height:100%;opacity:.9}
.poi__main{min-width:0}
.poi__title{font-weight:900;color:var(--text);font-size:calc(13px * var(--ui-font-scale));line-height:1.2;padding-right:34px}
.poi__meta{color:var(--muted);font-size:calc(11px * var(--ui-font-scale));margin-top:2px;line-height:1.2}
.poi__addr{color:var(--muted);font-size:calc(11px * var(--ui-font-scale));margin-top:3px;line-height:1.2}
.poi__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.poi__link{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.10);color:var(--text);font-size:calc(11px * var(--ui-font-scale));text-decoration:none;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.theme-light .poi__link{background:rgba(10,14,24,.04)}
.poi__pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.10);color:var(--text);font-size:calc(11px * var(--ui-font-scale))}
body.theme-light .poi__pill{background:rgba(10,14,24,.04)}
.poi__loading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale))}
.poi__attr{margin-top:8px;font-size:calc(10px * var(--ui-font-scale));color:var(--muted);opacity:.9}
.poi__attr a{color:var(--muted);text-decoration:underline}

/* loading overlay */
.loading-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.38)}
.loading-overlay.is-on{display:flex}
.loading-box{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:16px 18px;display:flex;align-items:center;gap:12px}
.spinner{width:18px;height:18px;border-radius:999px;border:2px solid var(--border);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* modal detail */
.detail__top{display:flex;gap:14px;align-items:flex-start}
.avatar{width:64px;height:64px;border-radius:18px;object-fit:cover;border:1px solid var(--border)}
.avatar--placeholder{background:rgba(0,0,0,.12)}
.detail__name{font-weight:900;font-size:calc(18px * var(--ui-font-scale))}
.detail__actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.section{margin-top:16px}
.section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.section__title{font-weight:900}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* --- veřejné karty: vyhledávač, okruh, nabídky --- */
.range{width:100%;}
.rangeRow{display:flex;align-items:center;gap:10px}
.rangeVal{min-width:56px;text-align:right;font-weight:900}
.offersGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:740px){.offersGrid{grid-template-columns:1fr}}
.offersColTitle{font-weight:900;margin:6px 0 8px 0}
.offersList{display:flex;flex-direction:column;gap:8px}

.t-right{text-align:right}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips--wrap{flex-wrap:wrap}
.chip{padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.12);cursor:pointer;font-weight:800;font-size:calc(12px * var(--ui-font-scale));user-select:none}
body.theme-light .chip{background:rgba(10,14,24,.04)}
.chip.is-on{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .45)}

/* Filtry: vytahující karta pro specializace (zkrácení okna Filtry) */
.filterExpander{border:1px solid var(--border);border-radius:14px;background:rgba(0,0,0,.10);overflow:hidden}
body.theme-light .filterExpander{background:rgba(10,14,24,.04)}
.filterExpander>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;user-select:none}
.filterExpander>summary::-webkit-details-marker{display:none}
.filterExpander__title{font-weight:900}
.filterExpander__right{display:flex;align-items:center;gap:8px}
.filterExpander__count{display:none;min-width:22px;height:22px;line-height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.10);font-weight:900;font-size:calc(11px * var(--ui-font-scale));color:var(--muted)}
body.theme-light .filterExpander__count{background:rgba(10,14,24,.06)}
.filterExpander__count.is-on{display:inline-flex;align-items:center;justify-content:center}
.filterExpander__chev{width:16px;height:16px;color:var(--muted);transition:transform .18s ease}
.filterExpander[open] .filterExpander__chev{transform:rotate(180deg)}
.filterExpander__body{padding:10px 12px;border-top:1px solid var(--border)}

.loading-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center}
.loading-overlay.is-on{display:flex}
.loading-box{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow);padding:16px 18px;display:flex;align-items:center;gap:12px}
.spinner{width:18px;height:18px;border-radius:999px;border:2px solid var(--border);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width: 740px){
  .topbar__left{min-width:unset}
  .brand__badge{display:none}
  .card{min-width:unset}
}



/* --- v2.7.11 public cards --- */
.rangeRow{display:flex;align-items:center;gap:10px}
.rangeRow input[type=range]{flex:1}
.rangeVal{min-width:64px;text-align:right;font-weight:900}
.offersCols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width: 860px){
  .offersCols{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .offersCols{grid-template-columns:1fr}
}
.offersCol__head{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);font-weight:900;letter-spacing:.02em;text-transform:uppercase;margin:2px 0 8px 0}
.offersCol .list{max-height:320px;overflow:auto}

/* --- v2.7.1 UI icon sprite + malé icon buttony --- */
.ico{width:18px;height:18px;display:inline-block;vertical-align:middle;fill:currentColor}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.iconbtn--sm{width:28px;height:28px;border-radius:10px}
.iconbtn--sm .ico{width:16px;height:16px}

/* iconbtn: čítač (badge) */
.iconbtn--count{position:relative}
.iconbtn__count{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:calc(11px * var(--ui-font-scale));
  font-weight:800;
  line-height:1;
  background:rgba(var(--accent-rgb), .18);
  border:1px solid rgba(var(--accent-rgb), .42);
  color:var(--fg);
  pointer-events:none;
}

/* --- Otevírací doba (profil) --- */
.oh{display:flex;flex-direction:column;gap:8px}
.oh__head,.oh__row{display:grid;grid-template-columns:72px 92px 1fr 1fr 1.2fr;gap:10px;align-items:center}
.oh__head{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--border)}
.oh__row{padding:6px 0}
.oh__day{font-weight:600}
.oh__time{min-width:0}
.oh__note{min-width:0}
.oh__row input[type="time"],.oh__row input[type="text"]{width:100%}
.oh__row .check{display:flex;align-items:center;gap:8px}
.oh__row.is-closed{opacity:.65}

/* --- Tagy (listing editor) --- */
.tagEditor{display:flex;flex-direction:column;gap:8px}
.tagEditor__input{display:flex;gap:8px;align-items:center}
.tagEditor__chips{display:flex;flex-wrap:wrap;gap:8px}
.chip--tag{display:inline-flex;align-items:center;gap:8px}
.chip--role{display:inline-flex;align-items:center;gap:8px}
.chip--role .chip__label{line-height:1}
.chip__ico{width:18px;height:18px;object-fit:contain;flex:0 0 18px;display:inline-block}
.roleIco{width:18px;height:18px;object-fit:contain;display:block}
.tbBtn__ico .roleIco{width:18px;height:18px}
.chip__x{width:18px;height:18px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.chip__x:hover{color:var(--fg)}


/* --- veřejný index: nové karty --- */
.range{width:100%;accent-color:var(--accent)}
.rangeRow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rangeVal{font-weight:900}
.offersGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.offersColHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}
.offersColTitle{font-weight:900}
.offersColCount{font-size:calc(12px * var(--ui-font-scale));color:var(--muted)}
.offersEmpty{color:var(--muted);font-size:calc(12px * var(--ui-font-scale))}
@media (max-width: 740px){
  .offersGrid{grid-template-columns:1fr}
}


/* --- Map: vlastní "balónky" markerů (foto + ikona role) --- */
.bm{position:absolute;z-index:30;cursor:pointer;user-select:none;will-change:transform;pointer-events:auto}
.bm.is-anim{transition:transform .26s cubic-bezier(.2,.9,.2,1)}
.bm--gmp{position:relative;will-change:auto}
.bm__bubble{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;background:rgba(10,14,24,.82);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 26px rgba(0,0,0,.45);backdrop-filter:blur(8px);color:#fff}
body.theme-light .bm__bubble{background:rgba(255,255,255,.92);border-color:rgba(10,14,24,.14);box-shadow:0 10px 26px rgba(0,0,0,.18);color:#0b0e18}
.bm__avatar{width:30px;height:30px;border-radius:999px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;background:rgba(255,255,255,.12);flex:0 0 auto}
body.theme-light .bm__avatar{background:rgba(10,14,24,.06)}
.bm__img{width:100%;height:100%;object-fit:cover;display:block}
.bm__icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.bm__icon svg{width:100%;height:100%;fill:currentColor}
.bm__badge{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(10,14,24,.92);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 12px rgba(0,0,0,.35)}
body.theme-light .bm__badge{background:rgba(255,255,255,.95);border-color:rgba(10,14,24,.18);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.bm__badge svg{width:11px;height:11px;fill:currentColor}
.bm__label{font-weight:900;font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;line-height:1}
.bm__stem{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid rgba(10,14,24,.82);filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
body.theme-light .bm__stem{border-top-color:rgba(255,255,255,.92)}

/* rozšířený režim s fotkou: skryj velkou ikonu uvnitř avatara (zůstává jen malý badge) */
.bm.has-photo.is-expanded .bm__icon{display:none}

/* kompaktní režim: jen ikona/počet, bez textu a bez fotky */
.bm:not(.is-expanded) .bm__label{display:none}
.bm:not(.is-expanded) .bm__bubble{padding:6px}
.bm:not(.is-expanded) .bm__badge{display:none}
.bm:not(.is-expanded) .bm__img{display:none}

/* skupina */
.bm__count{font-weight:1000;font-size:calc(13px * var(--ui-font-scale));line-height:1}
.bm.is-group .bm__avatar{background:rgba(var(--accent-rgb),.22)}
body.theme-light .bm.is-group .bm__avatar{background:rgba(var(--accent-rgb),.14)}
.bm.is-group .bm__label{display:none}
.bm.is-group .bm__stem{display:none}

/* nejbližší: větší balónek */
.bm.is-nearest{z-index:31}
.bm.is-nearest .bm__bubble{padding:8px 12px 8px 8px;border-color:rgba(var(--accent-rgb),.55);box-shadow:0 14px 34px rgba(0,0,0,.55)}
body.theme-light .bm.is-nearest .bm__bubble{border-color:rgba(var(--accent-rgb),.45);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.bm.is-nearest .bm__avatar{width:38px;height:38px}
.bm.is-nearest .bm__label{font-size:calc(13px * var(--ui-font-scale))}


.bm.is-selected .bm__bubble{border-color:rgba(var(--accent-rgb),.65);box-shadow:0 14px 34px rgba(0,0,0,.55)}
body.theme-light .bm.is-selected .bm__bubble{border-color:rgba(var(--accent-rgb),.45);box-shadow:0 14px 34px rgba(0,0,0,.22)}
/* podpora PNG/SVG ikon rolí vložených jako <img> */
.bm__icon img{width:100%;height:100%;display:block;object-fit:cover}
.bm__badge img{width:11px;height:11px;display:block}

/* vybraný subjekt: přepnutí na POI balónek (jen pro role, které mají balónek) */
.bm__balloonWrap{display:none;width:44px;height:44px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35))}
.bm__balloonImg{width:44px;height:44px;display:block}
.bm.is-selected.has-balloon{z-index:32}
.bm.is-selected.has-balloon .bm__bubble,
.bm.is-selected.has-balloon .bm__stem{display:none}
.bm.is-selected.has-balloon .bm__balloonWrap{display:block}

/* =========================
   Modern UI override (2.7.11+)
   Default: světlý motiv (body.theme-light nastavuje JS při startu)
========================= */

html, body { font-family: Inter, var(--font); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-size: 14px; line-height: 1.35; }

/* pozadí */
body{background: radial-gradient(1200px 700px at 12% 0%, rgba(var(--accent-rgb), .18), transparent 60%),
              radial-gradient(900px 520px at 88% 18%, rgba(56,161,105,.14), transparent 55%),
              radial-gradient(880px 540px at 50% 100%, rgba(124,58,237,.10), transparent 55%),
              var(--bg);
}

/* topbar */
.topbar{padding:10px 12px;gap:10px;backdrop-filter:blur(18px) saturate(1.25);border-bottom:1px solid var(--border);box-shadow:0 10px 22px rgba(0,0,0,.18);background:rgba(10,14,24,.40);} 
 
.topbar__left{min-width:unset}
.topbar__nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;flex:1;}
.topbar__right{display:flex;align-items:center;justify-content:flex-end;min-width:92px;}

.brand{gap:10px;padding:7px 12px;border-radius:18px;background:rgba(255,255,255,.06)}
body.theme-light .brand{background:rgba(255,255,255,.65)}
.brand__name{font-weight:600;letter-spacing:.1px}
.brand__badge{font-size:calc(11px * var(--ui-font-scale));font-weight:600;opacity:.9}

.topbarGroup{display:flex;align-items:center;gap:6px;padding:6px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.06);} 
body.theme-light .topbarGroup{background:rgba(255,255,255,.45);} 


/* topbar: mobilní rozbalovací menu (výchozí: skryto) */
#btnTopTools{display:none;}
#topToolsDropdown{display:none;}

@media (max-width: 740px){
  /* Mobil: horní menu bez kolizí, bez přepínače módů (mobil = pouze Karty) */
  .topbar{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "left right"
      "nav nav";
    align-items:center;
    row-gap:8px;
  }
  .topbar__left{grid-area:left;min-width:0;}
  .topbar__right{grid-area:right;min-width:0;}
  .topbar__nav{
    grid-area:nav;
    flex:unset;
    width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
    margin-bottom:-2px;
  }
  .topbar__nav::-webkit-scrollbar{display:none;}
  .topbar__nav .topbarGroup{flex:0 0 auto;}

  /* zmenšení brandu pro mobil */
  .brand__badge{display:none;}
  .brand__name{display:none;}
  .brand__logo{width:84px;height:auto;}

  /* odstranit přepínač módů */
  #btnLayout{display:none!important;}
  #btnLayout2{display:none!important;}

  /* kompaktní auth tlačítka (ikony bez textu) */
  .topbar__right .tbBtn--auth{min-width:44px;width:44px;padding:0;justify-content:center;}
  .topbar__right .tbBtn--auth .tbBtn__label{display:none;}

  /* mobil: rozbalovací menu pro Světlý / Paleta / Reset */
  #btnTopTools{display:flex;}
  #topToolsDropdown{display:flex;}
  .topbar__right .topbarGroup{position:relative;}
  body[data-toptools="1"] #topbarToolsGroup{display:none!important;}

  .tbBtn--more.is-on{background:rgba(var(--accent-rgb), .14);border-color:rgba(var(--accent-rgb), .28);}

  #topToolsDropdown{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:calc(var(--z-cards) + 60);
    flex-direction:column;
    gap:6px;
    padding:6px;
    border-radius:18px;
    border:1px solid var(--border);
    background:rgba(10,14,24,.55);
    backdrop-filter:blur(16px) saturate(1.2);
    box-shadow:0 18px 40px rgba(0,0,0,.35);
    transform-origin:top right;
    transition:opacity .16s ease, transform .16s ease;
  }
  body.theme-light #topToolsDropdown{background:rgba(255,255,255,.78);}

  #topToolsDropdown[aria-hidden="true"]{opacity:0;transform:translateY(-10px);pointer-events:none;}
  #topToolsDropdown[aria-hidden="false"]{opacity:1;transform:translateY(0);pointer-events:auto;}

  #topToolsDropdown .tbBtn{
    width:min(240px, calc(100vw - 24px));
    height:44px;
    flex-direction:row;
    justify-content:flex-start;
    gap:10px;
    padding:0 12px;
    border-radius:16px;
  }
  #topToolsDropdown .tbBtn__label{
    display:block;
    color:var(--fg);
    font-size:calc(12px * var(--ui-font-scale));
    font-weight:800;
  }
}


/* boční menu (mapové nástroje / filtry) */
.sideMenu{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:calc(var(--z-cards) - 10);pointer-events:none;transition:right .22s ease;will-change:right,transform;}
.sideMenu--left{left:14px;right:auto;transition:left .22s ease;will-change:left,transform;}
.sideMenuGroup{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto;}
.sideMenu .topbarGroup{flex-direction:column;}

/* v "menu" layoutu se pravé mapové menu odsune o šířku pravého doku (bez překryvu) */
body[data-layout="menu"] #rightMenu{right:clamp(14px, calc(14px + var(--dock-right-cur, 0px)), calc(100vw - 14px - 72px));}
body.is-dock-resizing #rightMenu{transition:none;}

/* v "menu" layoutu: pravé menu zůstává viditelné; spodní barevná tlačítka (GPS/Oblast) jsou menší */
body[data-layout="menu"] #rightMenu #btnMyLocation,
body[data-layout="menu"] #rightMenu #btnSearchArea{width:60px;height:44px;border-radius:14px;gap:4px;}
body[data-layout="menu"] #rightMenu #btnMyLocation .ico,
body[data-layout="menu"] #rightMenu #btnSearchArea .ico{width:18px;height:18px;}
body[data-layout="menu"] #rightMenu #btnMyLocation .tbBtn__label,
body[data-layout="menu"] #rightMenu #btnSearchArea .tbBtn__label{font-size:calc(9.6px * var(--ui-font-scale));}

/* v "menu" layoutu: levé ikonové menu je vidět jen když je levý dok zatažený */
body[data-layout="menu"] #leftMenu{display:none;left:calc(14px + var(--dock-left-cur, 0px));}
body[data-layout="menu"][data-leftdock-open="0"] #leftMenu{display:block;}

.tbBtn{appearance:none;border:1px solid transparent;background:transparent;color:var(--fg);cursor:pointer;
  width:72px;height:52px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;user-select:none;transition:transform .08s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.tbBtn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);}
body.theme-light .tbBtn:hover{background:rgba(255,255,255,.78);border-color:rgba(10,14,24,.14);box-shadow:0 10px 18px rgba(10,14,24,.10);} 
.tbBtn:active{transform:translateY(1px)}
.tbBtn__ico{display:flex;align-items:center;justify-content:center}
.tbBtn .ico{width:20px;height:20px}
.flagIco{width:24px;height:16px;display:block;border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.18);}
body.theme-light .flagIco{box-shadow:0 0 0 1px rgba(10,14,24,.14);}
.tbBtn__label{font-size:calc(10.5px * var(--ui-font-scale));line-height:1;color:var(--muted);font-weight:600;letter-spacing:.15px}
.tbBtn--link{text-decoration:none}
.tbBtn--toggle.is-on{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .28);} 

/* obecné buttony */
.btn{padding:8px 12px;border-radius:14px;font-weight:600;background:rgba(255,255,255,.08)}
body.theme-light .btn{background:rgba(255,255,255,.70)}
.btn--chip{font-weight:700}
.btn--primary{box-shadow:0 12px 22px rgba(var(--accent-rgb), .24)}

/* karty - glass (v2.7.13) */
.card{border-radius:18px;backdrop-filter:blur(var(--blur)) saturate(var(--sat));background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)), linear-gradient(135deg, rgba(16,22,34,.34), rgba(16,22,34,.18));}
body.theme-light .card{background:linear-gradient(135deg, rgba(var(--glass-rgb), var(--glass-hi)), rgba(var(--glass-rgb), var(--glass-lo)));}

.card__header{padding:calc(10px * var(--ui-density)) calc(12px * var(--ui-density))}
.card__title{font-weight:700;font-size:calc(12.8px * var(--ui-font-scale));letter-spacing:.2px;display:flex;align-items:center;gap:8px;min-width:0}
.card__title .ico{width:16px;height:16px;color:var(--muted)}
.card__body{padding:calc(12px * var(--ui-density))}

/* rider (škálování obsahu karty) */
.card{--card-scale:1}
.cardScaleWrap{display:inline-flex;align-items:center;gap:6px;margin-left:8px;flex:0 0 auto}
.cardScaleRange{width:96px;height:18px;accent-color:rgb(var(--accent-rgb));}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .cardScaleWrap,
.cards-root[data-layout="cards"] .card[data-collapsed="1"] .cardScaleWrap{display:none}
.card[data-has-scale="1"] .card__body{zoom:var(--card-scale)}
@supports not (zoom:1){
  .card[data-has-scale="1"] .card__body{transform:scale(var(--card-scale));transform-origin:0 0}
}

/* ikonová tlačítka */
.iconbtn{width:32px;height:32px;border-radius:12px;background:rgba(255,255,255,.06)}
body.theme-light .iconbtn{background:rgba(255,255,255,.55)}
.iconbtn:hover{background:rgba(255,255,255,.10)}
body.theme-light .iconbtn:hover{background:rgba(255,255,255,.82)}
.iconbtn--sm{width:28px;height:28px;border-radius:10px}

/* inputy */
.input, .textarea, select{border-radius:14px}
.input{padding:9px 10px;font-size:calc(13px * var(--ui-font-scale))}
.textarea{font-size:calc(13px * var(--ui-font-scale))}
label{font-size:calc(12px * var(--ui-font-scale));font-weight:600;color:var(--muted)}

/* tabulky (kompaktní) */
.table{font-size:calc(12.5px * var(--ui-font-scale))}
.table th{font-weight:700;font-size:calc(11.5px * var(--ui-font-scale));letter-spacing:.12px}
.table th,.table td{padding:7px 6px}
.table th,.table td{padding:var(--ui-row-pad-y) var(--ui-row-pad-x)}

.table tbody tr:hover{background:rgba(var(--accent-rgb), .06)}

/* list / tiles */
.list-item{padding:10px 12px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.06)}
body.theme-light .list-item{background:rgba(255,255,255,.55)}
.list-item:hover{border-color:rgba(var(--accent-rgb), .28)}

/* Nejbližší (karta) */
.nearestWrap{display:flex;flex-direction:column;gap:10px;width:100%;max-width:520px;margin:0 auto}
.nearestItem{display:flex;align-items:center;gap:calc(12px * var(--ui-density));padding:calc(10px * var(--ui-density)) calc(12px * var(--ui-density));border-radius:18px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);
}
body.theme-light .nearestItem{background:rgba(255,255,255,.62)}
.nearestItem.is-top{border-color:rgba(var(--accent-rgb), .42);box-shadow:0 18px 30px rgba(var(--accent-rgb), .18)}
.nearestAvatar{position:relative;width:42px;height:42px;border-radius:16px;overflow:hidden;border:1px solid var(--border);
  background:linear-gradient(135deg, rgba(var(--accent-rgb), .28), rgba(255,255,255,.06));
  display:flex;align-items:center;justify-content:center;
}
.nearestAvatar img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAvatar .nearestBadge{position:absolute;right:-7px;bottom:-7px;width:24px;height:24px;border-radius:10px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;background:rgba(10,14,24,.55);backdrop-filter:blur(10px)}
body.theme-light .nearestAvatar .nearestBadge{background:rgba(255,255,255,.78)}
.nearestBadge .ico{width:14px;height:14px}
.nearestMain{flex:1;min-width:0}
.nearestRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nearestName{font-weight:700;font-size:calc(13px * var(--ui-font-scale));line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nearestMeta{margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);
  font-size:calc(11px * var(--ui-font-scale));color:var(--muted);background:rgba(255,255,255,.06)
}
body.theme-light .pill{background:rgba(255,255,255,.65)}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:calc(11px * var(--ui-font-scale));font-weight:700;
  background:rgba(var(--accent-rgb), .16);border:1px solid rgba(var(--accent-rgb), .22);
}

/* Nejbližší - roletky (accordion) */
.nearestAcc{display:flex;flex-direction:column;gap:8px}
.nearestAccItem{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06)}
body.theme-light .nearestAccItem{background:rgba(255,255,255,.62)}
.nearestAccItem:hover{border-color:rgba(var(--accent-rgb), .22)}
.nearestAccItem.is-selected{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 16px 28px rgba(var(--accent-rgb), .16)}
.nearestAccHead{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;user-select:none}
.nearestAccAvatar{width:30px;height:30px;border-radius:999px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg, rgba(var(--accent-rgb), .22), rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.nearestAccAvatar img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAccInitial{font-weight:800;color:var(--text);font-size:calc(12px * var(--ui-font-scale));opacity:.95}
.nearestAccName{flex:1;min-width:0;font-weight:700;font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestAccDist{font-weight:800;font-size:calc(11.5px * var(--ui-font-scale));color:var(--muted);flex:0 0 auto}
.nearestAccChevron{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:transform .12s ease;flex:0 0 auto}
.nearestAccChevron .ico{width:18px;height:18px}
.nearestAccItem.is-open .nearestAccChevron{transform:rotate(180deg)}
.nearestAccBody{display:none;padding:0 12px 12px}
.nearestAccItem.is-open .nearestAccBody{display:block}
.nearestAccBodyInner{display:flex;gap:12px;align-items:stretch}
.nearestAccInfo{flex:1;min-width:0}
.nearestAccFullName{font-weight:800;font-size:calc(13px * var(--ui-font-scale));line-height:1.15;margin:6px 0 6px 0}
.nearestAccMeta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.nearestAccLines{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.nearestAccLine{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.25}
.nearestAccLine .ico{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.nearestAccLine a{color:inherit;text-decoration:none}
.nearestAccLine a:hover{text-decoration:underline}
.nearestAccPhoto{flex:0 0 112px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.nearestAccPhotoBox{width:112px;height:112px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center}
.nearestAccPhotoBox img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAccMiniActions{display:flex;gap:8px;justify-content:center}
.nearestAccMiniBtn{width:34px;height:34px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer}
body.theme-light .nearestAccMiniBtn{background:rgba(255,255,255,.55)}
.nearestAccMiniBtn:hover{border-color:rgba(var(--accent-rgb), .28)}
.nearestAccMiniBtn .ico{width:16px;height:16px}
@media (max-width: 520px){
  .nearestAccBodyInner{flex-direction:column}
  .nearestAccPhoto{flex:0 0 auto;align-items:flex-start}
}

/* Nejbližší (v2: podle referenčních obrázků) */
.nearestActBtn{width:26px;height:26px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;color:inherit}
body.theme-light .nearestActBtn{background:rgba(255,255,255,.55)}
.nearestActBtn:hover{border-color:rgba(var(--accent-rgb), .28)}
.nearestActBtn .ico{width:14px;height:14px}
.nearestActBtn.is-off{opacity:.35;cursor:default}

.nearestStars{display:inline-flex;gap:2px;vertical-align:middle}
.nearestStars__star{display:inline-flex;opacity:.28;transform:translateY(1px)}
.nearestStars__star .ico{width:14px;height:14px}
.nearestStars__star.is-on{opacity:.95}

/* Subjekt (Lékaři/Hygiena/Lékárny): hlavička s akcemi */
.nearestAcc--v2 .nearestAccHead--v2{gap:8px}
.nearestAccActions{display:flex;gap:6px;align-items:center;flex:0 0 auto}
@media (max-width: 520px){
  .nearestAccActions{display:none}
}
.nearestAccBody--v2{padding:0 12px 12px}
.nearestAccV2{display:flex;gap:12px;align-items:stretch}
.nearestAccV2__photo{flex:0 0 96px;width:96px;height:96px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center}
.nearestAccV2__photo img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAccV2__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.nearestAccV2__title{font-weight:900;font-size:calc(13px * var(--ui-font-scale));line-height:1.15}
.nearestAccV2__sub{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));font-weight:800}
.nearestAccV2__line{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.25}
.nearestAccV2__line .ico{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.nearestAccV2__line a{color:inherit;text-decoration:none}
.nearestAccV2__line a:hover{text-decoration:underline}
@media (max-width: 520px){
  .nearestAccV2{flex-direction:column}
  .nearestAccV2__photo{width:100%;height:120px}
}

/* Vše: sloupce + detail dole */
.nearestAllGridV2{display:grid;grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));gap:10px}
.nearestAllColV2{border:1px solid var(--border);border-radius:20px;padding:10px;background:rgba(255,255,255,.04)}
body.theme-light .nearestAllColV2{background:rgba(255,255,255,.20)}
.nearestAllColV2[data-role="dentist"]{box-shadow:inset 0 3px 0 rgba(var(--nearest-route-dentist-rgb, var(--accent-rgb)), .85)}
.nearestAllColV2[data-role="hygiene"]{box-shadow:inset 0 3px 0 rgba(var(--nearest-route-hygiene-rgb, var(--accent-rgb)), .85)}
.nearestAllColV2[data-role="supplier"]{box-shadow:inset 0 3px 0 rgba(var(--nearest-route-supplier-rgb, var(--accent-rgb)), .85)}
.nearestAllColV2[data-role="lab"]{box-shadow:inset 0 3px 0 rgba(var(--nearest-route-lab-rgb, var(--accent-rgb)), .85)}
.nearestAllColV2[data-role="pharmacy"]{box-shadow:inset 0 3px 0 rgba(var(--nearest-route-pharmacy-rgb, var(--accent-rgb)), .85)}
.nearestAllHeadV2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.nearestAllTitleV2{display:flex;align-items:center;gap:8px;font-weight:900;font-size:calc(13px * var(--ui-font-scale))}
.nearestAllTitleV2 .ico{width:16px;height:16px}
.nearestAllListV2{display:flex;flex-direction:column;gap:8px}
.nearestAllRowV2{border:1px solid var(--border);border-radius:18px;padding:9px 10px;background:rgba(255,255,255,.04);cursor:pointer}
body.theme-light .nearestAllRowV2{background:rgba(255,255,255,.20)}
.nearestAllRowV2:hover{border-color:rgba(var(--accent-rgb), .26)}
.nearestAllRowV2.is-selected{border-color:rgba(var(--accent-rgb), .70);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}
.nearestAllRowTopV2{display:flex;align-items:center;gap:8px}
.nearestAllAvatarV2{width:30px;height:30px;border-radius:999px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg, rgba(var(--accent-rgb), .22), rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.nearestAllAvatarV2 img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAllNameV2{flex:1;min-width:0;font-weight:900;font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestAllChevronV2{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);flex:0 0 auto}
.nearestAllChevronV2 .ico{width:18px;height:18px}
.nearestAllBarV2{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.nearestAllBtnsV2{display:flex;gap:6px;align-items:center}
.nearestAllDistV2{font-weight:900;font-size:calc(11.5px * var(--ui-font-scale));color:var(--muted);flex:0 0 auto}

.nearestAllDetailV2{margin-top:10px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.06)}
body.theme-light .nearestAllDetailV2{background:rgba(255,255,255,.62)}
.nearestAllDetailHeadV2{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,.02))}
body.theme-light .nearestAllDetailHeadV2{background:linear-gradient(to bottom, rgba(10,14,24,.04), rgba(10,14,24,.01))}
.nearestAllDetailTitleV2{display:flex;align-items:center;gap:10px;min-width:0}
.nearestAllDetailDotV2{width:30px;height:30px;border-radius:12px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06)}
body.theme-light .nearestAllDetailDotV2{background:rgba(255,255,255,.55)}
.nearestAllDetailDotV2 .ico{width:16px;height:16px}
.nearestAllDetailNameV2{font-weight:900;font-size:calc(13px * var(--ui-font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestAllDetailCloseV2{width:32px;height:32px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer}
body.theme-light .nearestAllDetailCloseV2{background:rgba(255,255,255,.55)}
.nearestAllDetailCloseV2 .ico{width:18px;height:18px;transform:rotate(180deg)}
.nearestAllDetailBodyV2{display:flex;gap:12px;padding:12px}
.nearestAllDetailPhotoV2{flex:0 0 116px;width:116px;height:116px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center}
.nearestAllDetailPhotoV2 img{width:100%;height:100%;object-fit:cover;display:block}
.nearestAllDetailInfoV2{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.nearestAllDetailLineV2{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.25}
.nearestAllDetailLineV2 .ico{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.nearestAllDetailActsV2{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.nearestAllDetailLineV2 a{color:inherit;text-decoration:none}
.nearestAllDetailLineV2 a:hover{text-decoration:underline}
@media (max-width: 520px){
  .nearestAllDetailBodyV2{flex-direction:column}
  .nearestAllDetailPhotoV2{width:100%;height:140px}
}

/* dok */
.dock{border-radius:20px;backdrop-filter:blur(18px) saturate(1.25);background:rgba(10,14,24,.45)}
body.theme-light .dock{background:rgba(255,255,255,.62)}
.dock__btn{border-radius:16px}

/* auth stránky */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:transparent}
.auth__card{width:min(520px, 100%);border-radius:22px;border:1px solid var(--border);box-shadow:var(--shadow);
  background:rgba(255,255,255,.62);backdrop-filter:blur(18px) saturate(1.2);padding:18px
}
body:not(.theme-light) .auth__card{background:rgba(17,26,42,.78)}
.auth__title{font-weight:800;font-size:calc(18px * var(--ui-font-scale));letter-spacing:.2px;margin-bottom:10px}
.auth__err{border:1px solid rgba(229,62,62,.35);background:rgba(229,62,62,.12);padding:10px 12px;border-radius:16px;margin-bottom:12px}

.pill .ico{width:14px;height:14px}
.nearestInitial{font-weight:900;font-size:calc(18px * var(--ui-font-scale));letter-spacing:.2px;color:var(--fg);opacity:.95}
.nearestHero__media .nearestInitial{font-size:calc(34px * var(--ui-font-scale))}
.nearestTile__avatar .nearestInitial{font-size:calc(22px * var(--ui-font-scale))}
.auth__ok{border:1px solid rgba(56,161,105,.35);background:rgba(56,161,105,.12);padding:10px 12px;border-radius:16px;margin-bottom:12px}
.authPassWrap{position:relative}
.authPassWrap .input{padding-right:44px}
.authPassInput::-ms-reveal,.authPassInput::-ms-clear{display:none}
.authPassToggle{
  position:absolute;
  right:8px;
  top:50%;
  width:30px;
  height:30px;
  margin:0;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:rgba(255,255,255,.68);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:10px;
}
body.theme-light .authPassToggle{color:rgba(16,22,34,.64)}
.authPassToggle:hover{background:rgba(255,255,255,.08);color:var(--fg)}
body.theme-light .authPassToggle:hover{background:rgba(16,22,34,.06)}
.authPassToggle.is-on{color:rgb(var(--accent-rgb))}
.authPassToggle__ico{width:18px;height:18px;display:block}


/* === v2.7.13 glass overhaul === */
.topbar{background:linear-gradient(to bottom, rgba(10,14,24,.22), rgba(10,14,24,.04));backdrop-filter:blur(var(--blur)) saturate(var(--sat));}

.brand{background:rgba(255,255,255,.06);backdrop-filter:blur(var(--blur)) saturate(var(--sat));}
body.theme-light .brand{background:rgba(255,255,255,.28);}
.card{background:linear-gradient(135deg, rgba(16,22,34,.30), rgba(16,22,34,.18));backdrop-filter:blur(var(--blur)) saturate(var(--sat));}
body.theme-light .card{background:linear-gradient(135deg, rgba(255,255,255,.32), rgba(255,255,255,.20));}
.card__header{background:linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,0));}
body.theme-light .card__header{background:linear-gradient(to bottom, rgba(255,255,255,.32), rgba(255,255,255,0));}
.cards-root[data-layout="menu"]{background:linear-gradient(to bottom, rgba(10,14,24,.20), rgba(10,14,24,.08));backdrop-filter:blur(var(--blur)) saturate(var(--sat));}
body.theme-light .cards-root[data-layout="menu"]{background:linear-gradient(to bottom, rgba(255,255,255,.30), rgba(255,255,255,.14));}
.cards-root[data-layout="cards"] .cards-dock{background:linear-gradient(to top, rgba(16,22,34,.30), rgba(16,22,34,.14));backdrop-filter:blur(calc(var(--blur) + 4px)) saturate(var(--sat));}
body.theme-light .cards-root[data-layout="cards"] .cards-dock{background:linear-gradient(to top, rgba(255,255,255,.32), rgba(255,255,255,.16));}
.cards-root[data-layout="cards"] .cards-dock .card{background:linear-gradient(135deg, rgba(16,22,34,.26), rgba(16,22,34,.16));}
body.theme-light .cards-root[data-layout="cards"] .cards-dock .card{background:linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.18));}
.modal{background:linear-gradient(135deg, rgba(16,22,34,.40), rgba(16,22,34,.22));backdrop-filter:blur(calc(var(--blur) + 6px)) saturate(var(--sat));}
body.theme-light .modal{background:linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,255,255,.24));}
.dropdown__panel,.paletteDropdown{background:linear-gradient(135deg, rgba(16,22,34,.44), rgba(16,22,34,.22));backdrop-filter:blur(calc(var(--blur) + 8px)) saturate(var(--sat));}
body.theme-light .dropdown__panel,body.theme-light .paletteDropdown{background:linear-gradient(135deg, rgba(255,255,255,.46), rgba(255,255,255,.22));}
.btn{background:rgba(255,255,255,.08);} body.theme-light .btn{background:rgba(255,255,255,.30);}
.btn:hover{background:rgba(255,255,255,.12);} body.theme-light .btn:hover{background:rgba(255,255,255,.42);}
.iconbtn{background:rgba(255,255,255,.06);} body.theme-light .iconbtn{background:rgba(255,255,255,.24);}
.iconbtn:hover{background:rgba(255,255,255,.12);} body.theme-light .iconbtn:hover{background:rgba(255,255,255,.40);}
.list-item,.notif,.chatFav,.msg__bubble{background:rgba(255,255,255,.06);}
body.theme-light .list-item,body.theme-light .notif,body.theme-light .chatFav,body.theme-light .msg__bubble{background:rgba(255,255,255,.22);}
.bm__bubble{background:rgba(10,14,24,.56);border-color:rgba(255,255,255,.16);backdrop-filter:blur(10px) saturate(1.2);}
body.theme-light .bm__bubble{background:rgba(255,255,255,.62);border-color:rgba(10,14,24,.14);}

/* paleta UI */
.paletteHead{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.paletteTitle{font-weight:800;font-size:calc(12px * var(--ui-font-scale));letter-spacing:.08em;text-transform:uppercase}
.paletteSub{font-size:calc(12px * var(--ui-font-scale));color:var(--muted)}
.paletteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.paletteSwatch{width:100%;height:auto;min-height:54px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;cursor:pointer}
body.theme-light .paletteSwatch{background:rgba(255,255,255,.20)}
.paletteSwatch__dot{width:20px;height:20px;border-radius:999px;background:var(--sw);box-shadow:0 10px 20px rgba(0,0,0,.22)}
body.theme-light .paletteSwatch__dot{box-shadow:0 10px 18px rgba(10,14,24,.12)}
.paletteSwatch__label{font-size:calc(11px * var(--ui-font-scale));font-weight:700;color:var(--muted)}
.paletteDropdown[data-accent="#2b6cb0"] .paletteSwatch[data-accent="#2b6cb0"],
.paletteDropdown[data-accent="#2f855a"] .paletteSwatch[data-accent="#2f855a"],
.paletteDropdown[data-accent="#b83280"] .paletteSwatch[data-accent="#b83280"],
.paletteDropdown[data-accent="#c05621"] .paletteSwatch[data-accent="#c05621"],
.paletteDropdown[data-accent="#9b2c2c"] .paletteSwatch[data-accent="#9b2c2c"],
.paletteDropdown[data-accent="#2c7a7b"] .paletteSwatch[data-accent="#2c7a7b"]{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px}
.paletteCustomRow{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.paletteCustomRow .paletteCustom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}
.paletteCustomRow .paletteCustom span{font-size:calc(12px * var(--ui-font-scale));color:var(--muted);font-weight:700}
.paletteCustomRow .paletteCustom input{width:44px;height:34px;border:0;background:transparent;padding:0}

/* Nejbližší: hero + tiles */
.nearestWrap{display:flex;flex-direction:column;gap:12px}
.nearestHero{border:1px solid rgba(var(--accent-rgb), .28);border-radius:20px;overflow:hidden;background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), rgba(255,255,255,.04));}
body.theme-light .nearestHero{background:linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(255,255,255,.24));}
.nearestHero.is-selected{border-color:rgba(var(--accent-rgb), .70);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}
.nearestHero__top{display:flex;gap:12px;padding:12px}
.nearestHero__media{width:92px;height:92px;border-radius:22px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.06);flex:0 0 auto;position:relative}
.nearestHero__media img{width:100%;height:100%;object-fit:cover;display:block}
.nearestHero__badge{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:14px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:rgba(10,14,24,.44);backdrop-filter:blur(10px)}
body.theme-light .nearestHero__badge{background:rgba(255,255,255,.52)}
.nearestHero__badge .ico{width:18px;height:18px}
.nearestHero__info{flex:1;min-width:0}
.nearestHero__nameRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nearestHero__name{font-weight:800;font-size:calc(15px * var(--ui-font-scale));line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestHero__meta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.nearestHero__addr{margin-top:8px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.35;display:flex;gap:8px;align-items:flex-start}
.nearestHero__addr .ico{width:14px;height:14px;margin-top:2px;color:var(--muted)}
.nearestHero__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.aBtn{appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.08);color:var(--fg);padding:9px 10px;border-radius:14px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:8px}
body.theme-light .aBtn{background:rgba(255,255,255,.24)}
.aBtn--primary{background:rgba(var(--accent-rgb), .22);border-color:rgba(var(--accent-rgb), .32)}
.aBtn .ico{width:16px;height:16px}
.nearestTiles{display:flex;flex-direction:column;gap:10px}
.nearestTile{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.05)}
body.theme-light .nearestTile{background:rgba(255,255,255,.20)}
.nearestTile:hover{border-color:rgba(var(--accent-rgb), .26)}
.nearestTile.is-selected{border-color:rgba(var(--accent-rgb), .70);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}
.nearestTile__avatar{width:48px;height:48px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.06);position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.nearestTile__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.nearestTile__badge{position:absolute;right:-6px;bottom:-6px;width:26px;height:26px;border-radius:12px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:rgba(10,14,24,.44);backdrop-filter:blur(10px)}
body.theme-light .nearestTile__badge{background:rgba(255,255,255,.52)}
.nearestTile__badge .ico{width:14px;height:14px}
.nearestTile__main{flex:1;min-width:0}
.nearestTile__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nearestTile__name{font-weight:800;font-size:calc(13.5px * var(--ui-font-scale));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestTile__sub{margin-top:5px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestTile__meta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}

.nearestAllGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width: 640px){.nearestAllGrid{grid-template-columns:1fr}}

/* index: Nejbližší / Vše = 3 sloupce (dentist + hygiene + pharmacy) */
body[data-page="index"] .nearestAllGrid{grid-template-columns:repeat(3,1fr)}
@media (max-width: 980px){body[data-page="index"] .nearestAllGrid{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){body[data-page="index"] .nearestAllGrid{grid-template-columns:1fr}}
.nearestAllCol{border:1px solid var(--border);border-radius:20px;padding:10px;background:rgba(255,255,255,.04)}
body.theme-light .nearestAllCol{background:rgba(255,255,255,.20)}
.nearestAllHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.nearestAllTitle{display:flex;align-items:center;gap:8px;font-weight:800;font-size:calc(13.5px * var(--ui-font-scale));line-height:1.2}
.nearestAllTitle .ico{width:16px;height:16px}
.nearestAllList{display:flex;flex-direction:column;gap:8px}
.nearestAllRow{padding:9px 10px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.04);cursor:pointer}
body.theme-light .nearestAllRow{background:rgba(255,255,255,.20)}
.nearestAllRow:hover{border-color:rgba(var(--accent-rgb), .26)}
.nearestAllRow.is-selected{border-color:rgba(var(--accent-rgb), .70);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}
.nearestAllRow__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nearestAllRow__name{font-weight:800;font-size:calc(13px * var(--ui-font-scale));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestAllRow__addr{margin-top:5px;color:var(--muted);font-size:calc(11.5px * var(--ui-font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.miniPill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:calc(11px * var(--ui-font-scale));color:var(--muted);background:rgba(255,255,255,.06)}
body.theme-light .miniPill{background:rgba(255,255,255,.22)}
.miniPill .ico{width:13px;height:13px}

/* Nejbližší: výpis v mřížce (index) */
.nearestRoleGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width: 640px){.nearestRoleGrid{grid-template-columns:1fr}}

.nearestCard{border:1px solid var(--border);border-radius:22px;padding:12px;background:rgba(255,255,255,.05);cursor:pointer;display:flex;flex-direction:column;gap:10px;height:100%}
body.theme-light .nearestCard{background:rgba(255,255,255,.20)}
.nearestCard:hover{border-color:rgba(var(--accent-rgb), .26)}
.nearestCard.is-selected{border-color:rgba(var(--accent-rgb), .70);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}

.nearestCard__head{display:flex;align-items:flex-start;gap:10px}
.nearestCard[data-role="dentist"]{--nearest-card-rgb:var(--nearest-route-dentist-rgb)}
.nearestCard[data-role="hygiene"]{--nearest-card-rgb:var(--nearest-route-hygiene-rgb)}
.nearestCard[data-role="supplier"]{--nearest-card-rgb:var(--nearest-route-supplier-rgb)}
.nearestCard[data-role="lab"]{--nearest-card-rgb:var(--nearest-route-lab-rgb)}
.nearestCard[data-role="pharmacy"]{--nearest-card-rgb:var(--nearest-route-pharmacy-rgb)}
.nearestCard__avatar{width:74px;height:74px;border-radius:22px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.06);position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.nearestCard__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.nearestCard__badge{position:absolute;right:-7px;bottom:-7px;width:32px;height:32px;border-radius:14px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:rgba(var(--nearest-card-rgb, var(--accent-rgb)), .28);backdrop-filter:blur(10px)}
body.theme-light .nearestCard__badge{background:rgba(var(--nearest-card-rgb, 255,255,255), .18)}
.nearestCard__badge .ico{width:16px;height:16px}

.nearestCard__main{flex:1;min-width:0}
.nearestCard__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nearestCard__name{font-weight:800;font-size:calc(13.5px * var(--ui-font-scale));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearestCard__meta{margin-top:6px;display:flex;gap:8px;row-gap:6px;flex-wrap:wrap}

.nearestCard__addr{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.35;display:flex;gap:8px;align-items:flex-start}
.nearestCard__addr .ico{width:14px;height:14px;margin-top:2px;color:var(--muted)}

.nearestCard__lines{display:flex;flex-direction:column;gap:4px;flex:1}
.nearestCard__line{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.35;display:flex;gap:8px;align-items:flex-start}
.nearestCard__line .ico{width:14px;height:14px;margin-top:2px;color:var(--muted)}
.nearestCard__line a{color:inherit;text-decoration:none}
.nearestCard__line a:hover{text-decoration:underline}

.nearestCard__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}


/* v2.7.13 GLASS OVERHAUL */

.topbar{background:linear-gradient(to bottom, rgba(var(--topbar-rgb), var(--topbar-a1)), rgba(var(--topbar-rgb), var(--topbar-a2)));backdrop-filter:blur(var(--blur)) saturate(var(--sat));border-bottom:1px solid rgba(255,255,255,.10)}
body.theme-light .topbar{background:linear-gradient(to bottom, rgba(255,255,255,.22), rgba(255,255,255,.08));border-bottom:1px solid rgba(10,14,24,.10)}

.brand{background:rgba(255,255,255,.06);backdrop-filter:blur(calc(var(--blur) - 6px)) saturate(var(--sat));}
body.theme-light .brand{background:rgba(255,255,255,.26);}

.tbBtn{border:1px solid var(--border);background:rgba(255,255,255,.06);backdrop-filter:blur(calc(var(--blur) - 8px)) saturate(var(--sat));transition:transform .12s ease, background .12s ease, border-color .12s ease}
body.theme-light .tbBtn{background:rgba(255,255,255,.28)}
.tbBtn:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb), .28)}
.tbBtn:active{transform:translateY(0px)}

.dropdown__panel,.paletteDropdown,.modal{backdrop-filter:blur(var(--blur)) saturate(var(--sat));}

.cards-root[data-layout="menu"]{background:linear-gradient(to bottom, rgba(16,22,34,.22), rgba(16,22,34,.10));backdrop-filter:blur(var(--blur)) saturate(var(--sat));}
body.theme-light .cards-root[data-layout="menu"]{background:linear-gradient(to bottom, rgba(255,255,255,.26), rgba(255,255,255,.14));}

.cards-root[data-layout="cards"] .cards-dock{background:linear-gradient(to top, rgba(16,22,34,.22), rgba(16,22,34,.10));backdrop-filter:blur(var(--blur)) saturate(var(--sat));}
body.theme-light .cards-root[data-layout="cards"] .cards-dock{background:linear-gradient(to top, rgba(255,255,255,.26), rgba(255,255,255,.14));}

.card__header{background:linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,.01));}
body.theme-light .card__header{background:linear-gradient(to bottom, rgba(10,14,24,.06), rgba(10,14,24,.01));}

.list-item,.notif,.chatFav,.msg__bubble,.chat__search{background:rgba(255,255,255,.05);backdrop-filter:blur(calc(var(--blur) - 10px)) saturate(var(--sat));}
body.theme-light .list-item,body.theme-light .notif,body.theme-light .chatFav,body.theme-light .msg__bubble,body.theme-light .chat__search{background:rgba(255,255,255,.30);}

.table tbody tr:hover{background:rgba(var(--accent-rgb), .05)}

/* marker bubbles: more glass */
.bm__bubble{background:rgba(16,22,34,.52)!important;border-color:rgba(255,255,255,.14)!important;backdrop-filter:blur(calc(var(--blur) - 8px)) saturate(var(--sat))!important}
body.theme-light .bm__bubble{background:rgba(255,255,255,.62)!important;border-color:rgba(10,14,24,.12)!important}

/* === v2.7.14: čitelnější sklo + kompaktní UI === */
:root{
  --blur:10px;
  --sat:1.15;
}

/* menší typografie a spacing */
body{font-size:calc(13px * var(--ui-font-scale));}
.card__title{font-size:calc(12px * var(--ui-font-scale));}
.card__body{padding:8px;}
.field{gap:5px;margin:6px 0}
.field label{font-size:calc(11px * var(--ui-font-scale));color:var(--muted);font-weight:700;letter-spacing:.02em}
.input,.textarea,.select{padding:7px 9px;border-radius:12px;font-size:calc(12px * var(--ui-font-scale))}
.btn{padding:7px 9px;border-radius:12px;font-size:calc(12px * var(--ui-font-scale))}
.btn--chip{padding:6px 9px;font-size:calc(11px * var(--ui-font-scale))}
.iconbtn{width:30px;height:30px;border-radius:10px}
.list{gap:7px}
.list-item{padding:8px;border-radius:14px}
.divider{margin:10px 0}

/* sklo: méně rozostření, více průhledu + accent tint */
.topbar{
  background:
    radial-gradient(900px 260px at 16% 0%, rgba(var(--accent-rgb), .16), transparent 62%),
    linear-gradient(to bottom, rgba(16,22,34,.14), rgba(16,22,34,.06));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}


.card{
  background:
    radial-gradient(1000px 360px at 18% 0%, rgba(var(--accent-rgb), .14), transparent 60%),
    linear-gradient(135deg, rgba(16,22,34,.16), rgba(16,22,34,.08));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}
body.theme-light .card{
  background:
    radial-gradient(1000px 360px at 18% 0%, rgba(var(--accent-rgb), .08), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.12));
}

.cards-root[data-layout="menu"]{
  background:
    radial-gradient(1000px 360px at 18% 0%, rgba(var(--accent-rgb), .14), transparent 60%),
    linear-gradient(to bottom, rgba(16,22,34,.12), rgba(16,22,34,.05));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}
body.theme-light .cards-root[data-layout="menu"]{
  background:
    radial-gradient(1000px 360px at 18% 0%, rgba(var(--accent-rgb), .08), transparent 60%),
    linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,.08));
}

.cards-root[data-layout="cards"] .cards-dock{
  background:
    radial-gradient(1000px 340px at 18% 100%, rgba(var(--accent-rgb), .14), transparent 60%),
    linear-gradient(to top, rgba(16,22,34,.12), rgba(16,22,34,.05));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}
body.theme-light .cards-root[data-layout="cards"] .cards-dock{
  background:
    radial-gradient(1000px 340px at 18% 100%, rgba(var(--accent-rgb), .08), transparent 60%),
    linear-gradient(to top, rgba(255,255,255,.18), rgba(255,255,255,.08));
}

.dropdown__panel,.paletteDropdown,.modal{
  backdrop-filter:blur(calc(var(--blur) + 2px)) saturate(var(--sat));
}

/* marker bubbles: čitelnější (méně blur) */
.bm__bubble{backdrop-filter:blur(6px) saturate(var(--sat))!important}

/* paleta: malé okénko + mini náhledy */
.paletteDropdown{min-width:190px;padding:10px;width:400px;max-width:calc(100vw - 24px);max-height:calc(100vh - 80px);overflow:auto}
.paletteHead--mini{margin-bottom:8px}
.paletteGrid--mini{grid-template-columns:repeat(6, 1fr);gap:6px}
.paletteSwatch--mini{
  min-height:34px;height:34px;padding:0;border-radius:12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--sw), transparent);
  position:relative;
}
body.theme-light .paletteSwatch--mini{
  background:
    linear-gradient(135deg, rgba(10,14,24,.06), rgba(10,14,24,0)),
    linear-gradient(135deg, var(--sw), transparent);
}
.paletteSwatch--mini::after{
  content:'';
  position:absolute;inset:1px;border-radius:11px;
  background:
    radial-gradient(18px 18px at 22% 24%, rgba(255,255,255,.28), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  pointer-events:none;
}
body.theme-light .paletteSwatch--mini::after{
  background:
    radial-gradient(18px 18px at 22% 24%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0));
}
.paletteCustomRow--mini{margin-top:10px}
.paletteCustom--mini span{font-size:calc(11px * var(--ui-font-scale));font-weight:800}
.paletteCustom--mini input{width:44px;height:28px}

/* Nejbližší: přepínač role (lékař/hygiena/...) */
.nearestTop{margin-bottom:10px}
.nearestTopRow{display:flex;gap:8px;align-items:center}
.nearestTopRow .segRow{flex:1;min-width:0}
.nearestTools{display:flex;gap:6px;flex:0 0 auto}
.nearestTools .iconbtn--sm{width:28px;height:28px;border-radius:10px}
.nearestSearchRow{margin-top:8px;display:flex;gap:8px;align-items:center}
.nearestSearchRow .input{flex:1;min-width:0}
.nearestSearchRow .iconbtn--sm{width:30px;height:30px}
.segRow{display:flex;gap:8px;align-items:center}
.segBtn{
  appearance:none;cursor:pointer;flex:1 1 0;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:6px 8px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--fg);
}
body.theme-light .segBtn{background:rgba(255,255,255,.22)}
.segBtn:hover{border-color:rgba(var(--accent-rgb), .28)}
.segBtn.is-on{
  background:rgba(var(--accent-rgb), .14);
  border-color:rgba(var(--accent-rgb), .40);
}
.segBtn .ico{width:16px;height:16px}
.segBtn .roleIco{width:16px;height:16px;flex:0 0 16px;display:inline-block;object-fit:contain}
.segLabel{font-size:calc(11px * var(--ui-font-scale));font-weight:900;color:var(--fg);letter-spacing:.01em}
.segDots{display:flex;gap:4px;align-items:center;margin-left:2px}
.segDot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.16) inset}
body.theme-light .segDot{box-shadow:0 0 0 1px rgba(10,14,24,.14) inset}

.segDot[data-role="dentist"]{background:rgba(var(--nearest-route-dentist-rgb, var(--accent-rgb)), 1)}
.segDot[data-role="hygiene"]{background:rgba(var(--nearest-route-hygiene-rgb, var(--accent-rgb)), 1)}
.segDot[data-role="supplier"]{background:rgba(var(--nearest-route-supplier-rgb, var(--accent-rgb)), 1)}
.segDot[data-role="lab"]{background:rgba(var(--nearest-route-lab-rgb, var(--accent-rgb)), 1)}
.segDot[data-role="pharmacy"]{background:rgba(var(--nearest-route-pharmacy-rgb, var(--accent-rgb)), 1)}

.roleDot{width:10px;height:10px;border-radius:999px;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.16) inset}
body.theme-light .roleDot{box-shadow:0 0 0 1px rgba(10,14,24,.14) inset}
.roleDot[data-role="dentist"]{background:rgba(var(--nearest-route-dentist-rgb, var(--accent-rgb)), 1)}
.roleDot[data-role="hygiene"]{background:rgba(var(--nearest-route-hygiene-rgb, var(--accent-rgb)), 1)}
.roleDot[data-role="supplier"]{background:rgba(var(--nearest-route-supplier-rgb, var(--accent-rgb)), 1)}
.roleDot[data-role="lab"]{background:rgba(var(--nearest-route-lab-rgb, var(--accent-rgb)), 1)}
.roleDot[data-role="pharmacy"]{background:rgba(var(--nearest-route-pharmacy-rgb, var(--accent-rgb)), 1)}

.nearestAllCol{position:relative}
.nearestAllCol[data-role="dentist"]{--nearest-col-rgb:var(--nearest-route-dentist-rgb)}
.nearestAllCol[data-role="hygiene"]{--nearest-col-rgb:var(--nearest-route-hygiene-rgb)}
.nearestAllCol[data-role="supplier"]{--nearest-col-rgb:var(--nearest-route-supplier-rgb)}
.nearestAllCol[data-role="lab"]{--nearest-col-rgb:var(--nearest-route-lab-rgb)}
.nearestAllCol[data-role="pharmacy"]{--nearest-col-rgb:var(--nearest-route-pharmacy-rgb)}
.nearestAllCol[data-role]{box-shadow:inset 0 3px 0 rgba(var(--nearest-col-rgb, var(--accent-rgb)), .85)}
.segCount{
  display:none;
  margin-left:2px;
  padding:2px 7px;
  border-radius:999px;
  font-size:calc(10px * var(--ui-font-scale));
  font-weight:900;
  border:1px solid rgba(var(--accent-rgb), .35);
  background:rgba(var(--accent-rgb), .12);
  color:var(--fg);
}

/* Nejbližší: kompaktnější hero + tiles */
.nearestHero__top{padding:10px;gap:10px}
.nearestHero__media{width:74px;height:74px;border-radius:18px}
.nearestHero__name{font-size:calc(14px * var(--ui-font-scale))}
.nearestHero__meta{gap:6px;margin-top:6px}
.nearestHero__actions{gap:8px;margin-top:10px}
.aBtn{padding:8px 9px;border-radius:14px}
.aBtn .ico{width:16px;height:16px}
.nearestTile{padding:9px 10px;border-radius:16px;gap:10px}
.nearestTile__avatar{width:44px;height:44px;border-radius:16px}
.nearestTile__name{font-size:calc(13px * var(--ui-font-scale))}
.nearestTile__sub{font-size:calc(11.5px * var(--ui-font-scale))}
.nearestTile__meta{gap:6px;margin-top:6px}
.miniPill{padding:3px 7px;font-size:calc(10.5px * var(--ui-font-scale))}
.miniPill .ico{width:12px;height:12px}

/* =========================
   UI factory palette (2.7.19)
   - jas/kontrast, globální rohy, tlačítka/ikony, font
========================= */

:root{
  --ui-bright:1;
  --ui-contrast:1;
  --ui-font-weight:300;
  --btn-scale:1;
  --btn-fill-a:.08;
  --btn-border-a:.14;
  --btn-rgb:255,255,255;
  --btn-border-rgb:255,255,255;
  --radius-sm:14px;
  --radius-xs:12px;
  --radius-xxs:10px;
  --radius-lg:22px;
}

html, body{font-family:var(--font);}
body{font-weight:var(--ui-font-weight);}

/* jas/kontrast pouze na UI vrstvách (ne na mapě) */
.topbar,
.card,
.group-panel,
.dock,
.modal,
.toast,
.tooltip,
.paletteDropdown,
.dropdown__panel{
  filter:brightness(var(--ui-bright)) contrast(var(--ui-contrast));
}

/* globální rohy */
.card,
.paletteDropdown,
.dropdown__panel{border-radius:var(--radius);}
.modal,
.group-panel,
.dock,
.loading-box{border-radius:var(--r2);}

.btn,
.input,
.textarea,
.select,
select,
.chat__search,
.chatFav,
.msg__bubble,
.list-item,
.notif,
.entity-card,
.tooltip,
.toast,
.nearestItem,
.nearestHero,
.nearestTile,
.auth__card,
.auth__err,
.auth__ok{border-radius:var(--radius-sm);}

.iconbtn,
.chip__x,
.card__resizer,
.nearestAvatar .nearestBadge,
.nearestHero__badge,
.nearestTile__badge{border-radius:var(--radius-xs);}

.nearestAvatar,
.nearestHero__media,
.nearestTile__avatar{border-radius:calc(var(--radius-sm) + 2px);}

.dock__btn{border-radius:calc(var(--radius-sm) + 2px);}

/* tlačítka (škálování + styl) */
.tbBtn{width:calc(72px * var(--btn-scale));height:calc(52px * var(--btn-scale));border-radius:var(--radius-sm);}
.tbBtn.tbBtn--auth{
  width:auto;
  min-width:unset;
  height:calc(40px * var(--btn-scale));
  padding:0 calc(12px * var(--btn-scale));
  flex-direction:row;
  gap:calc(8px * var(--btn-scale));
}
.tbBtn.tbBtn--auth .tbBtn__label{font-size:calc(12px * var(--ui-font-scale));color:var(--fg);font-weight:700;white-space:nowrap}

/* jazykový přepínač v horním menu: kompaktnější výška */
.tbBtn.tbBtn--lang{
  width:calc(48px * var(--btn-scale));
  height:calc(40px * var(--btn-scale));
  padding:0;
  gap:0;
}
.btn{padding:calc(8px * var(--btn-scale)) calc(12px * var(--btn-scale));border-radius:var(--radius-sm);}
.aBtn{border-radius:var(--radius-sm);}

body[data-btn-style="glass"] .btn,
body[data-btn-style="glass"] .aBtn,
body[data-btn-style="glass"] .tbBtn,
body[data-btn-style="glass"] .iconbtn,
body[data-btn-style="glass"] .chip{
  background:rgba(var(--btn-rgb, 255,255,255), var(--btn-fill-a));
  border-color:rgba(var(--btn-border-rgb, 255,255,255), var(--btn-border-a));
}
body.theme-light[data-btn-style="glass"] .btn,
body.theme-light[data-btn-style="glass"] .aBtn,
body.theme-light[data-btn-style="glass"] .tbBtn,
body.theme-light[data-btn-style="glass"] .iconbtn,
body.theme-light[data-btn-style="glass"] .chip{
  background:rgba(var(--btn-rgb, 255,255,255), var(--btn-fill-a));
  border-color:rgba(var(--btn-border-rgb, 10,14,24), var(--btn-border-a));
}

body[data-btn-style="outline"] .btn,
body[data-btn-style="outline"] .aBtn,
body[data-btn-style="outline"] .tbBtn,
body[data-btn-style="outline"] .iconbtn,
body[data-btn-style="outline"] .chip{
  background:transparent;
  border-color:rgba(var(--accent-rgb), calc(var(--btn-border-a) + .08));
}

body[data-btn-style="solid"] .btn{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .38);}
body[data-btn-style="solid"] .btn--primary{background:var(--accent);border-color:rgba(0,0,0,0);color:#fff;}
body[data-btn-style="solid"] .tbBtn{background:rgba(var(--accent-rgb), .10);border-color:rgba(var(--accent-rgb), .22);}

/* ikony */
body[data-ico="accent"] .tbBtn__ico,
body[data-ico="accent"] .btn .ico,
body[data-ico="accent"] .aBtn .ico,
body[data-ico="accent"] .iconbtn .ico,
body[data-ico="accent"] .card__title .ico,
body[data-ico="accent"] .nearestBadge .ico{color:var(--accent);}

body[data-ico="muted"] .tbBtn__ico,
body[data-ico="muted"] .btn .ico,
body[data-ico="muted"] .aBtn .ico,
body[data-ico="muted"] .iconbtn .ico,
body[data-ico="muted"] .card__title .ico,
body[data-ico="muted"] .nearestBadge .ico{color:var(--muted);}

/* paleta – nové prvky */
.palChips{display:flex;flex-wrap:wrap;gap:8px}
.palChip{appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.06);color:var(--fg);border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:900;font-size:calc(12px * var(--ui-font-scale));letter-spacing:.08px}
body.theme-light .palChip{background:rgba(255,255,255,.55)}
.palChip:hover{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 10px 18px rgba(var(--accent-rgb), .12)}
.palChip.is-on{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .40)}

.palField{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.palField:last-child{margin-bottom:0}
.palField__label{font-weight:900}

.palSelect{width:180px;max-width:52%;border:1px solid var(--border);background:rgba(0,0,0,.10);color:var(--fg);border-radius:var(--radius-sm);padding:9px 10px;outline:none;font-weight:800;font-size:calc(12.5px * var(--ui-font-scale))}
body.theme-light .palSelect{background:rgba(255,255,255,.55)}

.paletteCustomRow{gap:8px;justify-content:space-between}
.paletteCustom--mini{gap:8px}
.paletteCustom--mini span{font-weight:900}
.paletteCustom--mini input{width:40px;height:28px}

.paletteCustomHex{display:flex;align-items:center}
.palHex{width:120px;max-width:48%;border:1px solid var(--border);background:rgba(0,0,0,.10);color:var(--fg);border-radius:var(--radius-sm);padding:8px 10px;outline:none;font-weight:900;letter-spacing:.1px;font-size:calc(12.5px * var(--ui-font-scale));text-transform:uppercase}
body.theme-light .palHex{background:rgba(255,255,255,.55)}

.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.paletteSwatch{border-radius:var(--radius-xs)}

.topbarGroup{border-radius:var(--radius)}
.brand{border-radius:var(--radius)}
.avatar{border-radius:var(--radius)}

/* globální zaoblení – jednotné */
.btn,.aBtn,.tbBtn,.iconbtn,select,.input,.textarea,.palSelect,.palHex,.nearestItem,.nearestTile,.dock__btn{border-radius:var(--radius)}

/* === v2.7.23 – modulární paleta (prvky/rohy/opacity) === */
:root{
  --radius-card:18px;
  --radius-panel:18px;
  --radius-modal:22px;
  --radius-inner:14px;
  --radius-btn:14px;
  --radius-menu-btn:14px;
  --radius-dock:20px;
  --radius-dock-btn:16px;
  --radius-input:12px;
  --radius-badge:999px;

  --menu-bg:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.28));
  --dock-bg:linear-gradient(to top, rgba(16,22,34,.22), rgba(16,22,34,.10));
  --dock-solid:rgba(10,14,24,.45);
  --input-bg:rgba(16,22,34,.18);
  --inner-bg:rgba(16,22,34,.10);

  --ui-bright:1;
  --ui-contrast:1;
}

/* široké okno palety */
.paletteDropdown.paletteDropdown--wide{width:760px;max-width:calc(100vw - 24px)}
@media (max-width:860px){.paletteDropdown.paletteDropdown--wide{width:calc(100vw - 24px)}}

/* kompaktní paleta (bez --wide) */
.paletteDropdown:not(.paletteDropdown--wide) .palTabs--6{grid-template-columns:repeat(3,1fr)}
.paletteDropdown:not(.paletteDropdown--wide) .palSection{padding:8px;margin-bottom:8px}
.paletteDropdown:not(.paletteDropdown--wide) .palSection__title{margin-bottom:8px}
.paletteDropdown:not(.paletteDropdown--wide) .palGrid2{grid-template-columns:1fr}
.paletteDropdown:not(.paletteDropdown--wide) .palBox{padding:8px}
.paletteDropdown:not(.paletteDropdown--wide) .palElem{padding:5px 0}
.paletteDropdown:not(.paletteDropdown--wide) .palElem__lbl{font-size:calc(12px * var(--ui-font-scale))}
.paletteDropdown:not(.paletteDropdown--wide) .palColor{width:34px;height:22;border-radius:8px}
.paletteDropdown:not(.paletteDropdown--wide) .palMini{padding:4px 6px;border-radius:8px}
.paletteDropdown:not(.paletteDropdown--wide) .palHex{width:92px;max-width:46%;padding:6px 8px;border-radius:10px;font-size:calc(12px * var(--ui-font-scale))}
.paletteDropdown:not(.paletteDropdown--wide) .palSelect{width:170px;padding:7px 8px}
.paletteDropdown:not(.paletteDropdown--wide) .palCtrl{margin:8px 0 10px 0}
.paletteDropdown:not(.paletteDropdown--wide) .palRange{height:22}
.paletteDropdown:not(.paletteDropdown--wide) .palFooter{margin-top:8px}

.paletteDropdown .palRange::-webkit-slider-runnable-track{height:5px}
.paletteDropdown .palRange::-moz-range-track{height:5px}
.paletteDropdown .palRange::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px}
.paletteDropdown .palRange::-moz-range-thumb{width:14px;height:14px}

.palTabs--6{grid-template-columns:repeat(6,1fr)}

.palHint{margin-top:8px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale))}
.palQuick{display:flex;gap:10px;flex-wrap:wrap}
.palBtn--danger{background:rgba(229,62,62,.18);border-color:rgba(229,62,62,.42);color:var(--fg)}
.palBtn--danger:hover{border-color:rgba(229,62,62,.62);box-shadow:0 12px 22px rgba(229,62,62,.14)}

.palGrid2{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}
@media (max-width:960px){.palGrid2{grid-template-columns:1fr}}

.palBox{border:1px solid var(--border);border-radius:var(--radius-panel);background:rgba(255,255,255,.03);padding:10px}
body.theme-light .palBox{background:rgba(255,255,255,.55)}
.palBox__title{font-weight:900;margin-bottom:8px;display:flex;align-items:center;gap:8px}

.palElem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.palElem:first-of-type{border-top:none}
body.theme-light .palElem{border-top-color:rgba(10,14,24,.06)}
.palElem__lbl{font-size:calc(13px * var(--ui-font-scale));color:var(--fg);font-weight:800}
.palElem__ctrl{display:flex;align-items:center;gap:8px}
.palColor{width:38px;height:26px;padding:0;border:1px solid var(--border);border-radius:10px;background:transparent}
.palMini{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);font-weight:900;padding:6px 8px;border-radius:10px;cursor:pointer}
.palMini:hover{border-color:rgba(var(--accent-rgb), .34);color:var(--fg)}

.paletteGrid--mini{grid-template-columns:repeat(8,1fr)}
.paletteCustomRow--mini{gap:8px}

/* rohy – per kategorie */
.card{border-radius:var(--radius-card)!important}
.card__header{border-top-left-radius:var(--radius-card)!important;border-top-right-radius:var(--radius-card)!important}
.card__body{border-bottom-left-radius:var(--radius-card)!important;border-bottom-right-radius:var(--radius-card)!important}

.dropdown__panel,.paletteDropdown{border-radius:var(--radius-panel)!important}

.btn,.aBtn,.tbBtn,.iconbtn,.chip{border-radius:var(--radius-btn)!important}
.cards-root[data-layout="menu"] .tbBtn{border-radius:var(--radius-menu-btn)!important}

.dock{border-radius:var(--radius-dock)!important}
.dock__btn{border-radius:var(--radius-dock-btn)!important}

select,.input,.textarea{border-radius:var(--radius-input)!important}
.brand,.brand__badge,.btn--chip{border-radius:var(--radius-badge)!important}

/* barvy/průhlednost prvků – přebití natvrdo hodnot */
.card{background:linear-gradient(135deg, var(--card), var(--card2))!important}
.cards-root[data-layout="menu"]{background:var(--menu-bg)!important;backdrop-filter:blur(var(--blur)) saturate(var(--sat))}
.cards-root[data-layout="cards"] .cards-dock{background:var(--dock-bg)!important;backdrop-filter:blur(var(--blur)) saturate(var(--sat))}
.dock{background:var(--dock-solid)!important;backdrop-filter:blur(var(--blur)) saturate(var(--sat))}

.dropdown__panel{background:var(--panel-bg, var(--card))!important}
.modal{background:var(--panel-bg, var(--card))!important}

.input,.textarea,select{background:var(--input-bg)!important}
.card .inner, .card .panelInner{background:var(--inner-bg)!important}

/* UI filtry pouze na vrstvy (ne mapa) */
.topbar,
.cards-root[data-layout="menu"],
.cards-root[data-layout="cards"] .cards-dock,
.card,
.paletteDropdown,
.dropdown__panel,
.dock,
.modal{
  filter:brightness(var(--ui-bright)) contrast(var(--ui-contrast));
}


/* === v2.7.23 – master design bindings (paleta: vše upravitelné) === */

/* topbar vždy z proměnných */
.topbar{
  background:linear-gradient(to bottom, rgba(var(--topbar-rgb), var(--topbar-a1)), rgba(var(--topbar-rgb), var(--topbar-a2)))!important;
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}

.brand{
  background:rgba(var(--topbar-rgb), var(--topbar-chip-a, .28))!important;
  border-color:var(--border)!important;
}

/* sekundární plochy (vrstva 2) */
.list-item,
.notif,
.chatFav,
.msg__bubble,
.chat__search,
.entity-card,
.nearestItem,
.nearestTile{
  background:var(--card2)!important;
}

/* mapové bubliny (Google Maps overlay) */
.bm__bubble{
  background:rgba(var(--panel-rgb, 16,22,34), var(--panel-a, .52))!important;
  border:1px solid var(--border)!important;
  color:var(--fg)!important;
  backdrop-filter:blur(calc(var(--blur) - 8px)) saturate(var(--sat))!important;
}
.bm__stem{border-top-color:rgba(var(--panel-rgb, 16,22,34), var(--panel-a, .52))!important}

/* velikost ikon */
:root{--ui-ico-scale:1}
.ico{width:calc(18px * var(--ui-ico-scale))!important;height:calc(18px * var(--ui-ico-scale))!important}
.tbBtn .ico{width:calc(20px * var(--ui-ico-scale))!important;height:calc(20px * var(--ui-ico-scale))!important}
.btn .ico,.aBtn .ico,.iconbtn .ico{width:calc(16px * var(--ui-ico-scale))!important;height:calc(16px * var(--ui-ico-scale))!important}
.pill .ico,.miniPill .ico{width:calc(13px * var(--ui-ico-scale))!important;height:calc(13px * var(--ui-ico-scale))!important}

.bm__icon svg{width:calc(18px * var(--ui-ico-scale))!important;height:calc(18px * var(--ui-ico-scale))!important}
.bm__badge svg{width:calc(11px * var(--ui-ico-scale))!important;height:calc(11px * var(--ui-ico-scale))!important}

/* paleta – tabs jako grid (6 záložek) */
.palTabs.palTabs--6{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
@media (max-width:740px){.palTabs.palTabs--6{grid-template-columns:repeat(3,1fr)}}

/* menu mód – 2 boční doky (v2.7.23) */
body[data-layout="menu"] #map{left:var(--dock-left-cur);width:calc(100vw - var(--dock-left-cur) - var(--dock-right-cur));}
@media (max-width:960px){body[data-layout="menu"] #map{left:0;width:100vw;}}

/* v menu módu musí být mapa vždy vidět – pozadí je jen na samotných docích */
body[data-layout="menu"] .cards-root{background:transparent!important;backdrop-filter:none!important;}

/* přepíše původní menu sidebar (cardsRoot už není sidebar) */
.cards-root[data-layout="menu"]{
  pointer-events:none;
  position:fixed;
  inset:0;
  width:auto;
  height:auto;
  overflow:visible;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
}

.sideDock{
  position:fixed;
  top:var(--topbar-h);
  bottom:0;
  width:var(--dock-w);
  max-width:calc(100vw - 48px);
  z-index:var(--z-cards);
  pointer-events:auto;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:var(--dock-bg);
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  border-radius:var(--radius-dock);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform .22s ease;
  will-change:transform;
}
body.theme-light .sideDock{background:var(--dock-bg);}

.sideDock[aria-hidden="true"]{display:none;}

.sideDock--left{left:0;border-right:1px solid var(--border);--dock-w:var(--dock-left-w);}
.sideDock--right{right:0;border-left:1px solid var(--border);--dock-w:var(--dock-right-w);}

.sideDock--left[data-open="0"]{transform:translateX(calc(-1 * (var(--dock-left-w) - var(--dock-peek))));}
.sideDock--right[data-open="0"]{transform:translateX(calc(var(--dock-right-w) - var(--dock-peek)));}

.sideDock__scroll{flex:1;overflow:auto;padding-right:2px;}

.sideDock__toggle{
  appearance:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:52px;
  border-radius:var(--radius-dock-btn);
  border:1px solid var(--border);
  background:rgba(var(--btn-rgb, 255,255,255), var(--btn-fill-a));
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:6;
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}
body.theme-light .sideDock__toggle{background:rgba(var(--btn-rgb, 255,255,255), var(--btn-fill-a));}
.sideDock__toggle:hover{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 12px 22px rgba(var(--accent-rgb), .12);}
.sideDock__toggle:active{transform:translateY(-50%) scale(.98);}

body[data-btn-style="glass"] .sideDock__toggle{
  border-color:rgba(var(--btn-border-rgb, 255,255,255), var(--btn-border-a));
}
body.theme-light[data-btn-style="glass"] .sideDock__toggle{
  border-color:rgba(var(--btn-border-rgb, 10,14,24), var(--btn-border-a));
}
body[data-btn-style="outline"] .sideDock__toggle{
  background:transparent;
  border-color:rgba(var(--accent-rgb), calc(var(--btn-border-a) + .08));
}
body[data-btn-style="solid"] .sideDock__toggle{
  background:rgba(var(--accent-rgb), .10);
  border-color:rgba(var(--accent-rgb), .22);
}

.sideDock--left .sideDock__toggle{right:calc(-1 * (34px / 2));}
.sideDock--right .sideDock__toggle{left:calc(-1 * (34px / 2));}

.sideDock__toggle .ico{width:16px!important;height:16px!important;transition:transform .16s ease;}
.sideDock--left[data-open="1"] .sideDock__toggle .ico{transform:rotate(-90deg);}
.sideDock--left[data-open="0"] .sideDock__toggle .ico{transform:rotate(90deg);}
.sideDock--right[data-open="1"] .sideDock__toggle .ico{transform:rotate(90deg);}
.sideDock--right[data-open="0"] .sideDock__toggle .ico{transform:rotate(-90deg);}

.sideDock__resizer{
  position:absolute;
  top:0;
  bottom:0;
  width:10px;
  opacity:0;
  transition:opacity .12s ease, background .12s ease;
  z-index:5;
}
.sideDock--left .sideDock__resizer{right:0;cursor:ew-resize;}
.sideDock--right .sideDock__resizer{left:0;cursor:ew-resize;}
.sideDock:hover .sideDock__resizer{opacity:1;background:linear-gradient(to bottom, rgba(var(--accent-rgb), .10), rgba(var(--accent-rgb), .04));}

/* karty uvnitř doků */
.cards-root[data-layout="menu"] .sideDock .card{
  position:relative;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:unset;
  margin:0 0 12px 0;
  cursor:default;
}
.cards-root[data-layout="menu"] .sideDock .card:last-child{margin-bottom:0;}
.cards-root[data-layout="menu"] .sideDock .card__header{cursor:default;}
.cards-root[data-layout="menu"] .sideDock .card__resizer{display:none!important;}

/* v menu módu: karty nejdou zavírat ani připínat */
.cards-root[data-layout="menu"] .sideDock .card__actions [data-card-action="close"],
.cards-root[data-layout="menu"] .sideDock .card__actions [data-card-action="pin"]{display:none!important;}

/* menu sbalení karet (jen v doku) */
.cards-root[data-layout="menu"] .sideDock .card[data-menu-collapsed="1"] .card__body{display:none;}
.cards-root[data-layout="menu"] .sideDock .card[data-menu-collapsed="1"] .card__header{border-bottom:none;}

@media (max-width:960px){
  .sideDock{top:var(--topbar-h);bottom:0;}
  .sideDock--left,.sideDock--right{width:calc(100vw - 24px);max-width:calc(100vw - 24px);}
  .sideDock--right{right:0;}
  .sideDock--left{left:0;}
}

/* === v2.7.23 – tovární režim (schéma mono): neprůhledné, bez rozostření === */
body[data-scheme="mono"]{
  --blur:0px !important;
  --sat:1 !important;
}
body[data-scheme="mono"] *{
  backdrop-filter:none !important;
}
body[data-scheme="mono"] .topbar{
  background:rgba(var(--topbar-rgb), 1)!important;
}

/* topbar – animace "vyjetí" (start / reset / refresh) */
@keyframes topbarSlideIn{
  from{transform:translateY(-110%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.topbar{will-change:transform, opacity;}
.topbar.is-slidein{animation:topbarSlideIn var(--topbar-slide-ms,.36s) cubic-bezier(.2,.8,.2,1) both;}
@media (prefers-reduced-motion: reduce){
  .topbar.is-slidein{animation:none;}
}

/* === Zaměstnanci (profil + detail) === */
.btn--sm{padding:calc(6px * var(--btn-scale)) calc(10px * var(--btn-scale));font-size:calc(12px * var(--ui-font-scale));border-radius:calc(var(--radius-sm));}

.empWrap{display:block;}
.empList{display:flex;flex-direction:column;gap:10px;}
.empCard{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.06);}
body.theme-light .empCard{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.72);}
.empAvatar{width:56px;height:56px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);}
body.theme-light .empAvatar{border-color:rgba(10,14,24,.14);background:rgba(10,14,24,.04);}
.empAvatar img{width:100%;height:100%;object-fit:cover;display:block;}
.empAvatar__initials{font-weight:900;font-size:calc(14px * var(--ui-font-scale));letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.86);}
body.theme-light .empAvatar__initials{color:rgba(10,14,24,.72);}

/* Zaměstnanci – pohlaví (default avatar) */
.empGender{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.empGender .segBtn{cursor:pointer;user-select:none;}
.empGender input[type="radio"]{position:absolute;opacity:0;pointer-events:none;}
.empCard .row{margin-top:8px;}
.empCard .grid2{margin-top:6px;}
.empCard__rating{margin-bottom:8px;}


.empGrid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;}
@media (max-width:620px){
  .empGrid{grid-template-columns:1fr;}
}
.empMini{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.06);}
body.theme-light .empMini{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.72);}
.empMini__avatar{width:52px;height:52px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.14);flex:0 0 auto;}
body.theme-light .empMini__avatar{border-color:rgba(10,14,24,.14);background:rgba(10,14,24,.04);}
.empMini__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.empMini__avatar--placeholder{display:flex;align-items:center;justify-content:center;}
.empMini__avatar--placeholder .empAvatar__initials{font-size:calc(15px * var(--ui-font-scale));}
.empMini__name{font-weight:800;}
.empMini__meta{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));line-height:1.25;}

.empMini__right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;}
.empMini__right .btn{white-space:nowrap;}

/* === Hodnocení (grafické) === */
.ratingStars{--rating-rgb:255,201,66;display:inline-flex;align-items:center;gap:8px;vertical-align:middle;}
.ratingStars__wrap{display:inline-flex;gap:2px;line-height:0;}
.ratingStar{position:relative;display:inline-block;width:16px;height:16px;color:rgba(var(--rating-rgb), .96);}
.ratingStar svg{width:100%;height:100%;display:block;}
.ratingStar__off{opacity:.22;}
.ratingStar__on{position:absolute;left:0;top:0;}
.ratingStar--half .ratingStar__on{clip-path:inset(0 50% 0 0);}
.ratingStars__meta{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;}
.ratingStars--compact{gap:6px;}
.ratingStars--compact .ratingStar{width:14px;height:14px;}
.ratingStars--compact .ratingStars__meta{font-size:calc(11px * var(--ui-font-scale));}

/* === Hodnocení (vstup) === */
.ratingInput__label{margin-bottom:6px;font-weight:700;}
.ratingInput__stars{display:flex;gap:8px;flex-wrap:wrap;}
.ratingInput__btn{width:40px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease, border-color .12s ease, background .12s ease; color:rgba(var(--rating-rgb), .96);}
body.theme-light .ratingInput__btn{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.82);}
.ratingInput__btn .ico{width:18px;height:18px;}
.ratingInput__btn:hover{transform:translateY(-1px);border-color:rgba(var(--rating-rgb), .55);}
.ratingInput__btn.is-on{border-color:rgba(var(--rating-rgb), .75);background:rgba(var(--rating-rgb), .12);}
.ratingInput__btn:focus{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px;}

/* === Veřejné hodnocení (Like / Nolike / Hvězdy / Pohár) === */
.pubRate{--pr-gap:8px;--rating-rgb:255,201,66;--trophy-rgb:255,183,0;--like-rgb:var(--accent-rgb);--dislike-rgb:239,68,68;display:inline-flex;align-items:center;gap:var(--pr-gap);vertical-align:middle;flex-wrap:wrap;}
.pubRate--compact{--pr-gap:6px;}
.pubRate[data-rate-role="dentist"]{--like-rgb:var(--role-dentist-rgb, var(--accent-rgb));}
.pubRate[data-rate-role="hygiene"]{--like-rgb:var(--role-hygiene-rgb, var(--accent-rgb));}
.pubRate[data-rate-role="pharmacy"]{--like-rgb:var(--role-pharmacy-rgb, var(--accent-rgb));}
.pubRate[data-rate-role="lab"]{--like-rgb:var(--role-lab-rgb, var(--accent-rgb));}
.pubRate[data-rate-role="supplier"]{--like-rgb:var(--role-supplier-rgb, var(--accent-rgb));}

.pubRate__btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);cursor:pointer;transition:transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;}
body.theme-light .pubRate__btn{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.82);}
.pubRate__btn .ico{width:18px;height:18px;fill:currentColor;}
.pubRate__btn:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb), .5);}
.pubRate__btn.is-on{border-color:rgba(var(--accent-rgb), .75);background:rgba(var(--accent-rgb), .12);color:rgba(var(--accent-rgb), 1);}
.pubRate__btn--like{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(238,244,255,.70);}body.theme-light .pubRate__btn--like:not(.is-on){border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.82);color:rgba(11,16,32,.72);}.pubRate__btn--like:hover{border-color:rgba(var(--like-rgb), .55);background:rgba(var(--like-rgb), .10);color:rgba(var(--like-rgb), .88);}.pubRate__btn--like.is-on{border-color:rgba(var(--like-rgb), .82);background:rgba(var(--like-rgb), .16);color:rgba(var(--like-rgb), 1);}
.pubRate__btn--dislike{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(238,244,255,.70);}body.theme-light .pubRate__btn--dislike:not(.is-on){border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.82);color:rgba(11,16,32,.72);}.pubRate__btn--dislike:hover{border-color:rgba(var(--dislike-rgb), .55);background:rgba(var(--dislike-rgb), .10);color:rgba(var(--dislike-rgb), .88);}.pubRate__btn--dislike.is-on{border-color:rgba(var(--dislike-rgb), .82);background:rgba(var(--dislike-rgb), .16);color:rgba(var(--dislike-rgb), 1);}

.pubRate__btn--trophy{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(238,244,255,.70);}body.theme-light .pubRate__btn--trophy:not(.is-on){border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.82);color:rgba(11,16,32,.72);}.pubRate__btn--trophy:hover{border-color:rgba(var(--trophy-rgb), .60);background:rgba(var(--trophy-rgb), .10);color:rgba(var(--trophy-rgb), .90);}.pubRate__btn--trophy.is-on{border-color:rgba(var(--trophy-rgb), .90);background:rgba(var(--trophy-rgb), .18);color:rgba(var(--trophy-rgb), 1);}
.pubRate__cnt{font-size:calc(12px * var(--ui-font-scale));font-weight:800;min-width:1ch;opacity:.9;}/* public rating – responsivita */
.pubRate{max-width:100%;min-width:0;}
.pubRate__stars{min-width:0;max-width:100%;}
.pubRate__meta{min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pubRate--stack{align-items:flex-start;}
.pubRate--stack .pubRate__stars{flex-wrap:wrap;height:auto;padding:8px 10px;}
.pubRate--stack .pubRate__meta{flex-basis:100%;max-width:100%;opacity:.85;margin-left:0;}
.pubRate--mini{--pr-gap:6px;}
.pubRate--mini .pubRate__btn{height:28px;padding:0 8px;border-radius:10px;gap:5px;}
.pubRate--mini .pubRate__btn .ico{width:16px;height:16px;}
.pubRate--mini .pubRate__stars{height:auto;padding:6px 8px;border-radius:10px;}
.pubRate--mini .pubRate__star{width:16px;height:16px;}
.pubRate--mini .pubRate__meta{max-width:110px;font-size:12px;}

.pubRate__stars{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:12px;border:1px solid rgba(var(--rating-rgb), .22);background:rgba(var(--rating-rgb), .06);}
body.theme-light .pubRate__stars{border-color:rgba(var(--rating-rgb), .26);background:rgba(var(--rating-rgb), .10);}
body.theme-light .pubRate__star:not(.is-on){color:rgba(10,14,24,.34);}

.pubRate__star{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;padding:0;color:rgba(255,255,255,.26);transition:transform .12s ease, color .12s ease;}
.pubRate__star .ico{width:100%;height:100%;fill:currentColor;}
.pubRate__star:hover{transform:translateY(-1px);color:rgba(var(--rating-rgb), .90);}
.pubRate__star.is-on{color:rgba(var(--rating-rgb), 1);}
.pubRate__meta{margin-left:6px;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));white-space:nowrap;}

.pubRate--compact .pubRate__btn{height:28px;padding:0 8px;border-radius:11px;}
.pubRate--compact .pubRate__stars{height:28px;padding:0 8px;border-radius:11px;}
.pubRate--compact .pubRate__btn .ico{width:16px;height:16px;}
.pubRate--compact .pubRate__star{width:16px;height:16px;}
.pubRate--compact .pubRate__meta{font-size:calc(11px * var(--ui-font-scale));}

.pubRate.is-busy{opacity:.75;}
.pubRate.is-busy button{pointer-events:none;}

.pubRate--readonly .pubRate__btn,
.pubRate--readonly .pubRate__star{cursor:default;pointer-events:none;}
.pubRate--readonly .pubRate__btn:hover,
.pubRate--readonly .pubRate__star:hover{transform:none;}


/* ===== Detail subjektu (v5 UI) ===== */
.detail--v5{display:flex;flex-direction:column;gap:14px}
.detail--v5 .avatar{width:76px;height:76px;border-radius:22px}
.detail--v5 .detailHero{border:1px solid var(--border);border-radius:var(--r2);background:rgba(0,0,0,.10);padding:14px}
body.theme-light .detail--v5 .detailHero{background:rgba(10,14,24,.03)}
.detail--v5 .detailHero__row{display:flex;gap:14px;align-items:center}
.detail--v5 .detailHero__main{min-width:0;flex:1}
.detail--v5 .detailHero__name{font-weight:950;font-size:calc(18px * var(--ui-font-scale));line-height:1.15}
.detail--v5 .detailHero__sub{margin-top:4px;color:var(--muted);font-size:calc(13px * var(--ui-font-scale));line-height:1.25}
.detail--v5 .detailHero__meta{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.detail--v5 .detailHero__metaItem{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.detail--v5 .detailHero__actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.detail--v5 .section{margin-top:0;border:1px solid var(--border);border-radius:var(--r2);background:rgba(0,0,0,.08);padding:12px}
body.theme-light .detail--v5 .section{background:rgba(10,14,24,.02)}
.detail--v5 .section__head{margin-bottom:10px}
.detail--v5 .section__title{font-size:calc(13px * var(--ui-font-scale));font-weight:950}

.detail--v5 .itemsList{display:flex;flex-direction:column;gap:10px}
.detail--v5 .itemCard{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.06)}
body.theme-light .detail--v5 .itemCard{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.70)}
.detail--v5 .itemCard__main{min-width:0;flex:1}
.detail--v5 .itemCard__title{font-weight:950;line-height:1.2}
.detail--v5 .itemCard__meta{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.detail--v5 .itemCard__right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.detail--v5 .itemCard__price{font-weight:950;white-space:nowrap}
.detail--v5 .itemCard__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}

.detail--v5 .contactGridV5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width: 680px){
  .detail--v5 .detailHero__row{align-items:flex-start}
  .detail--v5 .itemCard{flex-direction:column}
  .detail--v5 .itemCard__right{align-items:flex-start}
  .detail--v5 .contactGridV5{grid-template-columns:1fr}
}
.detail--v5 .contactCardV5{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:10px;background:rgba(255,255,255,.06)}
body.theme-light .detail--v5 .contactCardV5{border-color:rgba(10,14,24,.14);background:rgba(255,255,255,.70)}
.detail--v5 .contactCardV5__label{color:var(--muted);font-size:calc(12px * var(--ui-font-scale));font-weight:800}
.detail--v5 .contactCardV5__value{margin-top:4px;font-weight:900;word-break:break-word}

/* POI/tooltip/marker: ikony přes celou plochu */
.bm__avatar .bm__icon svg,.bm__avatar .bm__icon img{width:100%!important;height:100%!important;}
.tt__ph svg,.tt__ph img{width:100%!important;height:100%!important;}
.poi__ph svg,.poi__ph img{width:100%!important;height:100%!important;}


/* === Veřejné hodnocení – responsivní škálování bez mini režimů (v2.7.23.40) === */
/* Pozn.: velikost se odvozuje od šířky nejbližšího kontejneru (container queries). */
.searchTileWrap,
.searchTileBtn,
.searchTileRate,
.empMini,
.itemCard,
.nearestAccV2__info,
.nearestAllDetailInfoV2{
  container-type:inline-size;
}

/* řádky s hodnocením nesmí přetékat */
.nearestAccV2__line,
.nearestAllDetailLineV2{
  flex-wrap:wrap;
}
.nearestAccV2__line > *,
.nearestAllDetailLineV2 > *{
  min-width:0;
}

.pubRate{
  /* fallback (bez container queries) */
  font-size:14px;
  /* moderní prohlížeče: škálování podle šířky kontejneru */
  font-size:clamp(10px, 4cqw, 14px);
  line-height:1.1;
  max-width:100%;
  min-width:0;
  gap:0.6em;
  flex-wrap:wrap;
}

.pubRate--compact{
  font-size:13px;
  font-size:clamp(10px, 4cqw, 13px);
  gap:0.5em;
}

.pubRate__btn{
  height:2.35em;
  padding:0 0.75em;
  border-radius:0.9em;
  gap:0.45em;
  white-space:nowrap;
}
.pubRate__btn .ico{width:1.15em;height:1.15em;fill:currentColor;}
.pubRate__cnt{font-size:0.95em;font-weight:950;line-height:1;}
.pubRate__stars{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.55em;
  min-width:0;
}
.pubRate__starWrap{
  display:inline-flex;
  align-items:center;
  gap:0.2em;
  line-height:0;
}
.pubRate__star{
  width:1.2em;
  height:1.2em;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  color:rgba(var(--rating-rgb), .28);
}
.pubRate__star .ico{width:100%;height:100%;fill:currentColor;}
.pubRate__star.is-on{color:rgba(var(--rating-rgb), .98);}

.pubRate__meta{
  min-width:0;
  flex:1 1 auto;
  white-space:normal;
  line-height:1.15;
  opacity:.92;
}

/* Light theme: zachovat čitelnost i při zmenšení */
body.theme-light .pubRate__btn{background:rgba(255,255,255,.86);}
body.theme-light .pubRate__meta{color:rgba(10,14,24,.78);}


/* === Layout reakce při úzkých kartách (container queries) === */
.empMini{flex-wrap:wrap;min-width:0;}
@container (max-width: 360px){
  .empMini__right{
    width:100%;
    margin-left:0;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .empMini__right .btn{margin-left:auto;}
}

.itemCard{flex-wrap:wrap;min-width:0;}
@container (max-width: 460px){
  .detail--v5 .itemCard__right{
    width:100%;
    margin-left:0;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .detail--v5 .itemCard__rate{order:1;}
  .detail--v5 .itemCard__actions{order:2;justify-content:flex-start;}
  .detail--v5 .itemCard__price{order:0;}
}


/* === Detail subjektu (modal): Nabídky – Inzerce + tabulka hodnocení + scroll === */
.segBtn .icoImg{width:16px;height:16px;display:block;object-fit:contain;flex:0 0 auto;}

.entityOffersWidget .offersListWrap{min-height:0;}
.entityOffersWidget .offersListWrap.is-scroll{max-height:min(60vh, 520px);overflow:auto;scrollbar-gutter:stable both-edges;}
.entityOffersWidget .offersListWrap[data-view="table"]{overflow:auto;padding:10px 12px 12px 12px;}
.entityOffersWidget .offersListWrap[data-view="table"] .table{margin:0;}
.entityOffersWidget .offersListWrap[data-view="table"] .table thead th{position:sticky;top:0;z-index:2;background:rgba(var(--glass-rgb), .24);backdrop-filter:blur(var(--blur)) saturate(var(--sat));}

.rateStarsOnly .pubRate__btn{display:none;}
.rateStarsOnly .pubRate__stars{margin:0;}
.rateStarsOnly .pubRate__meta{max-width:140px;}



/* === R921 maximize window control === */
.card__actionMax{
  position:relative;
  overflow:visible;
}
.card__actionMax .card__actionMaxGlyph{
  position:relative;
  display:block;
  width:14px;
  height:14px;
}
.card__actionMax .card__actionMaxGlyph::before,
.card__actionMax .card__actionMaxGlyph::after{
  content:"";
  position:absolute;
  box-sizing:border-box;
  border:1.7px solid currentColor;
  border-radius:1px;
}
.card__actionMax .card__actionMaxGlyph::before{
  inset:1px;
}
.card[data-maximized="1"] .card__actionMax .card__actionMaxGlyph::before{
  width:9px;
  height:9px;
  top:3px;
  left:2px;
}
.card[data-maximized="1"] .card__actionMax .card__actionMaxGlyph::after{
  width:9px;
  height:9px;
  top:1px;
  left:5px;
  background:transparent;
}
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__actions [data-card-action="info"],
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__actions [data-card-action="pin"],
.cards-root[data-layout="cards"] .card[data-minimized="1"] .card__actions [data-card-action="max"]{
  display:none;
}
.card[data-maximized="1"]{
  transition:left .14s ease, top .14s ease, width .14s ease, height .14s ease;
}
.card[data-maximized="1"] .card__resizer{
  display:none!important;
}
