/* Klíč do života: styly aplikace. Jedno písmo, jedna důrazová barva, velké cíle pro prst. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --modra:#1D0C52; --oranzova:#F2811F; --oranzova-sv:rgba(242,129,31,.12);
  --pozadi:#FAFAF8; --karta:#FFFFFF; --text:#1D0C52; --text2:#5A5468; --tichy:#8A8498;
  --linka:#EAE6F0; --zelena:#2E7D5B; --zelena-sv:rgba(46,125,91,.12); --cervena:#B84A3A; --cervena-sv:rgba(184,74,58,.1);
  /* naléhavost: barva levého proužku */
  --n-ted:#B84A3A; --n-dnes:#F2811F; --n-tyden:#D4A017; --n-termin:#4C6EF5; --n-kdykoliv:#8A8498;
  --r:14px; --lista:68px;
}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:17px;line-height:1.5;color:var(--text);background:var(--pozadi);min-height:100vh;min-height:100dvh}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
h1,h2,h3{line-height:1.2}
h2{font-size:24px;font-weight:700;margin:4px 0 14px}
h3{font-size:18px;font-weight:700}
p{margin-bottom:10px}
.logo{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:700;margin-bottom:12px}
.ticha{color:var(--text2)}
.mala{font-size:14px}
.odkaz{color:var(--oranzova);font-weight:600;text-decoration:underline}
:focus-visible{outline:3px solid var(--oranzova);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Pruh ověřování */
.pruh-nahled{background:var(--oranzova);color:#fff;font-size:14px;padding:8px 16px;text-align:center;position:sticky;top:0;z-index:50}
.pruh-nahled b{font-weight:700}

/* Obrazovky */
.obrazovka{min-height:100vh;min-height:100dvh;padding:24px 20px calc(var(--lista) + 20px)}
.obrazovka.stred{display:flex;align-items:center;justify-content:center;text-align:center}
.uvod{background:linear-gradient(180deg,#1D0C52 0,#1D0C52 200px,var(--pozadi) 200px)}
.uvod-in{max-width:520px;margin:0 auto;background:var(--karta);border-radius:20px;padding:26px 22px;margin-top:40px;box-shadow:0 10px 40px rgba(29,12,82,.15)}
.uvod-text{font-size:17px}
.otazka{display:block;font-weight:700;font-size:19px;margin:22px 0 10px}
.pole{width:100%;border:2px solid var(--linka);border-radius:12px;padding:14px 16px;font-size:17px;background:#fff;-webkit-appearance:none}
.pole:focus{border-color:var(--modra);outline:none}
.pole-kratke{width:120px}
.pole-velke{padding:18px 18px;font-size:18px;border-color:var(--modra)}
.navrhy{border:1px solid var(--linka);border-radius:12px;margin-top:6px;overflow:hidden;background:#fff}
.navrhy:empty{display:none}
.navrh{width:100%;text-align:left;padding:12px 16px;border-bottom:1px solid var(--linka);display:flex;justify-content:space-between;gap:10px}
.navrh:last-child{border-bottom:0}
.navrh:hover,.navrh:focus-visible{background:var(--oranzova-sv)}
.navrh small{color:var(--tichy);white-space:nowrap}
.vybrano{margin-top:10px;padding:12px 16px;background:var(--zelena-sv);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.vybrano b{color:var(--zelena)}
.volby{display:flex;gap:10px;flex-wrap:wrap}
.volba{flex:1;min-width:140px;padding:14px 16px;border:2px solid var(--linka);border-radius:12px;font-weight:600;text-align:center}
.volba.aktivni{border-color:var(--modra);background:var(--modra);color:#fff}
.uvod-tlacitka{display:flex;gap:10px;margin-top:26px;justify-content:flex-end}
.tlacitko{padding:14px 22px;border-radius:12px;font-weight:700;font-size:17px}
.tlacitko.hlavni{background:var(--oranzova);color:#fff}
.tlacitko.hlavni:disabled{opacity:.4;cursor:default}
.tlacitko.ticha{background:none;color:var(--text2);text-decoration:underline;font-weight:600}
.tlacitko.obrys{border:2px solid var(--modra);color:var(--modra)}
.tlacitko.nebezpecne{background:var(--cervena-sv);color:var(--cervena)}

/* Aplikace */
.hlava{display:flex;align-items:center;gap:12px;padding:12px 20px 0;max-width:620px;margin:0 auto}
.hlava-misto{flex:1}
.sos-hlava{flex:0 0 auto;height:40px;padding:0 16px;border-radius:999px;background:var(--cervena);color:#fff;font-weight:800;letter-spacing:.04em;box-shadow:0 3px 10px rgba(184,74,58,.3)}
.hlava-logo{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:20px}
.hlava-misto{font-size:14px;color:var(--tichy);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
main{max-width:620px;margin:0 auto;padding:14px 20px calc(var(--lista) + 24px)}
.zalozka[hidden]{display:none}

/* Domů */
.hrdina{display:block;margin:10px 0 18px}
.hrdina-otazka{display:block;font-size:30px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}
.rychle{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.rychle button{padding:10px 14px;border:1.5px solid var(--linka);border-radius:999px;background:#fff;font-weight:600;font-size:15px}
.rychle button:hover{border-color:var(--modra)}
.rychle button.prvni{border-color:var(--cervena);color:var(--cervena)}
.seznam{display:grid;gap:10px}
.blok{margin-top:26px}
.blok h3{margin-bottom:10px}
.prazdno{padding:18px;border:1.5px dashed var(--linka);border-radius:var(--r);color:var(--text2)}

/* Karta: shrnutí + podrobnosti */
.karta{background:var(--karta);border:1px solid var(--linka);border-radius:var(--r);padding:16px 18px;position:relative}
.karta.klik{cursor:pointer}
.karta.klik:hover{border-color:rgba(29,12,82,.35)}
.karta h3{margin-bottom:4px;padding-right:70px}
.karta .shrnuti{color:var(--text2);margin:0}
.karta.n-ted{border-left:5px solid var(--n-ted)}
.karta.n-dnes{border-left:5px solid var(--n-dnes)}
.karta.n-tyden{border-left:5px solid var(--n-tyden)}
.karta.n-termin{border-left:5px solid var(--n-termin)}
.karta.n-kdykoliv{border-left:5px solid var(--n-kdykoliv)}
.stitek{position:absolute;top:12px;right:12px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.stitek.koncept{background:var(--oranzova-sv);color:#9A4F0C}
.stitek.overeno{background:var(--zelena-sv);color:var(--zelena)}
.stitek.pravo{background:rgba(29,12,82,.08);color:var(--modra)}
.stitek.nabidka{background:var(--oranzova-sv);color:#9A4F0C}
.nal{display:inline-block;font-size:13px;font-weight:700;margin-bottom:6px}
.nal.ted{color:var(--n-ted)}.nal.dnes{color:var(--n-dnes)}.nal.tyden{color:#9A7510}.nal.termin{color:var(--n-termin)}.nal.kdykoliv{color:var(--tichy)}

/* Detail */
.zpet{display:inline-flex;align-items:center;gap:6px;color:var(--text2);font-weight:600;margin-bottom:12px;padding:6px 0}
.detail h2{margin-bottom:6px}
.detail .shrnuti{font-size:18px;color:var(--text2);margin-bottom:18px}
.oddil{margin:18px 0}
.oddil h3{font-size:16px;color:var(--tichy);margin-bottom:6px}
.oddil p{margin-bottom:8px}
.oddil.dulezity{background:var(--cervena-sv);border-radius:var(--r);padding:14px 16px}
.oddil.dulezity h3{color:var(--cervena)}
.oddil.realita{border-left:3px solid var(--modra);padding-left:14px}
.otazka-datum{background:var(--karta);border:1px solid var(--linka);border-radius:var(--r);padding:14px 16px;margin:14px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.otazka-datum label{flex:1 1 200px;font-weight:600}
.otazka-datum input{flex:0 0 170px}
.krok{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.krok input[type=checkbox]{width:26px;height:26px;margin-top:2px;accent-color:var(--zelena)}
.krok.hotovo h3,.krok.hotovo .proc{text-decoration:line-through;color:var(--tichy)}
.krok .proc{margin:4px 0 2px}
.krok .hrozi{color:var(--cervena);font-size:15px;margin:0}
.krok .lhuta{font-size:14px;color:var(--text2);margin-top:4px}
.krok .lhuta b{color:var(--text)}
.rozbal{color:var(--oranzova);font-weight:700;font-size:15px;margin-top:8px;padding:4px 0}
.podrob{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--linka)}
.otevreno .podrob{display:block}
.podrob h4{font-size:14px;color:var(--tichy);margin:12px 0 4px}
.podrob h4:first-child{margin-top:0}
.co-rict{background:var(--oranzova-sv);border-radius:10px;padding:10px 14px;margin:8px 0;font-style:italic}
.seznam-mini{list-style:none}
.seznam-mini li{padding:6px 0;border-bottom:1px solid var(--linka)}
.seznam-mini li:last-child{border-bottom:0}
.pojem{border-bottom:2px dotted var(--oranzova);cursor:pointer}
.pojem-sheet h2{color:var(--modra)}

/* Kontakty */
.kontakt .rezimy{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.kontakt .rezimy a{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:var(--modra);color:#fff;text-decoration:none;font-weight:700;font-size:15px}
.kontakt .rezimy a.vedlejsi{background:rgba(29,12,82,.08);color:var(--modra)}
.kontakt .vlast{font-size:14px;color:var(--text2);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}
.kontakt .umi{margin:8px 0}
.kontakt .umi li{padding:2px 0}
.kontakt .overeno{font-size:13px;color:var(--tichy);margin-top:8px}
.pokryti{padding:12px 16px;border-radius:var(--r);background:rgba(29,12,82,.05);font-size:15px;margin-bottom:12px}
.pokryti.nic{background:var(--oranzova-sv)}

/* Cesta */
.cesta-skupina{margin-bottom:22px}
.cesta-skupina h3{font-size:15px;color:var(--tichy);margin-bottom:8px}

/* Já */
.ja-blok{background:var(--karta);border:1px solid var(--linka);border-radius:var(--r);padding:16px 18px;margin-bottom:14px}
.ja-blok h3{margin-bottom:10px}
.radek{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--linka);gap:10px}
.radek:last-child{border-bottom:0}
.radek .hodnota{font-weight:600;text-align:right}
.clovek{display:grid;gap:8px;margin-top:10px}
.clovek .pole{padding:10px 12px;font-size:16px}
.clovek select{width:100%;border:2px solid var(--linka);border-radius:12px;padding:10px 12px;font:inherit;background:#fff}
.lide li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linka)}
.lide li:last-child{border-bottom:0}
.lide .role{font-size:13px;color:var(--tichy);display:block}
.lide a{color:var(--modra);font-weight:700;text-decoration:none}

/* Spodní lišta */
.lista{position:fixed;left:0;right:0;bottom:0;height:var(--lista);background:var(--karta);border-top:1px solid var(--linka);display:flex;justify-content:space-around;align-items:stretch;padding-bottom:env(safe-area-inset-bottom);z-index:40}
.lista-tl{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;color:var(--tichy)}
.lista-tl svg{width:22px;height:22px;fill:currentColor}
.lista-tl.aktivni{color:var(--modra)}
@media (max-width:380px){.lista-tl span{display:none}.lista-tl svg{width:26px;height:26px}}

/* SOS */
.sos-pozadi{position:fixed;inset:0;background:rgba(29,12,82,.55);z-index:60}
.sos{position:fixed;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--karta);border-radius:22px 22px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));z-index:61;max-width:620px;margin:0 auto}
.sos h2{color:var(--cervena)}
.sos .kontakt{margin-bottom:10px}

/* Patička */
.paticka{margin:36px auto 0;max-width:620px;padding:18px 20px 0;border-top:1px solid var(--linka);font-size:14px;color:var(--text2);display:flex;flex-direction:column;gap:4px;text-align:center}
.paticka a{color:var(--modra);font-weight:700;text-decoration:none}
.uvod .paticka{border-top:0;color:var(--text2)}
.o-aplikaci p{margin-bottom:10px}
.o-aplikaci h4{font-size:15px;margin:14px 0 4px}

/* Vazby: ze situace, drobečky */
.ze-situaci{margin-top:12px;padding-top:10px;border-top:1px dashed var(--linka);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sit-chip{padding:5px 11px;border-radius:999px;background:rgba(29,12,82,.07);color:var(--modra);font-size:13px;font-weight:600;text-align:left}
.sit-chip:hover{background:var(--oranzova-sv)}
.drobecky{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;color:var(--text2);margin-bottom:10px}
.drobecky button{color:var(--modra);font-weight:600;text-decoration:underline;padding:2px 0}
.drobecky .odd{color:var(--tichy)}
.drobecky .tady{font-weight:600;color:var(--text)}
.skupina{margin-bottom:22px}

.krok .ze-situaci,.krok .ticha.mala{grid-column:1/-1}

/* Témata na Domů */
.dlazdice{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.dlazdice-tl{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 14px;background:var(--karta);border:1.5px solid var(--linka);border-radius:12px;font-weight:600;text-align:left}
.dlazdice-tl small{color:var(--tichy);font-weight:600;background:rgba(29,12,82,.06);border-radius:999px;padding:2px 8px}
.dlazdice-tl:hover{border-color:var(--modra)}
.dlazdice-tl.aktivni{border-color:var(--modra);background:var(--modra);color:#fff}
.dlazdice-tl.aktivni small{background:rgba(255,255,255,.2);color:#fff}
.tema-hlava{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.tema-hlava h3{margin:0}

/* Událost a milníky */
.otazka-udalost{background:var(--karta);border:1px solid var(--linka);border-radius:var(--r);padding:14px 16px;margin:14px 0}
.otazka-text{font-weight:700;font-size:18px;margin-bottom:10px}
.otazka-udalost .volby{margin-bottom:6px}
.otazka-udalost .otazka-datum{border:0;padding:8px 0 0;margin:0;background:none}
.milnik{border-left:4px solid var(--modra);background:rgba(29,12,82,.05);border-radius:0 var(--r) var(--r) 0;padding:12px 16px;margin:10px 0}
.milnik.bez-data{border-left-color:var(--linka);background:none}
.milnik-datum{font-weight:800;color:var(--modra);margin-right:6px}
.osa-milnik.minuly{opacity:.6}
.kalendar{display:inline-block;margin-top:8px;padding:8px 12px;border:1.5px solid var(--modra);border-radius:999px;color:var(--modra);font-weight:700;font-size:14px}
.kalendar:hover{background:var(--modra);color:#fff}
.lhuta.prosla b{color:var(--cervena)}

.otazka-udalost.ceka{border:2px solid var(--oranzova);box-shadow:0 0 0 4px var(--oranzova-sv)}
.ceka-text{color:#9A4F0C;font-weight:700;margin-bottom:6px}

.nenalezeno{padding:12px 16px;background:var(--oranzova-sv);font-size:15px}
.nenalezeno .tlacitko{display:block;margin-top:6px;padding-left:0}

/* Poloha na úvodu */
.poloha-blok{margin:14px 0 4px}
.poloha-tl{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;border:2px solid var(--modra);border-radius:12px;color:var(--modra);font-weight:700;font-size:16px;background:#fff}
.poloha-tl:hover{background:rgba(29,12,82,.06)}
.poloha-tl:disabled{opacity:.6}
.poloha-tl svg{width:20px;height:20px;fill:currentColor;flex:none}
.poloha-blok p{margin:6px 0 0;text-align:center}
.poloha-karta{margin-top:10px;padding:14px 16px;background:var(--zelena-sv);border-radius:12px}
.poloha-karta .q{font-weight:700;margin-bottom:8px}
.poloha-karta .q span{font-weight:400;color:var(--text2)}
.poloha-karta .volby{margin-bottom:6px}
.paticka .copy{color:var(--tichy);font-size:13px;margin-top:4px}
.paticka .verze-info{color:var(--tichy);font-size:13px}

/* Na plochu */
.plocha-tl{position:fixed;right:16px;bottom:calc(var(--lista) + 14px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:var(--modra);color:#fff;font-weight:700;font-size:15px;box-shadow:0 6px 18px rgba(29,12,82,.3)}
.plocha-tl svg{width:18px;height:18px}
.plocha-tl:hover{background:#2a1a6e}
.navod-krok{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--linka)}
.navod-krok:last-child{border-bottom:0}
.navod-krok .c{flex:none;width:28px;height:28px;border-radius:50%;background:var(--oranzova);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.navod-krok svg{width:22px;height:22px;vertical-align:-5px;margin:0 2px}
