/* ============================================================================
   PôdnyRadar — STAVBA / Stavebný spis (orchestrácia)
   Svetlý „terénny" motív ako stavba.html / parcel-intelligence.html
   (scéna: človek plánujúci kúpu/stavbu, často na mobile, vonku pri parcele).
   Reorganizuje EXISTUJÚCU funkcionalitu do sprievodcu — nič nové v dátach.
   ============================================================================ */
:root{
  --bg:#eef3f0; --panel:#fff; --panel-2:#f6faf8;
  --ink:#132119; --ink-2:#3c4d44;           /* telo/sekundár tónované z odtieňa, nie plochá šeď */
  --muted:#586b61; --faint:#7c8d84;
  --line:#d7e3db; --line-2:#c4d5cb;
  --accent:#12a58c; --accent-d:#0a6155; --accent-ink:#04231d;
  --soft:#e7f4ef; --soft-2:#daeee7;
  --warn:#b45a12; --warn-bg:#fdf2e6; --warn-line:#f0d5b4;
  --wait:#4f63c7; --wait-bg:#eceffb; --wait-line:#cdd5f2;
  --done:#1c7a52; --done-bg:#e6f4ec; --done-line:#bfe2cd;
  --ready:#0a6155; --ready-bg:#e4f2ee;
  --shadow-sm:0 2px 6px rgba(19,40,30,.06);
  --shadow:0 10px 30px -8px rgba(19,40,30,.16);
  --shadow-lg:0 22px 54px -16px rgba(19,40,30,.28);
  --r:14px; --r-sm:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent-d)}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}
svg.ic{display:inline-block;vertical-align:middle;flex:0 0 auto}
.b svg.ic{margin-top:-1px}

