/* Před podpisem: styles. Tokens and header/footer match the /info pages so the tool
   reads as part of the same product; the workspace components are specific to this page. */
:root{
  --ground:#f6f7f9;--surface:#fff;--surface-2:#eef1f5;--hair:#dfe4ea;
  /* Text colours reach at least 4.5:1 on every surface they sit on (white, page ground, grey card, tinted status backgrounds) */
  --ink:#16202e;--ink-2:#46566b;--ink-3:#5c6a7d;
  --accent:#0d758a;--accent-ink:#0b5f72;--accent-bg:#e3f2f6;
  --ok:#29764f;--ok-bg:#e4f2ea;
  --unsure:#8c6117;--unsure-bg:#f8efdc;
  --problem:#b3261e;--problem-bg:#f9e5e3;
  --na:#5c6a7d;--na-bg:#eef1f5;
  --shadow:0 1px 2px rgba(20,32,46,.05),0 8px 28px -12px rgba(20,32,46,.14);
  --scan:#00000004;--wide:1220px;
  --av-red:#f91205;--av-red-dark:#c80e03; /* the red of the AtlasVeri icon */
  --free-red:#fb1403; /* "Zcela zdarma": the red Bob picked. 3.8:1 on the page ground: fine for the large text it is set in (>= 24px), under 4.5:1 at the 19px phone size */
  --av-red-btn:#e60f04; /* the same red, a touch deeper: white text on it reaches 4.5:1 (on #f91205 only 4.1:1) */
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0d1622;--surface:#131f2e;--surface-2:#1b2b3d;--hair:#294056;
  --free-red:#fb1403; /* 4.5:1 on the dark ground */
  --ink:#e6edf5;--ink-2:#a9bacd;--ink-3:#8597ab;--accent:#35c9e4;--accent-ink:#7fe0f0;--accent-bg:#12313b;
  --ok:#6fce9b;--ok-bg:#15301f;--unsure:#e6b45f;--unsure-bg:#3a2d12;--problem:#f08a82;--problem-bg:#3d1b18;--na:#8da0b6;--na-bg:#1b2b3d;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.5);--scan:#ffffff03;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background-color:var(--ground);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--scan) 2px,var(--scan) 4px);color:var(--ink);font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 20px}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── Site header / footer (same as /info) ── */
@font-face{font-family:"Made Tommy Soft";font-weight:400;font-display:swap;src:url(/fonts/ui/MadeTommySoft-Regular.otf) format("opentype")}
@font-face{font-family:"Made Tommy Soft";font-weight:500;font-display:swap;src:url(/fonts/ui/MadeTommySoft-Medium.otf) format("opentype")}
header.site{border-bottom:1px solid var(--hair);background-color:var(--surface);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--scan) 2px,var(--scan) 4px)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;line-height:1}
.brand .bi{width:43px;height:21px;flex-shrink:0;display:block;margin-right:-7px}
.brand .bt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:32px}
.brand .bn{font-family:"Made Tommy Soft","Barlow Condensed",sans-serif;font-weight:500;font-size:20px;letter-spacing:.55px;line-height:1;color:var(--ink)}
.brand .bs{font-family:"Made Tommy Soft","Share Tech Mono",monospace;font-weight:400;font-size:9px;color:var(--ink-3);letter-spacing:2.9px;line-height:1;margin-top:-1px;white-space:nowrap}
.nav{display:flex;gap:18px;align-items:center}.nav a{font-size:13px;color:var(--ink-2);text-decoration:none}.nav a:hover{color:var(--accent)}
.nav a.fb,.nav a.yt{display:inline-flex;align-items:center}
footer.site{border-top:1px solid var(--hair);background:var(--surface);margin-top:40px}
footer.site .wrap{padding:22px 20px 30px;display:flex;flex-direction:column;gap:14px}
footer.site .src{font-size:12px;color:var(--ink-3);margin:0;line-height:1.7}
footer.site .src a{color:var(--accent)}
footer.site .legal{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;padding-top:14px;border-top:1px solid var(--hair);font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-3)}
footer.site .legal a{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);text-decoration:none}
footer.site .legal a:hover{color:var(--accent)}
footer.site .legalLinks{display:flex;flex-wrap:wrap;gap:7px 14px;padding-bottom:12px;border-bottom:1px solid var(--hair);font-family:"IBM Plex Mono",monospace;font-size:11px}
footer.site .legalLinks a,footer.site .legalLinks button{color:var(--ink-3);text-decoration:underline;background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer}
@media(max-width:600px){header.site .wrap{padding:14px 16px}.nav{gap:12px}.nav a{font-size:12.5px;white-space:nowrap}}

