/* Navrhy: uvodni stranka a admin. Tokeny podle manta-brand (papir, inkoust, jedna zelena). */
:root {
  --papir: #FBFBF9; --papir-tmav: #F1F2EF; --inkoust: #101413; --akcent: #0B6E4F;
  --akcent-sv: #E7F0EB; --tlum: #5E6663; --linka: #E2E4DF; --vada: #9A3F2B;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papir); color: var(--inkoust);
  font: 400 16px/1.6 Manrope, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2 { font-family: Outfit, system-ui, sans-serif; font-weight: 400; letter-spacing: -.02em; line-height: 1.1; }
h1 { font-size: clamp(32px, 6vw, 52px); margin: 8px 0 16px; }
h2 { font-size: 22px; margin: 0 0 12px; }
a { color: var(--akcent); }
.uvod { max-width: 760px; margin: 0 auto; padding: clamp(40px, 8vw, 96px) 16px 48px; }
.uzky { max-width: 420px; }
.stitek { margin: 0; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--tlum); }
.perex { font-size: 18px; color: #454C49; margin: 0 0 32px; }
.karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 48px; }
.karta { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 140px; padding: 24px;
  border-radius: 14px; background: var(--inkoust); color: var(--papir); text-decoration: none;
  transition: transform .2s cubic-bezier(.23,1,.32,1); }
