/* Vzhled editoru (designéru), Tom 7. 11.: graficky přívětivější, funkce beze změny.
   Jen vzhled: žádný selektor ani prvek se tu nepřidává ani neschovává, mění se barvy, zaoblení, stíny a jemné animace.
   Načítá se za ostatními styly, platí jen uvnitř .app (editor) a jeho plovoucích menu. */

:root{
  --ed-r:14px;
  --ed-glass:color-mix(in srgb,var(--surface) 86%,transparent);
  --ed-shadow:0 1px 1px rgba(30,25,15,.04),0 4px 14px rgba(30,25,15,.07),0 14px 34px rgba(30,25,15,.06);
  --ed-track:color-mix(in srgb,var(--ink) 6%,var(--surface));
}
:root[data-theme="dark"]{--ed-shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.35)}

.app{-webkit-font-smoothing:antialiased}

/* horní lišta: lehčí, tlačítka bez tvrdých rámečků */
.app>.top{border-bottom-color:transparent;box-shadow:0 1px 0 var(--line),0 6px 18px -14px rgba(30,25,15,.25)}
.app>.top .mark{border-radius:9px;box-shadow:0 2px 6px color-mix(in srgb,var(--blue) 35%,transparent)}
.app>.top .tright .btn:not(.primary){border-color:transparent;background:var(--ed-track)}
.app>.top .tright .btn:not(.primary):hover{background:color-mix(in srgb,var(--ink) 10%,var(--surface))}
.app>.top .tright .btn{border-radius:11px}
.app>.top .tright .btn.primary{box-shadow:0 2px 8px color-mix(in srgb,var(--blue) 30%,transparent)}
.app>.top .crumbs button:hover{background:var(--ed-track)}

/* plovoucí ovládání nad plátnem: matné sklo, měkčí stín, větší zaoblení */
.stage .float,.stage .dd,.stage>.fl .seg,.stage .toolbar,.stage .pricetag{
  background:var(--ed-glass);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);
  border-color:color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--ed-shadow)}
.stage .float,.stage .dd,.stage .pricetag{border-radius:var(--ed-r)}
.stage>.fl .seg{border-radius:var(--ed-r);padding:3px;gap:2px}
/* přepínač Půdorys / Dům 3D / Interiér 3D / Pozemek: bílá „pilulka“ místo černé */
.stage>.fl .seg button{border-radius:11px;transition:background .18s,color .18s,box-shadow .18s}
.stage>.fl .seg button:hover{color:var(--ink)}
.stage>.fl .seg button[aria-pressed="true"]{background:var(--blue);color:var(--blue-ink);box-shadow:0 2px 8px color-mix(in srgb,var(--blue) 35%,transparent)}
.stage .dd{transition:box-shadow .18s}
.stage .dd:hover{box-shadow:var(--shadow-lg)}

/* přiblížení a nástroje vpravo dole */
.stage .zoom button{transition:background .15s,color .15s;border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}
.stage .zoom button[aria-pressed="true"]{color:var(--blue-text)}

/* spodní nástrojová lišta */
.stage .toolbar{border-radius:18px}
.stage .toolbar .tb{border-radius:12px;transition:background .15s,color .15s,transform .12s}
.stage .toolbar .tb[aria-pressed="true"],.stage .toolbar .tb[aria-expanded="true"]{background:var(--blue-soft);color:var(--blue-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 18%,transparent)}
/* na PC lišta nesmí zajet pod sloupec přiblížení vpravo (dřív se tam schovávala Poznámka) */
@media (min-width:761px){
  .stage .toolbar{max-width:calc(100% - 132px);overflow-x:auto;scrollbar-width:thin}
  .stage .toolbar .tb{padding:7px 9px}
}
@media (max-width:760px){
  /* na telefonu se lišta posouvá do strany: jemný stín na okraji napoví, že je tam další nástroj */
  .stage .toolbar{scrollbar-width:none;
    background:
      linear-gradient(90deg,var(--surface) 30%,transparent) left/28px 100% no-repeat local,
      linear-gradient(270deg,var(--surface) 30%,transparent) right/28px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%,rgba(30,25,15,.16),transparent) left/12px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%,rgba(30,25,15,.16),transparent) right/12px 100% no-repeat scroll,
      var(--ed-glass)}
  .stage .toolbar::-webkit-scrollbar{display:none}
}

