/* Kalkulačka investičních nemovitostí — kalkulacka od klienta, prenesena z kiwireality.cz.
   CSS je cele zapouzdrene pod .kalk-vynos, protoze pouziva stejne nazvy
   trid jako portal (.container, .card, .field). Barvy znacky KIWI jsou
   prepsane na paletu portalu, vyznamove (cervena, oranzova) zustaly. */
.kalk-vynos {
  --kb:#534AB7;--kbd:#453DA0;--kbl:#EFEDFB;
  --kg:#00AA3C;--kgd:#24803A;--kgl:#E4F6E9;
  --ink:#16151C;--muted:#5A5A62;--brd:#E3E1EE;
  --bg:#F6F5FA;--wht:#ffffff;
  --acc-y:#ffe04a;--acc-g:#3FDA3D;
  --r16:16px;--r10:10px;
  --shadow:0 4px 20px rgba(83,74,183,.10);
}
.kalk-vynos * {box-sizing:border-box;margin:0;padding:0}
.kalk-vynos {scroll-behavior:smooth}
.kalk-vynos {font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}
.kalk-vynos .kw-header {background:linear-gradient(135deg,var(--kb) 0%,var(--kbd) 100%);clip-path:ellipse(110% 100% at 50% 0%);padding:0 20px 52px;position:relative;z-index:10}
.kalk-vynos .kw-header-inner {max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;flex-wrap:wrap;gap:12px}
.kalk-vynos .kw-logo-wrap img {height:52px;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}
.kalk-vynos .kw-header-text {text-align:right}
.kalk-vynos .kw-header-text h1 {font-family:var(--font-head);font-weight:800;font-size:clamp(20px,4vw,34px);color:#fff;line-height:1.15;letter-spacing:-.5px}
.kalk-vynos .kw-header-text p {font-size:13px;color:rgba(255,255,255,.82);margin-top:4px;font-weight:300}
.kalk-vynos .kw-header-text a {color:var(--acc-y);text-decoration:none;font-weight:600}
.kalk-vynos .kw-wrap {max-width:1100px;margin:0 auto;padding:16px 16px 60px;position:relative;z-index:20}
.kalk-vynos .kw-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.kalk-vynos .kw-full {grid-column:1/-1}
.kalk-vynos .kw-card {background:var(--wht);border:1.5px solid var(--brd);border-radius:var(--r16);box-shadow:var(--shadow);overflow:hidden}
.kalk-vynos .kw-card-head {background:linear-gradient(90deg,var(--kbl),#F2F0FB);border-bottom:1.5px solid var(--brd);padding:14px 22px;display:flex;align-items:center;gap:10px}
.kalk-vynos .kw-card-icon {width:32px;height:32px;background:var(--kb);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kalk-vynos .kw-card-icon svg {width:17px;height:17px;fill:#fff}
.kalk-vynos .kw-card-title {font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink)}
.kalk-vynos .kw-card-body {padding:22px 22px 20px}
.kalk-vynos .kw-result-card {background:linear-gradient(160deg,#3A1F7A 0%,#241353 100%);border:none;border-radius:var(--r16);box-shadow:0 8px 32px rgba(83,74,183,.25);overflow:hidden}
.kalk-vynos .kw-result-head {padding:20px 28px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid rgba(255,255,255,.2)}
.kalk-vynos .kw-result-head h2 {font-family:var(--font-head);font-weight:800;font-size:20px;color:#fff;letter-spacing:-.3px}
.kalk-vynos .kw-score {display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);border-radius:30px;padding:8px 18px}
.kalk-vynos .kw-score-dot {width:13px;height:13px;border-radius:50%;flex-shrink:0}
.kalk-vynos .kw-score-dot.green {background:var(--acc-g);box-shadow:0 0 8px var(--acc-g)}
.kalk-vynos .kw-score-dot.yellow {background:var(--acc-y);box-shadow:0 0 8px var(--acc-y)}
.kalk-vynos .kw-score-dot.red {background:#ff6b5b;box-shadow:0 0 8px #ff6b5b}
.kalk-vynos .kw-score-lbl {font-family:var(--font-head);font-weight:700;font-size:13px;color:#fff}
.kalk-vynos .kw-score-sub {font-size:11px;color:rgba(255,255,255,.75)}
.kalk-vynos .kw-kpi-grid {display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid rgba(255,255,255,.18)}
.kalk-vynos .kw-kpi {padding:18px 14px;text-align:center;border-right:1px solid rgba(255,255,255,.18);transition:background .2s}
.kalk-vynos .kw-kpi:last-child {border-right:none}
.kalk-vynos .kw-kpi:hover {background:rgba(255,255,255,.08)}
.kalk-vynos .kw-kpi-lbl {font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.7);margin-bottom:7px}
.kalk-vynos .kw-kpi-val {font-family:var(--font-head);font-weight:800;font-size:17px;color:#fff;line-height:1}
.kalk-vynos .kw-kpi-val.acc-y {color:#3FDA3D}
.kalk-vynos .kw-kpi-val.acc-g {color:var(--acc-g)}
.kalk-vynos .kw-kpi-val.acc-r {color:#ff8f82}
.kalk-vynos .kw-kpi-sub {font-size:10px;color:rgba(255,255,255,.6);margin-top:3px}
.kalk-vynos .kw-charts {display:grid;grid-template-columns:2fr 1fr 1fr;background:rgba(0,0,0,.08);gap:1px}
.kalk-vynos .kw-chart-box-dark {background:rgba(22,21,28,.15);padding:20px 22px}
.kalk-vynos .kw-chart-box-mid {background:rgba(22,21,28,.08);padding:20px 22px}
.kalk-vynos .kw-chart-box-light {background:var(--wht);padding:20px 22px}
.kalk-vynos .kw-chart-title-dk {font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);margin-bottom:14px}
.kalk-vynos .kw-chart-title-lt {font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:14px}
.kalk-vynos canvas {display:block;width:100%!important}
.kalk-vynos .kw-scenarios {display:flex;flex-direction:column;gap:9px}
.kalk-vynos .kw-sc {border-radius:10px;padding:11px 13px;border:1.5px solid}
.kalk-vynos .kw-sc.opt {border-color:var(--kg);background:var(--kgl)}
.kalk-vynos .kw-sc.real {border-color:var(--kb);background:var(--kbl)}
.kalk-vynos .kw-sc.pes {border-color:#e8a87c;background:#fef6ee}
.kalk-vynos .kw-sc-name {font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px}
.kalk-vynos .kw-sc.opt .kw-sc-name {color:var(--kgd)}
.kalk-vynos .kw-sc.real .kw-sc-name {color:var(--kbd)}
.kalk-vynos .kw-sc.pes .kw-sc-name {color:#c0733a}
.kalk-vynos .kw-sc-row {display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:2px}
.kalk-vynos .kw-sc-row strong {color:var(--ink);font-weight:600}
.kalk-vynos .kw-pie-wrap {display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.kalk-vynos .kw-pie-legend {flex:1;min-width:80px}
.kalk-vynos .kw-pie-item {display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:6px;font-family:var(--font-body)}
.kalk-vynos .kw-pie-dot {width:10px;height:10px;border-radius:3px;flex-shrink:0}
.kalk-vynos .kw-table-sec {padding:22px;background:var(--wht)}
.kalk-vynos .kw-table-wrap {overflow-x:auto}
.kalk-vynos .kw-tbl {width:100%;border-collapse:collapse;font-size:12px}
.kalk-vynos .kw-tbl th {background:linear-gradient(90deg,var(--kbl),#F2F0FB);padding:10px 11px;text-align:right;font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--kbd);border-bottom:2px solid var(--brd);white-space:nowrap}
.kalk-vynos .kw-tbl th:first-child {text-align:left}
.kalk-vynos .kw-tbl td {padding:9px 11px;text-align:right;border-bottom:1px solid var(--brd);color:var(--muted);font-family:'Courier New',monospace;font-size:12px;white-space:nowrap}
.kalk-vynos .kw-tbl td:first-child {text-align:left;font-family:var(--font-body);font-weight:600;color:var(--ink);font-size:12px}
.kalk-vynos .kw-tbl tr:last-child td {background:var(--kbl);color:var(--ink);font-weight:700;border-bottom:none}
.kalk-vynos .kw-tbl tr:hover td {background:#F6F5FA}
.kalk-vynos .kw-pos {color:var(--kgd)!important;font-weight:700!important}
.kalk-vynos .kw-neg {color:#c0392b!important;font-weight:700!important}
.kalk-vynos .kw-disclaimer {padding:13px 22px;background:#fffbf0;border-top:1px solid #f0e0a0;font-family:var(--font-body);font-size:11px;color:#8a6a20;line-height:1.5}
.kalk-vynos .kw-export {padding:16px 22px;background:var(--kbl);border-top:1.5px solid var(--brd);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.kalk-vynos .kw-export-info {font-family:var(--font-body);font-size:11px;color:var(--muted)}
.kalk-vynos .kw-export-info strong {color:var(--ink)}
.kalk-vynos .kw-export-btns {display:flex;gap:9px;flex-wrap:wrap}
.kalk-vynos .kw-btn-exp {padding:8px 16px;border-radius:var(--r10);border:1.5px solid var(--brd);background:var(--wht);font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--kbd);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}
.kalk-vynos .kw-btn-exp:hover {background:var(--kb);color:#fff;border-color:var(--kb)}
.kalk-vynos .kw-btn-exp svg {width:13px;height:13px;flex-shrink:0}
.kalk-vynos .kw-fg {margin-bottom:16px;position:relative}
.kalk-vynos .kw-fg:last-child {margin-bottom:0}
.kalk-vynos .kw-lbl-row {display:flex;align-items:center;gap:5px;margin-bottom:5px}
.kalk-vynos label,
.kalk-vynos .kw-lbl {font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block}
.kalk-vynos .kw-tip-btn {width:15px;height:15px;border-radius:50%;background:var(--brd);border:none;cursor:pointer;font-size:9px;font-weight:700;color:var(--kbd);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;line-height:1}
.kalk-vynos .kw-tip-btn:hover {background:var(--kb);color:#fff}
.kalk-vynos .kw-tip {display:none;font-family:var(--font-body);font-size:11px;color:var(--muted);background:var(--kbl);border:1px solid var(--brd);border-radius:8px;padding:8px 10px;margin-top:3px;line-height:1.5}
.kalk-vynos .kw-tip.on {display:block}
.kalk-vynos .kw-tip strong {color:var(--kbd)}
.kalk-vynos input[type=number],
.kalk-vynos input[type=text],
.kalk-vynos select {width:100%;padding:10px 14px;border:2px solid var(--brd);border-radius:var(--r10);font-family:var(--font-body);font-size:14px;color:var(--ink);background:#FAFAFD;transition:border-color .2s,box-shadow .2s,background .2s;outline:none;-moz-appearance:textfield}
.kalk-vynos input[type=number]::-webkit-outer-spin-button,
.kalk-vynos input[type=number]::-webkit-inner-spin-button {-webkit-appearance:none}
.kalk-vynos input:focus,
.kalk-vynos select:focus {border-color:var(--kb);background:var(--wht);box-shadow:0 0 0 3px rgba(83,74,183,.13)}
.kalk-vynos .kw-suf {position:relative}
.kalk-vynos .kw-suf input {padding-right:48px}
.kalk-vynos .kw-suf-lbl {position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-body);font-size:12px;color:var(--muted);font-weight:600;pointer-events:none}
.kalk-vynos .kw-range-row {display:flex;align-items:center;gap:10px;margin-top:5px}
.kalk-vynos input[type=range] {flex:1;-webkit-appearance:none;height:5px;background:var(--brd);border-radius:3px;outline:none;cursor:pointer}
.kalk-vynos input[type=range]::-webkit-slider-thumb {-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--kb);border:2px solid #fff;box-shadow:0 2px 6px rgba(83,74,183,.38);cursor:pointer;transition:transform .15s}
.kalk-vynos input[type=range]::-webkit-slider-thumb:hover {transform:scale(1.18)}
.kalk-vynos .kw-rv {min-width:56px;text-align:right;font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--kb)}
.kalk-vynos .kw-tabs {display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.kalk-vynos .kw-tab {padding:7px 16px;border-radius:20px;border:1.5px solid var(--brd);background:transparent;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s}
.kalk-vynos .kw-tab.on,
.kalk-vynos .kw-tab:hover {background:var(--kb);border-color:var(--kb);color:#fff}
.kalk-vynos .kw-ftog {display:flex;border:1.5px solid var(--brd);border-radius:var(--r10);overflow:hidden;margin-bottom:18px}
.kalk-vynos .kw-fb {flex:1;padding:9px;background:transparent;border:none;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s}
.kalk-vynos .kw-fb.on {background:var(--kb);color:#fff}
.kalk-vynos .kw-row {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kalk-vynos .kw-sec-lbl {font-family:var(--font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--kb);border-bottom:2px solid var(--brd);padding-bottom:6px;margin:18px 0 14px}
.kalk-vynos .kw-btn-calc {width:100%;padding:14px;background:linear-gradient(135deg,var(--kb),var(--kbd));border:none;border-radius:var(--r10);color:#fff;font-family:var(--font-head);font-size:16px;font-weight:800;cursor:pointer;transition:all .25s;box-shadow:0 4px 18px rgba(83,74,183,.32);letter-spacing:.3px;margin-top:6px}
.kalk-vynos .kw-btn-calc:hover {transform:translateY(-2px);box-shadow:0 8px 26px rgba(83,74,183,.42)}
.kalk-vynos .kw-btn-calc:active {transform:translateY(0)}
.kalk-vynos .kw-footer {background:linear-gradient(135deg,var(--kbd),var(--ink));color:rgba(255,255,255,.6);text-align:center;padding:20px 16px;font-family:var(--font-body);font-size:12px;line-height:1.7}
.kalk-vynos .kw-footer a {color:var(--acc-y);text-decoration:none;font-weight:600}
.kalk-vynos .kw-footer strong {color:#fff}
.kalk-vynos .kw-hidden {display:none!important}
.kalk-vynos .kw-footer {display:none;}

@media(max-width:900px){
.kalk-vynos .kw-grid {grid-template-columns:1fr}
.kalk-vynos .kw-kpi-grid {grid-template-columns:repeat(3,1fr)}
.kalk-vynos .kw-charts {grid-template-columns:1fr}}
@media(max-width:760px){
.kalk-vynos .kw-header {clip-path:none;padding-bottom:38px}
.kalk-vynos .kw-header-inner {flex-direction:column;align-items:flex-start}
.kalk-vynos .kw-header-text {text-align:left}
.kalk-vynos .kw-kpi-grid {grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){
.kalk-vynos .kw-row {grid-template-columns:1fr}
.kalk-vynos .kw-wrap {padding:14px 10px 40px}
.kalk-vynos .kw-card-body {padding:16px}}
@media(max-width:360px){
.kalk-vynos .kw-kpi-grid {grid-template-columns:1fr}
.kalk-vynos .kw-card-body {padding:13px}}
@media print{
.kalk-vynos .kw-header,
.kalk-vynos .kw-btn-calc,
.kalk-vynos .kw-export-btns,
.kalk-vynos .kw-tabs,
.kalk-vynos .kw-ftog,
.kalk-vynos .kw-tip-btn {display:none!important}
.kalk-vynos .kw-result-card {display:block!important}
.kalk-vynos {background:#fff}
.kalk-vynos .kw-grid {display:block}}

/* Chart.js si výšku plátna odvozuje z kontejneru — jenže výška kontejneru
   závisí na plátně. Bez pevné výšky se ty dvě navzájem čekají a graf
   zůstane nulový (na širokém okně ho rozhýbe až změna velikosti, na mobilu
   nikdy). Plátnu proto dáme spodní hranici, ze které má Chart.js co měřit;
   jakmile si sám spočítá skutečnou výšku, tahle se už neuplatní. */
.kalk-vynos #kwChartCF,
.kalk-vynos #kwChartFlip { min-height: 220px; }