.karta:hover, .karta:focus-visible { transform: translateY(-2px); }
.karta:focus-visible { outline: 3px solid var(--akcent); outline-offset: 3px; }
.karta + .karta { background: var(--akcent); }
.karta-nazev { font-family: Outfit, system-ui, sans-serif; font-size: 26px; }
.karta-popis { color: rgba(251,251,249,.78); }
.karta-sipka { position: absolute; right: 24px; bottom: 20px; font-size: 24px; }
.jak { border-top: 1px solid var(--linka); padding-top: 32px; }
.jak ol { padding-left: 20px; margin: 0 0 16px; }
.jak li { margin-bottom: 10px; }
.drobne { font-size: 14px; color: var(--tlum); }
.pata { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; font-size: 14px; color: var(--tlum); border-top: 1px solid var(--linka); }
.chyba { color: var(--vada); }
.formular { display: grid; gap: 12px; }
.formular input { display: block; width: 100%; margin-top: 4px; padding: 12px; font: inherit; border: 1px solid #8B928C; border-radius: 8px; background: #fff; }
button { font: inherit; min-height: 44px; padding: 0 18px; border-radius: 8px; border: 0; background: var(--akcent); color: #fff; cursor: pointer; }
button.tichy { background: transparent; color: var(--tlum); border: 1px solid var(--linka); }
.seznam { list-style: none; padding: 0; }
.seznam li { padding: 14px 0; border-bottom: 1px solid var(--linka); display: flex; flex-direction: column; }

/* admin projektu */
.admin { max-width: 980px; margin: 0 auto; padding: 32px 16px 64px; }
.admin h1 { font-size: 34px; }
.cast-nadpis { margin: 32px 0 8px; font-size: 24px; }
.obr-nadpis { margin: 20px 0 8px; font-size: 15px; font-weight: 600; color: var(--tlum); text-transform: none; }
.vlakno { background: #fff; border: 1px solid var(--linka); border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; }
.vlakno.vyreseno { opacity: .6; }
.vlakno-hlava { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; font-size: 14px; color: var(--tlum); }
.vlakno-hlava b { color: var(--inkoust); }
.zprava { margin: 8px 0 0; white-space: pre-wrap; }
.zprava.manta { padding-left: 12px; border-left: 3px solid var(--akcent); }
.zprava-kdo { font-size: 13px; color: var(--tlum); }
.odpoved { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.odpoved input[type=file] { flex-basis: 100%; font-size: 13px; }
.prilohy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.prilohy a { display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid #E2E4DF; border-radius: 8px; font-size: 13px; }
.prilohy img { display: block; max-width: 160px; max-height: 120px; border-radius: 4px; }
.odpoved textarea { flex: 1; min-height: 44px; padding: 10px; font: inherit; border: 1px solid #8B928C; border-radius: 8px; resize: vertical; }
.nahravka { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--linka); font-size: 14px; }
.nahravka audio { height: 36px; }
.stav-chyba { color: var(--vada); font-weight: 600; }
details.odeslani pre { white-space: pre-wrap; background: var(--papir-tmav); padding: 12px; border-radius: 8px; font-size: 13px; }

/* R2a: ucty, iterace, filtr per ucet */
.stav-iterace { margin: -4px 0 18px; font-weight: 600; color: var(--akcent); }
.iterace-panel { background: #fff; border: 1px solid var(--linka); border-radius: 12px; padding: 4px 18px 16px; margin: 16px 0 24px; }
.iterace-panel .cast-nadpis { margin-top: 14px; }
.ucastnici { list-style: none; padding: 0; margin: 8px 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.ucet { display: inline-block; padding: 1px 8px; border-radius: 10px; color: #fff; font-size: 12px; font-weight: 700; }
.ucet.neovereno { background: #E2E4DF; color: #454C49; }
.ucet.manta { background: var(--inkoust); }
.diff { background: var(--papir-tmav); padding: 8px 10px; border-radius: 8px; white-space: pre-wrap; }
.diff del { color: var(--vada); } .diff ins { color: var(--akcent); text-decoration-thickness: 2px; }
.filtr select { font: inherit; padding: 6px 8px; border-radius: 8px; border: 1px solid #8B928C; }
.tabulka { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: 14px; }
.tabulka th, .tabulka td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--linka); vertical-align: middle; }
.tabulka tr.neaktivni td { color: var(--tlum); }
.tabulka button { min-height: 36px; margin: 2px 4px 2px 0; font-size: 13px; }
.oznameni { background: var(--akcent-sv); padding: 10px 12px; border-radius: 8px; font-weight: 600; }
.radek-formular { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: end; }
.zaskrt { display: flex; gap: 8px; align-items: center; }
.zaskrt input { width: auto; margin: 0; }
details.mail { border-top: 1px solid var(--linka); padding: 8px 0; }
details.mail summary { cursor: pointer; }
details.mail summary button { margin-left: 8px; min-height: 32px; font-size: 13px; }
details.mail pre { white-space: pre-wrap; background: var(--papir-tmav); padding: 10px; border-radius: 8px; font-size: 13px; }

/* R2b: review */
.review { margin-top: 10px; padding: 10px 12px; border-radius: 8px; background: var(--papir-tmav); }
.review.sporne { outline: 2px solid var(--vada); }
.review.chybi { background: #FFF6E8; }
.review .rozhodnuti { margin: 4px 0; }
.review .rozhodnuti.stare { color: var(--tlum); text-decoration: line-through; }
.review .nesouhlas { margin: 4px 0; color: var(--vada); }
.review-form { display: grid; gap: 6px; margin-top: 8px; }
.review-form select, .review-form textarea { font: inherit; padding: 8px; border: 1px solid #8B928C; border-radius: 8px; }
.review-form button { justify-self: start; }
.review-stav { font-weight: 600; }
/* R2c: kola review */
.review .reakce { margin: 4px 0; padding-left: 8px; border-left: 3px solid #E2E4DF; }
.review .reakce.manta { border-left-color: var(--inkoust); }
.review .reakce.otazka, .review .reakce.nesouhlas { border-left-color: var(--vada); }
.review .nepublikovano { margin-left: 6px; padding: 0 6px; border-radius: 8px; background: #FFF6E8; color: #7A5A12; font-size: 12px; font-weight: 700; }
.review .k-vyrizeni { margin: 4px 0; color: var(--vada); font-weight: 700; }
.nepublikovane { margin: 8px 0; padding: 8px 12px; border-radius: 8px; background: #FFF6E8; }
.nepublikovane summary { font-weight: 700; cursor: pointer; }
.nepublikovane ul { margin: 6px 0 0; padding-left: 18px; }
button:disabled { opacity: .45; cursor: not-allowed; }
/* R3: nahled obsahu v adminu (iframe v sandboxu) */
.nahled-ram { max-width: none; }
.nahled-ram iframe { display: block; width: 100%; height: calc(100vh - 90px); border: 1px solid var(--papir-tmav); border-radius: 8px; background: #fff; }
.ucet.system { background: #B0602A; }
.vlakno a, .review a { word-break: break-all; }
