*{box-sizing:border-box}
:root{
  --bg:#f6f8fb; --card:#ffffff; --card-soft:#f9fbff; --muted:#4b5563; --text:#0f172a;
  --accent:#0A66C2; --accent-2:#3b82f6; --warn:#b54708; --danger:#b91c1c;
  --fill-base:#9ca3af; --fill-insured:#3b82f6; --fill-payout:#10b981;
  --shadow:0 10px 30px rgba(2,6,23,.08);
  --radius:18px;
}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif}
.topbar{position:sticky;top:0;z-index:5;background:#fff;backdrop-filter:saturate(1.2) blur(6px);display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid #e5e7eb}
.topbar .logo{margin-left:auto;font-weight:700;letter-spacing:.3px;text-decoration:none;color:var(--text)}
.topbar .ghost{background:transparent;border:1px solid #dbe2ea;color:var(--text);padding:8px 12px;border-radius:12px;cursor:pointer}
.topbar .arrow{font-weight:700;margin-right:6px}
.container{max-width:1100px;margin:32px auto;padding:0 18px}
.pagehead h1{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:.2em 0 .2em}
.lede{color:var(--muted);margin:0 0 10px}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:var(--radius);padding:18px 18px 14px;margin:16px 0;box-shadow:var(--shadow)}
.card.soft{background:var(--card-soft)}
.card-lite{background:#f8fafc;border:1px dashed #dbe2ea}
.grid{display:grid;gap:16px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.two.tight{grid-template-columns:repeat(2,1fr);gap:12px}
@media (max-width: 920px){.grid.two,.grid.two.tight{grid-template-columns:1fr}}
.row{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (max-width: 720px){.row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-weight:600}
input,select,button,.btn-secondary{appearance:none;border:1px solid #d1d5db;background:#fff;color:var(--text);border-radius:12px;padding:12px 12px;font-size:16px}
input:focus,select:focus{outline:none;box-shadow:0 0 0 3px rgba(10,102,194,.2);border-color:#a7c5ec}
.control{display:grid;gap:8px}
.hint{color:var(--muted);font-weight:400}
.result-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb;margin-top:8px}
.result-line.small{padding:8px}
.money{font-variant-numeric:tabular-nums;letter-spacing:.2px;font-weight:700}
.money.warn{color:var(--warn)}
.stat{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}
.stat-label{color:var(--muted);font-size:.9em}
.stat-value{font-size:clamp(22px,3vw,28px);font-weight:800;margin:.15em 0}
.stat-sub{color:var(--muted);font-size:.85em}
.bars{display:grid;gap:12px;margin:12px 0}
.bar{display:grid;gap:6px}
.bar-label{color:var(--muted);font-weight:600}
.bar-track{height:16px;background:#f8fafc;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}
.bar-fill{height:100%;width:0;transition:width .3s ease}
.bar-fill.base{background:linear-gradient(90deg,var(--fill-base),#e5e7eb)}
.bar-fill.insured{background:linear-gradient(90deg,var(--fill-insured),#93c5fd)}
.bar-fill.payout{background:linear-gradient(90deg,var(--fill-payout),#a7f3d0)}
.seg-wrap{margin:6px 0 10px}
.seg-label{font-weight:700;margin-bottom:6px;color:#334155;font-size:.95em}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg-btn{padding:8px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-weight:700;color:var(--text)}
.seg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px rgba(10,102,194,.15)}
.recommend .actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
button, .btn-secondary{cursor:pointer}
button{background:linear-gradient(180deg,var(--accent),#0a5ab0);border:none;color:#fff}
.btn-secondary{display:inline-block;text-decoration:none;text-align:center}
.ticks{display:grid;gap:6px;margin:6px 0 0 20px}
.footer{max-width:1100px;margin:12px auto 40px;padding:0 18px;color:var(--muted)}
@media print{
  body{background:white;color:black}
  .topbar, .actions, .footer{display:none}
  .card, .card-lite{border:1px solid #ddd;box-shadow:none}
  .bar-track{border:1px solid #ddd}
}

/* Range sliders – modrý akcent + vyplněný progress */
input[type=range]{height:32px;background:transparent}
input[type=range]::-webkit-slider-runnable-track{
  height:8px;border-radius:999px;background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--p,0%), #e5e7eb var(--p,0%), #e5e7eb 100%);
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:22px;height:22px;border-radius:50%;
  margin-top:-7px;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 2px rgba(0,0,0,.12);
}
/* Firefox */
input[type=range]::-moz-range-track{height:8px;background:#e5e7eb;border-radius:999px}
input[type=range]::-moz-range-progress{height:8px;background:var(--accent);border-radius:999px}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--accent)}

/* Doplatek z vlastního */
.impact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:#fef2f2;border:1px solid #fecaca;margin:10px 0 6px}
.impact-label{font-weight:800;color:#7f1d1d}
.impact-value{font-size:clamp(24px,3.2vw,34px);font-weight:900;color:var(--danger)}