/* ── top bar ── */
.sbar{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.sbar .in{max-width:1120px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;gap:14px}
.sbar .brand{font-weight:850;font-size:17px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.sbar .brand span{color:var(--accent-d)}
.sbar .sp{flex:1}
.sbar a.lk{font-size:13.5px;color:var(--muted);text-decoration:none;font-weight:600}
.sbar a.lk:hover{color:var(--ink)}
.sbar .help{display:inline-flex;align-items:center;gap:7px;background:var(--soft);border:1px solid var(--line-2);
  color:var(--accent-d);font-weight:750;font-size:13px;padding:8px 13px;border-radius:999px;text-decoration:none}
.sbar .help:hover{background:var(--soft-2)}

.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.wrap.bleed{max-width:none;padding:0}
.sbar .prod{font-weight:800;font-size:14px;color:var(--ink-2)}
.sbar .help svg{flex:0 0 auto}

/* ── kontext-riadok „čo práve robím" ── */
.doing{padding:18px 0 4px}
.doing .now{font-size:14px;color:var(--ink-2);font-weight:650;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.doing .now b{color:var(--ink);font-weight:800}
.doing .now .dot{color:var(--line-2)}
.doing .prog{margin-top:9px;display:flex;align-items:center;gap:11px;max-width:520px}
.doing .prog .track{flex:1;height:7px;border-radius:999px;background:#dbe7e0;overflow:hidden}
.doing .prog .track i{display:block;height:100%;width:100%;border-radius:999px;transform-origin:left;
  background:linear-gradient(90deg,var(--accent),var(--accent-d));
  transition:transform .7s cubic-bezier(.16,1,.3,1)}
.doing .prog .lbl{font-size:13px;color:var(--muted);font-weight:700;white-space:nowrap}

/* ── layout: stepper + obsah ── */
.shell{display:grid;grid-template-columns:236px 1fr;gap:26px;padding:18px 0 60px;align-items:start}

/* vertikálny stepper (desktop) */
.stepper{position:sticky;top:78px}
.stepper ol{list-style:none;margin:0;padding:0}
.stepper li{position:relative;padding:0 0 4px 34px;min-height:44px}
.stepper li:not(:last-child)::before{content:"";position:absolute;left:11px;top:24px;bottom:-2px;width:2px;background:var(--line)}
.stepper li.done:not(:last-child)::before{background:var(--done-line)}
.stepper .mk{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;
  border:2px solid var(--line);background:var(--panel);color:var(--faint);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.stepper li.done .mk{background:var(--done-bg);border-color:var(--done-line);color:var(--done)}
.stepper li.current .mk{border-color:var(--accent);background:var(--accent);color:#fff;
  box-shadow:0 0 0 4px rgba(18,165,140,.16)}
.stepper .lab{display:block;font-size:14px;font-weight:700;color:var(--ink-2);cursor:pointer;
  background:none;border:0;text-align:left;padding:2px 0;font-family:inherit;line-height:1.3}
.stepper li.current .lab{color:var(--ink)}
.stepper .lab:disabled{cursor:default;color:var(--faint);opacity:.75}
.stepper .lab:not(:disabled):hover{color:var(--accent-d)}
.stepper .sub{display:block;font-size:11.5px;color:var(--faint);font-weight:600;margin-top:1px}

/* horizontálny stepper (mobil) */
.stepper-h{display:none}

.content{min-width:0}
.measure{max-width:none}

/* ── karty ── */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-sm);padding:20px 22px;margin:0 0 16px}
.card>h2{font-size:19px;margin:0 0 4px;letter-spacing:-.01em}
.card>.lede{color:var(--muted);margin:0 0 16px;font-size:14.5px;max-width:66ch}

/* NEXT-STEP karta — najdôležitejší prvok na každom kroku */
.next{position:relative;overflow:hidden;background:linear-gradient(180deg,#0e2b23,#0a231d);
  color:#eafcf6;border:1px solid #0c3a30;border-radius:var(--r);
  box-shadow:var(--shadow-lg);padding:20px 22px;margin:0 0 22px;
  animation:nextIn .5s cubic-bezier(.16,1,.3,1) both}
@keyframes nextIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.next{animation:none}.doing .prog .track i{transition:none}}
.next .k{font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#7fe9cf}
.next .hd{display:flex;gap:14px;align-items:flex-start;margin-top:8px}
.next .ic{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:rgba(127,233,207,.14);
  border:1px solid rgba(127,233,207,.24);display:flex;align-items:center;justify-content:center;font-size:24px}
.next h3{margin:0;font-size:21px;line-height:1.18;letter-spacing:-.01em;color:#fff}
.next .why{margin:4px 0 0;color:#b7d8ce;font-size:14.5px;line-height:1.5}
.next .act{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}
.next .prefill{margin:12px 0 0;font-size:12.5px;color:#9fc7bb;display:flex;align-items:flex-start;gap:7px;line-height:1.45}
.next .prefill .s{color:#7fe9cf;flex:0 0 auto}
.next.calm{background:var(--panel);color:var(--ink);border:1px solid var(--done-line);box-shadow:var(--shadow-sm)}
.next.calm .k{color:var(--accent-d)}
.next.calm h3{color:var(--ink)}
.next.calm .why{color:var(--muted)}
.next.calm .ic{background:var(--done-bg);border-color:var(--done-line)}
.next.calm .prefill{color:var(--muted)}
.next.calm .prefill .s{color:var(--done)}

/* ── tlačidlá ── */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;
  padding:12px 18px;font:inherit;font-weight:800;font-size:14.5px;cursor:pointer;text-decoration:none;
  transition:transform .12s ease,background .14s ease,box-shadow .14s ease,opacity .14s}
.b:active{transform:translateY(1px)}
.b-p{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -6px rgba(18,165,140,.6)}
.b-p:hover{background:#15b89b}
.b-ghost{background:transparent;color:#cdeee5;border:1px solid rgba(205,238,229,.36)}
.b-ghost:hover{background:rgba(205,238,229,.1)}
.b-g{background:var(--soft);color:var(--accent-d);border:1px solid var(--line-2)}
.b-g:hover{background:var(--soft-2)}
.b-lite{background:transparent;color:var(--accent-d);border:1px solid var(--line-2)}
.b-lite:hover{background:var(--soft)}
.b[disabled],.b[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}
.b.sm{padding:9px 14px;font-size:13.5px}
.b .spin{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;
  animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}

/* ── intent výber (vstup) ── */
.intent{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 6px}
.intent button{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;
  background:var(--panel-2);border:2px solid var(--line);border-radius:var(--r);padding:18px;cursor:pointer;
  font:inherit;color:var(--ink);transition:border-color .14s,background .14s,transform .12s}
.intent button:hover{border-color:var(--line-2);transform:translateY(-1px)}
.intent button .e{font-size:30px;line-height:1}
.intent button b{font-size:16.5px}
.intent button span{color:var(--muted);font-size:13px;line-height:1.4}
.intent button[aria-pressed=true]{border-color:var(--accent);background:var(--soft)}

.where{display:grid;gap:12px;margin-top:6px}
.where .opt{display:flex;gap:12px;flex-wrap:wrap}
.where .opt .b{flex:1 1 auto}
.mono{font-variant-numeric:tabular-nums}

/* ── vyhľadávanie obce / k.ú. (celoslovensky) ── */
.kusearch{position:relative;margin:2px 0 16px}
.kus-lbl{display:block;font-size:12.5px;font-weight:750;color:var(--muted);margin:0 0 6px;letter-spacing:.01em}
.kus-box{display:flex;align-items:center;gap:10px;background:var(--panel);border:1.5px solid var(--line-2);
  border-radius:12px;padding:0 14px;transition:border-color .15s,box-shadow .15s}
.kus-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(18,165,140,.14)}
.kus-box .ic{flex:0 0 auto;color:var(--faint);width:18px;height:18px}
.kus-box input{flex:1;border:0;outline:0;background:transparent;padding:13px 2px;font:inherit;font-size:15.5px;color:var(--ink)}
.kus-box input::placeholder{color:var(--faint)}
.kus-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;max-height:340px;overflow-y:auto}
.kus-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;text-align:left;
  background:none;border:0;border-bottom:1px solid var(--line);padding:11px 15px;cursor:pointer;font:inherit}
.kus-row:last-child{border-bottom:0}
.kus-row:hover,.kus-row:focus-visible{background:var(--soft)}
.kus-n{font-weight:750;color:var(--ink);font-size:14.5px}
.kus-o{color:var(--faint);font-size:12.5px;white-space:nowrap}
.kus-empty{padding:13px 15px;color:var(--muted);font-size:13.5px}
.kus-picked{display:flex;align-items:center;gap:7px;margin-top:9px;padding:9px 13px;font-size:13.5px;
  background:var(--done-bg);border:1px solid var(--done-line);border-radius:10px;color:var(--done)}
.kus-res[hidden],.kus-picked[hidden]{display:none}   /* [hidden] musí prebiť display:flex */
.kus-picked .ic{color:var(--done);width:15px;height:15px;flex:0 0 auto}
.kus-picked b{color:var(--ink)}
.kus-o2{color:var(--muted)}
.kus-change{margin-left:auto;background:none;border:0;color:var(--accent-d);font-weight:750;font-size:12.5px;
  text-decoration:underline;cursor:pointer;padding:2px 4px}

/* ── stav parcely / mapa vo vstupe ── */
#entryMapWrap{position:relative;margin-top:8px;display:none}
#entryMapWrap.on{display:block}
#entryMap{width:100%;height:440px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:#e2ebe6}
#entryHint{position:absolute;left:12px;top:12px;z-index:3;background:rgba(255,255,255,.95);border:1px solid var(--line);
  border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:650;color:var(--muted);max-width:min(72%,360px);box-shadow:var(--shadow-sm)}
#entryErr{color:#b3261e;font-size:13.5px;min-height:1px;margin-top:8px}
.lvpick{display:grid;gap:8px;margin-top:10px}
.lvpick .r{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:11px 13px;cursor:pointer}
.lvpick .r:hover{border-color:var(--line-2)}
.lvpick .r input{accent-color:var(--accent)}
.lvpick .r b{font-weight:800}
.lvpick .r span{color:var(--muted);font-size:13px}

/* ── stepper obsah: preverenie/podklady ── */
.hero-line{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 16px}
.chip{background:var(--soft);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;
  font-size:13px;font-weight:700;color:var(--accent-d)}
.chip b{color:var(--ink)}

/* preverenie: kompaktné zistenia */
.finds{display:grid;gap:10px}
.find{display:grid;grid-template-columns:34px 1fr;gap:12px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:13px 15px}
.find .fic{width:34px;height:34px;border-radius:9px;background:var(--soft);display:flex;align-items:center;
  justify-content:center;font-size:18px}
.find h4{margin:0;font-size:15px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.find .fst{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}
.find p{margin:4px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.find .nx{margin-top:5px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
/* status farby (5 stavov) */
.s-done .fst{background:var(--done-bg);color:var(--done)}
.s-ready .fst{background:var(--ready-bg);color:var(--ready)}
.s-wait-p .fst{background:var(--soft);color:var(--accent-d)}   /* čaká na podklad */
.s-attn .fst{background:var(--warn-bg);color:var(--warn)}
.s-hold .fst{background:var(--wait-bg);color:var(--wait)}
.s-done .fic{background:var(--done-bg)}
.s-attn .fic{background:var(--warn-bg)}
.s-hold .fic{background:var(--wait-bg)}

/* ── dokumentové skupiny (4, len aktuálna otvorená) ── */
.groups{display:grid;gap:12px}
.grp{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm)}
.grp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 18px;
  user-select:none}
.grp>summary::-webkit-details-marker{display:none}
.grp>summary .gic{font-size:20px;flex:0 0 auto}
.grp>summary .gt{font-weight:800;font-size:15.5px}
.grp>summary .gcount{margin-left:auto;font-size:12.5px;font-weight:750;color:var(--muted);
  display:inline-flex;align-items:center;gap:6px}
.grp>summary .gcount.ok{color:var(--done)}
.grp>summary .chev{transition:transform .25s cubic-bezier(.16,1,.3,1);color:var(--faint);font-size:13px}
.grp[open]>summary .chev{transform:rotate(180deg)}
.grp>summary:hover{background:var(--panel-2)}
.grp .gbody{padding:2px 18px 16px;border-top:1px solid var(--line)}

/* dokument: 4 veci */
.doc{padding:14px 0;border-bottom:1px dashed var(--line)}
.doc:last-child{border-bottom:0}
.doc .drow{display:flex;gap:11px;align-items:flex-start;flex-wrap:wrap}
.doc .dstat{flex:0 0 auto;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap;margin-top:1px}
.doc h5{margin:0;font-size:15px;flex:1;min-width:180px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.badge{font-size:10.5px;font-weight:800;letter-spacing:.01em;padding:2px 8px;border-radius:999px;white-space:nowrap}
.badge.auto{background:var(--soft);color:var(--accent-d);border:1px solid var(--line-2)}
.badge.human{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}
.badge.have{background:var(--done-bg);color:var(--done);border:1px solid var(--done-line)}
.doc .why{margin:6px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.doc .fills{margin:9px 0 0;display:grid;gap:3px}
.doc .fills .f{font-size:12.5px;color:var(--ink-2);display:flex;gap:7px;align-items:baseline}
.doc .fills .f .s{color:var(--done);flex:0 0 auto;font-weight:800}
.doc .dact{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:12px}
.doc .expert{font-size:12px;color:var(--accent-d);background:none;border:0;cursor:pointer;padding:4px 0;
  text-decoration:underline;text-underline-offset:2px;font-family:inherit;font-weight:650}
.doc .expert:hover{color:var(--ink)}
.doc .xbody{margin:8px 0 0;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:11px 13px;font-size:12.5px;color:var(--ink-2);line-height:1.55}
.doc .xbody h6{margin:0 0 5px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.doc .xbody code{font-size:12px;color:var(--accent-d);word-break:break-word}
.doc .xbody ul{margin:5px 0 0;padding-left:17px}
.doc .xbody li{margin:2px 0}

/* status pill farby pre dokumenty (rovnaká škála ako .find) */
.dstat.done{background:var(--done-bg);color:var(--done)}
.dstat.ready{background:var(--ready-bg);color:var(--ready)}
.dstat.waitp{background:var(--soft);color:var(--accent-d)}
.dstat.attn{background:var(--warn-bg);color:var(--warn)}
.dstat.hold{background:var(--wait-bg);color:var(--wait)}

/* ── info/poznámka ── */
.note{background:var(--soft);border:1px solid #c9e6dc;border-radius:var(--r-sm);padding:12px 14px;
  color:#294b41;font-size:13px;line-height:1.6}
.note.warn{background:var(--warn-bg);border-color:var(--warn-line);color:#6f3d0f}
.footnote{color:var(--faint);font-size:12px;line-height:1.55;margin:16px 0 0}

/* ── SPIS: taby ── */
.spishd{margin:6px 0 14px}
.spishd h1{font-size:23px;margin:0;letter-spacing:-.02em}
.spishd .m{color:var(--muted);font-size:14px;margin-top:2px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:14px 0 20px;overflow-x:auto;
  scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{background:none;border:0;border-bottom:2.5px solid transparent;padding:11px 14px;
  font:inherit;font-weight:750;font-size:14px;color:var(--muted);cursor:pointer;white-space:nowrap}
.tabs button:hover{color:var(--ink)}
.tabs button[aria-selected=true]{color:var(--accent-d);border-bottom-color:var(--accent)}

/* prehľad dlaždice */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 4px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--shadow-sm)}
.tile .tk{font-size:11.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
.tile .tv{font-size:19px;font-weight:850;margin-top:4px;letter-spacing:-.01em}
.tile .tv.sm{font-size:16px}
.tile .tsub{font-size:12.5px;color:var(--muted);margin-top:2px}

/* mapa v spise (parcela tab) */
#spisMapWrap{position:relative;margin-top:8px}
#spisMap{width:100%;height:460px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:#e2ebe6}

/* žiadosti tabuľka */
.ztable{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}
.ztable th,.ztable td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.ztable th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:750}
.ztable input,.ztable select{font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:7px;
  padding:6px 8px;background:#fff;color:var(--ink);max-width:150px}
.dl{font-size:12.5px;color:var(--muted)}.dl.over{color:#b3261e;font-weight:800}

/* údaje žiadateľa form */
.uform{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.uform label{display:grid;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.uform label.full{grid-column:1/3}
.uform input{border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit;font-size:14px;background:#fff}
.uform input:focus{outline:none;border-color:var(--accent)}
@media(max-width:560px){.uform{grid-template-columns:1fr}.uform label.full{grid-column:1}}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(10px);opacity:0;
  background:#132119;color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px;
  box-shadow:var(--shadow-lg);z-index:80;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.foot{border-top:1px solid var(--line);margin-top:30px;padding:22px 0;color:var(--muted);font-size:12.5px;line-height:1.6}

/* ── responsive ── */
@media(max-width:860px){
  .shell{grid-template-columns:1fr;gap:0}
  .stepper{display:none}
  .stepper-h{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;padding:10px 0 4px;margin:0 -20px 8px;
    padding-left:20px;padding-right:20px;position:sticky;top:52px;background:var(--bg);z-index:20}
  .stepper-h::-webkit-scrollbar{display:none}
  .stepper-h .hs{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;
    font:inherit;font-size:13px;font-weight:750;color:var(--faint);padding:6px 4px}
  .stepper-h .hs .m{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:var(--panel);
    display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--faint)}
  .stepper-h .hs.done .m{background:var(--done-bg);border-color:var(--done-line);color:var(--done)}
  .stepper-h .hs.current{color:var(--ink)}
  .stepper-h .hs.current .m{background:var(--accent);border-color:var(--accent);color:#fff}
  .stepper-h .hs:disabled{opacity:.7;cursor:default}
  .stepper-h .arr{flex:0 0 auto;color:var(--line-2);align-self:center;padding:0 3px;font-size:12px}
}
@media(max-width:600px){
  .card{padding:17px 16px}
  .next{padding:18px 16px}
  .next h3{font-size:19px}
  .intent{grid-template-columns:1fr}
  .doing .now{font-size:13px}
}

/* ════════════════════════════════════════════════════════════════════════
   STAVBA PRODUKT — sales / onboarding / náhľad / cenník / checkout /
   success / recovery / entitlement / dokumenty (rozšírenie, tie isté tokeny)
   ════════════════════════════════════════════════════════════════════════ */
.b.lg{padding:14px 22px;font-size:15.5px;border-radius:11px}
.b.full{width:100%}

/* ── SALES / HERO (Persuade, pokojný, dôveryhodný) ── */
.hero{max-width:1120px;margin:0 auto;padding:44px 20px 20px;display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.hero-in{max-width:34rem}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;
  letter-spacing:.02em;color:var(--accent-d);background:var(--soft);border:1px solid var(--line-2);
  padding:6px 13px;border-radius:999px}
.hero h1{font-size:clamp(2.15rem,4.4vw,3.35rem);line-height:1.05;letter-spacing:-.03em;
  margin:18px 0 0;color:var(--ink);font-weight:850}
.hero h1 .hl{color:var(--accent-d)}
.hero .sub{margin:16px 0 0;font-size:16.5px;line-height:1.55;color:var(--ink-2);max-width:32rem}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-note{margin:16px 0 0;font-size:13.5px;color:var(--muted);line-height:1.55;max-width:31rem}
/* hero panel — tichá deterministická ilustrácia toku (nie dashboard mock) */
.hero-panel{display:flex;justify-content:center}
.hp-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;box-shadow:var(--shadow);padding:20px;position:relative}
.hp-card::before{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
  background:radial-gradient(120% 80% at 100% 0,rgba(18,165,140,.07),transparent 60%)}
.hp-top{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px;color:var(--ink);
  padding-bottom:14px;border-bottom:1px solid var(--line)}
.hp-top svg{color:var(--accent-d)}
.hp-steps{display:grid;gap:9px;padding:16px 0 4px}
.hp-row{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:650;color:var(--ink-2);
  padding:9px 11px;border-radius:10px;border:1px solid var(--line)}
.hp-row svg{flex:0 0 auto}
.hp-row.done{color:var(--done);background:var(--done-bg);border-color:var(--done-line)}
.hp-row.cur{color:var(--accent-ink);background:var(--soft);border-color:var(--accent);font-weight:800;
  box-shadow:0 0 0 3px rgba(18,165,140,.1)}
.hp-row.idle{color:var(--faint)}
.hp-foot{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding-top:14px;
  border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.45}
.hp-foot svg{color:var(--accent-d);margin-top:1px}

/* ── bandy (sekcie) ── */
.band{max-width:1120px;margin:0 auto;padding:38px 20px}
.band.alt{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}
.band.alt>*{max-width:1120px;margin-left:auto;margin-right:auto}
.band-h{font-size:22px;letter-spacing:-.02em;margin:0 0 4px;color:var(--ink)}
.band-lede{color:var(--muted);font-size:15px;margin:0 0 22px;max-width:60ch}
.band-fine{color:var(--faint);font-size:12.5px;margin:20px 0 0;line-height:1.55;max-width:70ch}

/* výsledky (8) — nie rovnaké karty ako štruktúra: tenká deliaca mriežka */
.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2px 30px;margin-top:22px}
.oc{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.oc .oi{flex:0 0 auto;width:40px;height:40px;border-radius:11px;background:var(--soft);
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--accent-d)}
.oc b{font-size:15px;color:var(--ink);display:block}
.oc p{margin:3px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}

/* ako to funguje (7) — číslovaný zoznam s významom poradia */
.how{list-style:none;counter-reset:h;margin:22px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px 34px}
.how li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.how .hn{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--panel);
  border:1.5px solid var(--accent);color:var(--accent-d);font-weight:850;font-size:14px;
  display:flex;align-items:center;justify-content:center}

/* plán teasery (sales) */
.plan-teasers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.pt{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:22px;box-shadow:var(--shadow-sm)}
.pt.alt{background:var(--panel-2)}
.pt-tag{position:absolute;top:-11px;left:22px;background:var(--accent-d);color:#fff;font-size:11px;
  font-weight:800;letter-spacing:.02em;padding:3px 10px;border-radius:999px}
.pt h3{margin:6px 0 0;font-size:17px;letter-spacing:-.01em}
.pt-sub{margin:5px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.pt-price{display:flex;align-items:baseline;gap:10px;margin-top:16px}
.pt-price .now{font-size:28px;font-weight:850;letter-spacing:-.02em;color:var(--ink)}
.pt-price .was{font-size:13px;color:var(--faint);text-decoration:line-through}
.pt-once{font-size:12px;color:var(--muted);margin-top:3px}
/* režim plánu — „vediem vás" vs „preberám administratívu" */
.pt-mode{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.01em;
  padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--accent-d);border:1px solid var(--line-2)}
.pt-mode.conc{background:var(--done-bg);color:var(--done);border-color:var(--done-line)}
.pt-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.pt-list li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.4}
.pt-list li svg{flex:0 0 auto;margin-top:2px;color:var(--done)}
.plan-top .pt-mode{margin-bottom:8px}

/* finálne CTA */
.cta-final{max-width:1120px;margin:14px auto 0;padding:30px 20px;display:flex;gap:20px;
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-final h2{margin:0;font-size:21px;letter-spacing:-.02em}
.cta-final p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.lfoot{max-width:1120px;margin:0 auto;padding:26px 20px 40px;border-top:1px solid var(--line);
  color:var(--muted);font-size:12.5px;line-height:1.6}
.lfoot a{color:var(--accent-d);font-weight:650}

/* ── onboarding hlavička / back / mini-steps ── */
.ob-head{max-width:1120px;margin:0 auto;padding:16px 0 6px;display:flex;align-items:center;
  gap:16px;flex-wrap:wrap;justify-content:space-between}
.bleed .ob-head{padding-left:20px;padding-right:20px;max-width:980px}
.backlink{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;
  font:inherit;font-size:13.5px;font-weight:700;color:var(--muted);padding:6px 2px}
.backlink svg{transform:rotate(180deg)}
.backlink:hover{color:var(--ink)}
.ob-steps{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--faint)}
.ob-steps .on{color:var(--accent-d)}
.ob-steps .dn{color:var(--done)}
.ob-steps .sep{color:var(--line-2);display:inline-flex}
.ob-steps .sep svg{width:13px;height:13px}

/* dve rovnocenné cesty výberu pozemku */
.pathgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pathcard{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;
  background:var(--panel-2);border:1.5px solid var(--line);border-radius:var(--r);padding:18px;
  cursor:pointer;font:inherit;color:var(--ink);transition:border-color .14s,background .14s,transform .12s}
.pathcard:hover{border-color:var(--accent);background:var(--soft);transform:translateY(-1px)}
.pathcard .pi{width:44px;height:44px;border-radius:12px;background:var(--panel);border:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;color:var(--accent-d)}
.pathcard b{font-size:15.5px;margin-top:4px}
.pathcard .ps{color:var(--muted);font-size:13px;line-height:1.45}
.lvstat{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-top:4px}
.lvstat .lvok{color:var(--done);font-weight:750;display:inline-flex;align-items:center;gap:5px}
.lvstat .lvbad{color:var(--warn);font-weight:750;display:inline-flex;align-items:center;gap:5px}
.lvpick .r{display:flex;align-items:center;gap:11px}
.lvpick .r .rp{display:flex;flex-direction:column}
.lvpick .r .rk{color:var(--muted);font-size:12.5px;font-weight:600}
.intent button .e{width:auto;height:auto;color:var(--accent-d)}

/* ── PREVIEW (konverzný moment) ── */
.pv-hero .pv-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;
  color:var(--accent-d);background:var(--soft);border:1px solid var(--line-2);padding:5px 11px;border-radius:999px}

/* ── locked-preview dashboard: „Váš stavebný spis je pripravený“ ── */
.sp-hero{background:linear-gradient(180deg,var(--soft) 0%,var(--panel) 78%);border-color:var(--done-line)}
.sp-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--done);
  background:var(--done-bg);border:1px solid var(--done-line);padding:5px 11px;border-radius:999px}
.sp-badge .ic{color:var(--done)}
.sp-hero h2{font-size:24px;margin:12px 0 6px;letter-spacing:-.02em}
.sp-lede{color:var(--ink-2);font-size:15px;margin:0;max-width:70ch}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 18px}
.sp-col{margin:0;display:flex;flex-direction:column}
.sp-h{display:flex;align-items:center;gap:9px;margin:0 0 12px}
.sp-h .ic{color:var(--accent-d);flex:0 0 auto}
.sp-h h3{margin:0;font-size:15.5px;letter-spacing:-.01em}
.sp-tag{margin-left:auto;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px}
.sp-tag.ok{color:var(--done);background:var(--done-bg);border:1px solid var(--done-line)}
.sp-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sp-i{display:flex;align-items:flex-start;gap:9px;font-size:13.7px;line-height:1.4;color:var(--ink-2)}
.sp-i .ic{flex:0 0 auto;margin-top:1px}
.sp-i.ok .ic{color:var(--done)}
.sp-i.attn .ic{color:var(--warn)}
.sp-i.attn span{color:var(--ink)}
.sp-i.wait .ic{color:var(--wait)}
.sp-i.lock{color:var(--faint)}
.sp-i.lock .ic{color:var(--faint)}
.sp-note{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0}
.sp-foot{color:var(--faint);font-size:12px;margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line)}
.sp-locked{position:relative;background:var(--panel-2)}
.sp-locked .sp-list{opacity:.9}
.sp-lockhint{display:flex;align-items:center;gap:6px;color:var(--faint);font-size:11.5px;margin:12px 0 0}
.sp-lockhint .ic{flex:0 0 auto}
/* konverzia v náhľade: 399 primárne + 149 sekundárne */
.sp-conv{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;margin:6px 0 10px}
.conv{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-sm);padding:20px 20px 22px;display:flex;flex-direction:column}
.conv.prime{border-color:var(--accent);box-shadow:0 14px 40px -18px rgba(18,165,140,.5)}
.conv-flag{position:absolute;top:-12px;left:22px;background:var(--accent-d);color:#fff;font-size:11.5px;
  font-weight:800;padding:4px 12px;border-radius:999px;letter-spacing:.02em}
.conv-mode{font-size:11.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--faint);margin:2px 0 6px}
.conv.prime .conv-mode{color:var(--accent-d)}
.conv h3{margin:0;font-size:19px;letter-spacing:-.01em}
.conv-price{display:flex;align-items:baseline;gap:9px;margin:10px 0 2px}
.conv-price .amt{font-size:30px;font-weight:850;letter-spacing:-.02em;color:var(--ink)}
.conv-price .once{font-size:12.5px;color:var(--muted);font-weight:650}
.conv-sub{color:var(--ink-2);font-size:13.7px;line-height:1.5;margin:8px 0 16px;flex:1}
@media(max-width:820px){ .sp-grid{grid-template-columns:1fr} .sp-conv{grid-template-columns:1fr} }
.pv-hero h2{font-size:24px;margin:12px 0 0;letter-spacing:-.02em}
.pv-hero .pv-sub{color:var(--muted);font-weight:650;font-size:15px}
.pv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;
  margin:18px 0 0;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.pv-facts .fct{padding:12px 14px;border-right:1px solid var(--line)}
.pv-facts .fct:last-child{border-right:0}
.pv-facts .fk{display:block;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
.pv-facts .fv{display:block;font-size:15px;font-weight:800;color:var(--ink);margin-top:3px}
.pv-note{margin:12px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.pv-h3{font-size:17px;margin:0 0 3px}
.pv-lede{color:var(--muted);font-size:14px;margin:0 0 14px}
.pv-list{display:grid;gap:10px}
.pv-row{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 14px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--panel)}
.pv-row .pi{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.pv-row.ok .pi{background:var(--done-bg);color:var(--done)}
.pv-row.check .pi{background:var(--warn-bg);color:var(--warn)}
.pv-row.wait .pi{background:var(--soft);color:var(--accent-d)}
.pvh{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
.pvh b{font-size:14.5px}
.pvt{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}
.pvt.ok{background:var(--done-bg);color:var(--done)}
.pvt.check{background:var(--warn-bg);color:var(--warn)}
.pvt.wait{background:var(--soft);color:var(--accent-d)}
.pv-row p{margin:4px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.pv-cover{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:var(--r-sm);
  font-size:13px;line-height:1.5}
.pv-cover svg{flex:0 0 auto;margin-top:1px}
.pv-cover.ok{background:var(--done-bg);border:1px solid var(--done-line);color:#1c5238}
.pv-cover.ok svg{color:var(--done)}
.pv-cover.warn{background:var(--soft);border:1px solid var(--line-2);color:#294b41}
.pv-cover.warn svg{color:var(--accent-d)}
.pv-cover.info{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2)}
.pv-cover.info svg{color:var(--muted)}
.pv-next{position:relative;isolation:isolate;background:linear-gradient(180deg,#0e2b23,#0a231d);color:#eafcf6;border:1px solid #0c3a30;
  box-shadow:var(--shadow-lg);cursor:pointer}
.pv-next h3{margin:0;font-size:20px;color:#fff;letter-spacing:-.01em}
.pv-next p{margin:8px 0 0;color:#b7d8ce;font-size:14.5px;line-height:1.5;max-width:52ch;position:relative;z-index:0;pointer-events:none}
.pv-next .b-p{margin-top:18px;position:relative;z-index:2;pointer-events:auto}
.pv-free{margin:12px 0 0;font-size:12.5px;color:#9fc7bb}

/* ── PRICING ── */
.pricing-head{max-width:900px;margin:8px auto 22px;text-align:center;padding:0 20px}
.pricing-head h2{font-size:25px;letter-spacing:-.02em;margin:0}
.pricing-head p{color:var(--muted);font-size:15px;margin:8px 0 0}
.plans{max-width:940px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;
  gap:18px;align-items:start}
.plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.plan.primary{border-color:var(--accent);box-shadow:0 14px 40px -18px rgba(18,165,140,.5)}
.plan-flag{position:absolute;top:-12px;left:24px;background:var(--accent-d);color:#fff;font-size:11.5px;
  font-weight:800;letter-spacing:.02em;padding:4px 12px;border-radius:999px}
.plan-top h3{margin:0;font-size:19px;letter-spacing:-.01em}
.plan-sub{margin:6px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5;min-height:2.6em}
.plan-price{display:flex;align-items:baseline;gap:12px;margin-top:18px}
.plan-price .amt{font-size:34px;font-weight:850;letter-spacing:-.03em;color:var(--ink)}
.plan-price .ref{font-size:13px;color:var(--faint);text-decoration:line-through}
.plan-once{font-size:12.5px;color:var(--muted);margin-top:2px}
.plan .b.full{margin-top:18px}
.plan-body{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:16px}
.plan-sec h4{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
.plan-sec ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.plan-sec li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.plan-sec li svg{flex:0 0 auto;margin-top:2px}
.plan-sec li.in svg{color:var(--done)}
.plan-sec li.ex svg{color:var(--warn)}
.plan-sec ul.exl li{color:var(--muted)}
.pricing-fine{max-width:940px;margin:22px auto 46px;padding:0 20px;display:flex;gap:9px;align-items:flex-start;
  color:var(--muted);font-size:12.5px;line-height:1.6}
.pricing-fine svg{flex:0 0 auto;margin-top:2px;color:var(--accent-d)}

/* ── CHECKOUT ── */
.checkout{max-width:940px;margin:0 auto;padding:0 20px 46px;display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
.co-main h2{font-size:20px;margin:0 0 14px;letter-spacing:-.01em}
.co-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);
  font-size:14px;color:var(--muted)}
.co-line b{color:var(--ink);font-weight:750;text-align:right}
.co-line.big{font-size:16px;padding:14px 0}
.co-line.big b{font-size:20px;font-weight:850}
.co-inc{margin-top:16px}
.co-inc h4{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
.co-inc ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.co-inc li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.co-inc li svg{color:var(--done);flex:0 0 auto;margin-top:2px}
.co-not{display:flex;gap:9px;align-items:flex-start;margin-top:16px;padding:11px 13px;border-radius:var(--r-sm);
  background:var(--warn-bg);border:1px solid var(--warn-line);color:#6f3d0f;font-size:12.5px;line-height:1.5}
.co-not svg{color:var(--warn);flex:0 0 auto;margin-top:1px}
.co-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 4px;font-size:13px;color:var(--ink-2);
  line-height:1.5;cursor:pointer}
.co-consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--accent);flex:0 0 auto}
.co-consent a{color:var(--accent-d);font-weight:650}
.co-main .b.full{margin-top:14px}
.co-op{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}

/* ── fakturačné údaje ── */
.co-billing{margin:18px 0 4px;padding:16px 0 4px;border-top:1px solid var(--line)}
.co-billing h3{font-size:15px;margin:0 0 10px;letter-spacing:-.01em}
.bill-type{display:flex;gap:16px;margin:0 0 12px;flex-wrap:wrap}
.bt-opt{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:650;color:var(--ink-2);cursor:pointer}
.bt-opt input{accent-color:var(--accent);width:17px;height:17px}
.bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.bill-in{border:1.5px solid var(--line-2);border-radius:10px;padding:11px 13px;font:inherit;font-size:14.5px;
  color:var(--ink);background:var(--panel);width:100%;box-sizing:border-box}
.bill-in:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,165,140,.13)}
.bill-in.wide{grid-column:1/-1}
.bill-note{font-size:11.5px;color:var(--faint);margin:8px 0 0}
/* ── voľba platby ── */
.pc-title{font-size:15px;margin:20px 0 10px;letter-spacing:-.01em}
.paychoice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pc-card{border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:var(--panel-2);display:flex;flex-direction:column}
.pc-card.pc-prime{border-color:var(--accent);background:var(--soft)}
.pc-h{display:flex;align-items:center;gap:8px;font-size:14.5px;margin:0 0 4px}
.pc-h .ic{color:var(--accent-d)}
.pc-card p{color:var(--muted);font-size:12.5px;line-height:1.45;margin:0 0 12px;flex:1}
.pc-card .b.full{margin:0}
/* ── bankový prevod / výzva ── */
.bank-card .sp-badge{margin-bottom:10px}
.bank-lede{color:var(--ink-2);font-size:14px;margin:0 0 16px}
.bank-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}
.bank-rows{display:grid;gap:2px}
.bk-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.bk-row span{color:var(--muted)}
.bk-row b{color:var(--ink);text-align:right}
.bank-qr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px}
.bank-qr .qr-cap{font-size:11px;color:var(--faint)}
.bank-qr.noqr{justify-content:center;color:var(--muted);font-size:12.5px;max-width:180px;text-align:center}
.bank-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.bank-actions .b{flex:1 1 auto}
.bank-note{font-size:12px;color:var(--muted);margin:14px 0 0}
@media(max-width:620px){ .bill-grid{grid-template-columns:1fr} .paychoice{grid-template-columns:1fr} .bank-grid{grid-template-columns:1fr;justify-items:center} }
.co-side{display:grid;gap:12px;position:sticky;top:78px}
.co-scard{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:15px;box-shadow:var(--shadow-sm)}
.co-scard svg{flex:0 0 auto;color:var(--accent-d);margin-top:1px}
.co-scard b{font-size:14px;display:block}
.co-scard p{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}

/* ── SUCCESS ── */
.success{max-width:640px;margin:0 auto;padding:36px 20px 60px;text-align:center}
.su-mark{width:64px;height:64px;border-radius:50%;background:var(--done-bg);border:1px solid var(--done-line);
  color:var(--done);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.su-mark.wait{background:var(--soft);border-color:var(--line-2)}
.success h2{font-size:25px;letter-spacing:-.02em;margin:0}
.su-sub{color:var(--muted);font-size:14.5px;margin:8px 0 0}
.su-next{text-align:left;margin-top:24px}
.su-next .su-k{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d)}
.su-next h3{margin:8px 0 0;font-size:18px;letter-spacing:-.01em}
.su-next p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.su-next .b{margin-top:16px}
.success.pending .spin.big{width:26px;height:26px;border-width:3px;color:var(--accent-d)}

/* ── RECOVERY box (po create/pay) + prístup dialog ── */
.recovery{text-align:left;margin-top:20px;background:var(--panel-2)}
.recovery .rv-h{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink)}
.recovery .rv-h svg{color:var(--accent-d)}
.rv-p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.rv-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.rv-code{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 13px;border-radius:var(--r-sm);
  background:var(--panel);border:1px dashed var(--line-2)}
.rv-code .rv-k{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);flex:0 0 auto}
.rv-code code{font-size:14px;font-weight:750;color:var(--accent-d);word-break:break-all;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace}
.rv-code code.brk{font-size:12px}

/* recover landing */
.recover .rc-list{display:grid;gap:10px;margin-top:6px}
.rc-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;cursor:pointer;font:inherit;
  color:var(--ink);transition:border-color .14s,background .14s}
.rc-item:hover{border-color:var(--accent);background:var(--soft)}
.rc-item .pi{width:38px;height:38px;border-radius:10px;background:var(--soft);color:var(--accent-d);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.rc-item .rc-main{flex:1;display:flex;flex-direction:column}
.rc-item .rc-main b{font-size:15px}
.rc-item .rc-main span{font-size:12.5px;color:var(--muted)}
.rc-item svg:last-child{color:var(--faint);flex:0 0 auto}
.rc-or{text-align:center;font-size:12.5px;color:var(--faint);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.05em}
.rc-form{display:grid;gap:12px;margin-top:10px}
.rc-form label{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.rc-form input{border:1px solid var(--line);border-radius:9px;padding:11px;font:inherit;font-size:14px;background:#fff}
.rc-form input:focus{outline:none;border-color:var(--accent)}
.rc-err{color:#b3261e;font-size:13px;min-height:1px}

/* ── ENTITLEMENT banner (spis home) ── */
.ent{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:11px 16px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.4}
.ent .ent-mk{display:flex;flex:0 0 auto}
.ent .ent-t{flex:1;min-width:180px}
.ent .ent-a{display:flex;gap:8px;flex-wrap:wrap}
.ent.paid{background:var(--done-bg);border:1px solid var(--done-line);color:#1c5238}
.ent.paid .ent-mk{color:var(--done)}
.ent.free{background:var(--soft);border:1px solid var(--line-2);color:#294b41}
.ent.free .ent-mk{color:var(--accent-d)}

/* ── capability badge (dokumenty) ── */
.cap{font-size:10.5px;font-weight:800;letter-spacing:.01em;padding:2px 8px;border-radius:999px;white-space:nowrap}
.cap-auto{background:var(--soft);color:var(--accent-d);border:1px solid var(--line-2)}
.cap-user{background:var(--wait-bg);color:var(--wait);border:1px solid var(--wait-line)}
.cap-pro{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}
.cap-conc{background:var(--done-bg);color:var(--done);border:1px solid var(--done-line)}

/* dokument riadok — ikona + hlavička + capability + status */
.doc .drow{display:flex;gap:12px;align-items:flex-start}
.doc .dico{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--accent-d);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.doc .dmain{flex:1;min-width:0}
.doc .dhead{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
.doc h5{margin:0;font-size:15px;flex:0 1 auto;min-width:0}
.doc .dstat{display:inline-flex;margin-top:6px}
.doc .dsent{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--done);font-weight:750}
.doc .dsent svg{color:var(--done)}
.b.gated{opacity:.9}
.b.gated svg{color:var(--muted)}

/* skupinová hlavička — hint + počet */
.grp>summary .gtwrap{display:flex;flex-direction:column;gap:1px;min-width:0}
.grp>summary .ghint{font-size:11.5px;font-weight:600;color:var(--faint)}
.grp>summary .gic{color:var(--accent-d)}
.grp>summary .gcount{display:inline-flex;align-items:center;gap:5px}
.grp>summary .chev{display:inline-flex;transform:rotate(90deg);transition:transform .25s cubic-bezier(.16,1,.3,1);color:var(--faint)}
.grp[open]>summary .chev{transform:rotate(-90deg)}

/* ── modal (prístup) — escapuje kontajner cez fixed ── */
.modal-back{position:fixed;inset:0;z-index:90;background:rgba(11,25,20,.5);display:flex;
  align-items:center;justify-content:center;padding:20px;
  animation:fadeIn .18s ease both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{position:relative;width:100%;max-width:460px;background:var(--panel);border-radius:16px;
  box-shadow:var(--shadow-lg);padding:24px;animation:modalIn .22s cubic-bezier(.16,1,.3,1) both}
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.modal-back,.modal{animation:none}}
.modal-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);
  background:var(--panel);cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center}
.modal-x svg{transform:rotate(180deg)}
.modal-x:hover{background:var(--panel-2);color:var(--ink)}
.modal h3{margin:0 8px 0 0;font-size:18px;letter-spacing:-.01em}
.modal-p{margin:8px 0 14px;font-size:13px;color:var(--muted);line-height:1.5}

/* ── responsive (produkt) ── */
@media(max-width:860px){
  .hero{grid-template-columns:1fr;gap:26px;padding-top:30px}
  .hero-panel{order:-1;max-width:340px}
  .plan-teasers{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .checkout{grid-template-columns:1fr}
  .co-side{position:static}
}
@media(max-width:600px){
  .hero h1{font-size:2rem}
  .hero .sub{font-size:15.5px}
  .hero-cta .b{width:100%}
  .pathgrid{grid-template-columns:1fr}
  .pv-facts{grid-template-columns:1fr 1fr}
  .cta-final{flex-direction:column;align-items:flex-start}
  .cta-final .b{width:100%}
  .ent .ent-a{width:100%}
  .plan-price .amt{font-size:30px}
}

/* Karta splnomocnenia (concierge 399 €) */
.sp-card{margin-top:16px}
.sp-card h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px}
.sp-card h3 svg{color:var(--accent-d)}
.sp-p{margin:0 0 10px;color:var(--ink-2);font-size:14px;line-height:1.55}
.sp-checks{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:5px}
.sp-checks li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}
.sp-checks li svg{color:var(--accent-d);flex:0 0 auto}
.sp-ok{display:flex;align-items:center;gap:9px;font-weight:650;color:var(--accent-d);font-size:14.5px}