/* cenovka */
.stage .pricetag .pt-v{letter-spacing:-.01em}

/* menu Místnosti a Objekty: měkčí řádky a dlaždice s ikonou */
.pop{border-radius:16px}
.mi{transition:background .12s}
.mi .ic{border-radius:9px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}
.pop input[type="search"],.pop .msearch input{border-radius:12px}

/* tlačítka: jemná odezva na ťuknutí */
.app .btn,.app .ib,.app .tb,.app .dd,.pop .mi{-webkit-tap-highlight-color:transparent}
.app .btn:active,.app .ib:active,.app .tb:active,.app .dd:active,.stage .zoom button:active{transform:scale(.96)}
.app .btn{transition:background .15s,box-shadow .15s,transform .1s,filter .15s}

/* panel vlastností */
.panel .ptabs [role="tab"]{transition:color .15s}
.panel .sec h3{letter-spacing:.06em}

/* mobil: spodní list s vlastnostmi jako zřetelná „záložka“ */
@media (max-width:760px){
  .panel{box-shadow:0 -8px 28px rgba(30,25,15,.12)}
  body:not(.sheet-mid):not(.sheet-up) .sheeth::after{
    display:block;width:max-content;max-width:calc(100% - 32px);margin:5px auto 0;padding:3px 12px;border-radius:999px;
    background:var(--ed-track);color:var(--ink);font-weight:700}
}

@media (prefers-reduced-motion:reduce){
  .app .btn,.app .tb,.stage>.fl .seg button,.stage .zoom button,.mi{transition:none}
  .app .btn:active,.app .ib:active,.app .tb:active,.app .dd:active,.stage .zoom button:active{transform:none}
}