/* ── Hero ── */
.hero{padding:44px 0 26px}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px}
.hero h1{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:clamp(46px,8vw,84px);line-height:.98;margin:0 0 6px;letter-spacing:.005em}
.hero .tag,.hero-after .tag{font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:clamp(19px,2.6vw,26px);color:var(--accent-ink);margin:0 0 18px;text-wrap:balance}
.hero .lede{font-family:"Newsreader",Georgia,serif;font-size:clamp(18px,2.2vw,21px);line-height:1.55;color:var(--ink-2);max-width:760px;margin:0 0 22px}
/* Same grid as .kinds below (same columns, same gap, same wrapping), so the four boxes line up with the four cards */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.facts div{padding:13px 16px;border:1px solid var(--hair);border-radius:12px;background:var(--surface)}
.facts b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:19px;font-weight:600;letter-spacing:.02em}
.facts span{font-size:12.5px;color:var(--ink-3);line-height:1.4;display:block}

/* ── Workspace layout ── */
.ws{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;padding:10px 0 20px}
.rail{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding-right:2px}
.main{min-width:0}
.rail-card{background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:14px 15px;box-shadow:var(--shadow)}
.rail-card h3{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 10px}
.lbl{display:block;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 5px}
.rail-card .lbl:first-child{margin-top:0}
select,input[type=text],input[type=date],textarea{width:100%;background:var(--surface);border:1px solid var(--hair);border-radius:8px;padding:8px 10px;font-size:14px}
select:hover,input:hover,textarea:hover{border-color:var(--ink-3)}
.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:9px;padding:9px 16px;font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:15.5px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn.sm{padding:6px 12px;font-size:14px}
.btn.ghost{background:transparent;color:var(--accent-ink);border-color:var(--hair)}
.btn.ghost:hover{border-color:var(--accent);filter:none}
.linklike{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin-top:10px;cursor:pointer}
.chk input{margin-top:4px}
.save-state{font-size:12px;color:var(--ink-3);margin:0;line-height:1.5}
.save-state.bad{color:var(--problem)}

/* Stats */
.pct{display:flex;align-items:baseline;gap:8px}
.pct b{font-family:"Barlow Condensed",sans-serif;font-size:58px;line-height:1;font-weight:700}
.pct span{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.bar{position:relative;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:8px 0 12px}
.bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--accent);border-radius:99px;transition:width .25s}
.counts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.counts div{background:var(--surface-2);border-radius:8px;padding:7px 10px;border-left:3px solid var(--hair)}
.counts dt{font-size:12.5px;color:var(--ink-3)}
.counts dd{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:22px;font-weight:600;line-height:1.1}
.counts .c-ok{border-left-color:var(--ok)}.counts .c-unsure{border-left-color:var(--unsure)}.counts .c-problem{border-left-color:var(--problem)}.counts .c-na{border-left-color:var(--na)}
.crit{font-size:13px;margin:0 0 12px;padding:8px 10px;border-radius:8px}
.crit.warn{background:var(--problem-bg);color:var(--problem)}
.crit.good{background:var(--ok-bg);color:var(--ok)}
.crit.idle{background:var(--surface-2);color:var(--ink-2)}
.ph-nav{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--hair);padding-top:8px}
.ph-link{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;column-gap:8px;row-gap:3px;padding:6px 6px;border-radius:8px;text-decoration:none;color:var(--ink)}
.ph-link:hover{background:var(--surface-2)}
.ph-n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-3)}
.ph-name{font-size:13.5px;line-height:1.3}
.ph-cnt{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-3)}
.ph-flag{background:var(--problem);color:#fff;border-radius:99px;font-size:11.5px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.ph-bar{grid-column:2/-1;height:3px;border-radius:99px;background:var(--surface-2);position:relative;overflow:hidden}
.ph-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--ok)}

