/* Společné styly trenérské aplikace treneri.funfaze.uk
   Servíruje je worker na /treneri.css?v=<otisk obsahu> s dlouhou mezipamětí —
   po každém nasazení se otisk změní a prohlížeč si stáhne novou verzi.
   Patří sem jen to, co sdílí všechny stránky: písma, hlavička s menu,
   mobilní menu, úkolník, oznámení, ukazatel uložení. Styly jednotlivých
   stránek zůstávají v jejich HTML. */

/* ---------- písma (self-hostovaná, viz CLAUDE.md) ---------- */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;
  font-display:swap;src:url("/fonts/barlow-condensed-600.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;
  font-display:swap;src:url("/fonts/barlow-condensed-700.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;
  font-display:swap;src:url("/fonts/barlow-400.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;
  font-display:swap;src:url("/fonts/barlow-500.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;
  font-display:swap;src:url("/fonts/barlow-600.woff2") format("woff2")}
/* přiblížení prsty je povolené; aby iPhone při psaní do pole sám nezoomoval,
   mají pole na dotykových zařízeních písmo aspoň 16 px */
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}}

/* ---------- hlavička, menu, úkolník, oznámení ---------- */
.t-head{position:sticky;top:0;z-index:45;color:#FAF6F0;background:#3F0A16;
  border-bottom:3px solid #FF5A6E;margin:0;padding:env(safe-area-inset-top) 0 0}
.t-head .t-wrap{max-width:1320px;margin:0 auto;padding-inline:clamp(18px,3.5vw,36px)}
.t-head .t-bar{display:flex;align-items:center;gap:14px;min-height:58px;
  height:auto;border-radius:0;background:none}
.t-brand{font-family:"Barlow Condensed",-apple-system,sans-serif;text-transform:uppercase;
  text-decoration:none;color:#FAF6F0;display:flex;align-items:center;gap:9px;line-height:1}
.t-brand b{font-size:21px;font-weight:700;letter-spacing:.04em}
.t-badge{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em;
  font-size:12px;font-weight:700;background:#FF5A6E;color:#3F0A16;padding:3px 9px;border-radius:4px}
.t-nav{display:none;gap:16px;margin-left:auto;align-items:center}
/* hlavní sekce: při najetí se pod položkou rozjede linka (světlejší),
   aktuální stránka má linku plnou */
.t-nav a{position:relative;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.09em;
  font-size:14.5px;font-weight:600;color:#FAF6F0;text-decoration:none;
  opacity:.82;padding:6px 2px;transition:opacity .15s ease}
.t-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:2px;
  background:#FF5A6E;opacity:.7;transform:scaleX(0);transition:transform .2s ease,opacity .2s ease}
.t-nav a:hover,.t-nav a:focus-visible{opacity:1}
.t-nav a:hover::after,.t-nav a:focus-visible::after{transform:scaleX(1)}
.t-nav a[aria-current="page"]{opacity:1}
.t-nav a[aria-current="page"]::after{transform:scaleX(1);opacity:1}
.t-nav a.who::after{display:none}
.t-nav a.who:hover .t-foto{border-color:#FF5A6E}
.t-nav a.odhlasit{opacity:.6}
.t-nav a.odhlasit:hover,.t-nav a.odhlasit:focus-visible{opacity:1}
@media (min-width:1180px){.t-nav a{white-space:nowrap}}
.t-nav .sep{width:1px;height:20px;background:rgba(250,246,240,.28)}
.t-nav .who{font-size:13px;opacity:.75;letter-spacing:.06em;
  display:flex;align-items:center;gap:8px}
.t-foto{width:26px;height:26px;border-radius:50%;object-fit:cover;display:block;
  border:1.5px solid rgba(250,246,240,.45);background:#4C0D1B}
.t-foto-odkaz{margin-left:auto;display:block;line-height:0}
.t-foto-odkaz .t-foto{width:34px;height:34px}
.t-burger{background:none;border:1.5px solid rgba(250,246,240,.28);
  border-radius:6px;color:#FAF6F0;width:42px;height:42px;
  display:grid;place-items:center;cursor:pointer}
@media (min-width:1020px){.t-nav{display:flex}.t-burger{display:none}.t-foto-odkaz{display:none}}
.t-menu .ucet-radek{display:flex;align-items:center;gap:12px;padding:9px 0;
  border-bottom:1px solid rgba(250,246,240,.28);text-decoration:none;color:#FAF6F0}
.t-menu .ucet-radek .t-foto{width:40px;height:40px}
.t-menu .ucet-radek b{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
  font-weight:700;font-size:clamp(23px,6vw,32px)}
.t-menu{position:fixed;inset:0;z-index:50;display:none;flex-direction:column;
  background:linear-gradient(160deg,#4C0D1B,#3F0A16);color:#FAF6F0;
  padding:calc(18px + env(safe-area-inset-top)) clamp(18px,3.5vw,36px) 32px;overflow:auto}
.t-menu.open{display:flex}
.t-menu .top{display:flex;justify-content:space-between;align-items:center}
.t-menu nav{margin-top:5vh;display:grid;gap:2px}
.t-menu nav a{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;
  font-size:clamp(23px,6vw,32px);color:#FAF6F0;text-decoration:none;
  padding:9px 0;border-bottom:1px solid rgba(250,246,240,.28)}
/* mobilní menu: aktuální stránka červeně s linkou vlevo */
.t-menu nav a[aria-current="page"]{color:#FF5A6E;box-shadow:inset 4px 0 0 #FF5A6E;padding-left:14px}
@media (hover:hover){.t-menu nav a:hover{color:#FF8E9B}}
@media (prefers-reduced-motion:reduce){.t-nav a,.t-nav a::after{transition:none}}
.t-menu .grp{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:12px;font-weight:600;opacity:.55;padding:16px 0 4px}
/* aplikační chování: žádné zvětšování gesty, jen posouvání (jako nativní aplikace) */
html{touch-action:manipulation;-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
/* krátké oznámení dole na obrazovce (window.tOznameni) — třeba když se data
   mezitím uložila na jiném zařízení a stránka si načítá aktuální stav */
.t-oznameni{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);
  z-index:60;width:max-content;max-width:calc(100% - 32px);background:#3F0A16;color:#FAF6F0;
  border:1.5px solid #FF5A6E;border-radius:8px;padding:11px 16px;text-align:center;
  font:600 15px/1.35 "Barlow",-apple-system,sans-serif;box-shadow:0 8px 28px rgba(34,20,25,.28)}
/* osobní úkolník (jen právo ukoly): bublina vlevo dole na každé stránce */
.t-ukoly-btn{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:44;width:52px;height:52px;border-radius:50%;border:none;background:#6E1226;color:#FAF6F0;
  cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px rgba(34,20,25,.28)}
.t-ukoly-btn:hover{background:#82172D}
.t-ukoly-btn{transition:transform .2s ease,opacity .2s ease}
.t-ukoly-btn.t-schovany{transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none}
.t-ukoly-btn.t-schovany:focus-visible{transform:none;opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.t-ukoly-btn{transition:none}}
.t-ukoly-btn:focus-visible{outline:3px solid #FF5A6E;outline-offset:3px}
.t-ukoly-pocet{position:absolute;top:-5px;right:-5px;min-width:23px;height:23px;padding:0 6px;border-radius:12px;
  background:#FF5A6E;color:#3F0A16;font:700 13px/23px "Barlow",-apple-system,sans-serif}
.t-ukoly-pocet[hidden]{display:none}
.t-ukoly{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(82px + env(safe-area-inset-bottom));
  z-index:46;width:min(440px,calc(100vw - 28px));max-height:min(78vh,660px);display:flex;flex-direction:column;
  background:#fff;color:#221419;border:1px solid #E3DACF;border-radius:12px;
  box-shadow:0 14px 40px rgba(34,20,25,.25);font:400 16px/1.45 "Barlow",-apple-system,sans-serif}
.t-ukoly[hidden]{display:none}
.t-ukoly-hlava{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}
.t-ukoly-hlava b{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:20px}
.t-ukoly-zavrit{background:none;border:none;font-size:24px;line-height:1;color:#6E5B62;cursor:pointer;padding:0 4px}
.t-ukoly-novy{display:flex;align-items:flex-end;gap:7px;padding:0 16px 12px}
.t-ukoly-novy textarea{flex:1;min-width:0;font:inherit;line-height:1.4;padding:11px 12px;border:1px solid #E3DACF;
  border-radius:7px;background:#fff;color:#221419;resize:none;overflow:hidden;max-height:160px}
.t-ukoly-novy textarea:focus{border-color:#D62839;outline:none}
.t-ukoly-novy button{width:48px;height:47px;flex:0 0 auto;border:none;border-radius:7px;background:#6E1226;color:#FAF6F0;font-size:23px;cursor:pointer}
.t-ukoly-seznam{overflow:auto;padding:0 10px 6px}
.t-ukol{display:flex;align-items:flex-start;gap:10px;padding:9px 8px;border-radius:7px;cursor:pointer}
.t-ukol:hover{background:#F0E9DF}
.t-ukol>input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:#6E1226}
.t-ukol span{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.t-ukol.hotovo span{text-decoration:line-through;color:#6E5B62}
.t-ukol.ceka span{color:#6E5B62}
.t-ukol small{color:#9A6B08;font-size:12px;white-space:nowrap;padding-top:3px}
.t-ukol-edit{flex:1;min-width:0;font:inherit;line-height:1.45;padding:5px 8px;margin:-4px 0;border:1px solid #D62839;
  border-radius:6px;background:#fff;color:#221419;resize:none;overflow:hidden;max-height:200px}
.t-ukol-edit:focus{outline:none}
.t-ukol.upravuje{background:#F7F1E8;cursor:default}
.t-ukol-upr,.t-ukol-x{background:none;border:none;color:#6E5B62;line-height:1;cursor:pointer;
  padding:2px 5px;opacity:.4;flex:0 0 auto;display:grid;place-items:center}
.t-ukol-x{font-size:19px;padding-bottom:4px}
.t-ukol-upr:hover,.t-ukol-x:hover{color:#6E1226}
.t-ukol:hover .t-ukol-upr,.t-ukol:hover .t-ukol-x,.t-ukol:focus-within .t-ukol-upr,.t-ukol:focus-within .t-ukol-x{opacity:1}
.t-ukol.upravuje .t-ukol-upr{opacity:0}
@media (hover:none){.t-ukol-upr,.t-ukol-x{opacity:.65}}
.t-ukoly-prazdno{color:#6E5B62;font-size:15px;margin:4px 8px 12px}
.t-ukoly-pata{display:flex;align-items:center;gap:10px;padding:10px 16px 14px;border-top:1px solid #E3DACF}
.t-ukoly-pata[hidden]{display:none}
.t-ukoly-pata button{background:none;border:1px solid #E3DACF;border-radius:7px;padding:6px 12px;
  font:inherit;font-size:14px;color:#6E5B62;cursor:pointer}
.t-ukoly-pata button[hidden]{display:none}
.t-ukoly-stav{font-size:13px;color:#6E5B62;margin-left:auto;padding-right:8px}
@media print{.t-ukoly-btn,.t-ukoly{display:none!important}}

/* ---------- ukazatel uložení: stejný na všech stránkách ----------
   tečka + text; .saving = ukládá se, .err = chyba. Texty: „Vše uloženo“,
   „Ukládám…“, „Uloženo 22:23“. Stránky ho mají vpravo v záhlaví. */
.savestate{display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:1.3;font-weight:500;color:#6E5B62}
.savestate::before{content:"";width:8px;height:8px;border-radius:50%;background:#1E7A46;flex:0 0 auto}
.savestate.saving{color:#7A5A14}
.savestate.saving::before{background:#D9A62E}
.savestate.err{color:#A8202E;font-weight:600}
.savestate.err::before{background:#A8202E}

/* ---------- záhlaví stránky: světlý pruh, červený nadřazený řádek, nadpis s tečkou ----------
   Deník, Trenéři, Rozpočet, Metodika, FUN draft, Můj účet. Kalendář a Dashboard FDC mají
   vlastní značky (header.k-hlava, header) se stejným vzhledem ve svých souborech. */
.page-top{background:#F0E9DF;border-bottom:1px solid #E3DACF;padding:24px 0 20px}
.page-top .eyebrow{font-family:"Barlow Condensed",-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:13px;font-weight:600;color:#BE1E2D;margin-bottom:8px}
.page-top .row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;justify-content:space-between}
.dot{color:#D62839}
