:root{
  --bg:#eef3f8;
  --panel:#ffffff;
  --line:#d9e3ef;
  --line2:#e6edf5;
  --text:#1f2f49;
  --muted:#63708a;
  --blue:#1558d6;
  --blue2:#eef5ff;
  --wood:#e99a61;
  --woodSoft:#f8ddc7;
  --non:#e8edf2;
  --nonLine:#9ba8b7;
  --base:#7a8290;
  --green:#1d7a45;
  --greenSoft:#ecf8f1;
  --orange:#b35c10;
  --orangeSoft:#fff4e9;
  --red:#b42318;
  --redSoft:#fff0ee;
  --shadow:0 14px 35px rgba(27,44,76,.07);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px;overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer;border:0}
.app-shell{width:min(1580px,calc(100vw - 36px));height:min(100vh - 22px,1058px);margin:11px auto;display:grid;grid-template-rows:68px 48px minmax(0,1fr) 50px;gap:10px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.logo-link img{width:250px;height:auto;display:block}
.top-actions{display:flex;gap:12px}.primary,.ghost{border-radius:10px;padding:10px 18px;font-weight:750;letter-spacing:.01em}.primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(21,88,214,.16)}.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step{background:#fff;border:1px solid var(--line);color:#5b6680;border-radius:12px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px}.step span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f2f5f9;color:#1b315e}.step.active{background:var(--blue2);border-color:#b8cff6;color:#12356f}.step.active span{background:var(--blue);color:#fff}
.workspace{min-height:0}.screen{display:none;height:100%}.screen.active{display:block}.screen-grid,.scenario-layout,.output-layout{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.screen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.output-layout{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;min-width:0;min-height:0;overflow:hidden}.input-panel{display:flex;flex-direction:column;gap:12px}.panel-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:2px}.num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;flex:0 0 auto}.panel-title h1,.output-head h1{margin:0;font-size:1.25rem;line-height:1.15}.panel-title p,.diagram-head p,.output-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.compact-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-group label,.input-card,.select-card{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:800;color:#2b3853}.field-group input,.input-card input,.select-card select{height:32px;border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff;color:var(--text);font-weight:600}.choice-line{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice{height:54px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 11px}.choice b{font-size:.95rem}.choice small{color:var(--muted);font-weight:600;margin-top:3px}.choice.active{border-color:#86afea;background:#f2f7ff;box-shadow:inset 0 0 0 1px #86afea}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-grid{display:grid;grid-template-columns:1fr;gap:10px}.system-grid.has-existing{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-input{display:flex}.unit-input input{border-radius:9px 0 0 9px;min-width:0}.unit-input em{height:32px;min-width:38px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;display:grid;place-items:center;color:var(--muted);background:#f8fafc;font-style:normal}
.use-grid{display:grid;gap:8px}.radio-row{border:1px solid var(--line2);border-radius:12px;background:#fafcff;padding:9px 10px;display:grid;grid-template-columns:1fr repeat(3,auto);gap:12px;align-items:center}.radio-row span{font-weight:800}.radio-row label{display:flex;align-items:center;gap:5px;color:#4e5d78;font-weight:700;font-size:.85rem}.note.small{font-size:.82rem;line-height:1.45;color:#52627f;background:#f7faff;border:1px solid var(--line2);border-radius:12px;padding:10px}.hidden{display:none!important}
.diagram-panel,.mini-diagram,.output-diagram{display:flex;flex-direction:column}.diagram-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.diagram-head h2,.mini-diagram h2,.output-diagram h2{font-size:1rem;margin:0;letter-spacing:.08em;text-transform:uppercase}.badge{align-self:start;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900;background:#f2f5f9;color:#3c4a63}.badge.green{background:var(--greenSoft);color:var(--green)}.badge.orange{background:var(--orangeSoft);color:var(--orange)}.badge.red{background:var(--redSoft);color:var(--red)}
.building-diagram{flex:1;min-height:0;border:1px solid var(--line2);border-radius:14px;background:#fbfcff;display:grid;place-items:center;overflow:hidden;padding:10px 0}.building-diagram.small{min-height:460px;flex:0 0 460px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.metric{background:#f8fafc;border:1px solid var(--line2);border-radius:12px;padding:10px}.metric b{display:block;font-size:1.22rem;color:var(--blue);line-height:1.05}.metric span{display:block;margin-top:4px;font-size:.78rem;color:var(--muted);font-weight:700}

.fire-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.building-diagram svg{width:100%;height:100%;display:block}
.building-diagram.small svg{width:100%}
.metrics{display:block;margin-top:10px}
.summary-text{display:grid;gap:6px}
.summary-item{background:#f8fafc;border:1px solid var(--line2);border-radius:10px;padding:9px 12px;line-height:1.45;color:#475467;font-size:.89rem}
.summary-item strong{color:var(--text)}
.summary-item b{color:var(--blue)}

.scenario-panel{display:flex;flex-direction:column}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:12px;min-height:0;flex:1}.scenario-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}.scenario-card.active{background:#f7fbff;border-color:#b9d0f4}.scenario-top{display:flex;justify-content:space-between;gap:12px}.scenario-card h3{margin:0;font-size:.98rem}.scenario-card p{margin:4px 0 0;color:var(--muted);line-height:1.35;font-size:.84rem}.switch{position:relative;width:44px;height:24px;flex:0 0 auto}.switch input{display:none}.switch span{position:absolute;inset:0;border-radius:99px;background:#d9e1ec}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.15s}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:after{transform:translateX(20px)}.scenario-detail{font-size:.82rem;color:#52627f;line-height:1.35;margin:0;padding-left:15px}.scenario-detail li{margin:3px 0}.impact-mini{margin-top:12px;display:grid;gap:8px}.impact-pill{border-radius:12px;padding:10px;background:#f7faff;border:1px solid var(--line2);font-size:.86rem;color:#52627f}.impact-pill strong{display:block;color:var(--text);margin-bottom:3px}
.output-panel{display:flex;flex-direction:column}.output-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:12px}.output-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line2);border-radius:14px;background:#fbfcff;padding:14px}.result-section{border:1px solid var(--line2);border-radius:13px;background:#fff;padding:13px;margin-bottom:10px}.result-section h2{font-size:1rem;margin:0 0 8px}.result-section p{margin:0 0 7px;color:#52627f;line-height:1.45}.result-section ul{margin:0;padding-left:18px;color:#52627f}.result-section li{margin:5px 0}.result-section.ok{background:var(--greenSoft);border-color:#b9ddc7}.result-section.warn{background:var(--orangeSoft);border-color:#efd3bb}.result-section.bad{background:var(--redSoft);border-color:#f0c9c4}.result-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.result-kpi div{background:#fff;border:1px solid var(--line2);border-radius:11px;padding:10px}.result-kpi b{display:block;color:var(--blue);font-size:1.18rem}.footer-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.footer-note{color:#667085;font-size:.82rem;text-align:center}
@media(max-width:1200px){html,body{overflow:auto}.app-shell{height:auto}.screen-grid,.scenario-layout,.output-layout{grid-template-columns:1fr}.scenario-grid{grid-template-columns:1fr}.building-diagram.small{min-height:360px}.output-scroll{max-height:70vh}}
@media print{html,body{overflow:visible;background:#fff}.topbar,.steps,.footer-actions,.top-actions{display:none!important}.app-shell{width:100%;height:auto;margin:0}.screen{display:none!important}.screen[data-screen="3"]{display:block!important}.output-layout{grid-template-columns:1fr}.output-scroll{overflow:visible;border:0}.panel{box-shadow:none;border:0}.output-head button{display:none}}

/* v3.6.1 – oprava tisku: tiskne se jen výstupní obrazovka včetně SVG schématu */
@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{overflow:visible!important;background:#fff!important;height:auto!important}
  body *{visibility:hidden!important}
  .screen[data-screen="3"], .screen[data-screen="3"] *{visibility:visible!important}
  .screen[data-screen="3"]{display:block!important;position:absolute;left:0;top:0;width:100%;height:auto!important}
  .app-shell,.workspace{display:block!important;width:100%!important;height:auto!important;margin:0!important}
  .topbar,.steps,.footer-actions,.top-actions,#printBtn{display:none!important}
  .output-layout{display:block!important;height:auto!important}
  .output-diagram,.output-panel,.panel{display:block!important;box-shadow:none!important;border:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
  .output-diagram{margin-bottom:8mm!important;break-inside:avoid!important}
  .building-diagram{height:115mm!important;border:1px solid #d0d7e2!important;border-radius:0!important;overflow:hidden!important}
  .output-scroll{display:block!important;overflow:visible!important;border:0!important;background:#fff!important;padding:0!important}
  .result-section{break-inside:avoid!important;border:1px solid #d0d7e2!important;margin-bottom:4mm!important}
}

.diagram-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.diagram-body{display:grid;grid-template-columns:minmax(320px,36%) minmax(260px,1fr);gap:14px;min-height:0;align-items:stretch;height:100%}
.building-diagram.tall{min-height:0;height:100%;padding:8px 0}
.side-summary{display:flex;flex-direction:column;gap:8px;justify-content:flex-start;overflow:auto;padding-top:2px}
.summary-text{display:grid;gap:8px}
.summary-item{font-size:.92rem;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--line2);line-height:1.5}
.summary-item.warning{background:#fff7ed;border-color:#fed7aa}
.summary-item.bad{background:#fff1f2;border-color:#fecdd3}
.summary-item.good{background:#f0fdf4;border-color:#bbf7d0}

/* v3.6.9 – hlavní obrazovka: zadání / graf / vyhodnocení */
.graph-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:14px}
.summary-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:14px}
.summary-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.summary-head h2{font-size:1rem;margin:0;letter-spacing:.08em;text-transform:uppercase}
.summary-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.graph-panel .building-diagram.tall{height:100%;min-height:0;padding:4px 0}
.summary-panel .side-summary{height:100%;min-height:0;overflow:auto;padding-right:4px}
.summary-panel .summary-text{align-content:start}
.summary-panel .summary-item{padding:12px 14px}
@media(max-width:1200px){.screen-grid{grid-template-columns:1fr!important}}


/* v3.6.9 – striktní zarovnání 3 sloupců s horní navigací */
.screen-grid > .panel,
.scenario-layout > .panel,
.scenario-layout > aside,
.output-layout > .panel{min-width:0}

.scenario-panel{grid-column:1 / span 2}
.mini-diagram{grid-column:3}

.output-diagram{grid-column:1}
.output-panel{grid-column:2 / span 2}

.graph-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.summary-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.summary-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.summary-head h2{font-size:1rem;margin:0;letter-spacing:.08em;text-transform:uppercase}
.summary-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}

.building-diagram.tall{height:100%;min-height:0;padding:8px 0}
.building-diagram.tall svg{width:100%;height:100%;display:block}

.side-summary{overflow:auto;min-height:0}

/* v3.6.9 – normový kompas */
.norm-block{border:1px solid var(--line2);background:#fbfdff;border-radius:14px;padding:10px 11px;display:flex;flex-direction:column;gap:8px}
.norm-block h3{margin:0;font-size:.88rem;color:#24324d}
.norm-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.norm-check-grid .select-card select,.norm-check-grid .input-card input{height:30px;font-size:.82rem}
.summary-section{display:grid;gap:7px;margin-bottom:10px}
.summary-section h3{margin:0;font-size:.82rem;color:#46536d;text-transform:uppercase;letter-spacing:.05em}
.summary-item.stop{background:#fff0ee;border-color:#fecaca;color:#7f1d1d}
.summary-item.condition{background:#eef6ff;border-color:#bfdbfe}
.summary-item.verify{background:#fff8eb;border-color:#fed7aa}
.summary-item.info{background:#f8fafc;border-color:#e2e8f0}
.summary-item strong.label{display:block;margin-bottom:2px}
@media(max-width:1200px){.norm-check-grid{grid-template-columns:1fr}}

/* v3.6.11 – scénáře ve třetinách: přepínače / popis / grafika */
.scenario-thirds{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.scenario-thirds .scenario-panel{grid-column:1!important}
.scenario-info-panel{grid-column:2;display:flex;flex-direction:column;gap:10px;min-width:0}
.scenario-info-panel h2{font-size:1rem;margin:0;letter-spacing:.08em;text-transform:uppercase}
.scenario-info-panel .muted{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}
.scenario-thirds .mini-diagram{grid-column:3!important}
.scenario-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:2px}
.scenario-row{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.scenario-row.active{background:#f7fbff;border-color:#b9d0f4}
.scenario-row h3{margin:0;font-size:.95rem}
.scenario-row p{margin:4px 0 0;color:var(--muted);font-size:.78rem;font-weight:800}
.scenario-info{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:2px}
.scenario-info-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:13px;display:grid;gap:8px}
.scenario-info-card.active{background:#f7fbff;border-color:#b9d0f4}
.scenario-info-card h3{margin:0;font-size:.98rem}
.scenario-info-card p{margin:0;color:#52627f;line-height:1.42;font-size:.88rem}
.scenario-info-card .ref{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#eef4ff;border:1px solid #c7d7fe;color:#2f4f93;font-size:.75rem;font-weight:900;padding:5px 8px}
.scenario-info-card ul{margin:0;padding-left:17px;color:#52627f;font-size:.86rem;line-height:1.4}
.scenario-info-card li{margin:4px 0}
.scenario-info-card .scenario-note{background:#f8fafc;border:1px solid var(--line2);border-radius:10px;padding:8px 9px;color:#46536d}
@media(max-width:1200px){.scenario-thirds{grid-template-columns:1fr!important}.scenario-thirds .scenario-panel,.scenario-info-panel,.scenario-thirds .mini-diagram{grid-column:1!important}}


/* v2.0.0 (05/2026) – výstupní akce a neutrální stav scénářů */
.output-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.scenario-info-card.placeholder{background:#f8fbff;border-style:dashed}
.scenario-info-card.placeholder h3{color:#1f2f49}

/* v2.0.0 (05/2026) – final page metadata + structured report */
.report-meta-panel{border:1px solid var(--line2);border-radius:14px;background:#f8fbff;padding:12px;margin-bottom:12px}
.report-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.report-meta-grid label{display:flex;flex-direction:column;gap:5px;color:#63708a;font-size:.82rem;font-weight:800}
.report-meta-grid input,.report-meta-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 10px;color:var(--text);font-weight:650;resize:vertical}
.output-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.report-cover{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;gap:16px}
.report-cover.warn{background:#fff7ed;border-color:#fed7aa}.report-cover.bad{background:#fff1f2;border-color:#fecdd3}.report-cover.ok{background:#f0fdf4;border-color:#bbf7d0}
.report-cover h2{font-size:1.25rem;margin:4px 0}.report-cover p{margin:0;color:#63708a}
.report-app-name{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--blue)}
.report-status{font-weight:900;align-self:center;text-align:right}
.report-table{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.report-table div{border:1px solid var(--line2);border-radius:10px;background:#fff;padding:10px}
.report-table strong{display:block;font-size:.78rem;color:#63708a;margin-bottom:3px}
.report-table span{display:block;font-weight:700;color:#1f2f49}
@media(max-width:900px){.report-meta-grid,.report-table{grid-template-columns:1fr}.report-cover{display:block}.report-status{text-align:left;margin-top:10px}}
@media print{.report-meta-panel,.output-actions{display:none!important}.report-cover{break-inside:avoid}.report-table{grid-template-columns:1fr 1fr}}

/* v2.0.0 (05/2026) – finální skladba výstupu */
.report-header-card{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.report-header-card h2{margin:4px 0 0;font-size:1.25rem}
.report-status.ok{color:var(--green)}.report-status.warn{color:var(--orange)}.report-status.bad{color:var(--red)}
.always-section .report-row span:empty::after{content:'—';color:#98a2b3}
.report-row{border:1px solid var(--line2);border-radius:10px;background:#fff;padding:10px}
.report-row strong{display:block;font-size:.78rem;color:#63708a;margin-bottom:3px}
.report-row span{display:block;font-weight:700;color:#1f2f49}
.report-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.report-split-graphic,.report-split-summary{min-width:0}
.report-inline-diagram{height:520px;min-height:440px}
.report-table.compact{grid-template-columns:1fr 1fr}
.report-table.compact .report-row{padding:8px}
.result-subsection{border-top:1px solid var(--line2);margin-top:12px;padding-top:10px}
.report-disclaimer{border:1px solid #fecaca;background:#fff5f5;border-radius:14px;padding:16px;margin-top:12px}
.report-disclaimer h2{color:var(--red)}
.report-disclaimer p{margin-bottom:0;line-height:1.55}
@media(max-width:1100px){.report-split{grid-template-columns:1fr}.report-inline-diagram{height:460px}}
@media print{
  .report-header-card,.report-disclaimer,.report-split,.always-section{break-inside:avoid}
  .report-split{grid-template-columns:1fr 1fr!important}
  .report-inline-diagram{height:115mm!important}
}

/* v2.0.0 (05/2026) – výstup jen jako samostatná reportová stránka */
.output-single{grid-template-columns:1fr!important}
.output-panel-full{grid-column:1 / -1}
.output-panel-full .output-scroll{max-width:1040px;margin:0 auto;width:100%;padding-right:4px}
.report-page{background:#fff}
.report-page-section{break-inside:avoid;page-break-inside:avoid}
.report-split{align-items:start}
.report-split-graphic{padding-top:39px}
.report-split-summary h3{margin-top:0}
.report-inline-diagram{height:500px;min-height:420px}
@media print{
  body *{visibility:hidden!important}
  .screen[data-screen="3"], .screen[data-screen="3"] *{visibility:visible!important}
  .screen[data-screen="3"]{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important}
  .output-layout,.output-single,.output-panel,.output-panel-full,.output-scroll,.report-page{display:block!important;width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important;box-shadow:none!important;border:0!important;background:#fff!important;padding:0!important;margin:0!important}
  .output-head,.report-meta-panel,.output-actions,.output-diagram{display:none!important}
  .report-header-card,.result-section,.report-disclaimer{break-inside:avoid;page-break-inside:avoid}
  .report-split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8mm!important;align-items:start!important}
  .report-split-graphic{padding-top:10mm!important}
  .report-inline-diagram{height:105mm!important}
}

/* v2.0.0 (05/2026) – učesaný report, kompaktní písmo a pouze PDF export */
.output-actions .ghost{display:none!important}

.output-panel-full .output-scroll{
  max-width:1120px;
  margin:0 auto;
  width:100%;
  padding:14px 18px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(27,44,76,.06);
}

.report-page{
  font-size:12px;
  line-height:1.42;
}

.report-page h2{
  font-size:1.05rem;
  margin-bottom:8px;
}

.report-page h3{
  font-size:.98rem;
}

.report-header-card{
  padding:14px 16px;
  margin-bottom:10px;
}

.result-section{
  padding:13px 14px!important;
  margin-bottom:10px!important;
}

.result-section p{
  margin:5px 0 7px;
}

.result-section ul{
  margin:6px 0 0 18px;
  padding:0;
}

.result-section li{
  margin:3px 0;
}

.report-table{
  gap:7px;
}

.report-row,
.report-table div{
  padding:8px 9px!important;
  min-height:auto;
}

.report-row strong,
.report-table strong{
  font-size:.72rem;
  line-height:1.2;
}

.report-row span,
.report-table span{
  font-size:.86rem;
  line-height:1.25;
}

.report-split{
  gap:14px;
  align-items:start;
}

.report-split-graphic{
  padding-top:26px;
}

.report-inline-diagram{
  height:430px;
  min-height:380px;
}

.report-split-summary h3{
  margin:0 0 10px;
}

.report-table.compact{
  gap:7px;
}

.report-disclaimer{
  padding:13px 14px;
  margin-top:10px;
}

.report-disclaimer p{
  font-size:.86rem;
}

.output-head{
  margin-bottom:10px;
}

.report-meta-panel{
  margin-bottom:10px;
}

@media print{
  @page{size:A4 portrait;margin:10mm}

  .report-page{
    font-size:12px!important;
    line-height:1.36!important;
  }

  .report-header-card{
    padding:8mm 0 4mm!important;
    border:0!important;
    border-bottom:1px solid #d9e3ef!important;
    border-radius:0!important;
    background:#fff!important;
  }

  .result-section{
    padding:5mm!important;
    margin-bottom:4mm!important;
    border-radius:3mm!important;
  }

  .report-split{
    grid-template-columns:1fr 1fr!important;
    gap:7mm!important;
    align-items:start!important;
  }

  .report-split-graphic{
    padding-top:7mm!important;
  }

  .report-inline-diagram{
    height:96mm!important;
  }

  .report-row,
  .report-table div{
    padding:3mm!important;
  }

  .report-disclaimer{
    padding:5mm!important;
  }
}

/* v2.0.0 (05/2026) – výstup: 1/3 nastavení + 2/3 report, doplněno zpracoval/datum */
.output-final-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,0.34fr) minmax(560px,0.66fr)!important;
  gap:14px!important;
  height:100%;
}

.report-meta-sidebar{
  display:flex;
  flex-direction:column;
  overflow:auto;
}

.output-panel-report{
  overflow:hidden;
}

.output-panel-report .output-scroll{
  max-width:980px;
  margin:0 auto;
  width:100%;
  height:100%;
  overflow:auto;
  padding:14px 18px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(27,44,76,.06);
}

.compact-output-head{
  margin-bottom:10px;
}

.compact-output-head h1{
  font-size:1.2rem;
}

.compact-meta-panel{
  margin:0;
  padding:12px;
  flex:1;
}

.compact-meta-panel h2{
  margin:0 0 10px;
  font-size:.96rem;
}

.report-meta-onecol{
  grid-template-columns:1fr!important;
}

.report-meta-onecol label{
  min-width:0;
}

.report-meta-onecol textarea{
  min-height:92px;
}

.output-actions-sidebar{
  margin-top:12px;
  justify-content:stretch;
}

.output-actions-sidebar .primary{
  width:100%;
}

.norm-check-grid{
  align-items:end;
}

.norm-check-grid .select-card,
.norm-check-grid .input-card{
  min-height:74px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.norm-check-grid .select-card span,
.norm-check-grid .input-card span{
  line-height:1.2;
  min-height:30px;
  display:flex;
  align-items:flex-end;
}

.report-mini-meta{
  margin-top:6px!important;
  font-size:.84rem;
  color:#63708a;
}

@media(max-width:1200px){
  .output-final-grid{grid-template-columns:1fr!important}
  .report-meta-sidebar{overflow:visible}
  .output-panel-report .output-scroll{height:auto}
}

@media print{
  .report-meta-sidebar{display:none!important}
  .output-final-grid{display:block!important}
  .output-panel-report .output-scroll{max-width:none!important;height:auto!important;overflow:visible!important;border:0!important;box-shadow:none!important;padding:0!important}
}

/* v2.0.0 (05/2026) – NAVRHNI DŘEVOSTAVBU.CZ branding */
:root{
  --brand-navy:#0D1B3D;
  --brand-orange:#F08A3F;
  --brand-wood:#F4D7B3;
  --brand-bg:#F8FAFD;
}

html,body{
  background:
    radial-gradient(circle at 16% 18%, rgba(240,138,63,.08), transparent 24%),
    radial-gradient(circle at 86% 20%, rgba(13,27,61,.05), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f3f7fb 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(120deg, transparent 0 78%, rgba(13,27,61,.045) 78% 79%, transparent 79%),
    repeating-linear-gradient(0deg, transparent 0 46px, rgba(13,27,61,.025) 47px 48px);
  mask-image:linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
}

.logo-link img{
  width:310px;
  max-height:74px;
  object-fit:contain;
}

.topbar{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(217,227,239,.7);
  border-radius:18px;
  padding:8px 18px;
  box-shadow:0 14px 36px rgba(13,27,61,.06);
  backdrop-filter:blur(10px);
}

.object-question{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
  color:var(--brand-navy);
  margin:2px 0 8px;
}

.object-choice-line{
  grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;
}

.choice{
  min-height:64px;
}

.choice.active{
  border-color:#8fb4ff;
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  box-shadow:0 0 0 2px rgba(21,88,214,.08);
}

.step.active span,
.panel-title .num{
  background:var(--blue);
}

.report-app-name,
.app-title{
  color:var(--brand-navy)!important;
}

.report-header-card,
.report-cover{
  border-top:3px solid var(--brand-orange);
}

@media print{
  body::before{display:none!important}
}

/* v2.0.0 – korekce brandingu podle schválené varianty 1 */
.logo-link img{
  width:340px;
  max-height:82px;
  object-fit:contain;
}

.topbar{
  background:rgba(255,255,255,.86);
}

.topbar::after{
  content:"";
  width:120px;
  height:52px;
  opacity:.075;
  background:
    linear-gradient(90deg, transparent 0 18%, #0D1B3D 18% 19%, transparent 19% 38%, #0D1B3D 38% 39%, transparent 39%),
    repeating-linear-gradient(0deg, transparent 0 11px, #0D1B3D 12px 13px);
  border-radius:12px;
  margin-left:10px;
}

/* v2.0.0 – odstranění dekorativní mřížky v pravé části hlavičky nástroje */
.topbar::after{
  content:none!important;
  display:none!important;
}

.logo-link img{
  width:330px;
  max-height:78px;
}

/* v2.0.0 – pojistka: bez dekorativní mřížky v nástroji */
.topbar::after{content:none!important;display:none!important}

/* v2.0.0 – identita: bez dekorativní mřížky a s čistým headerem */
.topbar::after{
  content:none!important;
  display:none!important;
}

.logo-link img{
  width:330px;
  max-height:78px;
  object-fit:contain;
}


/* =========================================================
   RUČNÍ NASTAVENÍ – NAVRHNI DŘEVOSTAVBU.CZ v2.0.0
   ---------------------------------------------------------
   Tato část je záměrně až NA KONCI souboru, aby přebila
   předchozí starší styly bez rizika rozbití grafiky.

   Co upravovat:
   1) Výška horního pásu aplikace:
      .app-shell { grid-template-rows: 82px 48px minmax(0,1fr) 50px; }
      První hodnota = prostor pro logo/topbar.
      Pokud zvětšíš logo, zvyš i tuto první hodnotu.

   2) Velikost loga:
      .logo-link img { width: 300px; }

   3) Odsazení topbaru:
      .topbar { padding: 4px 0; }

   Důležité:
   - Neměň níže `minmax(0,1fr)`, to drží pracovní plochu
     pružnou mezi horní navigací a spodním footerem.
   - Toto je bezpečný override nad původní grafikou v2.0.0.
   ========================================================= */

/* Horní layout aplikace:
   původně 68px / logo 250px.
   Teď je logo cca +20 %, proto první řádek zvednutý na 82px. */
.app-shell{
  grid-template-rows: 82px 48px minmax(0,1fr) 50px !important;
}

/* Logo v horním topbaru – hlavní rychlá úprava velikosti. */
.logo-link img{
  width: 300px !important;      /* cca +20 % proti původním 250px */
  max-height: 76px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Topbar držet v rámci prvního grid řádku a nezasahovat do kroků. */
.topbar{
  min-height: 0 !important;
  height: 100% !important;
  padding: 4px 0 !important;
  align-items: center !important;
}

/* Pojistka proti dekorativní mřížce vpravo v hlavičce. */
.topbar::after{
  content: none !important;
  display: none !important;
}


/* =========================================================
   ASSETOVÉ SCHÉMA OBJEKTU – připraveno od v2.0.0
   ---------------------------------------------------------
   Aktuální výpočet zatím používá původní SVG render.
   Tyto třídy jsou připravené pro další krok:
   skládání objektu z hotových SVG podlaží.
   ========================================================= */
.asset-building{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  min-height:420px;
  overflow:hidden;
}
.asset-building-stack{
  position:relative;
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  justify-content:flex-start;
  width:min(340px,100%);
}
.asset-floor,
.asset-roof,
.asset-terrain{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  pointer-events:none;
}
.asset-floor--timber{--asset-kind:timber}
.asset-floor--noncombustible{--asset-kind:noncombustible}
.asset-floor--parter{--asset-kind:parter}
.asset-floor--basement{--asset-kind:basement}
.asset-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
}


/* =========================================================
   v2.0.0 – první paralelní assetový render schématu
   ---------------------------------------------------------
   Na první obrazovce běží vedle sebe:
   - původní technický SVG render,
   - nový stavebnicový render ze SVG assetů.
   Původní výstup a export zůstávají beze změny.
   ========================================================= */
.diagram-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  height:calc(100% - 54px);
  min-height:420px;
}
.diagram-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
}
.diagram-card-title{
  flex:0 0 auto;
  margin:0 0 6px;
  color:#63708a;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.diagram-card .building-diagram.tall{
  height:100%;
  min-height:0;
}

.asset-building.tall{
  height:100%;
  min-height:0;
  border:1px solid var(--line2);
  border-radius:12px;
  background:#fbfcff;
  overflow:hidden;
}
.asset-building-inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1fr) auto;
  height:100%;
  min-height:0;
  padding:8px 8px 7px;
}
.asset-building-stack{
  position:relative;
  align-self:center;
  justify-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(240px,76%);
  max-height:100%;
  min-height:0;
  z-index:2;
}
.asset-roof{
  width:106%;
  margin-bottom:-3px;
  z-index:4;
}
.asset-terrain{
  width:112%;
  margin:0 0 -2px;
  z-index:5;
}
.asset-floor-row{
  position:relative;
  width:100%;
  margin-top:-1px;
  z-index:3;
}
.asset-floor{
  width:100%;
  height:auto;
}
.asset-floor-row--basement{
  opacity:.96;
}
.asset-floor-label{
  position:absolute;
  left:-68px;
  top:50%;
  transform:translateY(-50%);
  width:62px;
  text-align:right;
  line-height:1.05;
}
.asset-floor-label strong{
  display:block;
  color:#1f2f49;
  font-size:.72rem;
  font-weight:900;
}
.asset-floor-label span{
  display:block;
  color:#63708a;
  font-size:.58rem;
  font-weight:700;
}
.asset-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.85;
  z-index:7;
  pointer-events:none;
}
.asset-overflow-note{
  width:100%;
  margin:0 0 3px;
  border:1px dashed #fecaca;
  border-radius:8px;
  padding:4px 6px;
  background:#fff5f5;
  color:#b42318;
  font-size:.62rem;
  font-weight:850;
  text-align:center;
}
.asset-scale-tags{
  position:absolute;
  inset:10px 6px auto auto;
  display:grid;
  gap:5px;
  z-index:8;
}
.asset-scale-tags .tag{
  display:inline-flex;
  justify-content:center;
  min-width:48px;
  border:1px solid #c7ced9;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#5f6b80;
  padding:3px 6px;
  font-size:.62rem;
  font-weight:900;
}
.asset-scale-tags .tag-18,
.asset-scale-tags .tag-225{
  color:#1f2f49;
  border-color:#aeb7c5;
}
.asset-height-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  margin-top:6px;
  z-index:9;
}
.asset-height-summary div{
  border:1px solid #e6edf5;
  border-radius:9px;
  background:#fff;
  padding:5px 6px;
  text-align:center;
}
.asset-height-summary strong{
  display:block;
  color:#1558d6;
  font-size:.7rem;
}
.asset-height-summary span{
  display:block;
  color:#1f2f49;
  font-size:.68rem;
  font-weight:850;
}
.asset-building-inner.is-over-limit .asset-height-summary div{
  background:#fff0ee;
  border-color:#fecaca;
}

@media(max-width:1400px){
  .diagram-compare{grid-template-columns:1fr}
  .asset-diagram-card{min-height:360px}
}


/* =========================================================
   v2.0.0 – oprava zobrazení assetového renderu
   ---------------------------------------------------------
   Opravuje kolizi s přípravnými třídami z v2.0.0, která
   způsobila prázdný panel nového renderu.
   ========================================================= */
.diagram-compare{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  height:calc(100% - 54px) !important;
  min-height:420px !important;
}
.asset-building.tall{
  display:block !important;
  place-items:initial !important;
  height:100% !important;
  min-height:420px !important;
  border:1px solid var(--line2) !important;
  border-radius:12px !important;
  background:#fbfcff !important;
  overflow:hidden !important;
}
.asset-building-inner{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  height:100% !important;
  min-height:0 !important;
  padding:8px 8px 7px !important;
}
.asset-building-stack{
  position:relative !important;
  align-self:center !important;
  justify-self:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(240px,76%) !important;
  max-height:100% !important;
  min-height:0 !important;
  z-index:2 !important;
}
.asset-floor-row{
  position:relative !important;
  width:100% !important;
  margin-top:-1px !important;
  z-index:3 !important;
}
.asset-floor-row img.asset-floor,
.asset-roof,
.asset-terrain{
  display:block !important;
}
.asset-floor{
  width:100% !important;
  height:auto !important;
}
.asset-roof{
  width:106% !important;
  height:auto !important;
  margin-bottom:-3px !important;
  z-index:4 !important;
}
.asset-terrain{
  width:112% !important;
  height:auto !important;
  margin:0 0 -2px !important;
  z-index:5 !important;
}
.asset-render-error{
  display:grid;
  place-items:center;
  height:100%;
  padding:18px;
  text-align:center;
  color:#b42318;
}
.asset-render-error strong{display:block;margin-bottom:6px}
.asset-render-error span{display:block;color:#63708a}
@media(max-width:1400px){
  .diagram-compare{grid-template-columns:1fr !important}
  .asset-diagram-card{min-height:360px !important}
}


/* =========================================================
   v2.0.0 – assetový render jako hlavní schéma
   ---------------------------------------------------------
   Původní technický render je skrytý a zůstává pouze jako
   fallback pro další porovnání v kódu.
   ========================================================= */
.is-hidden-technical-render{
  display:none !important;
}
.diagram-compare,
.diagram-card,
.diagram-card-title{
  display:contents;
}

.asset-building--main.tall{
  display:block !important;
  height:100% !important;
  min-height:620px !important;
  border:1px solid var(--line2) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important;
  overflow:hidden !important;
}
.asset-building-inner{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  height:100% !important;
  min-height:0 !important;
  padding:10px 10px 9px 10px !important;
}
.asset-viewport{
  position:relative;
  display:grid;
  place-items:center;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.asset-scheme{
  position:relative;
  width:min(520px,96%);
  min-height:var(--asset-wrapper-h,520px);
  display:grid;
  grid-template-rows:auto 28px auto;
  align-content:center;
  padding-left:88px;
  padding-right:112px;
}
.asset-above,
.asset-basements{
  position:relative;
  min-height:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.asset-terrain-zone{
  position:relative;
  height:28px;
  z-index:20;
}
.asset-building-stack{
  position:relative !important;
  align-self:stretch !important;
  justify-self:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:270px !important;
  max-height:none !important;
  min-height:0 !important;
  z-index:10 !important;
}
.asset-stack-above{
  justify-content:flex-end !important;
}
.asset-stack-basement{
  justify-content:flex-start !important;
}
.asset-floor-row{
  position:relative !important;
  width:100% !important;
  min-height:26px !important;
  margin-top:-1px !important;
  z-index:3 !important;
  overflow:visible;
}
.asset-floor-row img.asset-floor{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}
.asset-roof{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  width:290px !important;
  height:auto !important;
  margin:0 !important;
  z-index:18 !important;
  pointer-events:none;
}
.asset-terrain{
  position:absolute;
  left:50%;
  top:4px;
  transform:translateX(-50%);
  width:420px !important;
  height:auto !important;
  margin:0 !important;
  z-index:24 !important;
  pointer-events:none;
}
.asset-terrain-fallback{
  position:absolute;
  left:0;
  right:0;
  top:12px;
  height:2px;
  background:#25324a;
}
.asset-floor-label{
  position:absolute;
  left:-70px;
  top:50%;
  transform:translateY(-50%);
  width:62px;
  text-align:right;
  line-height:1.05;
  z-index:22;
}
.asset-floor-label strong{
  display:block;
  color:#102044;
  font-size:.72rem;
  font-weight:950;
}
.asset-floor-label span{
  display:block;
  color:#63708a;
  font-size:.56rem;
  font-weight:760;
}
.asset-measure-layer{
  position:absolute;
  inset:0 -108px 0 -88px;
  z-index:30;
  pointer-events:none;
}
.asset-storey-line,
.asset-limit-line{
  position:absolute;
  left:74px;
  right:56px;
  height:0;
  border-top:1px dashed rgba(31,47,73,.24);
}
.asset-storey-line span{
  position:absolute;
  left:-66px;
  top:-8px;
  color:#63708a;
  font-size:.55rem;
  font-weight:800;
  white-space:nowrap;
}
.asset-limit-line{
  left:270px;
  right:8px;
  border-top:2px dashed rgba(31,47,73,.42);
}
.asset-limit-line.is-soft{
  border-top-color:rgba(31,47,73,.32);
}
.asset-limit-line.is-strong{
  border-top-color:rgba(31,47,73,.54);
}
.asset-limit-line span{
  position:absolute;
  right:-2px;
  top:-14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  border:1px solid #cfd7e3;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#25324a;
  padding:3px 7px;
  font-size:.58rem;
  font-weight:950;
  box-shadow:0 2px 8px rgba(15,23,42,.06);
}
.asset-dim-arrow{
  position:absolute;
  width:84px;
  min-height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.asset-dim-arrow i{
  position:absolute;
  top:0;
  bottom:0;
  left:22px;
  width:0;
  border-left:3px solid currentColor;
}
.asset-dim-arrow i::before,
.asset-dim-arrow i::after{
  content:"";
  position:absolute;
  left:-5px;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
}
.asset-dim-arrow i::before{
  top:-1px;
  border-bottom:8px solid currentColor;
}
.asset-dim-arrow i::after{
  bottom:-1px;
  border-top:8px solid currentColor;
}
.asset-dim-arrow strong,
.asset-dim-arrow span{
  position:absolute;
  left:34px;
  width:70px;
  text-align:left;
  line-height:1.1;
}
.asset-dim-arrow strong{
  top:calc(50% - 16px);
  font-size:.62rem;
  font-weight:950;
}
.asset-dim-arrow span{
  top:calc(50% + 2px);
  font-size:.7rem;
  font-weight:950;
}
.asset-dim-arrow--h{
  color:#1558d6;
}
.asset-dim-arrow--hd{
  color:#e36b13;
}
.asset-dim-arrow.is-right{
  right:-4px;
}
.asset-dim-arrow.is-mid{
  right:96px;
}
.asset-basements .asset-floor-label span{
  color:#5f6b80;
}
.asset-height-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:8px;
  z-index:40;
}
.asset-height-summary div{
  border:1px solid #e6edf5;
  border-radius:11px;
  background:#fff;
  padding:7px 8px;
  text-align:center;
  box-shadow:0 6px 18px rgba(15,23,42,.035);
}
.asset-height-summary strong{
  display:block;
  color:#1558d6;
  font-size:.75rem;
  line-height:1.1;
}
.asset-height-summary span{
  display:block;
  color:#1f2f49;
  font-size:.72rem;
  font-weight:900;
}
.asset-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.72;
  z-index:60;
  pointer-events:none;
}
.asset-out-badge{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:70;
  border:1px solid #fecaca;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  color:#b42318;
  padding:10px 14px;
  text-align:center;
  font-size:.88rem;
  font-weight:950;
  box-shadow:0 18px 44px rgba(15,23,42,.15);
}
.asset-out-badge span{
  color:#63708a;
  font-size:.68rem;
}
.asset-building-inner.is-over-limit .asset-height-summary div{
  background:#fff0ee;
  border-color:#fecaca;
}
.asset-render-error{
  display:grid;
  place-items:center;
  height:100%;
  padding:18px;
  text-align:center;
  color:#b42318;
}
.asset-render-error strong{display:block;margin-bottom:6px}
.asset-render-error span{display:block;color:#63708a}

@media(max-width:1400px){
  .asset-building--main.tall{
    min-height:560px !important;
  }
  .asset-scheme{
    width:min(460px,98%);
    transform:scale(.92);
    transform-origin:center center;
  }
}


/* =========================================================
   v2.0.0 – sjednocený proporční asset render
   ========================================================= */
.asset-building--main.tall{
  display:block !important;
  height:100% !important;
  min-height:660px !important;
  border:1px solid var(--line2) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important;
  overflow:hidden !important;
}
.asset-building-inner{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  height:100% !important;
  min-height:0 !important;
  padding:10px 12px 10px !important;
}
.asset-viewport{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
.asset-scheme{
  position:relative !important;
  width:min(640px,100%) !important;
  min-height:520px !important;
  display:grid !important;
  grid-template-rows:auto 26px auto !important;
  align-content:center !important;
  padding-left:92px !important;
  padding-right:150px !important;
  box-sizing:border-box !important;
}
.asset-above,
.asset-basements{
  position:relative !important;
  min-height:0 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}
.asset-building-stack{
  position:relative !important;
  align-self:stretch !important;
  justify-self:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:300px !important;
  max-height:none !important;
  min-height:0 !important;
  z-index:10 !important;
}
.asset-stack-above{ justify-content:flex-end !important; }
.asset-stack-basement{ justify-content:flex-start !important; }
.asset-floor-row{
  position:relative !important;
  width:300px !important;
  min-height:22px !important;
  margin-top:-1px !important;
  z-index:3 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.asset-floor-row img.asset-floor{
  display:block !important;
  width:300px !important;
  height:100% !important;
  object-fit:fill !important;
}
.asset-roof{
  position:absolute !important;
  top:-13px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:320px !important;
  height:auto !important;
  margin:0 !important;
  z-index:18 !important;
  pointer-events:none !important;
}
.asset-terrain-zone{
  position:relative !important;
  height:26px !important;
  z-index:24 !important;
}
.asset-terrain{
  position:absolute !important;
  left:50% !important;
  top:2px !important;
  transform:translateX(-50%) !important;
  width:430px !important;
  height:auto !important;
  margin:0 !important;
  z-index:24 !important;
  pointer-events:none !important;
}
.asset-floor-label{
  position:absolute !important;
  left:-82px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:74px !important;
  text-align:right !important;
  line-height:1.05 !important;
  z-index:22 !important;
}
.asset-floor-label strong{
  display:block !important;
  color:#102044 !important;
  font-size:.72rem !important;
  font-weight:950 !important;
}
.asset-floor-label span{
  display:block !important;
  color:#63708a !important;
  font-size:.55rem !important;
  font-weight:780 !important;
}
.asset-measure-layer{
  position:absolute !important;
  inset:0 -144px 0 -92px !important;
  z-index:30 !important;
  pointer-events:none !important;
}
.asset-wood-zone{
  position:absolute;
  left:92px;
  width:300px;
  background:linear-gradient(90deg,rgba(227,107,19,.06),rgba(227,107,19,.015));
  border-top:1px solid rgba(227,107,19,.20);
  border-bottom:1px solid rgba(227,107,19,.20);
  z-index:1;
}
.asset-limit-line{
  position:absolute !important;
  left:404px !important;
  right:10px !important;
  height:0 !important;
  border-top:1.5px dashed rgba(31,47,73,.36) !important;
}
.asset-limit-line.is-strong{ border-top-color:rgba(31,47,73,.58) !important; }
.asset-limit-line span{
  position:absolute !important;
  right:0 !important;
  top:-13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:58px !important;
  border:1px solid #cfd7e3 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.97) !important;
  color:#25324a !important;
  padding:3px 8px !important;
  font-size:.58rem !important;
  font-weight:950 !important;
  box-shadow:0 2px 8px rgba(15,23,42,.06) !important;
}
.asset-terrain-label{
  position:absolute;
  left:0;
  color:#63708a;
  font-size:.58rem;
  font-weight:900;
  white-space:nowrap;
}
.asset-dim-arrow{
  position:absolute !important;
  width:120px !important;
  min-height:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:36 !important;
}
.asset-dim-arrow i{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:14px !important;
  width:0 !important;
  border-left:3px solid currentColor !important;
}
.asset-dim-arrow i::before,
.asset-dim-arrow i::after{
  content:"" !important;
  position:absolute !important;
  left:-5px !important;
  width:0 !important;
  height:0 !important;
  border-left:5px solid transparent !important;
  border-right:5px solid transparent !important;
}
.asset-dim-arrow i::before{ top:-1px !important; border-bottom:8px solid currentColor !important; }
.asset-dim-arrow i::after{ bottom:-1px !important; border-top:8px solid currentColor !important; }
.asset-dim-arrow strong,
.asset-dim-arrow span{
  position:absolute !important;
  left:28px !important;
  width:88px !important;
  text-align:left !important;
  line-height:1.12 !important;
}
.asset-dim-arrow strong{
  top:calc(50% - 18px) !important;
  font-size:.62rem !important;
  font-weight:950 !important;
}
.asset-dim-arrow span{
  top:calc(50% + 4px) !important;
  font-size:.72rem !important;
  font-weight:950 !important;
}
.asset-dim-arrow--h{ color:#1558d6 !important; }
.asset-dim-arrow--hd{ color:#e36b13 !important; }
.asset-dim-arrow.is-right{ right:4px !important; }
.asset-dim-arrow.is-mid{ right:112px !important; }
.asset-height-summary{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:7px !important;
  margin-top:8px !important;
  z-index:40 !important;
}
.asset-height-summary div{
  border:1px solid #e6edf5 !important;
  border-radius:11px !important;
  background:#fff !important;
  padding:7px 8px !important;
  text-align:center !important;
  box-shadow:0 6px 18px rgba(15,23,42,.035) !important;
}
.asset-height-summary strong{
  display:block !important;
  color:#1558d6 !important;
  font-size:.75rem !important;
  line-height:1.1 !important;
}
.asset-height-summary span{
  display:block !important;
  color:#1f2f49 !important;
  font-size:.72rem !important;
  font-weight:900 !important;
}
.asset-overlay{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:.72 !important;
  z-index:60 !important;
  pointer-events:none !important;
}
.asset-out-badge{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:70 !important;
  border:1px solid #fecaca !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.92) !important;
  color:#b42318 !important;
  padding:10px 14px !important;
  text-align:center !important;
  font-size:.88rem !important;
  font-weight:950 !important;
  box-shadow:0 18px 44px rgba(15,23,42,.15) !important;
}
.asset-out-badge span{ color:#63708a !important; font-size:.68rem !important; }
.asset-building-inner.is-over-limit .asset-height-summary div{
  background:#fff0ee !important;
  border-color:#fecaca !important;
}

@media(max-width:1500px){
  .asset-building--main.tall{ min-height:600px !important; }
  .asset-scheme{
    width:min(590px,100%) !important;
    padding-left:86px !important;
    padding-right:132px !important;
  }
  .asset-building-stack,
  .asset-floor-row,
  .asset-floor-row img.asset-floor{
    width:270px !important;
  }
  .asset-roof{width:290px !important}
  .asset-measure-layer{inset:0 -126px 0 -86px !important}
  .asset-limit-line{left:368px !important}
  .asset-wood-zone{left:86px;width:270px}
  .asset-dim-arrow.is-mid{right:94px !important}
}


/* =========================================================
   v2.0.0 – doladění assetového renderu
   ---------------------------------------------------------
   - atika / střecha lícuje s šířkou objektu
   - terén je čistší a jen o něco širší než objekt
   - kóty jsou přesunuté dovnitř pracovní plochy
   - popisky výšek a limitů nejsou uříznuté
   ========================================================= */
.asset-building--main.tall{
  min-height:640px !important;
}
.asset-viewport{
  overflow:visible !important;
}
.asset-scheme{
  width:min(620px,100%) !important;
  padding-left:92px !important;
  padding-right:172px !important;
  overflow:visible !important;
}
.asset-building-stack,
.asset-floor-row,
.asset-floor-row img.asset-floor{
  width:280px !important;
}
.asset-roof{
  width:280px !important;
  top:-12px !important;
}
.asset-terrain{
  width:380px !important;
  top:2px !important;
}
.asset-measure-layer{
  inset:0 0 0 0 !important;
  overflow:visible !important;
}
.asset-wood-zone{
  left:92px !important;
  width:280px !important;
}
.asset-limit-line{
  left:388px !important;
  right:24px !important;
}
.asset-limit-line span{
  right:0 !important;
  min-width:56px !important;
  padding:3px 7px !important;
  font-size:.58rem !important;
}
.asset-dim-arrow{
  width:118px !important;
}
.asset-dim-arrow.is-right{
  right:22px !important;
}
.asset-dim-arrow.is-mid{
  right:122px !important;
}
.asset-dim-arrow i{
  left:16px !important;
}
.asset-dim-arrow strong,
.asset-dim-arrow span{
  left:31px !important;
  width:82px !important;
}
.asset-dim-arrow strong{
  font-size:.58rem !important;
  line-height:1.05 !important;
}
.asset-dim-arrow span{
  font-size:.68rem !important;
}
.asset-dim-arrow--h strong,
.asset-dim-arrow--h span{
  color:#1558d6 !important;
}
.asset-dim-arrow--hd strong,
.asset-dim-arrow--hd span{
  color:#e36b13 !important;
}
.asset-terrain-label{
  left:2px !important;
  top:auto;
  background:rgba(255,255,255,.80);
  padding:1px 4px;
  border-radius:5px;
}
.asset-height-summary{
  margin-top:10px !important;
}

@media(max-width:1500px){
  .asset-building--main.tall{
    min-height:610px !important;
  }
  .asset-scheme{
    width:min(560px,100%) !important;
    padding-left:82px !important;
    padding-right:156px !important;
  }
  .asset-building-stack,
  .asset-floor-row,
  .asset-floor-row img.asset-floor{
    width:250px !important;
  }
  .asset-roof{
    width:250px !important;
  }
  .asset-terrain{
    width:345px !important;
  }
  .asset-floor-label{
    left:-76px !important;
    width:68px !important;
  }
  .asset-measure-layer{
    inset:0 0 0 0 !important;
  }
  .asset-wood-zone{
    left:82px !important;
    width:250px !important;
  }
  .asset-limit-line{
    left:344px !important;
    right:20px !important;
  }
  .asset-limit-line span{
    font-size:.55rem !important;
    min-width:52px !important;
  }
  .asset-dim-arrow{
    width:112px !important;
  }
  .asset-dim-arrow.is-right{
    right:18px !important;
  }
  .asset-dim-arrow.is-mid{
    right:108px !important;
  }
  .asset-dim-arrow i{
    left:14px !important;
  }
  .asset-dim-arrow strong,
  .asset-dim-arrow span{
    left:28px !important;
    width:78px !important;
  }
}

@media(max-width:1280px){
  .asset-scheme{
    transform:scale(.92);
    transform-origin:center center;
  }
}



/* =========================================================
   v2.0.0 – rozmístění podle náčrtu, grafika dle aplikace
   ---------------------------------------------------------
   Texty z náčrtu nejsou převzaté jako styl. Náčrt určuje
   pouze rozmístění: 2/3 nad terénem, 1/3 pod terénem,
   kóty vedle stavby, limity vpravo, žádná středová osa.
   ========================================================= */
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport{
  overflow:visible !important;
}
.asset-scheme--layout-v17{
  position:relative !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:visible !important;
}
.asset-above--fixed,
.asset-basements--fixed,
.asset-terrain-zone--fixed{
  position:absolute !important;
}
.asset-above--fixed,
.asset-basements--fixed{
  overflow:visible !important;
}
.asset-building-stack,
.asset-floor-row,
.asset-floor-row img.asset-floor{
  width:250px !important;
}
.asset-floor-row img.asset-floor{
  display:block !important;
  height:100% !important;
  object-fit:fill !important;
}
.asset-roof{
  position:absolute !important;
  width:250px !important;
  margin:0 !important;
}
.asset-terrain{
  width:390px !important;
}
.asset-floor-label{
  left:-76px !important;
  width:66px !important;
  text-align:right !important;
}
.asset-floor-label strong,
.asset-floor-label span{
  white-space:nowrap !important;
}
.asset-measure-layer{
  position:absolute !important;
  inset:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.asset-wood-zone{
  background:rgba(245,158,11,.045) !important;
  border-top:1px solid rgba(234,122,19,.18) !important;
  border-bottom:1px solid rgba(234,122,19,.18) !important;
  z-index:1 !important;
}
.asset-limit-line{
  position:absolute !important;
  height:0 !important;
  border-top:1.5px dashed rgba(148,163,184,.70) !important;
  overflow:visible !important;
  z-index:34 !important;
}
.asset-limit-line.is-strong{
  border-top-color:rgba(71,85,105,.85) !important;
}
.asset-limit-line span{
  position:absolute !important;
  right:0 !important;
  top:-14px !important;
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:58px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(148,163,184,.55) !important;
  color:#475569 !important;
  font-size:.62rem !important;
  font-weight:760 !important;
  box-shadow:0 2px 6px rgba(15,23,42,.06) !important;
}
.asset-terrain-label{
  position:absolute !important;
  font-size:.60rem !important;
  font-weight:760 !important;
  color:#475569 !important;
  background:rgba(255,255,255,.88) !important;
  padding:1px 4px !important;
  border-radius:6px !important;
  z-index:40 !important;
}
.asset-dim-arrow{
  position:absolute !important;
  width:78px !important;
  overflow:visible !important;
  z-index:36 !important;
}
.asset-dim-arrow i{
  position:absolute !important;
  left:8px !important;
  top:0 !important;
  bottom:0 !important;
  width:0 !important;
  border-left:3px solid currentColor !important;
}
.asset-dim-arrow i::before,
.asset-dim-arrow i::after{
  content:"" !important;
  position:absolute !important;
  left:-5px !important;
  border-left:5px solid transparent !important;
  border-right:5px solid transparent !important;
}
.asset-dim-arrow i::before{
  top:-1px !important;
  border-bottom:8px solid currentColor !important;
}
.asset-dim-arrow i::after{
  bottom:-1px !important;
  border-top:8px solid currentColor !important;
}
.asset-dim-arrow strong{
  position:absolute !important;
  left:21px !important;
  top:calc(50% - 16px) !important;
  width:72px !important;
  white-space:nowrap !important;
  line-height:1.05 !important;
  font-size:.60rem !important;
  font-weight:850 !important;
  text-align:left !important;
}
.asset-dim-arrow span{
  position:absolute !important;
  left:21px !important;
  top:calc(50% + 2px) !important;
  width:62px !important;
  white-space:nowrap !important;
  line-height:1.05 !important;
  font-size:.74rem !important;
  font-weight:900 !important;
  text-align:left !important;
}
.asset-dim-arrow--h{
  color:#145be0 !important;
}
.asset-dim-arrow--hd{
  color:#ea7a13 !important;
}
.asset-dim-arrow--h strong,
.asset-dim-arrow--h span{
  color:#145be0 !important;
}
.asset-dim-arrow--hd strong,
.asset-dim-arrow--hd span{
  color:#ea7a13 !important;
}

@media(max-width:1500px){
  .asset-scheme--layout-v17{
    transform:scale(.94) !important;
    transform-origin:center center !important;
  }
}



/* =========================================================
   v2.0.0 – layout tuning podle kontroly
   ---------------------------------------------------------
   Zadání:
   - objekt posunout mírně doleva / lépe vycentrovat celek,
   - nechat vpravo větší prostor pro kóty a limity,
   - zrušit text „terén 0,0 m“ ve schématu,
   - zrušit barevné zvýraznění hořlavé části,
   - ponechat čistou grafiku aplikace.
   ========================================================= */
.asset-scheme--layout-v17{
  margin-left:auto !important;
  margin-right:auto !important;
}
.asset-wood-zone{
  display:none !important;
}
.asset-terrain-label{
  display:none !important;
}
.asset-terrain{
  width:380px !important;
}
.asset-limit-line{
  z-index:42 !important;
}
.asset-limit-line span{
  right:0 !important;
}
.asset-dim-arrow{
  z-index:48 !important;
}
.asset-dim-arrow strong,
.asset-dim-arrow span{
  background:rgba(255,255,255,.72);
  border-radius:4px;
  padding:1px 2px;
}
.asset-dim-arrow--h{
  color:#145be0 !important;
}
.asset-dim-arrow--hd{
  color:#ea7a13 !important;
}

@media(max-width:1500px){
  .asset-scheme--layout-v17{
    transform:scale(.94) !important;
    transform-origin:center center !important;
  }
}



/* =========================================================
   v2.0.0 – schéma řezu: čistá grafická kompozice
   ---------------------------------------------------------
   - objekt posunut co nejvíce doleva při zachování popisů podlaží,
   - výškové čáry 12 / 15 / 18 / 22,5 m přes celou použitelnou šířku,
   - štítky výšek pouze vpravo,
   - kóty hd a h u stavby,
   - texty kót svisle,
   - PP max. 3 a správné číslování 1. PP nejblíže terénu.
   ========================================================= */
.field-hint-inline{
  color:#63708a;
  font-size:.82em;
  font-weight:700;
}
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport{
  overflow:visible !important;
}
.asset-scheme--layout-v20{
  position:relative !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:visible !important;
}
.asset-above--fixed,
.asset-basements--fixed,
.asset-terrain-zone--fixed{
  position:absolute !important;
}
.asset-above--fixed,
.asset-basements--fixed{
  overflow:visible !important;
}
.asset-building-stack,
.asset-floor-row,
.asset-floor-row img.asset-floor{
  width:250px !important;
}
.asset-floor-row img.asset-floor{
  display:block !important;
  height:100% !important;
  object-fit:fill !important;
}
.asset-roof{
  position:absolute !important;
  width:250px !important;
  margin:0 !important;
}
.asset-terrain{
  width:395px !important;
}
.asset-floor-label{
  left:-74px !important;
  width:64px !important;
  text-align:right !important;
}
.asset-floor-label strong,
.asset-floor-label span{
  white-space:nowrap !important;
}
.asset-measure-layer{
  position:absolute !important;
  inset:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.asset-wood-zone,
.asset-terrain-label{
  display:none !important;
}
.asset-level-line{
  position:absolute !important;
  height:0 !important;
  border-top:1.5px dashed rgba(100,116,139,.58) !important;
  overflow:visible !important;
  z-index:30 !important;
}
.asset-level-line.is-strong{
  border-top-color:rgba(51,65,85,.74) !important;
}
.asset-level-line span{
  position:absolute !important;
  top:-14px !important;
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:58px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(148,163,184,.55) !important;
  color:#475569 !important;
  font-size:.62rem !important;
  font-weight:760 !important;
  box-shadow:0 2px 6px rgba(15,23,42,.06) !important;
}
.asset-dim-arrow{
  position:absolute !important;
  width:66px !important;
  overflow:visible !important;
  z-index:44 !important;
}
.asset-dim-arrow i{
  position:absolute !important;
  left:15px !important;
  top:0 !important;
  bottom:0 !important;
  width:0 !important;
  border-left:3px solid currentColor !important;
}
.asset-dim-arrow i::before,
.asset-dim-arrow i::after{
  content:"" !important;
  position:absolute !important;
  left:-5px !important;
  border-left:5px solid transparent !important;
  border-right:5px solid transparent !important;
}
.asset-dim-arrow i::before{
  top:-1px !important;
  border-bottom:8px solid currentColor !important;
}
.asset-dim-arrow i::after{
  bottom:-1px !important;
  border-top:8px solid currentColor !important;
}
.asset-dim-arrow strong{
  position:absolute !important;
  left:-28px !important;
  top:50% !important;
  width:104px !important;
  transform:translateY(-50%) rotate(-90deg) !important;
  transform-origin:center center !important;
  white-space:nowrap !important;
  line-height:1 !important;
  font-size:.60rem !important;
  font-weight:850 !important;
  text-align:center !important;
  background:rgba(255,255,255,.72) !important;
  border-radius:4px !important;
  padding:1px 2px !important;
}
.asset-dim-arrow span{
  position:absolute !important;
  left:27px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:54px !important;
  white-space:nowrap !important;
  line-height:1 !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  text-align:left !important;
  background:rgba(255,255,255,.72) !important;
  border-radius:4px !important;
  padding:1px 2px !important;
}
.asset-dim-arrow--h{
  color:#145be0 !important;
}
.asset-dim-arrow--hd{
  color:#ea7a13 !important;
}
.asset-dim-arrow--h strong,
.asset-dim-arrow--h span{
  color:#145be0 !important;
}
.asset-dim-arrow--hd strong,
.asset-dim-arrow--hd span{
  color:#ea7a13 !important;
}

@media(max-width:1500px){
  .asset-scheme--layout-v20{
    transform:scale(.94) !important;
    transform-origin:center center !important;
  }
}



/* =========================================================
   v2.0.0 – final graphics pass for asset section
   ---------------------------------------------------------
   - approved compact composition,
   - gaps reduced significantly,
   - both dimension label and value rotated 90° left,
   - Y levels stay constant and floors stretch with floor height,
   - PP limited to 3, 1.PP closest to terrain.
   ========================================================= */
.field-hint-inline{
  color:#63708a;
  font-size:.82em;
  font-weight:700;
}
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport{
  overflow:visible !important;
}
.asset-scheme--layout-v21{
  position:relative !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:visible !important;
}
.asset-above--fixed,
.asset-basements--fixed,
.asset-terrain-zone--fixed{
  position:absolute !important;
}
.asset-above--fixed,
.asset-basements--fixed{
  overflow:visible !important;
}
.asset-building-stack,
.asset-floor-row,
.asset-floor-row img.asset-floor{
  width:250px !important;
}
.asset-floor-row img.asset-floor{
  display:block !important;
  height:100% !important;
  object-fit:fill !important;
}
.asset-roof{
  position:absolute !important;
  width:250px !important;
  margin:0 !important;
}
.asset-terrain{
  width:395px !important;
}
.asset-floor-label{
  left:-68px !important;
  width:58px !important;
  text-align:right !important;
}
.asset-floor-label strong,
.asset-floor-label span{
  white-space:nowrap !important;
}
.asset-measure-layer{
  position:absolute !important;
  inset:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.asset-wood-zone,
.asset-terrain-label{
  display:none !important;
}
.asset-level-line{
  position:absolute !important;
  height:0 !important;
  border-top:1.5px dashed rgba(100,116,139,.58) !important;
  overflow:visible !important;
  z-index:30 !important;
}
.asset-level-line.is-strong{
  border-top-color:rgba(51,65,85,.74) !important;
}
.asset-level-line span{
  position:absolute !important;
  right:0 !important;
  top:-14px !important;
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:58px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(148,163,184,.55) !important;
  color:#475569 !important;
  font-size:.62rem !important;
  font-weight:760 !important;
  box-shadow:0 2px 6px rgba(15,23,42,.06) !important;
}
.asset-dim-arrow{
  position:absolute !important;
  width:62px !important;
  overflow:visible !important;
  z-index:44 !important;
}
.asset-dim-arrow i{
  position:absolute !important;
  left:18px !important;
  top:0 !important;
  bottom:0 !important;
  width:0 !important;
  border-left:3px solid currentColor !important;
}
.asset-dim-arrow i::before,
.asset-dim-arrow i::after{
  content:"" !important;
  position:absolute !important;
  left:-5px !important;
  border-left:5px solid transparent !important;
  border-right:5px solid transparent !important;
}
.asset-dim-arrow i::before{
  top:-1px !important;
  border-bottom:8px solid currentColor !important;
}
.asset-dim-arrow i::after{
  bottom:-1px !important;
  border-top:8px solid currentColor !important;
}
.asset-dim-arrow strong,
.asset-dim-arrow span{
  position:absolute !important;
  left:-26px !important;
  width:92px !important;
  transform:translateY(-50%) rotate(-90deg) !important;
  transform-origin:center center !important;
  white-space:nowrap !important;
  line-height:1 !important;
  text-align:center !important;
  background:rgba(255,255,255,.72) !important;
  border-radius:4px !important;
  padding:1px 2px !important;
}
.asset-dim-arrow strong{
  top:calc(50% - 20px) !important;
  font-size:.60rem !important;
  font-weight:850 !important;
}
.asset-dim-arrow span{
  top:calc(50% + 20px) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
}
.asset-dim-arrow--h{
  color:#145be0 !important;
}
.asset-dim-arrow--hd{
  color:#ea7a13 !important;
}
.asset-dim-arrow--h strong,
.asset-dim-arrow--h span{
  color:#145be0 !important;
}
.asset-dim-arrow--hd strong,
.asset-dim-arrow--hd span{
  color:#ea7a13 !important;
}

@media(max-width:1500px){
  .asset-scheme--layout-v21{
    transform:scale(.94) !important;
    transform-origin:center center !important;
  }
}



/* =========================================================
   v2.0.0 – stable SVG geometry with asset floor fills
   ---------------------------------------------------------
   This intentionally reuses the original stable geometry idea.
   Assets are used as floor images only; geometry is controlled by SVG.
   ========================================================= */
.field-hint-inline{
  color:#63708a;
  font-size:.82em;
  font-weight:700;
}
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport{
  overflow:visible !important;
}
.asset-svg-diagram{
  width:100%;
  height:100%;
  min-height:640px;
  display:block;
  overflow:visible;
}
.svg-level-line{
  stroke:#94a3b8;
  stroke-width:1.4;
  stroke-dasharray:4 5;
  opacity:.72;
}
.svg-level-line.is-strong{
  stroke:#64748b;
  opacity:.86;
}
.svg-level-tag{
  fill:#fff;
  stroke:#cbd5e1;
  stroke-width:1;
  filter:drop-shadow(0 2px 5px rgba(15,23,42,.08));
}
.svg-level-tag-text{
  fill:#475569;
  font-size:9px;
  font-weight:800;
}
.svg-floor-label-main{
  fill:#102044;
  font-size:10px;
  font-weight:950;
}
.svg-floor-label-sub{
  fill:#63708a;
  font-size:7px;
  font-weight:760;
}
.svg-terrain-line{
  stroke:#111827;
  stroke-width:3.2;
  stroke-linecap:round;
}
.svg-roof-line{
  stroke:#4b5563;
  stroke-width:4;
  stroke-linecap:round;
}
.svg-dim-line{
  stroke-width:2.2;
  stroke-linecap:round;
}
.svg-dim-arrow{
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.svg-dim-label{
  font-size:9px;
  font-weight:850;
}
.svg-dim-value{
  font-size:9px;
  font-weight:950;
}
.svg-dim-line.is-h,
.svg-dim-arrow.is-h,
.svg-dim-label.is-h,
.svg-dim-value.is-h{
  stroke:#145be0;
  fill:#145be0;
  color:#145be0;
}
.svg-dim-line.is-hd,
.svg-dim-arrow.is-hd,
.svg-dim-label.is-hd,
.svg-dim-value.is-hd{
  stroke:#ea7a13;
  fill:#ea7a13;
  color:#ea7a13;
}
.svg-over-overlay{
  fill:rgba(255,255,255,.68);
  stroke:#fecaca;
}
.svg-over-text{
  fill:#b42318;
  font-size:16px;
  font-weight:950;
}


/* v2.0.0 – větší čitelnost a konstantní Y-grid pro max. 10 NP / 3 PP */
.asset-building--main.tall{ min-height:760px !important; }
.asset-svg-diagram{ min-height:760px !important; }
.svg-floor-label-main{ font-size:14px; font-weight:950; fill:#102044; }
.svg-floor-label-sub{ font-size:9.5px; font-weight:760; fill:#63708a; }
.svg-level-tag{ filter:drop-shadow(0 2px 6px rgba(15,23,42,.10)); }
.svg-level-tag-text{ font-size:12px; font-weight:900; fill:#475569; }
.svg-dim-label{ font-size:12px; font-weight:900; }
.svg-dim-value{ font-size:12px; font-weight:950; }
.svg-level-line{ stroke-width:1.5; }
.svg-terrain-line{ stroke-width:3.4; }
.svg-roof-line{ stroke-width:4.2; }



/* v2.0.0 – SVG řez: čitelnost + připraveno pro ruční doladění */
.asset-building--main.tall{
  min-height:760px !important;
}
.asset-svg-diagram{
  min-height:760px !important;
}
.svg-floor-label-main{
  font-size:14px !important;
  font-weight:950 !important;
  fill:#102044 !important;
}
.svg-floor-label-sub{
  font-size:9.5px !important;
  font-weight:760 !important;
  fill:#63708a !important;
}
.svg-level-tag{
  filter:drop-shadow(0 2px 6px rgba(15,23,42,.10)) !important;
}
.svg-level-tag-text{
  font-size:12px !important;
  font-weight:900 !important;
  fill:#475569 !important;
}
.svg-dim-label{
  font-size:12px !important;
  font-weight:900 !important;
}
.svg-dim-value{
  font-size:12px !important;
  font-weight:950 !important;
}
.svg-level-line{
  stroke-width:1.5 !important;
}
.svg-terrain-line{
  stroke-width:3.4 !important;
}
.svg-roof-line{
  stroke-width:4.2 !important;
}



/* =========================================================
   v2.0.0 – jednoduché X/Y SVG schéma
   ---------------------------------------------------------
   Pozice se řídí jen konstantami v renderAssetBuildingDiagram().
   Tady je pouze čitelnost textů a výška SVG.
   ========================================================= */
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport--xy{
  height:100% !important;
  min-height:0 !important;
  overflow:visible !important;
}
.asset-svg-diagram--xy{
  width:100% !important;
  height:100% !important;
  min-height:640px !important;
  display:block !important;
  overflow:visible !important;
}
.svg-floor-label-main{
  font-size:14px !important;
  font-weight:950 !important;
  fill:#102044 !important;
}
.svg-floor-label-sub{
  font-size:9.5px !important;
  font-weight:760 !important;
  fill:#63708a !important;
}
.svg-level-tag{
  filter:drop-shadow(0 2px 6px rgba(15,23,42,.10)) !important;
}
.svg-level-tag-text{
  font-size:12px !important;
  font-weight:900 !important;
  fill:#475569 !important;
}
.svg-dim-label{
  font-size:12px !important;
  font-weight:900 !important;
}
.svg-dim-value{
  font-size:12px !important;
  font-weight:950 !important;
}
.svg-level-line{
  stroke-width:1.5 !important;
}
.svg-terrain-line{
  stroke-width:3.4 !important;
}
.svg-roof-line{
  stroke-width:4.2 !important;
}



/* v2.0.0 – Y osa podle konstrukční výšky, bez mezer mezi patry */
.asset-building--main.tall{
  min-height:700px !important;
}
.asset-viewport--xy{
  height:100% !important;
  min-height:0 !important;
  overflow:visible !important;
}
.asset-svg-diagram--xy{
  width:100% !important;
  height:100% !important;
  min-height:640px !important;
  display:block !important;
  overflow:visible !important;
}
.svg-floor-label-main{
  font-size:14px !important;
  font-weight:950 !important;
  fill:#102044 !important;
}
.svg-floor-label-sub{
  font-size:9.5px !important;
  font-weight:760 !important;
  fill:#63708a !important;
}
.svg-level-tag{
  filter:drop-shadow(0 2px 6px rgba(15,23,42,.10)) !important;
}
.svg-level-tag-text{
  font-size:12px !important;
  font-weight:900 !important;
  fill:#475569 !important;
}
.svg-dim-label{
  font-size:12px !important;
  font-weight:900 !important;
}
.svg-dim-value{
  font-size:12px !important;
  font-weight:950 !important;
}
.svg-level-line{
  stroke-width:1.5 !important;
}
.svg-terrain-line{
  stroke-width:3.4 !important;
}
.svg-roof-line{
  stroke-width:4.2 !important;
}



/* =========================================================
   v2.0.0 – zjemnění textů kót a sjednocení schématu
   ---------------------------------------------------------
   Cíl:
   - texty u svislých kót nejsou tak tučné,
   - jsou čitelnější i při otočení o 90°,
   - styl platí pro schéma ve všech částech aplikace,
   - hodnoty výšek / štítky zůstávají čitelné, ale méně agresivní.
   ========================================================= */

/* Popisky kót - jemnější, užší a čitelnější */
.svg-dim-label{
  font-size:11px !important;
  font-weight:650 !important;
  letter-spacing:.01em !important;
  paint-order:stroke !important;
  stroke:#ffffff !important;
  stroke-width:2.8px !important;
  stroke-linejoin:round !important;
}

/* Číselná hodnota kóty - stále výraznější než popisek, ale ne přetučněná */
.svg-dim-value{
  font-size:11.5px !important;
  font-weight:720 !important;
  letter-spacing:.01em !important;
  paint-order:stroke !important;
  stroke:#ffffff !important;
  stroke-width:2.8px !important;
  stroke-linejoin:round !important;
}

/* Zachování barev po přidání bílého obtahu */
.svg-dim-label.is-h,
.svg-dim-value.is-h{
  fill:#145be0 !important;
  color:#145be0 !important;
}
.svg-dim-label.is-hd,
.svg-dim-value.is-hd{
  fill:#ea7a13 !important;
  color:#ea7a13 !important;
}

/* Jemnější štítky 12 / 15 / 18 / 22,5 */
.svg-level-tag-text{
  font-size:11px !important;
  font-weight:720 !important;
  fill:#475569 !important;
}
.svg-level-tag{
  fill:rgba(255,255,255,.96) !important;
  stroke:rgba(148,163,184,.58) !important;
  filter:drop-shadow(0 2px 5px rgba(15,23,42,.08)) !important;
}

/* Popisy pater ponechat čitelné, ale ne tak těžké */
.svg-floor-label-main{
  font-size:13px !important;
  font-weight:820 !important;
  fill:#102044 !important;
}
.svg-floor-label-sub{
  font-size:9px !important;
  font-weight:620 !important;
  fill:#63708a !important;
}

/* Čáry výškových hladin lehce zjemnit */
.svg-level-line{
  stroke-width:1.25 !important;
  opacity:.72 !important;
}
.svg-level-line.is-strong{
  opacity:.84 !important;
}

/* Svislé kóty o chlup štíhlejší */
.svg-dim-line{
  stroke-width:2px !important;
}
.svg-dim-arrow{
  stroke-width:2px !important;
}

/* Použitelné pro všechny instance tohoto schématu v aplikaci */
.asset-svg-diagram{
  overflow:visible !important;
}



/* =========================================================
   v2.0.0 – čitelnější popisy podlaží + export schématu
   ========================================================= */

/* Podtexty pod označením podlaží – větší a čitelnější */
.svg-floor-label-main{
  font-size:14px !important;
  font-weight:850 !important;
  fill:#102044 !important;
}
.svg-floor-label-sub{
  font-size:10.8px !important;
  font-weight:680 !important;
  fill:#526176 !important;
}

/* Exportní miniatury schématu */
.report-schema-box{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #dbe6f2;
  border-radius:14px;
  background:#fff;
}
.report-schema-box h3{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#23324d;
}
.report-schema-note{
  margin:6px 0 0;
  color:#64748b;
  font-size:9.5px;
}
.report-schema-mini{
  width:100%;
  height:auto;
  max-height:320px;
  display:block;
}
.report-schema-mini .svg-floor-label-main{
  font-size:13px !important;
}
.report-schema-mini .svg-floor-label-sub{
  font-size:10px !important;
}
.report-schema-mini .svg-level-tag-text,
.report-schema-mini .svg-dim-label,
.report-schema-mini .svg-dim-value{
  font-size:10px !important;
}

/* Na tisku držet schéma pohromadě se sekcí */
@media print{
  .report-schema-box{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .report-schema-mini{
    max-height:260px;
  }
}



/* =========================================================
   v2.0.0 – stejný SVG render i na obrazovce 2 a 3
   ---------------------------------------------------------
   Důležité:
   - scenarioDiagram už nepoužívá starý technický renderDiagram(),
   - outputInlineDiagram už nepoužívá starý technický renderDiagram(),
   - oboje používá buildSchemaSvgMarkup(), tedy stejný render jako hlavní obrazovka.
   ========================================================= */
.asset-schema-host{
  width:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  background:#fbfcff;
  border-radius:14px;
}
.asset-schema-host svg,
.asset-schema-host .asset-svg-diagram{
  width:100% !important;
  height:auto !important;
  display:block !important;
  overflow:visible !important;
}

/* Pravý náhled na straně 2 */
.asset-schema-host--scenario{
  height:100%;
  min-height:330px;
  padding:8px;
  border:1px solid #dfe8f4;
}
.asset-schema-host--scenario .asset-svg-diagram{
  max-height:360px !important;
}

/* Grafika ve výstupu na straně 3 */
.asset-schema-host--export{
  min-height:330px;
  padding:8px;
  border:1px solid #dfe8f4;
  background:#fff;
}
.asset-schema-host--export .asset-svg-diagram{
  max-height:390px !important;
}

/* Exportní boxy, pokud jsou vložené do PDF části */
.report-schema-box .asset-svg-diagram,
.report-schema-mini{
  max-height:360px !important;
}

/* Sjednocená čitelnost všude */
.asset-schema-host .svg-floor-label-main,
.report-schema-box .svg-floor-label-main{
  font-size:14px !important;
  font-weight:850 !important;
}
.asset-schema-host .svg-floor-label-sub,
.report-schema-box .svg-floor-label-sub{
  font-size:10.8px !important;
  font-weight:680 !important;
}



/* =========================================================
   v2.0.0 – export layout tuning 1
   ---------------------------------------------------------
   Cíl:
   - sdílené SVG schéma se v náhledech/exportu nepřerůstá a neořezává,
   - na straně 2/3 se vysoký SVG řez vejde podle výšky kontejneru,
   - exportní část má čitelnější poměr grafika / zadané hodnoty.
   ========================================================= */

/* Základní oprava pro všechny menší instance: vysoké SVG se přizpůsobí výšce */
.asset-schema-host--scenario,
.asset-schema-host--export,
.report-schema-box{
  overflow:hidden !important;
}

.asset-schema-host--scenario .asset-svg-diagram,
.asset-schema-host--export .asset-svg-diagram,
.report-schema-box .asset-svg-diagram,
.report-schema-mini{
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  display:block !important;
}

/* Obrazovka 2 – průběžný stav: náhled má být kompaktní, ne ořezaný */
.asset-schema-host--scenario{
  height:330px !important;
  min-height:330px !important;
  padding:10px 8px !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Obrazovka 3 – grafika ve výstupu */
.report-graphics-section{
  padding:14px 16px !important;
}
.report-graphics-section .report-split{
  grid-template-columns:minmax(340px, 0.95fr) minmax(360px, 1.05fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.report-graphics-section .report-split-graphic{
  padding-top:0 !important;
}
.asset-schema-host--export{
  height:395px !important;
  min-height:395px !important;
  padding:10px !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Tabulka hodnot na výstupu – zůstane čitelná a nezabere zbytečně moc místa */
.report-graphics-section .report-split-summary h3{
  margin:0 0 8px !important;
}
.report-graphics-section .report-table.compact{
  gap:7px !important;
}
.report-graphics-section .report-table.compact .report-row{
  padding:8px 9px !important;
}
.report-graphics-section .report-table.compact .report-row strong{
  font-size:.73rem !important;
}
.report-graphics-section .report-table.compact .report-row span{
  font-size:.86rem !important;
}

/* Popisová část má být zřetelně další blok pod grafikou */
.report-description-section{
  margin-top:14px !important;
}

/* Exportní box vložený do PDF části, pokud se použije mimo hlavní split */
.report-schema-box{
  height:120mm;
  max-height:120mm;
}
.report-schema-box .report-schema-mini{
  height:102mm !important;
  max-height:102mm !important;
}

/* Responsive náhled v aplikaci */
@media(max-width:1200px){
  .report-graphics-section .report-split{
    grid-template-columns:1fr !important;
  }
  .asset-schema-host--export{
    height:420px !important;
  }
}

/* Tisk / Export PDF */
@media print{
  .report-graphics-section{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-graphics-section .report-split{
    display:grid !important;
    grid-template-columns:0.95fr 1.05fr !important;
    gap:8mm !important;
    align-items:start !important;
  }
  .asset-schema-host--export{
    height:112mm !important;
    min-height:112mm !important;
    padding:3mm !important;
    overflow:hidden !important;
  }
  .asset-schema-host--export .asset-svg-diagram{
    height:100% !important;
    width:auto !important;
    max-width:100% !important;
    max-height:100% !important;
  }
  .report-graphics-section .report-table.compact{
    grid-template-columns:1fr 1fr !important;
    gap:2.5mm !important;
  }
  .report-graphics-section .report-row{
    padding:2.5mm !important;
  }
  .report-description-section{
    break-before:auto !important;
    page-break-before:auto !important;
  }
}



/* =========================================================
   v2.0.0 – export page 1: grafika přes šířku, údaje pod ní
   ---------------------------------------------------------
   Princip exportu:
   - Úvodní strana: identifikace + grafika + zadané hodnoty.
   - Grafika je přes celou šířku dostupného report bloku.
   - Zadané hodnoty jsou pod grafikou, v kompaktní mřížce.
   - Mezikrok Scénáře zůstává pracovní obrazovka, ne exportní layout.
   ========================================================= */

/* Výstupní stránka: grafika a hodnoty pod sebou */
.report-graphics-section--stacked .report-split,
.report-split--stacked{
  display:block !important;
}
.report-split-graphic--full{
  width:100% !important;
  margin:0 0 10px !important;
}
.report-split-summary--below{
  width:100% !important;
}
.asset-schema-host--export-full{
  height:92mm !important;
  min-height:92mm !important;
  max-height:92mm !important;
  padding:3mm !important;
  overflow:hidden !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
}
.asset-schema-host--export-full .asset-svg-diagram{
  height:100% !important;
  width:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
}

/* Hodnoty pod grafikou – kompaktnější, aby se vešly s identifikací na první stranu */
.report-split-summary--below h3{
  margin:0 0 7px !important;
  font-size:.84rem !important;
}
.report-split-summary--below .report-table.compact{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:6px !important;
}
.report-split-summary--below .report-row{
  padding:7px 8px !important;
  min-height:0 !important;
}
.report-split-summary--below .report-row strong{
  font-size:.66rem !important;
  line-height:1.1 !important;
}
.report-split-summary--below .report-row span{
  font-size:.78rem !important;
  line-height:1.15 !important;
}

/* Identifikace stavby – zmenšit vertikálně, aby se vešel i blok grafiky */
.report-page-section:first-of-type{
  padding:12px 14px !important;
}
.report-page-section:first-of-type .report-table{
  gap:6px !important;
}
.report-page-section:first-of-type .report-row{
  padding:7px 8px !important;
}
.report-page-section:first-of-type h2{
  margin-bottom:6px !important;
}

/* Scénáře: ponechat jako pracovní mezikrok.
   Náhled je pouze kontrolní, proto bude menší a nebude dominovat. */
.asset-schema-host--scenario{
  height:260px !important;
  min-height:260px !important;
  padding:8px !important;
}
.asset-schema-host--scenario .asset-svg-diagram{
  height:100% !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
}

/* V reportu udělat blok 2 kompaktní, vhodný pro první stránku */
.report-graphics-section--stacked{
  padding:12px 14px !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.report-graphics-section--stacked h2{
  margin-bottom:8px !important;
}

/* Print / PDF */
@media print{
  .report-graphics-section--stacked{
    padding:5mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .asset-schema-host--export-full{
    height:88mm !important;
    min-height:88mm !important;
    max-height:88mm !important;
    padding:2mm !important;
  }
  .report-split-summary--below .report-table.compact{
    grid-template-columns:repeat(4, 1fr) !important;
    gap:2mm !important;
  }
  .report-split-summary--below .report-row{
    padding:2mm !important;
  }
  .report-split-summary--below .report-row strong{
    font-size:7.8pt !important;
  }
  .report-split-summary--below .report-row span{
    font-size:8.6pt !important;
  }
  .report-page-section:first-of-type{
    padding:5mm !important;
  }
}

/* Na užším displeji hodnoty po 2 sloupcích */
@media(max-width:1200px){
  .report-split-summary--below .report-table.compact{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .asset-schema-host--export-full{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
  }
}



/* =========================================================
   v2.0.0 – export fitContent + kompaktní hodnoty
   ---------------------------------------------------------
   - exportní schéma používá fitContent viewBox, takže zobrazí i PP,
   - grafika je přes celou šířku,
   - zadané hodnoty jsou pod grafikou v 4sloupcové mřížce,
   - políčka jsou nižší, aby se identifikace + grafika + hodnoty vešly.
   ========================================================= */

.asset-schema-host--export-full{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:3mm !important;
  overflow:visible !important;
}
.asset-schema-host--export-full .asset-svg-diagram,
.report-graphics-section--stacked .asset-svg-diagram{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  display:block !important;
}

/* Grafika přes celou šířku, ale bez zbytečně vysokého prázdného pole */
.report-split-graphic--full{
  width:100% !important;
  margin:0 0 6px !important;
}
.report-graphics-section--stacked{
  padding:10px 12px !important;
}
.report-graphics-section--stacked h2{
  margin-bottom:6px !important;
}

/* Zadané hodnoty – menší a více vedle sebe */
.report-split-summary--below h3{
  margin:0 0 5px !important;
  font-size:.78rem !important;
}
.report-split-summary--below .report-table.compact{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:5px !important;
}
.report-split-summary--below .report-row{
  padding:5px 7px !important;
  min-height:34px !important;
  border-radius:8px !important;
}
.report-split-summary--below .report-row strong{
  font-size:.59rem !important;
  line-height:1.05 !important;
  margin-bottom:1px !important;
}
.report-split-summary--below .report-row span{
  font-size:.72rem !important;
  line-height:1.08 !important;
}

/* Identifikace stavby na první straně ještě kompaktněji */
.report-page-section:first-of-type{
  padding:10px 12px !important;
}
.report-page-section:first-of-type .report-table{
  gap:5px !important;
}
.report-page-section:first-of-type .report-row{
  padding:5px 7px !important;
  min-height:32px !important;
}
.report-page-section:first-of-type .report-row strong{
  font-size:.60rem !important;
}
.report-page-section:first-of-type .report-row span{
  font-size:.74rem !important;
}

/* Scénáře: fitContent, ale menší preview */
.asset-schema-host--scenario{
  height:260px !important;
  min-height:260px !important;
  overflow:hidden !important;
}
.asset-schema-host--scenario .asset-svg-diagram{
  height:100% !important;
  width:auto !important;
  max-width:100% !important;
}

/* Print / PDF */
@media print{
  .asset-schema-host--export-full{
    padding:2mm !important;
    overflow:visible !important;
  }
  .asset-schema-host--export-full .asset-svg-diagram{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
  .report-split-summary--below .report-table.compact{
    grid-template-columns:repeat(4,1fr) !important;
    gap:1.6mm !important;
  }
  .report-split-summary--below .report-row{
    padding:1.5mm 1.8mm !important;
    min-height:8mm !important;
  }
  .report-split-summary--below .report-row strong{
    font-size:6.8pt !important;
  }
  .report-split-summary--below .report-row span{
    font-size:7.7pt !important;
  }
}



/* =========================================================
   v2.0.0 – export fix: full-width graph without clipping
   ---------------------------------------------------------
   Oprava proti v2.0.0:
   - výstupní kontejner konečně dostává třídu asset-schema-host--export-full,
   - exportní renderer používá širší viewBox,
   - grafika je přes celou šířku, ale není extrémně vysoká,
   - podzemní podlaží mají být vidět.
   ========================================================= */

.report-graphics-section--stacked .report-split,
.report-split--stacked{
  display:block !important;
}
.report-split-graphic--full{
  width:100% !important;
  margin:0 0 7px !important;
}
.report-split-summary--below{
  width:100% !important;
}

/* Hlavní exportní grafika */
.asset-schema-host--export-full{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:3mm !important;
  overflow:visible !important;
  display:block !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
}
.asset-schema-host--export-full .asset-svg-diagram{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  display:block !important;
  margin:0 auto !important;
}

/* Menší hodnoty pod grafikou */
.report-split-summary--below h3{
  margin:0 0 4px !important;
  font-size:.76rem !important;
}
.report-split-summary--below .report-table.compact{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:4px !important;
}
.report-split-summary--below .report-row{
  padding:4px 6px !important;
  min-height:29px !important;
  border-radius:8px !important;
}
.report-split-summary--below .report-row strong{
  font-size:.56rem !important;
  line-height:1.02 !important;
  margin-bottom:1px !important;
}
.report-split-summary--below .report-row span{
  font-size:.68rem !important;
  line-height:1.05 !important;
}

/* Kompaktní blok 2 na stránce */
.report-graphics-section--stacked{
  padding:9px 11px !important;
}
.report-graphics-section--stacked h2{
  margin-bottom:5px !important;
}

/* PDF / print */
@media print{
  .report-graphics-section--stacked{
    padding:4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .asset-schema-host--export-full{
    padding:2mm !important;
    overflow:visible !important;
  }
  .asset-schema-host--export-full .asset-svg-diagram{
    width:100% !important;
    height:auto !important;
  }
  .report-split-summary--below .report-table.compact{
    grid-template-columns:repeat(4, 1fr) !important;
    gap:1.4mm !important;
  }
  .report-split-summary--below .report-row{
    padding:1.3mm 1.6mm !important;
    min-height:7.2mm !important;
  }
  .report-split-summary--below .report-row strong{
    font-size:6.5pt !important;
  }
  .report-split-summary--below .report-row span{
    font-size:7.3pt !important;
  }
}



/* =========================================================
   v2.0.0 – export: hodnoty vlevo, grafika vpravo
   ---------------------------------------------------------
   Rozhodnutí:
   - exportní schéma nebude přes celou šířku,
   - bude mít podobné proporce jako na vstupu,
   - bude zarovnané doprava,
   - vstupní údaje budou vlevo pod sebou v kompaktním seznamu,
   - celek se má výškově vejít na A4 spolu s identifikací.
   ========================================================= */

.report-graphics-section--side{
  padding:9px 11px !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.report-graphics-section--side h2{
  margin-bottom:6px !important;
}

.report-export-grid{
  display:grid !important;
  grid-template-columns:minmax(170px, .72fr) minmax(260px, 1.28fr) !important;
  gap:10px !important;
  align-items:start !important;
}

/* Levý sloupec – vstupní údaje */
.report-split-summary--left{
  order:1;
}
.report-split-summary--left h3{
  margin:0 0 5px !important;
  font-size:.75rem !important;
}
.report-split-summary--left .report-table.compact{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4px !important;
}
.report-split-summary--left .report-row{
  padding:4px 6px !important;
  min-height:27px !important;
  border-radius:8px !important;
}
.report-split-summary--left .report-row strong{
  font-size:.55rem !important;
  line-height:1.02 !important;
  margin-bottom:1px !important;
}
.report-split-summary--left .report-row span{
  font-size:.68rem !important;
  line-height:1.05 !important;
}

/* Pravý sloupec – grafika podobná vstupnímu náhledu, zarovnaná doprava */
.report-split-graphic--right{
  order:2;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
}
.asset-schema-host--export-panel{
  width:100% !important;
  max-width:118mm !important;
  height:128mm !important;
  min-height:128mm !important;
  max-height:128mm !important;
  padding:3mm !important;
  overflow:hidden !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.asset-schema-host--export-panel .asset-svg-diagram{
  height:100% !important;
  width:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  display:block !important;
  margin:0 auto !important;
}

/* Identifikace ještě držet kompaktně */
.report-page-section:first-of-type{
  padding:9px 11px !important;
}
.report-page-section:first-of-type h2{
  margin-bottom:5px !important;
}
.report-page-section:first-of-type .report-table{
  gap:4px !important;
}
.report-page-section:first-of-type .report-row{
  padding:4px 6px !important;
  min-height:27px !important;
}
.report-page-section:first-of-type .report-row strong{
  font-size:.56rem !important;
}
.report-page-section:first-of-type .report-row span{
  font-size:.68rem !important;
}

/* Ruší starší export-full / stacked pravidla tam, kde by do toho zasahovala */
.report-graphics-section--side .report-split,
.report-graphics-section--side .report-split--stacked{
  display:contents !important;
}
.report-graphics-section--side .asset-schema-host--export-full{
  height:auto !important;
  max-height:none !important;
}

/* Print / PDF */
@media print{
  .report-graphics-section--side{
    padding:4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-export-grid{
    grid-template-columns:58mm 1fr !important;
    gap:4mm !important;
    align-items:start !important;
  }
  .asset-schema-host--export-panel{
    width:100% !important;
    max-width:112mm !important;
    height:122mm !important;
    min-height:122mm !important;
    max-height:122mm !important;
    padding:2mm !important;
  }
  .asset-schema-host--export-panel .asset-svg-diagram{
    height:100% !important;
    width:auto !important;
  }
  .report-split-summary--left .report-table.compact{
    gap:1.25mm !important;
  }
  .report-split-summary--left .report-row{
    padding:1.2mm 1.5mm !important;
    min-height:6.8mm !important;
  }
  .report-split-summary--left .report-row strong{
    font-size:6.2pt !important;
  }
  .report-split-summary--left .report-row span{
    font-size:7.2pt !important;
  }
}

/* Na úzkém displeji stacknout jen náhled v aplikaci, ne tisk */
@media(max-width:1200px){
  .report-export-grid{
    grid-template-columns:1fr !important;
  }
  .report-split-graphic--right{
    justify-content:center !important;
  }
  .asset-schema-host--export-panel{
    height:380px !important;
    min-height:380px !important;
    max-height:380px !important;
    max-width:100% !important;
  }
}



/* =========================================================
   v2.0.0 – export: grafický box jako na vstupu
   ---------------------------------------------------------
   Rozhodnutí:
   - výstupní grafika má stabilní rozměr / proporci jako vstupní karta,
   - grafika je vpravo,
   - zadané údaje jsou vlevo v kompaktním sloupci,
   - box se nesnaží roztahovat podle šířky stránky,
   - SVG se vždy škáluje dovnitř boxu podle výšky.
   ========================================================= */

/* Celý blok 2 v exportu: levý sloupec hodnot + pravý stabilní grafický box */
.report-graphics-section.report-graphics-section--side,
.report-graphics-section--side{
  padding:8px 10px !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.report-graphics-section--side > h2{
  margin:0 0 6px !important;
}

/* Přesná skladba bloku */
.report-graphics-section--side .report-export-grid{
  display:grid !important;
  grid-template-columns:58mm 1fr !important;
  column-gap:6mm !important;
  align-items:start !important;
}

/* Levý sloupec zadaných hodnot */
.report-graphics-section--side .report-split-summary--left{
  width:58mm !important;
  max-width:58mm !important;
}
.report-graphics-section--side .report-split-summary--left h3{
  margin:0 0 4px !important;
  font-size:.72rem !important;
}
.report-graphics-section--side .report-split-summary--left .report-table.compact{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:3px !important;
}
.report-graphics-section--side .report-split-summary--left .report-row{
  padding:3px 5px !important;
  min-height:24px !important;
  border-radius:7px !important;
}
.report-graphics-section--side .report-split-summary--left .report-row strong{
  font-size:.52rem !important;
  line-height:1.0 !important;
  margin-bottom:0 !important;
}
.report-graphics-section--side .report-split-summary--left .report-row span{
  font-size:.64rem !important;
  line-height:1.02 !important;
}

/* Pravý sloupec */
.report-graphics-section--side .report-split-graphic--right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  width:100% !important;
  min-width:0 !important;
}

/* Tohle je hlavní změna: box grafiky má stabilní rozměr jako vstupní náhled */
.report-graphics-section--side .asset-schema-host--export-panel{
  width:118mm !important;
  max-width:118mm !important;
  min-width:118mm !important;
  height:128mm !important;
  max-height:128mm !important;
  min-height:128mm !important;
  box-sizing:border-box !important;
  padding:3mm !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
}

/* SVG vždy škálovat dovnitř podle výšky, ne roztahovat šířkou */
.report-graphics-section--side .asset-schema-host--export-panel .asset-svg-diagram{
  height:100% !important;
  width:auto !important;
  max-height:100% !important;
  max-width:100% !important;
  display:block !important;
  margin:0 auto !important;
  overflow:visible !important;
}

/* Potlačení starších pravidel full-width exportu */
.report-graphics-section--side .asset-schema-host--export-full,
.report-graphics-section--side .asset-schema-host--export{
  width:118mm !important;
  max-width:118mm !important;
  height:128mm !important;
  max-height:128mm !important;
}
.report-graphics-section--side .report-split,
.report-graphics-section--side .report-split--stacked{
  display:contents !important;
}

/* Identifikační blok kompaktně, aby se na A4 vešel s grafikou */
.report-page-section:first-of-type{
  padding:8px 10px !important;
}
.report-page-section:first-of-type h2{
  margin:0 0 5px !important;
}
.report-page-section:first-of-type p{
  margin:0 0 6px !important;
}
.report-page-section:first-of-type .report-table{
  gap:4px !important;
}
.report-page-section:first-of-type .report-row{
  padding:3px 5px !important;
  min-height:23px !important;
}
.report-page-section:first-of-type .report-row strong{
  font-size:.52rem !important;
}
.report-page-section:first-of-type .report-row span{
  font-size:.64rem !important;
}

/* Print/PDF – stejné proporce a zarovnání */
@media print{
  .report-graphics-section--side{
    padding:3.5mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:55mm 1fr !important;
    column-gap:5mm !important;
  }
  .report-graphics-section--side .report-split-summary--left{
    width:55mm !important;
    max-width:55mm !important;
  }
  .report-graphics-section--side .asset-schema-host--export-panel{
    width:112mm !important;
    min-width:112mm !important;
    max-width:112mm !important;
    height:122mm !important;
    min-height:122mm !important;
    max-height:122mm !important;
    padding:2mm !important;
  }
  .report-graphics-section--side .asset-schema-host--export-panel .asset-svg-diagram{
    height:100% !important;
    width:auto !important;
  }
}

/* Jen pro web náhled na úzkém viewportu */
@media(max-width:1200px){
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:1fr !important;
  }
  .report-graphics-section--side .report-split-summary--left{
    width:100% !important;
    max-width:100% !important;
  }
  .report-graphics-section--side .asset-schema-host--export-panel{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }
}



/* =========================================================
   v2.0.0 – export: 1:1 stejný grafický renderer jako vstup
   ---------------------------------------------------------
   Zásadní změna:
   - outputInlineDiagram už není asset-schema-host,
   - používá stejné třídy jako vstupní schéma:
       asset-building asset-building--main tall
   - vykresluje se stejnou funkcí:
       renderAssetBuildingDiagram(...)
   Tím se export nebude snažit přepočítávat nebo jinak škálovat grafiku.
   ========================================================= */

/* Boční layout: vlevo vstupy, vpravo stejný box jako vstupní grafika */
.report-graphics-section--side{
  padding:8px 10px !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.report-graphics-section--side h2{
  margin:0 0 6px !important;
}
.report-graphics-section--side .report-export-grid{
  display:grid !important;
  grid-template-columns:58mm 1fr !important;
  gap:6mm !important;
  align-items:start !important;
}
.report-graphics-section--side .report-split-graphic--right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  min-width:0 !important;
}

/* Výstupní grafika = stejný prostor jako vstupní schéma, jen zasazený do reportu */
.report-output-clone.asset-building.asset-building--main.tall{
  width:420px !important;
  max-width:100% !important;
  height:640px !important;
  min-height:640px !important;
  max-height:640px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
  padding:0 !important;
}

/* Uvnitř export clone zachovat stejný renderer, ale nenechat jej přerůst box */
.report-output-clone .asset-building-inner{
  width:100% !important;
  height:100% !important;
}
.report-output-clone .asset-viewport--xy{
  height:calc(100% - 58px) !important;
  min-height:0 !important;
}
.report-output-clone .asset-svg-diagram--xy{
  height:100% !important;
  width:100% !important;
  min-height:0 !important;
}
.report-output-clone .asset-height-summary{
  height:46px !important;
  margin:6px 10px 8px !important;
}

/* Vstupní údaje vlevo – hodně kompaktně, aby se vešly vedle grafiky */
.report-split-summary--left{
  width:58mm !important;
  max-width:58mm !important;
}
.report-split-summary--left h3{
  margin:0 0 4px !important;
  font-size:.72rem !important;
}
.report-split-summary--left .report-table.compact{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:3px !important;
}
.report-split-summary--left .report-row{
  padding:3px 5px !important;
  min-height:23px !important;
  border-radius:7px !important;
}
.report-split-summary--left .report-row strong{
  font-size:.52rem !important;
  line-height:1.0 !important;
  margin-bottom:0 !important;
}
.report-split-summary--left .report-row span{
  font-size:.64rem !important;
  line-height:1.02 !important;
}

/* Tisk/PDF: stejné proporce, pouze přepočtené do mm */
@media print{
  .report-graphics-section--side{
    padding:3.5mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:52mm 1fr !important;
    gap:4mm !important;
  }
  .report-split-summary--left{
    width:52mm !important;
    max-width:52mm !important;
  }
  .report-output-clone.asset-building.asset-building--main.tall{
    width:108mm !important;
    min-width:108mm !important;
    max-width:108mm !important;
    height:142mm !important;
    min-height:142mm !important;
    max-height:142mm !important;
  }
  .report-output-clone .asset-viewport--xy{
    height:calc(100% - 14mm) !important;
  }
  .report-output-clone .asset-height-summary{
    height:11mm !important;
    margin:1.5mm 2.5mm 2mm !important;
  }
}

/* Jen pro web náhled na úzkém viewportu */
@media(max-width:1200px){
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:1fr !important;
  }
  .report-split-summary--left{
    width:100% !important;
    max-width:100% !important;
  }
  .report-graphics-section--side .report-split-graphic--right{
    justify-content:center !important;
  }
  .report-output-clone.asset-building.asset-building--main.tall{
    width:420px !important;
    max-width:100% !important;
    height:640px !important;
  }
}



/* =========================================================
   v2.0.0 – PDF/print export stabilization
   ---------------------------------------------------------
   HTML náhled už funguje. Tato část řeší jen tisk / Uložit jako PDF.
   Princip:
   - tiskne se pouze obsah výstupu,
   - levý formulář na stránce 3 se netiskne,
   - scroll kontejnery se pro tisk vypnou,
   - první dvě sekce mají být kompaktní a držet na první A4,
   - grafika v exportu zůstává stejný renderer jako vstup, jen fyzicky
     zmenšený do rozměru vhodného pro A4.
   ========================================================= */

@media print{
  @page{
    size:A4 portrait;
    margin:9mm;
  }

  html,
  body{
    width:210mm !important;
    min-height:297mm !important;
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body *{
    visibility:hidden !important;
  }

  .screen[data-screen="3"],
  .screen[data-screen="3"] *{
    visibility:visible !important;
  }

  .screen[data-screen="3"]{
    display:block !important;
    position:absolute !important;
    inset:0 auto auto 0 !important;
    width:100% !important;
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .app-shell,
  .workspace,
  .screen,
  .output-layout,
  .output-panel-full,
  .panel,
  .report-page,
  .output-scroll{
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .topbar,
  .steps,
  .footer-actions,
  .top-actions,
  .output-sidebar,
  .output-head,
  .output-actions,
  .report-meta-panel{
    display:none !important;
    visibility:hidden !important;
  }

  .output-panel-full{
    grid-column:auto !important;
  }

  .report-page{
    font-size:8.5pt !important;
    line-height:1.25 !important;
  }

  .report-header-card{
    padding:4mm 0 3mm !important;
    margin:0 0 4mm !important;
    border:0 !important;
    border-bottom:1px solid #dbe6f2 !important;
    border-radius:0 !important;
    background:#fff !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
  }
  .report-header-card h2{
    font-size:13pt !important;
    margin:1mm 0 0 !important;
  }
  .report-status{
    font-size:8pt !important;
    margin-top:2mm !important;
  }

  .report-page-section,
  .result-section{
    border:1px solid #dbe6f2 !important;
    border-radius:8px !important;
    background:#fff !important;
    margin:0 0 4mm !important;
    padding:4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .report-page-section h2,
  .result-section h2{
    font-size:10pt !important;
    margin:0 0 2.5mm !important;
  }

  /* 1. Identifikace stavby – úsporná */
  .report-page-section:first-of-type{
    padding:3.2mm !important;
    margin-bottom:3mm !important;
  }
  .report-page-section:first-of-type p{
    display:none !important;
  }
  .report-page-section:first-of-type .report-table{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:1.5mm !important;
  }
  .report-page-section:first-of-type .report-row{
    padding:1.5mm 1.8mm !important;
    min-height:7mm !important;
    border-radius:5px !important;
  }
  .report-page-section:first-of-type .report-row strong{
    font-size:6.3pt !important;
    line-height:1 !important;
  }
  .report-page-section:first-of-type .report-row span{
    font-size:7.5pt !important;
    line-height:1.05 !important;
  }

  /* 2. Grafika a shrnutí zadání – hodnoty vlevo, klon vstupu vpravo */
  .report-graphics-section--side{
    padding:3.2mm !important;
    margin-bottom:4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-graphics-section--side .report-export-grid{
    display:grid !important;
    grid-template-columns:52mm 1fr !important;
    gap:4mm !important;
    align-items:start !important;
  }
  .report-split-summary--left{
    width:52mm !important;
    max-width:52mm !important;
  }
  .report-split-summary--left h3{
    font-size:7.2pt !important;
    margin:0 0 1.5mm !important;
  }
  .report-split-summary--left .report-table.compact{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1.1mm !important;
  }
  .report-split-summary--left .report-row{
    padding:1.1mm 1.5mm !important;
    min-height:6mm !important;
    border-radius:5px !important;
  }
  .report-split-summary--left .report-row strong{
    font-size:5.9pt !important;
    line-height:1 !important;
  }
  .report-split-summary--left .report-row span{
    font-size:7.0pt !important;
    line-height:1.03 !important;
  }

  .report-split-graphic--right{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    min-width:0 !important;
  }

  .report-output-clone.asset-building.asset-building--main.tall{
    width:105mm !important;
    min-width:105mm !important;
    max-width:105mm !important;
    height:128mm !important;
    min-height:128mm !important;
    max-height:128mm !important;
    padding:0 !important;
    overflow:hidden !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid #dbe6f2 !important;
    border-radius:8px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  .report-output-clone .asset-building-inner{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .report-output-clone .asset-viewport--xy{
    height:calc(100% - 12mm) !important;
    min-height:0 !important;
    flex:1 1 auto !important;
    overflow:hidden !important;
  }
  .report-output-clone .asset-svg-diagram--xy{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    display:block !important;
  }
  .report-output-clone .asset-height-summary{
    flex:0 0 10mm !important;
    height:10mm !important;
    margin:1mm 2mm 1.5mm !important;
    gap:1.5mm !important;
  }
  .report-output-clone .asset-height-summary div{
    padding:1mm !important;
    border-radius:5px !important;
  }
  .report-output-clone .asset-height-summary strong{
    font-size:6pt !important;
  }
  .report-output-clone .asset-height-summary span{
    font-size:7pt !important;
  }

  /* Další textové sekce necpeme na první stranu, začnou po úvodním bloku */
  .report-description-section{
    break-before:page !important;
    page-break-before:always !important;
  }

  /* Menší karty v dalších sekcích */
  .report-description-section,
  .report-description-section ~ .report-page-section,
  .report-disclaimer{
    padding:4mm !important;
    margin-bottom:4mm !important;
  }
}


/* =========================================================
   v2.0.0 – export layout 1/4 + 1/4 + 1/2
   ---------------------------------------------------------
   Zadání uživatele:
   - grafika v exportu má být zarovnaná do pravé poloviny,
   - základní vstupy vlevo ve dvou sloupcích,
   - tedy celkem rozložení 1/4 | 1/4 | 1/2 přes celou šíři sekce.
   ========================================================= */
@media print{
  .report-graphics-section--side{
    padding:3.2mm !important;
  }

  .report-graphics-section--side .report-export-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr 2fr !important;
    gap:3mm !important;
    align-items:start !important;
    width:100% !important;
  }

  .report-graphics-section--side .report-split-summary--left{
    grid-column:1 / span 2 !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    align-self:start !important;
  }

  .report-graphics-section--side .report-split-summary--left h3{
    margin:0 0 1.5mm !important;
    font-size:7pt !important;
  }

  .report-graphics-section--side .report-split-summary--left .report-table.compact{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:1.5mm !important;
    width:100% !important;
  }

  .report-graphics-section--side .report-split-summary--left .report-row{
    min-height:7mm !important;
    padding:1.4mm 1.6mm !important;
    border-radius:5px !important;
  }

  .report-graphics-section--side .report-split-summary--left .report-row strong{
    font-size:6pt !important;
    line-height:1 !important;
  }

  .report-graphics-section--side .report-split-summary--left .report-row span{
    font-size:7.2pt !important;
    line-height:1.05 !important;
  }

  .report-graphics-section--side .report-split-graphic--right{
    grid-column:3 !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  /* v exportu zachovej renderer jako na vstupu, jen v pevné tiskové ploše */
  .report-output-clone.asset-building.asset-building--main.tall{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:132mm !important;
    min-height:132mm !important;
    max-height:132mm !important;
    border:1px solid #dbe6f2 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#fff !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .report-output-clone .asset-building-inner{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .report-output-clone .asset-viewport--xy{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  .report-output-clone .asset-svg-diagram--xy,
  .report-output-clone .asset-svg-diagram{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
  }

  .report-output-clone .asset-height-summary{
    flex:0 0 10mm !important;
    height:10mm !important;
    margin:1mm 2mm 1.5mm !important;
    gap:1.5mm !important;
  }

  .report-output-clone .asset-height-summary div{
    padding:1mm !important;
    border-radius:5px !important;
  }

  .report-output-clone .asset-height-summary strong{
    font-size:6pt !important;
  }

  .report-output-clone .asset-height-summary span{
    font-size:7pt !important;
  }
}


/* =========================================================
   v2.0.0 – sjednocení náhledu a PDF exportu
   ---------------------------------------------------------
   Cíl:
   - stejný layout v HTML náhledu i v PDF,
   - sloupce 1/4 | 1/4 | 1/2,
   - zadání vlevo ve 2 sloupcích,
   - grafika vpravo,
   - horní hrana grafiky zarovnaná s horní hranou prvního řádku hodnot,
   - texty v políčkách se nepřekrývají.
   ========================================================= */

/* společné pro HTML náhled i tisk */
.report-graphics-section--side{
  padding:12px 14px !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.report-graphics-section--side > h2{
  margin:0 0 8px !important;
}
.report-graphics-section--side .report-export-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr 2fr !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
}
.report-graphics-section--side .report-split-summary--left{
  grid-column:1 / span 2 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}
.report-graphics-section--side .report-split-summary--left h3{
  margin:0 0 8px !important;
  font-size:.78rem !important;
  line-height:1.15 !important;
}
.report-graphics-section--side .report-split-summary--left .report-table.compact{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
  width:100% !important;
}
.report-graphics-section--side .report-split-summary--left .report-row{
  padding:7px 8px !important;
  min-height:44px !important;
  border-radius:9px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.report-graphics-section--side .report-split-summary--left .report-row strong{
  font-size:.64rem !important;
  line-height:1.15 !important;
  margin:0 0 3px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.report-graphics-section--side .report-split-summary--left .report-row span{
  font-size:.82rem !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.report-graphics-section--side .report-split-graphic--right{
  grid-column:3 !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;

  /* zarovnání horní hrany grafiky s horní hranou prvního řádku polí,
     nikoli s nadpisem "Zadané hodnoty" */
  padding-top:24px !important;
}
.report-graphics-section--side .report-output-clone.asset-building.asset-building--main.tall{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:600px !important;
  min-height:600px !important;
  max-height:600px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border:1px solid #dbe6f2 !important;
  border-radius:14px !important;
  background:#fff !important;
  padding:0 !important;
}
.report-graphics-section--side .report-output-clone .asset-building-inner{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}
.report-graphics-section--side .report-output-clone .asset-viewport--xy{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.report-graphics-section--side .report-output-clone .asset-svg-diagram--xy{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:block !important;
}
.report-graphics-section--side .report-output-clone .asset-height-summary{
  flex:0 0 44px !important;
  height:44px !important;
  margin:6px 10px 8px !important;
  gap:8px !important;
}

/* kompaktní identifikační blok, aby se první stránka lépe vešla */
.report-page-section:first-of-type{
  padding:10px 12px !important;
}
.report-page-section:first-of-type .report-table{
  gap:7px !important;
}
.report-page-section:first-of-type .report-row{
  padding:7px 8px !important;
  min-height:38px !important;
}
.report-page-section:first-of-type .report-row strong{
  font-size:.64rem !important;
  line-height:1.1 !important;
}
.report-page-section:first-of-type .report-row span{
  font-size:.80rem !important;
  line-height:1.1 !important;
}

/* PDF / print – stejné rozložení jako náhled, jen v mm */
@media print{
  .report-graphics-section--side{
    padding:3.2mm !important;
  }
  .report-graphics-section--side > h2{
    margin:0 0 2mm !important;
  }
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:1fr 1fr 2fr !important;
    gap:3mm !important;
  }
  .report-graphics-section--side .report-split-summary--left h3{
    margin:0 0 2mm !important;
    font-size:7pt !important;
    line-height:1.1 !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-table.compact{
    grid-template-columns:1fr 1fr !important;
    gap:1.6mm !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row{
    min-height:8.2mm !important;
    padding:1.5mm 1.8mm !important;
    border-radius:5px !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row strong{
    font-size:6.1pt !important;
    line-height:1.05 !important;
    margin-bottom:.6mm !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row span{
    font-size:7.1pt !important;
    line-height:1.05 !important;
  }
  .report-graphics-section--side .report-split-graphic--right{
    padding-top:5.8mm !important;
  }
  .report-graphics-section--side .report-output-clone.asset-building.asset-building--main.tall{
    width:100% !important;
    max-width:none !important;
    height:132mm !important;
    min-height:132mm !important;
    max-height:132mm !important;
    border-radius:8px !important;
  }
  .report-graphics-section--side .report-output-clone .asset-height-summary{
    flex-basis:10mm !important;
    height:10mm !important;
    margin:1mm 2mm 1.5mm !important;
    gap:1.5mm !important;
  }
}

/* na úzkém displeji ponechat čitelný stack */
@media(max-width:1200px){
  .report-graphics-section--side .report-export-grid{
    grid-template-columns:1fr !important;
  }
  .report-graphics-section--side .report-split-summary--left{
    grid-column:auto !important;
  }
  .report-graphics-section--side .report-split-graphic--right{
    grid-column:auto !important;
    padding-top:0 !important;
    justify-content:center !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-table.compact{
    grid-template-columns:1fr 1fr !important;
  }
}


/* =========================================================
   v2.0.0 – PDF export: první strana na jednu A4 + bez prázdných stran
   ---------------------------------------------------------
   Opravy:
   - horní identifikační část je stažená,
   - sekce 1 + 2 mají být kompaktní a vejít se na první A4,
   - zrušené nucené zalomení před sekcí 3, aby nevznikaly prázdné listy,
   - schované UI prvky v printu se opravdu neúčastní toku stránky.
   ========================================================= */

@media print{
  @page{
    size:A4 portrait;
    margin:7mm;
  }

  html,
  body{
    width:210mm !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  /* Neviditelné prvky nesmí zabírat místo – jinak vznikají prázdné strany. */
  .topbar,
  .steps,
  .footer-actions,
  .top-actions,
  .output-sidebar,
  .output-head,
  .output-actions,
  .report-meta-panel,
  .screen[data-screen="1"],
  .screen[data-screen="2"]{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
  }

  .app-shell,
  .workspace,
  .screen[data-screen="3"],
  .output-layout,
  .output-panel-full,
  .panel,
  .report-page,
  .output-scroll{
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  body *{
    visibility:visible !important;
  }

  .screen[data-screen="3"]{
    background:#fff !important;
  }

  .report-page{
    font-size:8pt !important;
    line-height:1.18 !important;
  }

  .report-header-card{
    padding:0 0 2.2mm !important;
    margin:0 0 2.4mm !important;
    border:0 !important;
    border-bottom:1px solid #dbe6f2 !important;
    border-radius:0 !important;
    background:#fff !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
  }
  .report-header-card h2{
    font-size:12pt !important;
    margin:0 !important;
  }
  .report-status{
    font-size:7.4pt !important;
    margin-top:0 !important;
  }

  .report-page-section,
  .result-section{
    margin:0 0 2.6mm !important;
    padding:2.6mm !important;
    border:1px solid #dbe6f2 !important;
    border-radius:7px !important;
    background:#fff !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .report-page-section h2,
  .result-section h2{
    font-size:9pt !important;
    margin:0 0 1.6mm !important;
    line-height:1.1 !important;
  }

  /* 1. Identifikace – výrazně stažené */
  .report-page-section:first-of-type{
    padding:2.2mm 2.6mm !important;
    margin-bottom:2.4mm !important;
  }
  .report-page-section:first-of-type p{
    display:none !important;
  }
  .report-page-section:first-of-type .report-table{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:1.1mm !important;
  }
  .report-page-section:first-of-type .report-row{
    padding:1mm 1.25mm !important;
    min-height:5.8mm !important;
    border-radius:4.5px !important;
  }
  .report-page-section:first-of-type .report-row strong{
    font-size:5.6pt !important;
    line-height:1 !important;
    margin-bottom:.35mm !important;
  }
  .report-page-section:first-of-type .report-row span{
    font-size:6.8pt !important;
    line-height:1.02 !important;
  }

  /* 2. Grafika a shrnutí – 1/4 | 1/4 | 1/2 */
  .report-graphics-section--side{
    padding:2.4mm !important;
    margin-bottom:2.4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .report-graphics-section--side > h2{
    margin:0 0 1.5mm !important;
  }
  .report-graphics-section--side .report-export-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr 2fr !important;
    gap:2.2mm !important;
    align-items:start !important;
    width:100% !important;
  }
  .report-graphics-section--side .report-split-summary--left{
    grid-column:1 / span 2 !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .report-graphics-section--side .report-split-summary--left h3{
    margin:0 0 1.2mm !important;
    font-size:6.5pt !important;
    line-height:1 !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-table.compact{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:1.1mm !important;
    width:100% !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row{
    padding:1mm 1.25mm !important;
    min-height:6.7mm !important;
    border-radius:4.5px !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row strong{
    font-size:5.6pt !important;
    line-height:1.02 !important;
    margin-bottom:.35mm !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .report-graphics-section--side .report-split-summary--left .report-row span{
    font-size:6.7pt !important;
    line-height:1.03 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .report-graphics-section--side .report-split-graphic--right{
    grid-column:3 !important;
    padding-top:4.7mm !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    overflow:hidden !important;
  }

  /* Výška grafiky stažená tak, aby první A4 nepřetekla */
  .report-graphics-section--side .report-output-clone.asset-building.asset-building--main.tall{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:116mm !important;
    min-height:116mm !important;
    max-height:116mm !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid #dbe6f2 !important;
    border-radius:7px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }
  .report-graphics-section--side .report-output-clone .asset-building-inner{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .report-graphics-section--side .report-output-clone .asset-viewport--xy{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }
  .report-graphics-section--side .report-output-clone .asset-svg-diagram--xy{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    display:block !important;
  }
  .report-graphics-section--side .report-output-clone .asset-height-summary{
    flex:0 0 8.2mm !important;
    height:8.2mm !important;
    margin:.8mm 1.8mm 1.1mm !important;
    gap:1.2mm !important;
  }
  .report-graphics-section--side .report-output-clone .asset-height-summary div{
    padding:.7mm !important;
    border-radius:4px !important;
  }
  .report-graphics-section--side .report-output-clone .asset-height-summary strong{
    font-size:5.2pt !important;
  }
  .report-graphics-section--side .report-output-clone .asset-height-summary span{
    font-size:6.3pt !important;
  }

  /* Důležité: žádné nucené prázdné stránky */
  .report-description-section{
    break-before:auto !important;
    page-break-before:auto !important;
  }

  .report-page-section:empty,
  .result-section:empty{
    display:none !important;
  }
}


/* =========================================================
   v2.0.0 – PDF: popis a doporučení lze lámat + tisk barev
   ---------------------------------------------------------
   Cíl:
   - sekce 3 „Popis a doporučení“ se nemusí držet jako jeden blok,
   - může plynule pokračovat přes více stran,
   - při tisku/PDF se mají propisovat jemné barvy z HTML náhledu.
   ========================================================= */

@media print{
  /* Vynutit tisk pozadí a barev v prohlížeči, pokud to dovolí nastavení tisku. */
  *{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    color-adjust:exact !important;
  }

  /* Popis a doporučení nesmí být jeden nedělitelný blok. */
  .report-description-section{
    break-before:auto !important;
    page-break-before:auto !important;
    break-inside:auto !important;
    page-break-inside:auto !important;
    overflow:visible !important;
  }

  .report-description-section .result-section,
  .report-description-section .report-page-section,
  .report-description-section .section-card,
  .report-description-section .warn-card,
  .report-description-section .info-card,
  .report-description-section .condition-card,
  .report-description-section .verify-card,
  .report-description-section .stop-card{
    break-inside:auto !important;
    page-break-inside:auto !important;
  }

  /* Jednotlivé odrážkové skupiny / karty mohou zůstat pohromadě,
     ale celá sekce se může zalomit. */
  .report-description-section .item,
  .report-description-section li,
  .report-description-section .report-row{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  /* Jemné barevné podklady jako v HTML – print-safe odstíny. */
  .report-description-section{
    background:#fff7ed !important;
    border-color:#fed7aa !important;
  }

  .report-description-section .section-list,
  .report-description-section .section-card,
  .report-description-section .report-card,
  .report-description-section .result-card{
    background:#ffffff !important;
    border-color:#dbe6f2 !important;
  }

  /* Mezní limity / stop témata */
  .report-description-section .is-stop,
  .report-description-section .stop,
  .report-description-section .stop-card,
  .report-description-section .limit-card{
    background:#fff1f2 !important;
    border-color:#fecdd3 !important;
  }

  /* Nutné podmínky – modré */
  .report-description-section .is-condition,
  .report-description-section .condition,
  .report-description-section .condition-card{
    background:#eff6ff !important;
    border-color:#bfdbfe !important;
  }

  /* Doplnit / ověřit – oranžové */
  .report-description-section .is-verify,
  .report-description-section .verify,
  .report-description-section .verify-card{
    background:#fff7ed !important;
    border-color:#fed7aa !important;
  }

  /* Informační bloky – šedě/modře */
  .report-description-section .is-info,
  .report-description-section .info,
  .report-description-section .info-card{
    background:#f8fafc !important;
    border-color:#dbe6f2 !important;
  }

  /* Fallback: pokud jsou položky jen běžné divy bez typové třídy,
     alespoň ponechat jemný bílý podklad a rámeček. */
  .report-description-section div[class*="card"],
  .report-description-section div[class*="item"],
  .report-description-section ul,
  .report-description-section ol{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  /* Nadpisy a zvýraznění barevně, ale tiskově bezpečně. */
  .report-description-section h2{
    color:#102044 !important;
  }
  .report-description-section h3{
    color:#1e3a5f !important;
  }
  .report-description-section strong{
    color:#102044 !important;
  }

  /* Když text přeteče na další stránku, nesmí zůstat velká prázdná mezera. */
  .report-description-section + .report-page-section,
  .report-description-section ~ .report-page-section,
  .report-disclaimer{
    break-before:auto !important;
    page-break-before:auto !important;
  }
}


/* =========================================================
   v2.0.0 – Scénáře: jednoduchý layout 1/3 + 2/3
   ---------------------------------------------------------
   Rozhodnutí:
   - třetí část s grafikou se vypouští,
   - vlevo 1/3: výběr scénářů,
   - vpravo 2/3: popis scénářů,
   - žádný průběžný grafický náhled.
   ========================================================= */

.screen[data-screen="2"] .scenario-layout.scenario-thirds{
  grid-template-columns:minmax(280px,1fr) minmax(0,2fr) !important;
  gap:14px !important;
  height:100% !important;
}

.screen[data-screen="2"] .scenario-switch-panel,
.screen[data-screen="2"] .scenario-thirds .scenario-panel{
  grid-column:1 !important;
  min-width:0 !important;
}

.screen[data-screen="2"] .scenario-info-panel{
  grid-column:2 !important;
  min-width:0 !important;
}

/* jistota: starý třetí panel se nezobrazí, kdyby v nějaké verzi zůstal v DOM */
.screen[data-screen="2"] .mini-diagram{
  display:none !important;
}

/* Levý sloupec – čistý výběr scénářů */
.screen[data-screen="2"] .scenario-switch-panel{
  display:flex !important;
  flex-direction:column !important;
}
.screen[data-screen="2"] .scenario-switch-panel .panel-title{
  margin-bottom:10px !important;
}
.screen[data-screen="2"] .scenario-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:4px !important;
}
.screen[data-screen="2"] .scenario-row{
  padding:12px 13px !important;
}
.screen[data-screen="2"] .scenario-row h3{
  font-size:.94rem !important;
}
.screen[data-screen="2"] .scenario-row p{
  font-size:.77rem !important;
}

/* Pravý sloupec – hlavní obsah stránky */
.screen[data-screen="2"] .scenario-info-panel{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.screen[data-screen="2"] .scenario-info-panel > h2{
  margin:0 !important;
  font-size:1.05rem !important;
}
.screen[data-screen="2"] .scenario-info-panel > .muted{
  margin:0 !important;
  max-width:70ch !important;
}
.screen[data-screen="2"] .scenario-info{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:4px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.screen[data-screen="2"] .scenario-info-card{
  padding:15px 16px !important;
  border-radius:14px !important;
}
.screen[data-screen="2"] .scenario-info-card h3{
  font-size:1.04rem !important;
}
.screen[data-screen="2"] .scenario-info-card p,
.screen[data-screen="2"] .scenario-info-card ul{
  font-size:.9rem !important;
  line-height:1.45 !important;
}
.screen[data-screen="2"] .scenario-info-card .scenario-note{
  margin-top:2px !important;
}

/* responsive */
@media(max-width:1200px){
  .screen[data-screen="2"] .scenario-layout.scenario-thirds{
    grid-template-columns:1fr !important;
  }
  .screen[data-screen="2"] .scenario-switch-panel,
  .screen[data-screen="2"] .scenario-info-panel{
    grid-column:1 !important;
  }
}


/* =========================================================
   v2.0.0 – menší monitory: scroll ve vstupním panelu
   ---------------------------------------------------------
   Důvod:
   Na nižších monitorech se spodní část 1. obrazovky schovávala
   za spodní lištu / mimo dostupnou výšku. Řešení je lokální scroll
   pouze ve vstupním panelu, ne scroll celé aplikace.
   ========================================================= */

/* Panely v gridu musí umět zmenšit vnitřní obsah a pustit scroll. */
.screen-grid,
.screen-grid > .panel{
  min-height:0 !important;
}

/* Levý vstupní panel – samostatně scrollovatelný na menších výškách. */
.input-panel{
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-gutter:stable !important;
  padding-right:14px !important;
}

/* Jemnější scrollbar jen pro webkit prohlížeče. */
.input-panel::-webkit-scrollbar{
  width:8px;
}
.input-panel::-webkit-scrollbar-track{
  background:transparent;
}
.input-panel::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.35);
  border-radius:999px;
}
.input-panel::-webkit-scrollbar-thumb:hover{
  background:rgba(100,116,139,.55);
}

/* Spodní poznámka se nesmí lepit na konec scrollu. */
.input-panel .note.small{
  margin-bottom:10px !important;
}

/* Zachovaná úprava mezer v bloku Rozhodovací otázky přílohy K. */
.norm-block{
  gap:12px !important;
}

.norm-check-grid{
  column-gap:8px !important;
  row-gap:16px !important;
}

.norm-check-grid .select-card,
.norm-check-grid .input-card{
  gap:6px !important;
}

/* Na opravdu nízkých monitorech ještě trochu stáhnout vertikální mezery,
   ale pořád ponechat čitelnost. */
@media(max-height:820px){
  .input-panel{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .input-panel .panel-title{
    margin-bottom:10px !important;
  }

  .form-grid{
    gap:8px !important;
  }

  .use-grid{
    gap:6px !important;
  }

  .radio-row{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  .norm-block{
    padding:9px 10px !important;
  }
}

/* Na extrémně nízkém viewportu povolíme scroll celé workspace vrstvě,
   aby se nic nezaseklo pod patičkou. */
@media(max-height:700px){
  html,
  body{
    overflow:auto !important;
  }

  .app-shell{
    height:auto !important;
    min-height:100vh !important;
  }

  .workspace{
    min-height:620px !important;
  }
}


/* =========================================================
   v2.0.0 – kontaktní blok v exportu
   ---------------------------------------------------------
   Blok je připravený tak, aby šel v budoucí partner verzi vypnout
   nebo nahradit kontaktem partnera.
   ========================================================= */

.report-contact-section{
  background:#f8fbff !important;
  border-color:#cfe0f5 !important;
}

.report-contact-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}

.report-contact-copy h2{
  margin:0 0 8px;
  font-size:1.05rem;
  color:#102044;
}

.report-contact-copy p{
  margin:0 0 10px;
  color:#42526b;
  line-height:1.45;
}

.report-contact-name{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.report-contact-name strong{
  font-size:1rem;
  color:#102044;
}

.report-contact-name span{
  color:#64748b;
  font-size:.86rem;
  font-weight:700;
}

.report-contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.report-contact-links span{
  display:inline-flex;
  align-items:center;
  border:1px solid #dbe6f2;
  background:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
  color:#1f2f49;
  font-size:.84rem;
}

.report-contact-photo-wrap{
  width:86px;
  height:86px;
  border-radius:999px;
  padding:4px;
  border:1px solid #dbe6f2;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.10);
}

.report-contact-photo{
  width:100%;
  height:100%;
  display:block;
  border-radius:999px;
  object-fit:cover;
}

/* Pokud by fotka chyběla, nezobrazovat rozbitou ikonu příliš rušivě. */
.report-contact-photo:not([src]),
.report-contact-photo[src=""]{
  display:none;
}

@media print{
  .report-contact-section{
    background:#f8fbff !important;
    border-color:#cfe0f5 !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
    padding:4mm !important;
  }

  .report-contact-card{
    grid-template-columns:1fr 22mm !important;
    gap:5mm !important;
  }

  .report-contact-copy h2{
    font-size:10pt !important;
    margin:0 0 2mm !important;
  }

  .report-contact-copy p{
    font-size:8pt !important;
    line-height:1.25 !important;
    margin:0 0 2mm !important;
  }

  .report-contact-name strong{
    font-size:9pt !important;
  }

  .report-contact-name span{
    font-size:7.2pt !important;
  }

  .report-contact-links{
    gap:1.5mm !important;
    margin-top:2mm !important;
  }

  .report-contact-links span{
    font-size:7.2pt !important;
    padding:1.4mm 2.2mm !important;
  }

  .report-contact-photo-wrap{
    width:22mm !important;
    height:22mm !important;
    padding:1mm !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   v2.0.0 – větší kontaktní blok za upozorněním
   ---------------------------------------------------------
   Kontakt je přesunut až za upozornění / vzdání se záruk.
   Fotografie zabírá cca 1/3 plochy, text je výraznější.
   ========================================================= */

.report-contact-section--large{
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 52%,#fff7ed 100%) !important;
  border-color:#cfe0f5 !important;
  overflow:hidden;
}

.report-contact-section--large .report-contact-card{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:22px;
  align-items:center;
}

.report-contact-section--large .report-contact-copy{
  min-width:0;
}

.report-contact-eyebrow{
  margin:0 0 8px !important;
  color:#d97706 !important;
  font-size:.78rem !important;
  font-weight:950 !important;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.report-contact-section--large h1{
  margin:0 0 8px !important;
  color:#102044 !important;
  font-size:2rem !important;
  line-height:1.05 !important;
  letter-spacing:-.035em;
}

.report-contact-section--large h2{
  margin:0 0 14px !important;
  color:#1e3a5f !important;
  font-size:1.18rem !important;
  line-height:1.22 !important;
  letter-spacing:-.015em;
}

.report-contact-section--large .report-contact-copy p{
  margin:0 0 14px;
  color:#42526b;
  font-size:1rem;
  line-height:1.48;
}

.report-contact-section--large .report-contact-name{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:6px !important;
}

.report-contact-section--large .report-contact-name strong{
  color:#102044;
  font-size:1.18rem;
  line-height:1.1;
}

.report-contact-section--large .report-contact-name span{
  color:#64748b;
  font-size:.92rem;
  font-weight:800;
}

.report-contact-section--large .report-contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.report-contact-section--large .report-contact-links span{
  display:inline-flex;
  align-items:center;
  border:1px solid #dbe6f2;
  background:#fff;
  border-radius:999px;
  padding:8px 13px;
  color:#102044;
  font-size:.96rem;
  font-weight:900;
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}

.report-contact-section--large .report-contact-photo-wrap{
  width:100%;
  aspect-ratio:1/1;
  border-radius:999px;
  padding:6px;
  border:1px solid #dbe6f2;
  background:#fff;
  box-shadow:0 18px 38px rgba(15,23,42,.16);
  justify-self:end;
  max-width:190px;
}

.report-contact-section--large .report-contact-photo{
  width:100%;
  height:100%;
  display:block;
  border-radius:999px;
  object-fit:cover;
}

@media print{
  .report-contact-section--large{
    background:linear-gradient(135deg,#f8fbff 0%,#ffffff 52%,#fff7ed 100%) !important;
    border-color:#cfe0f5 !important;
    padding:6mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .report-contact-section--large .report-contact-card{
    grid-template-columns:2fr 1fr !important;
    gap:7mm !important;
  }

  .report-contact-eyebrow{
    font-size:7.2pt !important;
    margin:0 0 2mm !important;
  }

  .report-contact-section--large h1{
    font-size:18pt !important;
    line-height:1.06 !important;
    margin:0 0 2mm !important;
  }

  .report-contact-section--large h2{
    font-size:11.5pt !important;
    line-height:1.18 !important;
    margin:0 0 3mm !important;
  }

  .report-contact-section--large .report-contact-copy p{
    font-size:8.5pt !important;
    line-height:1.3 !important;
    margin:0 0 3mm !important;
  }

  .report-contact-section--large .report-contact-name strong{
    font-size:11pt !important;
  }

  .report-contact-section--large .report-contact-name span{
    font-size:7.8pt !important;
  }

  .report-contact-section--large .report-contact-links{
    gap:2mm !important;
    margin-top:3mm !important;
  }

  .report-contact-section--large .report-contact-links span{
    font-size:8.4pt !important;
    padding:1.8mm 3mm !important;
    box-shadow:none !important;
  }

  .report-contact-section--large .report-contact-photo-wrap{
    width:42mm !important;
    height:42mm !important;
    max-width:42mm !important;
    padding:1.2mm !important;
    box-shadow:none !important;
  }
}

@media(max-width:900px){
  .report-contact-section--large .report-contact-card{
    grid-template-columns:1fr;
  }

  .report-contact-section--large .report-contact-photo-wrap{
    justify-self:start;
    width:160px;
  }
}