/* Mobile mini bar */
.minibar{display:none}

/* ── Cards (profile, data, budget, summary) ── */
.card{background:var(--surface);border:1px solid var(--hair);border-radius:14px;box-shadow:var(--shadow);margin:0 0 18px}
.card>summary,.card>.card-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:15px 18px;cursor:pointer;list-style:none}
.card>.card-h{cursor:default}
.card>summary::-webkit-details-marker{display:none}
.card h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;margin:0;display:flex;align-items:center;gap:10px}
.cn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:14px;letter-spacing:0}
.card .sub{font-size:12.5px;color:var(--ink-3)}
.card>summary::after{content:"▾";margin-left:auto;color:var(--ink-3);transition:transform .2s}
.card:not([open])>summary::after{transform:rotate(-90deg)}
.card-b{padding:2px 18px 18px;border-top:1px solid var(--hair);padding-top:16px}
.card h3{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 8px}
.qs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.q{border:none;padding:0;margin:0;min-width:0}
.q legend{font-size:13.5px;font-weight:600;margin-bottom:7px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:7px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-block;border:1px solid var(--hair);border-radius:99px;padding:5px 13px;font-size:13.5px;cursor:pointer;background:var(--surface);transition:background .15s,border-color .15s}
.opt:hover span{border-color:var(--ink-3)}
.opt input:checked+span{background:var(--accent);color:#fff;border-color:var(--accent)}
.opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.profile-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px dashed var(--hair);font-size:13px;color:var(--ink-3)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.fld.wide{grid-column:1/-1}
.fld span{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.derived{margin:14px 0 0;font-size:13.5px;color:var(--ink-2);font-family:"IBM Plex Mono",monospace}
.muted{color:var(--ink-3);font-size:13.5px;margin:0}

/* Phases */
.phase{margin:0 0 30px}
.phase-h{display:flex;align-items:flex-start;gap:14px;margin:0 0 12px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.phase-n{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:44px;line-height:.9;color:var(--accent)}
.phase-t{flex:1;min-width:0}
.phase-t h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:28px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 2px;line-height:1.1}
.phase-t .lead{margin:0;font-size:14.5px;color:var(--ink-2);font-family:"Newsreader",Georgia,serif;line-height:1.45}
.phase-prog{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-3);padding-top:6px;white-space:nowrap}

/* Items */
.it{background:var(--surface);border:1px solid var(--hair);border-left:4px solid var(--hair);border-radius:10px;margin:0 0 8px;transition:border-color .15s,background .15s}
.it.st-ok{border-left-color:var(--ok)}
.it.st-unsure{border-left-color:var(--unsure)}
.it.st-problem{border-left-color:var(--problem);background:linear-gradient(90deg,var(--problem-bg),transparent 40%),var(--surface)}
.it.st-na{border-left-color:var(--na);opacity:.7}
.it.st-na .it-t{text-decoration:line-through;text-decoration-color:var(--ink-3)}
.it.is-hidden{opacity:.5}
.it.is-hidden .it-t::after{content:" (netýká se vás podle profilu)";font-weight:400;font-size:12px;color:var(--ink-3)}
.it-h{display:flex;align-items:center;gap:10px;padding:9px 12px 9px 6px;flex-wrap:wrap}
.it-toggle{flex:1 1 280px;min-width:0;display:flex;align-items:baseline;gap:10px;background:none;border:none;text-align:left;padding:4px 6px;cursor:pointer;border-radius:8px}
.it-toggle:hover .it-t{color:var(--accent-ink)}
.it-n{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--ink-3);flex:0 0 auto}
.it-t{font-weight:600;font-size:15.5px;line-height:1.35}
.chip{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hair);border-radius:99px;padding:2px 9px;color:var(--ink-3);white-space:nowrap}
.sev-critical .sev-chip{color:var(--problem);border-color:var(--problem)}
.sev-important .sev-chip{color:var(--unsure);border-color:var(--unsure)}
.note-dot{display:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.it.has-note .note-dot{display:inline-block}
.seg{display:inline-flex;border:1px solid var(--hair);border-radius:9px;overflow:hidden;background:var(--surface)}
.seg-b{display:inline-flex;align-items:center;gap:5px;border:none;border-right:1px solid var(--hair);background:transparent;padding:5px 10px;font-size:12.5px;cursor:pointer;color:var(--ink-2);white-space:nowrap}
.seg-b:last-child{border-right:none}
.seg-b .g{font-weight:700;font-size:14px;line-height:1}
.seg-b:hover{background:var(--surface-2)}
.seg-b[aria-pressed="true"]{color:#fff}
.seg-b.s-ok[aria-pressed="true"]{background:var(--ok)}
.seg-b.s-unsure[aria-pressed="true"]{background:var(--unsure)}
.seg-b.s-problem[aria-pressed="true"]{background:var(--problem)}
.seg-b.s-na[aria-pressed="true"]{background:var(--na)}
.it-body{display:none;padding:2px 18px 16px 22px;border-top:1px dashed var(--hair);margin:0 0 0 0}
.it.open .it-body{display:block}
.why{margin:12px 0 4px;color:var(--ink-2);font-size:15px}
.blk{margin:14px 0 0}
.blk h4{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 5px;font-weight:500}
.blk.flags h4{color:var(--problem)}
.blk ul{margin:0;padding-left:19px}
.blk li{margin:0 0 4px;font-size:14.5px}
.blk.flags li::marker{color:var(--problem)}
.blk.ask{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:8px;padding:9px 13px}
.blk.ask p{margin:0;font-family:"Newsreader",Georgia,serif;font-size:16px;font-style:italic}
.blk.links p{margin:0 0 4px;font-size:13.5px}
/* AtlasVeri call to action: the red pill with a white arrow disc used by the app and /info buttons */
.av-cta{display:inline-flex;align-items:center;gap:12px;padding:7px 7px 7px 20px;border-radius:999px;border:1px solid var(--av-red-btn);background:var(--av-red-btn);color:#fff;text-decoration:none;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:14.5px;font-weight:700;letter-spacing:.2px;line-height:1.5;text-shadow:0 1px 2px rgba(120,0,0,.35);text-wrap:balance;transition:transform .12s,filter .12s}
.av-cta::after{content:"";flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f91205' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center/12px 12px no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.av-cta:hover{filter:brightness(1.06);color:#fff}
.av-cta:active{transform:translateY(1px) scale(.985)}
.av-cta:focus-visible{outline:2px solid var(--av-red);outline-offset:2px}
.av-cta.sm{padding:4px 4px 4px 14px;gap:9px;font-size:13px}
.av-cta.sm::after{width:22px;height:22px;background-size:10px 10px}
.blk.links .atlas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px}
.blk.links .atlas .av-what{font-size:13px;color:var(--ink-2)}
/* Under the summary: wording follows the state of the checklist (see renderSummaryCta) */
.sum-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:18px;padding:16px 18px;border:1px solid var(--hair);border-left:4px solid var(--av-red);border-radius:12px;background:var(--surface-2)}
.sum-cta-t{flex:1 1 320px}
.sum-cta h3{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:19px;letter-spacing:.02em;margin:0 0 4px}
.sum-cta p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.sum-cta-a{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sum-cta-a small{font-size:12px;color:var(--ink-3)}
/* Button in the side rail, right under the folder card */
.rail-cta{display:flex;justify-content:center;margin:-4px 0 0}
.sum-print-av{margin:8px 0 0;font-size:9pt;color:#444}
.note-edit{display:block;margin-top:14px}
.note-edit span{display:block;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.note-edit textarea{resize:vertical;min-height:58px;background:var(--surface-2)}

/* Budget */
.money-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px}
.mrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--hair);font-size:14px}
.mrow>span:first-child{flex:1 1 0;min-width:0} /* the label shrinks instead of pushing the amount to a new line (the row wraps only for the hint) */
.amount-hint{display:none;flex:1 0 100%;margin:-2px 0 2px;text-align:right;font-size:12px;color:var(--problem)}
.mrow.bad .amount-hint{display:block}
.mrow.bad .money input{border-color:var(--problem);background:var(--problem-bg)}
.rental{margin-top:22px;padding-top:16px;border-top:1px solid var(--hair)}
.rental .money em{min-width:30px} /* the "měs." unit is wider than "Kč": every input of the block keeps the same column */
.rental.monthly .money em{min-width:22px} /* the monthly block has only "Kč": its inputs line up with the budget above */
.mrow .help{display:block;margin-top:1px;font-size:12.5px;line-height:1.4;color:var(--ink-3)}

/* "Kde začít": the critical points first, with a switch that shows only those on screen (never in print) */
.focus{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:0 0 18px;padding:14px 18px;background:var(--accent-bg);border:1px solid var(--hair);border-left:4px solid var(--accent);border-radius:12px}
.focus-t{flex:1 1 320px}
.focus h3{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-weight:500;margin:0 0 4px}
.focus p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.focus-b{display:flex;flex-wrap:wrap;gap:8px}
@media screen{
  .ws[data-view="critical"] .it:not(.sev-critical){display:none}
  .ws[data-view="critical"] .phase-prog{visibility:hidden}
  .ws[data-view="critical"] .phase:not(:has(.it.sev-critical:not(.is-hidden))){display:none}
}

/* Folder tools in the side rail: collapsed until there is more than one property */
.rail-more{margin-top:12px;padding-top:10px;border-top:1px solid var(--hair)}
.rail-more summary{cursor:pointer;font-size:13px;color:var(--accent-ink);list-style:none}
.rail-more summary::-webkit-details-marker{display:none}
.rail-more summary::before{content:"▸ "}
.rail-more[open] summary::before{content:"▾ "}
.rail-more .lbl{margin-top:12px}

/* Seller questions: ten first, the rest on request */
.q-note{margin:0 0 6px;font-size:12.5px;color:var(--ink-3)}
.more-q{margin-top:8px;font-size:13px}
.mrow i{font-style:normal;font-size:12px;color:var(--ink-3)}
.money{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.money input{width:140px;text-align:right;font-family:"IBM Plex Mono",monospace;padding:6px 9px}
.money em{font-style:normal;color:var(--ink-3);font-size:12.5px;min-width:22px}
.totals{margin-top:16px;border:1px solid var(--hair);border-radius:10px;overflow:hidden}
.totals .row{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--hair);font-size:14px}
.totals .row:last-child{border-bottom:none}
.totals .total{background:var(--surface-2);font-weight:600}
.totals .row b{font-family:"IBM Plex Mono",monospace;font-weight:500;white-space:nowrap}
.totals .bad{background:var(--problem-bg);color:var(--problem)}
.totals .good{background:var(--ok-bg);color:var(--ok)}

/* Summary */
.sum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sum-col{border:1px solid var(--hair);border-top:3px solid var(--hair);border-radius:10px;padding:12px 14px}
.sum-col.problem{border-top-color:var(--problem)}.sum-col.unsure{border-top-color:var(--unsure)}.sum-col.crit{border-top-color:var(--accent)}.sum-col.ask{border-top-color:var(--ok)}
.sum-col h3 span{background:var(--surface-2);border-radius:99px;padding:1px 8px;margin-left:4px;color:var(--ink)}
.sum-list{list-style:none;margin:0;padding:0}
.sum-list li{padding:6px 0;border-bottom:1px solid var(--hair);font-size:14px}
.sum-list li:last-child{border-bottom:none}
.sum-list a{color:var(--ink);text-decoration:none}
.sum-list a:hover{color:var(--accent-ink);text-decoration:underline}
.sum-list .num{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-3);margin-right:4px}
.sum-list .n{font-size:13px;color:var(--ink-2);margin-top:2px;white-space:pre-wrap;border-left:2px solid var(--hair);padding-left:8px}
.sum-actions{margin-top:16px}
.disclaimer{font-size:12.5px;color:var(--ink-3);line-height:1.6;margin:18px 2px 0;max-width:820px}

/* Cookie banner (same as /info) */
.av-cb{position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;max-width:640px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;background:var(--surface);border:1px solid var(--hair);border-radius:10px;box-shadow:var(--shadow)}
.av-cb p{flex:1 1 260px;margin:0;font-size:13px;line-height:1.5}
.av-cb .av-cb-actions{display:flex;gap:8px;flex-shrink:0}
.av-cb button{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.av-cb .av-cb-reject{background:transparent;border:1px solid var(--hair);color:var(--ink-3)}
.av-cb .av-cb-accept{background:var(--accent);border:1px solid var(--accent);color:#fff}
.av-cb[hidden]{display:none}
@media(max-width:520px){.av-cb{left:8px;right:8px;bottom:8px;flex-direction:column;align-items:stretch}.av-cb .av-cb-actions{justify-content:flex-end}}

/* ── Responsive ── */
@media(max-width:1280px) and (min-width:981px){.seg-b .l{display:none}.seg-b{padding:5px 9px}}
@media(max-width:980px){
  .ws{grid-template-columns:1fr;gap:16px}
  .rail{position:static;max-height:none;overflow:visible}
  .rail-card.stats .ph-nav{display:none}
  .minibar{display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--hair);padding:8px 16px;font-size:13px;box-shadow:var(--shadow);flex-wrap:wrap;margin:0 -20px}
  .minibar .bar{flex:1 1 100%;margin:0;height:5px}
  .minibar .warn{color:var(--problem)}.minibar .good{color:var(--ok)}.minibar .idle{color:var(--ink-2)}
  .qs,.grid{grid-template-columns:1fr 1fr}
  .money-cols,.sum-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .qs,.grid{grid-template-columns:1fr}
  .it-h{gap:8px}
  .seg{width:100%}
  .seg-b{flex:1;justify-content:center;padding:8px 4px}
  .phase-n{font-size:34px}
  .phase-t h2{font-size:23px}
  .card>summary,.card>.card-h{padding:13px 14px}
  .card-b{padding:14px}
  .money input{width:110px}
  /* Three action buttons: one per row instead of two and a lonely third */
  .sum-actions{flex-direction:column}
}

/* ── Print ── */
.print-head,.pr-only{display:none}
@page{size:A4;margin:13mm 12mm}
@media print{
  html{scroll-behavior:auto}
  body{background:#fff;color:#000;font-size:10.5pt;line-height:1.4}
  header.site,footer.site,.av-cb,.hero,.hero-after,.kinds,.rail,.minibar,#profil,#udaje,#rozpocet,.btn-row,.seg,.note-dot,.phase-prog,.disclaimer .x,.sum-actions,.focus,.more-q,.q-note,.card>summary::after{display:none!important}
  .wrap{max-width:none;padding:0}
  .ws{display:block;padding:0}
  .print-head{display:block;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #000}
  .ph-brand{font-family:"IBM Plex Mono",monospace;font-size:8.5pt;letter-spacing:.1em;text-transform:uppercase;color:#444}
  .ph-name{font-family:"Barlow Condensed",sans-serif;font-size:24pt;margin:2px 0 6px;line-height:1.05}
  .ph-meta{width:100%;border-collapse:collapse;font-size:9.5pt;margin:0 0 6px}
  .ph-meta th{width:30%;text-align:left;font-weight:500;color:#444;border-bottom:1px solid #ccc;padding:2px 6px 2px 0}
  .ph-meta td{border-bottom:1px solid #ccc;padding:2px 0}
  .ph-budget{width:100%;border-collapse:collapse;font-size:9.5pt;margin-top:6px}
  .ph-budget caption{text-align:left;font-weight:600;padding:3px 0}
  .ph-budget th{text-align:left;font-weight:400;padding:1px 0}.ph-budget td{text-align:right;padding:1px 0}
  .ph-budget .sum th,.ph-budget .sum td{font-weight:700;border-top:1px solid #000}
  .ph-profile,.ph-stat,.ph-rental{font-size:9.5pt;margin:4px 0}
  .phase{margin:0 0 14px;break-before:page}
  /* Blank form: no summary above, so phase 1 follows the print header instead of leaving page 1 empty */
  .ws[data-print-mode="blank"] #phases>.phase:first-child{break-before:auto}
  /* A phase with nothing left to print (all items hidden or, in the "open only" scope, all resolved) must not
     claim a page of its own for a lone heading */
  .phase:not(:has(.it:not(.is-hidden))),
  .ws[data-print-scope="open"] .phase:not(:has(.it:not(.is-hidden):not(.st-ok):not(.st-na))){display:none}
  .phase-h{break-after:avoid;border-bottom:1.5px solid #000;margin-bottom:6px;padding-bottom:4px}
  .phase-n{font-size:20pt;color:#000}.phase-t h2{font-size:15pt}.phase-t .lead{display:none}
  .it{break-inside:avoid;box-shadow:none;border:1px solid #888;border-left-width:4px;border-radius:0;margin:0 0 4px;padding:4px 8px;background:#fff!important;opacity:1!important}
  .it.is-hidden{display:none!important}
  .ws[data-print-scope="open"] .it.st-ok,.ws[data-print-scope="open"] .it.st-na{display:none!important}
  .it-h{padding:0;gap:8px}
  .it-toggle{padding:0;flex:1 1 60%}
  .it-t{font-size:10.5pt}.it-n{font-size:8.5pt;color:#444}
  .chip{font-size:7.5pt;padding:0 6px;color:#000!important;border-color:#666!important}
  .it.st-na .it-t{text-decoration:line-through}
  .it-body{display:none}
  .ws[data-print-detail="on"] .it-body{display:block;padding:2px 0 0;border:none}
  .ws[data-print-detail="on"] .note-edit{display:none}
  .why,.blk li,.blk.links p{font-size:9pt}
  .blk{margin-top:4px}.blk.ask{background:none;border-left:2px solid #000;border-radius:0}
  .blk.links .atlas .av-cta{display:inline;background:none;border:none;color:#000;padding:0;font-weight:400;text-decoration:underline;text-shadow:none;font-size:inherit}
  .av-cta::after,.sum-cta{display:none!important}
  .pr-only{display:block;font-size:9pt;margin-top:3px}
  .pr-status{font-weight:600;margin-right:10px}
  .pr-box{margin-right:14px}
  .pr-note{white-space:pre-wrap;border-top:1px dotted #888;margin-top:3px;padding-top:2px}
  .pr-note:empty{display:none}
  .pr-lines{height:2.4em;border-bottom:1px solid #999}
  .ws[data-print-mode="filled"] .pr-blank,.ws[data-print-mode="blank"] .pr-filled{display:none!important}
  .ws[data-print-mode="blank"] #souhrn{display:none}
  .card{box-shadow:none;border:none;margin:10px 0 0}
  #souhrn .card-h{padding:0}.card h2{font-size:15pt}.cn{display:none}
  .card-b{border:none;padding:0}
  .sum-grid{display:block}.sum-col{break-inside:avoid;border:1px solid #888;border-top-width:2px;margin-bottom:6px}
}

/* Kind selector between the hero and the tool: the current kind stays highlighted */
.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 22px}
.kind-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:15px 17px 14px;box-shadow:var(--shadow);transition:border-color .15s,background .15s}
.kind-card:hover{border-color:var(--accent)}
.kind-card.on{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent) inset,var(--shadow)}
.kind-t,.kind-d,.kind-n{display:block;width:100%}
.kind-t{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:23px;line-height:1.1;letter-spacing:.01em}
.kind-d{color:var(--ink-2);font-size:13px;line-height:1.45;flex:1}
.kind-n{margin-top:4px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.kind-card.on .kind-n::before{content:"Vybráno · "}
@media (prefers-reduced-motion:reduce){.kind-card{transition:none}}

/* Hero with a full-width photo: eyebrow, title and tagline sit on the picture, the lede below it */
/* Hero picture with the title baked into it: shown whole width (no overlay); the real h1 stays for screen
   readers and search engines, the kind label (eyebrow) sits on the picture's top edge. The picture is
   1920 x 640: the top 150 px (sky) and the bottom 50 px are cropped off. */
.hero.has-img{position:relative;padding:0;background:#16202e}
.hero.has-img .hero-bg{display:block;width:100%;height:auto;aspect-ratio:1920/440;object-fit:cover;object-position:50% 75%}
.hero.has-img .hero-in{position:absolute;top:0;left:0;right:0;padding-top:16px;padding-bottom:0;pointer-events:none}
.hero.has-img .eyebrow{display:inline-block;margin:0;padding:5px 11px;border-radius:6px;color:#9be9f5;background:rgba(8,20,32,.62);text-shadow:none}
.hero.has-img h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.hero-after{padding-top:28px}
.hero-after .free{font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:clamp(19px,2.6vw,26px);color:var(--free-red);margin:0 0 18px;line-height:1.3}
.hero-after .tag{margin-bottom:8px}
.hero-after .lede{margin-bottom:22px}
.hero-after .facts{margin-bottom:30px}
@media (max-width:700px){.hero-after .facts{margin-bottom:24px}}

/* Phone: the header links drop under the logo instead of pushing the page wider than the screen */
@media(max-width:600px){header.site .wrap{flex-wrap:wrap;row-gap:8px}.nav{width:100%;justify-content:space-between;gap:8px}}

/* Print: colour-code the answers (green verified, red problem, amber unknown, grey not applicable).
   print-color-adjust keeps the tint even when the browser's "Background graphics" option is off. */
@media print{
  .it{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .it.st-ok{border-left-color:#2c7d54!important;background:#eaf6ef!important}
  .it.st-problem{border-left-color:#b3261e!important;background:#fbeceb!important}
  .it.st-unsure{border-left-color:#c98a2e!important;background:#fbf3e1!important}
  .it.st-na{border-left-color:#8a97a8!important;background:#f1f3f6!important}
  .pr-status.s-ok{color:#1f7a45}
  .pr-status.s-problem{color:#b3261e}
  .pr-status.s-unsure{color:#9a6a14}
  .pr-status.s-na{color:#5c6b7e}
  /* Severity chip: solid red = critical, amber tint = important, plain grey = recommended. A filled chip
     keeps it apart from the status colour (left edge + row tint), and the label still says it in black and white. */
  .it.sev-critical .sev-chip{background:#b3261e!important;border-color:#b3261e!important;color:#fff!important;font-weight:700}
  .it.sev-important .sev-chip{background:#fbe3b0!important;border-color:#c98a2e!important;color:#6e4a0a!important;font-weight:600}
}

/* Summary first in the printout: a print-only copy under the print header, the bottom one stays on screen only */
.sum-print{display:none}
@media print{
  .sum-print{display:block}
  .sum-print .card-h{break-after:avoid}
  #souhrn{display:none!important}
  .ws[data-print-mode="blank"] .sum-print{display:none}
}