/* Místnosti v menu: každý typ má vlastní ikonku (stejné tlačítko i data-rt, jen jiný obrázek) */
.pop .mi[data-rt] .ic{color:color-mix(in srgb,var(--ink) 72%,transparent)}
.pop .mi[data-rt] .ic svg{display:none}
.pop .mi[data-rt] .ic::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.pop .mi[data-rt="jidelna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2011h18M6%2011v8M18%2011v8M8%207h8%22/%3E%3Ccircle%20cx=%2212%22%20cy=%225%22%20r=%221%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="obyvak"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%2011V8a2%202%200%20012-2h10a2%202%200%20012%202v3M3%2011h18v6H3zM5%2017v2M19%2017v2%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="kuchyne"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%2010h14v7a3%203%200%2001-3%203H8a3%203%200%2001-3-3zM3%2010h18M9%207c0-1.2%201-1.2%201-2.5M14%207c0-1.2%201-1.2%201-2.5%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="spiz"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M8%204h8M7%207h10v12a1%201%200%2001-1%201H8a1%201%200%2001-1-1zM7%2011h10%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="rodinny"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%228%22%20r=%222.6%22/%3E%3Ccircle%20cx=%2216.5%22%20cy=%229.5%22%20r=%222%22/%3E%3Cpath%20d=%22M4%2019c0-3%202.2-5%205-5s5%202%205%205M15%2014.2c2.8-.4%205%201.6%205%204.8%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="loznice"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2019V7M3%2015h18v4M21%2015v-2a3%203%200%2000-3-3h-7v5%22/%3E%3Crect%20x=%225%22%20y=%2210.5%22%20width=%224%22%20height=%223%22%20rx=%221%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="pokoj"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M9%204h6l2.5%206h-11zM12%2010v8M8%2020h8%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="koupelna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2012h18v2a5%205%200%2001-5%205H8a5%205%200%2001-5-5zM6%2012V6a2%202%200%20014%200M7%2019l-1%202M17%2019l1%202%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="wc"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7%203h6v7H7zM5%2010h12a5%205%200%2001-5%205H9l1%206H8l-1-6%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="pracovna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%205h14v10H5zM3%2019h18M10%2015v4M14%2015v4%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="posilovna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%207v10M3%2010v4M18%207v10M21%2010v4M6%2012h12%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="herna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7.5%208h9a4.5%204.5%200%20014.5%204.5v1a3%203%200%2001-5.6%201.5L14%2014h-4l-1.4%201A3%203%200%20013%2013.5v-1A4.5%204.5%200%20017.5%208zM8%2010.5v3M6.5%2012h3%22/%3E%3Ccircle%20cx=%2216%22%20cy=%2211%22%20r=%22.6%22/%3E%3Ccircle%20cx=%2217.5%22%20cy=%2213%22%20r=%22.6%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="chodba"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%203v18M19%203v18M12%206v12M9%2015l3%203%203-3%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="zadveri"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%2021V4h10v17M4%2021h16M16%204l3%202v15%22/%3E%3Ccircle%20cx=%2213%22%20cy=%2212.5%22%20r=%22.8%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="pradelna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%225%22%20y=%223%22%20width=%2214%22%20height=%2218%22%20rx=%222%22/%3E%3Cpath%20d=%22M5%207h14%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2214%22%20r=%224%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="tech"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203c3%204%205%206.5%205%2010a5%205%200%2001-10%200c0-2%20.8-3.2%202-4.2%200%202%201%203%202%203%200-3-.8-5.2%201-8.8z%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="botnik"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7%204h5v8l6%202.5a2%202%200%20011.2%201.8V19H7zM7%2016h12%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="komora"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%208l8-4%208%204v9l-8%204-8-4zM4%208l8%204%208-4M12%2012v9%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="satna"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%208V7a2%202%200%2010-2-2M12%208l-9%207h18z%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="garaz"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2010l9-6%209%206v10H3zM7%2020v-6h10v6M7%2017h10%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="balkon"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2011h18M5%2011v8M9.5%2011v8M14.5%2011v8M19%2011v8M3%2019h18M8%204h8v7H8z%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="terasa"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%204a8%208%200%20018%208H4a8%208%200%20018-8zM12%2012v8M8%2020h8%22/%3E%3C/svg%3E")}
.pop .mi[data-rt="zapraz"] .ic{--ico:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2011l9-7%209%207M6%2010v10h12V10M10%2020v-5h4v5%22/%3E%3C/svg%3E")}

/* ===== 2. krok (7. 11.): jednotné barvy voleb, dlaždice s ilustrací, čitelnější cena a kóty na mobilu ===== */

/* jedna barva pro „vybráno“ v celém editoru: modrá místo černé (přepínače, roční období, Soukromé/Veřejné, technický výkres) */
.app .seg button[aria-pressed="true"],.pop .seg button[aria-pressed="true"],.modal .seg button[aria-pressed="true"],.app .stabs button[aria-pressed="true"],.app #zplan[aria-pressed="true"]{
  background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
/* mřížky dlaždic s obrázkem (.seg.xgrid) nechávají ilustraci vidět: jen modrý rámeček a světlé podbarvení */
.app .seg.xgrid button[aria-pressed="true"],.pop .seg.xgrid button[aria-pressed="true"],.modal .seg.xgrid button[aria-pressed="true"]{
  background:var(--blue-soft);color:var(--blue-text);box-shadow:inset 0 0 0 2px var(--blue)}
.app .seg button,.pop .seg button{transition:background .15s,color .15s}

/* dlaždice rozcestníku (Dům zvenku: Střecha, Fasáda, Sokl…): ikonka v barevném čtverečku jako malá ilustrace */
.xtile{grid-template-columns:40px 1fr;column-gap:10px;border-color:var(--line);border-radius:14px;transition:border-color .15s,box-shadow .15s,transform .1s}
.xtile:hover{box-shadow:var(--ed-shadow)}
.xtile:active{transform:scale(.98)}
.xtile .i{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--p-sky);color:var(--blue-text);stroke-width:1.7}
.xtiles .xtile:nth-child(5n+2) .i{background:var(--p-peach);color:#a2532a}
.xtiles .xtile:nth-child(5n+3) .i{background:var(--p-sand);color:#8a6a1e}
.xtiles .xtile:nth-child(5n+4) .i{background:var(--p-mint);color:#2f7d4f}
.xtiles .xtile:nth-child(5n+5) .i{background:var(--p-lilac);color:#6a4fb0}
:root[data-theme="dark"] .xtiles .xtile .i{color:var(--ink)}

/* výběry v panelu (Skladba zdi, Střecha, Vytápění…): měkčí karta */
.gv-btn{border-radius:12px;transition:border-color .15s,box-shadow .15s}
.gv-btn:hover{box-shadow:var(--ed-shadow)}

/* vzorník barev objektu: „Vlastní“ se už neláme po písmenech */
.wcols .ocown{grid-column:span 3;white-space:nowrap;min-width:0}

/* cena na mobilu: větší číslo, rozdíl jako barevný štítek */
@media (max-width:600px){
  .stage .pricetag .pvt-h{padding:6px 10px;gap:6px;align-items:center}
  .stage .pricetag .pt-v{font-size:14.5px}
  .stage .pricetag .pt-o{font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px}
  .stage .pricetag .pt-o.up{background:color-mix(in srgb,#b4532a 12%,transparent)}
  .stage .pricetag .pt-o.down{background:color-mix(in srgb,#1f7a4d 12%,transparent)}
}

/* kóty v půdorysu: na telefonu větší písmo s bílým lemem, ať se dají přečíst i přes podlahu */
.dimt{paint-order:stroke;stroke:var(--canvas);stroke-width:.06;stroke-linejoin:round}
@media (max-width:760px){.dimt{font-size:.32px}.dimln{stroke-width:.024}}
/* roční období ve 3D: vybrané období taky modře (styl se jinak vkládá z js/oziveni.js, proto vyšší přesnost) */
html body .oz-seg button[aria-pressed="true"]{background:var(--blue);color:#fff}

/* ===== 3. krok (7. 11.): co změnilo cenu, viditelné Zpět/Znovu a varianty (data plní js/cena-historie.js) ===== */
/* štítek nad lištou nástrojů po každé změně: co se změnilo, o kolik, a Zpět */
.cena-zmena{position:absolute;left:50%;bottom:78px;z-index:7;width:max-content;display:flex;align-items:center;gap:8px;max-width:min(330px,calc(100% - 24px));
  padding:5px 5px 5px 11px;border-radius:999px;background:var(--ed-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--ed-shadow);font-size:12px;opacity:0;transform:translate(-50%,6px);transition:opacity .2s,transform .2s}
.cena-zmena.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:760px){.cena-zmena{bottom:70px;max-width:calc(100% - 130px)}}
/* na telefonu při kreslení příček je dole lišta Příčka/Obdélník/Hotovo: bublina s cenou jde nad ni, ať ji nezakryje (10. 11.) */
@media (max-width:760px){body:has(#wallMode) .cena-zmena{bottom:152px}}
/* bublina leží přes půdorys: ťuknutí a tažení mimo tlačítko Zpět projde do plánu (okno pod bublinou nešlo posunout, byt-okno 10. 11.) */
.cena-zmena{pointer-events:none}.cena-zmena button,.cena-zmena a{pointer-events:auto}
.cena-zmena .cz-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:600}
.cena-zmena .cz-d{white-space:nowrap;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:999px}
.cena-zmena.up .cz-d{color:#a2401c;background:color-mix(in srgb,#b4532a 13%,transparent)}
.cena-zmena.down .cz-d{color:#1f7a4d;background:color-mix(in srgb,#1f7a4d 13%,transparent)}
:root[data-theme="dark"] .cena-zmena.up .cz-d{color:#f0a07a}:root[data-theme="dark"] .cena-zmena.down .cz-d{color:#6cc28f}
.cena-zmena .cz-zpet{border:0;border-radius:999px;background:var(--blue);color:var(--blue-ink);font-weight:700;font-size:12px;padding:5px 11px;min-height:28px}
/* když je vidět štítek, krátký blik rozdílu u ceny už není potřeba */
.stage:has(.cena-zmena.show:not([hidden])) .pricetag .pt-d{display:none}
@media (prefers-reduced-motion:reduce){.cena-zmena{transition:none}}

/* rozbalená cenovka: seznam posledních změn */
.cena-hist{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.cena-hist h4{margin:0 0 6px}
.cena-hist ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.cena-hist li{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.cena-hist li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.cena-hist li b{white-space:nowrap;font-variant-numeric:tabular-nums}
.cena-hist li.up b{color:#a2401c}.cena-hist li.down b{color:#1f7a4d}
:root[data-theme="dark"] .cena-hist li.up b{color:#f0a07a}:root[data-theme="dark"] .cena-hist li.down b{color:#6cc28f}
.cena-hist .ch-act{display:flex;gap:6px;margin-top:8px}.cena-hist .ch-act .btn{flex:1;justify-content:center}

/* Zpět / Znovu: aktivní jsou modré, Zpět ukazuje počet kroků */
.stage #undo:not(:disabled),.stage #redo:not(:disabled){color:var(--blue-text)}
.stage #undo:disabled,.stage #redo:disabled{opacity:.4}
.stage #undo{position:relative}
.stage #undo[data-n]::after{content:attr(data-n);position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--blue);color:var(--blue-ink);font-size:9.5px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.stage .fl.tr .float:has(#undo){overflow:visible}

/* varianta v hlavičce jako tlačítko s počtem uložených variant */
.app>.top #cVariant{background:var(--blue-soft);color:var(--blue-text);border-radius:999px;position:relative}
.app>.top #cVariant[data-n]::after{content:attr(data-n);display:inline-block;margin-left:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--blue);color:var(--blue-ink);font-size:10px;font-weight:800;line-height:16px;text-align:center;vertical-align:1px}

/* ===== porovnání variant (js/porovnani-variant.js): karty vedle sebe, na telefonu posuvné do strany ===== */
.cena-hist #chPor{margin-top:6px;justify-content:center}
.pop .mi .pv-star{color:#d4a017;margin:0 2px 0 4px}
.mbox.pvbox{max-width:min(1100px,calc(100vw - 24px))}
.pv h2{margin-bottom:4px}
.pv-p{color:var(--muted);margin:0 0 12px}
.pv-leg{white-space:nowrap}.pv-leg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin:0 4px 0 6px;vertical-align:0}
.pv-leg i.lepsi{background:#1f7a4d}.pv-leg i.horsi{background:#b4532a}
.pv-w{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;overscroll-behavior-x:contain}
.pv-k{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface);min-width:0}
.pv-k.cur{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}
.pv-k.hl{border-color:#d4a017}
.pv-k header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pv-k header b{font-size:15px;margin-right:auto}
.pv-tag{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue-text)}
.pv-tag.hl{background:color-mix(in srgb,#d4a017 18%,transparent);color:#8a6a10}
.pv-n{background:var(--canvas);border-radius:12px;height:150px;overflow:hidden}.pv-n svg{width:100%;height:100%;display:block}
.pv-c{font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pv-rs{display:grid;gap:0}
.pv-r{display:grid;grid-template-columns:1fr auto;column-gap:8px;padding:5px 6px;border-radius:8px;font-size:12.5px}
.pv-r span{color:var(--muted)}.pv-r b{text-align:right;font-variant-numeric:tabular-nums}
.pv-r .pv-d{grid-column:2;justify-self:end}
.pv-r.jine{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.pv-r.nej b::after{content:" ✓";color:#1f7a4d}
.pv-d{font-size:11px;font-weight:800;padding:1px 6px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-d.lepsi{color:#1f7a4d;background:color-mix(in srgb,#1f7a4d 12%,transparent)}
.pv-d.horsi{color:#a2401c;background:color-mix(in srgb,#b4532a 12%,transparent)}
/* porovnání variant jako tabulka (13. 11., podle Spacia): náhledy nahoře, čísla pod nimi, první sloupec stojí při posunu do strany */
.pvt-top{padding-right:44px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.pvt-top>div{flex:1 1 260px;min-width:0}.pvt-top .btn{margin-top:4px}
.pvt-w{overflow:auto;max-height:min(68vh,760px);border:1px solid var(--line);border-radius:14px;overscroll-behavior:contain}
.pvt-t{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
.pvt-t th,.pvt-t td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;background:var(--surface)}
.pvt-t tbody th{text-align:left;font-weight:500;color:var(--muted);position:sticky;left:0;z-index:1;min-width:150px;max-width:200px}
.pvt-t thead th{position:sticky;top:0;z-index:2;vertical-align:bottom;text-align:left;min-width:190px}
.pvt-t thead th.pvt-c{left:0;z-index:3;min-width:150px}
.pvt-t .pvt-h .pv-n{height:120px;margin-bottom:6px}.pvt-t .pvt-h b{font-size:14px;display:block}.pvt-tags{display:flex;gap:4px;flex-wrap:wrap;min-height:18px;margin-top:3px}
.pvt-t .pvt-h.cur{box-shadow:inset 0 3px 0 var(--blue)}.pvt-t .pvt-h.hl:not(.cur){box-shadow:inset 0 3px 0 #d4a017}
.pvt-t td.cur{background:color-mix(in srgb,var(--blue) 4%,var(--surface))}
.pvt-t td b{font-weight:700;display:block}.pvt-t td .pv-d{display:inline-block;margin-top:2px}
.pvt-t td.nej b::after{content:" ✓";color:#1f7a4d}
.pvt-t tr.jine th{color:var(--ink)}
.pvt-t .pvt-g th{position:sticky;left:0;text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding-top:12px;background:var(--surface)}
.pvt-t .pvt-ak td{text-align:left;vertical-align:top}.pvt-t .pvt-ak .btn{margin-top:4px}
@media (max-width:600px){.pvt-t thead th{min-width:150px}.pvt-t tbody th,.pvt-t thead th.pvt-c{min-width:112px;max-width:130px}.pvt-t .pvt-h .pv-n{height:90px}.pvt-t th,.pvt-t td{padding:6px 7px}}
:root[data-theme="dark"] .pv-d.lepsi{color:#6cc28f}:root[data-theme="dark"] .pv-d.horsi{color:#f0a07a}
.pv-a{display:grid;gap:6px;margin-top:auto}.pv-a .btn{justify-content:center}
@media (max-width:600px){.pv-w{grid-auto-columns:82%;margin:0 -4px}.pv-n{height:130px}}

/* ---------- historie verzí (js/verze-casova-osa.js) ---------- */
.mbox.vobox{max-width:min(640px,calc(100vw - 24px))}
.vo h2{margin-bottom:4px}
.vo-p{color:var(--muted);margin:0 0 12px}
.vo-save{display:flex;gap:8px}.vo-save input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--surface);color:inherit;font:inherit}
.vo-lim{color:var(--muted);font-size:12px;margin:8px 0 10px}
.vo-l{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:min(62vh,560px);overflow-y:auto;overscroll-behavior:contain}
.vo-i{display:grid;grid-template-columns:72px 1fr;gap:6px 10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:8px;background:var(--surface)}
.vo-i.ted{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}
.vo-i.auto .vo-t b{font-weight:600;color:var(--muted)}
.vo-n{width:72px;height:56px;border-radius:10px;background:var(--canvas);overflow:hidden}.vo-n svg{width:100%;height:100%;display:block}
.vo-t{display:flex;flex-direction:column;gap:1px;min-width:0}.vo-t b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vo-t small{color:var(--muted);font-size:11.5px}
.vo-c{font-weight:800;font-variant-numeric:tabular-nums;font-size:14px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:2px}
.vo-a{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.vo-a .btn{justify-content:center}
.vo-load{color:var(--muted);font-size:13px;padding:10px 4px}
.vo-open{margin-top:8px}
@media (min-width:601px){.vo-i{grid-template-columns:96px 1fr auto}.vo-n{width:96px;height:70px}.vo-a{grid-column:auto;grid-template-columns:auto;min-width:120px}}

/* ---------- komentáře rodiny (js/rodina-komentare.js) ---------- */
html.rk-open,html.rk-open body{overflow:hidden}
.rk-v{position:fixed;inset:0;z-index:48;background:var(--bg,#f6f4ef);overflow-y:auto;overscroll-behavior:contain;padding:0 max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}
.rk-v>*{max-width:760px;margin-left:auto;margin-right:auto}
.rk-load{padding:80px 0;text-align:center;color:var(--muted)}.rk-load b{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}
.rk-h{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top,0px)) 0 10px;background:inherit}
.rk-v .rk-h{background:var(--bg,#f6f4ef)}
.rk-logo{width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;text-decoration:none;flex:none}
.rk-h div{flex:1;min-width:0;display:flex;flex-direction:column}.rk-h b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-h small{color:var(--muted);font-size:12px}
.rk-tip{margin:2px 0 10px;color:var(--muted);font-size:13.5px}
.rk-tabs{margin-bottom:8px}
.rk-plan{background:var(--canvas);border:1px solid var(--line);border-radius:16px;overflow:hidden;touch-action:manipulation}
.rk-plan svg{display:block;width:100%;height:auto;max-height:62vh;cursor:crosshair}
.rk-plan.sm svg{max-height:42vh;cursor:default}
.rk-pin circle{fill:var(--blue);stroke:#fff;stroke-width:.06}
.rk-pin text{fill:#fff;font-weight:800;font-family:var(--f,system-ui);pointer-events:none}
.rk-pin{cursor:pointer}.rk-pin.ok circle{fill:#8a8f98}.rk-pin.akt circle{fill:#d97706}.rk-pin.nov circle{fill:#d97706;stroke-dasharray:.12 .08}
.rk-novy{margin-top:10px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--blue);border-radius:14px;padding:10px;box-shadow:0 0 0 2px var(--blue-soft)}
.rk-novy textarea,.rk-row input{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:var(--surface);color:inherit;resize:vertical}
.rk-row{display:flex;gap:6px;align-items:center}.rk-row input{flex:1;min-width:0;height:36px}
.rk-lh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 6px}.rk-lh h3{margin:0;font-size:15px}
.rk-l{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rk-k{display:grid;grid-template-columns:26px 1fr auto auto;gap:8px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;cursor:pointer}
.rk-k.akt{border-color:#d97706;box-shadow:0 0 0 2px color-mix(in srgb,#d97706 20%,transparent)}
.rk-k.ok{opacity:.7}.rk-k.ok .rk-c{background:#8a8f98}
.rk-c{width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center}
.rk-k b{font-size:13.5px}.rk-k small{display:block;color:var(--muted);font-size:11.5px}.rk-k p{margin:3px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.rk-del{width:30px;height:30px;font-size:18px;color:var(--muted)}
.rk-empty{margin:4px 0}.rk-pata{margin-top:18px;text-align:center}
.rk-bar{position:fixed;left:50%;transform:translateX(-50%);top:calc(56px + env(safe-area-inset-top,0px));z-index:30;display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:999px;padding:6px 6px 6px 14px;box-shadow:0 6px 24px rgba(0,0,0,.16);font-size:13px;max-width:calc(100% - 24px)}
.mbox.rkbox{max-width:min(640px,calc(100vw - 24px))}
.rk-mp{color:var(--muted);margin:0 0 12px}
.rk-start{display:grid;gap:12px;justify-items:start}.rk-start p{margin:0}
.rk-sh{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.rk-m .rk-l{margin-top:8px}
.rk-n{font-style:normal;background:#d43b2a;color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:1px 6px;margin-left:4px}
.rk-pill{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:6;border:0;border-radius:999px;background:#d97706;color:#fff;font:700 13px/1 var(--f,system-ui);padding:9px 14px;box-shadow:0 6px 18px rgba(0,0,0,.18);cursor:pointer;white-space:nowrap}
@media (max-width:600px){.rk-k{grid-template-columns:24px 1fr auto}.rk-k>.rk-del{grid-column:3;grid-row:1}.rk-pill{top:auto;bottom:118px}}
.rk-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:49;background:var(--ink);color:var(--surface);padding:9px 14px;border-radius:10px;font-weight:600;font-size:13px;max-width:calc(100% - 32px);text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.rk-m .linkbtn{border:0;background:none;padding:0;color:var(--blue-text,var(--blue));font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.rk-m a.btn,.rk-v a.btn{text-decoration:none}
.rk-k .rk-b{min-width:0}
.rk-tag{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue-text,var(--blue));vertical-align:1px}
.rk-upr{margin-top:6px;padding:6px 8px;border-radius:10px;background:color-mix(in srgb,#1f7a4d 10%,transparent);color:#1f7a4d;font-size:13px}
.rk-upr small{color:inherit;opacity:.8;display:inline}.rk-upr p{margin:2px 0 0;color:var(--ink);font-size:13.5px}
.rk-upr.nove,.rk-odp li.nove{box-shadow:0 0 0 2px #d97706}
.rk-odp{list-style:none;margin:8px 0 0;padding:0 0 0 10px;border-left:2px solid var(--line);display:grid;gap:6px}
.rk-odp li{position:relative;padding:4px 30px 4px 8px;border-radius:8px}.rk-odp li.maj{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.rk-odp li small{display:inline;margin-left:6px}.rk-odp li p{margin:1px 0 0}
.rk-odp .rk-del{position:absolute;top:0;right:0;width:26px;height:26px;font-size:16px}
.rk-akce{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rk-pis{margin-top:8px;display:grid;gap:6px}.rk-pis textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:var(--surface);color:inherit;resize:vertical}
.rk-pis .rk-row{justify-content:flex-end}
.rk-chk{display:flex;gap:8px;align-items:center;font-size:13px}
.rk-novinky{margin:0 0 10px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,#d97706 12%,var(--surface));font-size:13.5px}
.rk-k{grid-template-columns:26px 1fr auto}
@media (max-width:600px){.rk-k{grid-template-columns:24px 1fr auto}}
.rk-b>.rk-tag:first-child,.rk-odp li>.rk-tag:first-child{margin-left:0}

/* ===== živá cena (10. 11.): rozpad změny po částech rozpočtu, výměry a „kolik stojí vaše úpravy“ (js/cena-historie.js) ===== */
.cena-zmena.has-p{flex-wrap:wrap;border-radius:16px;row-gap:3px;padding:6px 6px 7px 12px}
.cena-zmena .cz-p{flex-basis:100%;font-size:11px;color:var(--muted);white-space:normal;line-height:1.35}
.cena-zmena .cz-p b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink,inherit)}
.cena-hist details{width:100%}
.cena-hist summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.cena-hist summary::-webkit-details-marker{display:none}
.cena-hist summary span::before{content:'▸ ';color:var(--muted)}
.cena-hist details[open] summary span::before{content:'▾ '}
.cena-hist details ul{list-style:none;margin:3px 0 4px 14px;padding:0;display:grid;gap:2px}
.cena-hist details ul li{font-size:11.5px}
.cena-vym{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.cena-vym h4{margin:0 0 6px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cena-vym h4+ol,.cena-vym .note+ol{margin-top:4px}
.cena-vym dl{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:0;font-size:12.5px}
.cena-vym dt{color:var(--muted)}
.cena-vym dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cena-vym dd small{font-weight:600;color:var(--muted);margin-left:4px}
.cena-vym .note{margin:6px 0 0;font-size:11.5px}
.cena-vym dl+.note+h4,.cena-vym dl+h4{margin-top:12px}
.cena-vym ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.cena-vym li{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.cena-vym li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.cena-vym li b{white-space:nowrap;font-variant-numeric:tabular-nums}
.cena-vym .up,.cena-vym li.up b{color:#a2401c}.cena-vym .down,.cena-vym li.down b{color:#1f7a4d}
:root[data-theme="dark"] .cena-vym .up,:root[data-theme="dark"] .cena-vym li.up b{color:#f0a07a}
:root[data-theme="dark"] .cena-vym .down,:root[data-theme="dark"] .cena-vym li.down b{color:#6cc28f}
.cena-vym .cv-tot{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
/* kreslení tužkou do půdorysu pro rodinu (js/rodina-komentare.js, 11. 11.) */
.rk-nastroje{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.rk-nastroje .btn[aria-pressed="true"]{background:color-mix(in srgb,var(--blue,#2f6fde) 14%,var(--surface));border-color:var(--blue,#2f6fde);color:var(--blue,#2f6fde)}
.rk-plan.tuzka svg{touch-action:none;cursor:crosshair}
.rk-kr path{fill:none;stroke:#d97706;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.rk-kr.ok path{stroke:#8a8f98;opacity:.7}.rk-kr.akt path{stroke:#c2410c;stroke-width:4.5px;opacity:1}
.rk-kr.nov path{stroke:#2f6fde}
