/* Ciklus 20 — stil
   Mobile-first. Znojne ruke, telefon u ruci, metar od očiju. */

:root{
  --paper:#FAFAF7; --ink:#14181C; --mid:#63696F; --faint:#9AA0A6;
  --rule:#DCDCD5; --panel:#F2F2ED; --ok:#3F7A4A;
  --b1:#41648F;  /* blok 1 — adaptacija */
  --b2:#6E5591;  /* blok 2 — akumulacija */
  --b3:#93302B;  /* blok 3 — intenzifikacija */
  --dl:#878D94;  /* deload */
  /* serije na grafikonima (provjereno na CVD, svijetli mod traži direktne oznake) */
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100;

  --blok: var(--ink);
  --nav-h: 58px;
  --timer-h: 72px;
  --radius: 10px;
  --sirina: 680px;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark){
  :root{ --paper:#15171A; --ink:#E9E9E4; --mid:#9DA3A9; --faint:#6E747A;
         --rule:#2C2F34; --panel:#1D2024; --ok:#6FAE79;
         --b1:#7FA5D1; --b2:#A88FCB; --b3:#D1726C; --dl:#7E848B;
         --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; }
}

/* ---------- osnova ---------- */

*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }

html{
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  /* fokusirano polje nikad ispod zaglavlja, timera ili donje navigacije */
  scroll-padding-top:80px;
  scroll-padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);
}
html:has(body.ima-timer){
  scroll-padding-bottom:calc(var(--nav-h) + var(--timer-h) + env(safe-area-inset-bottom) + 24px);
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,sans-serif;
  font-size:16px;
  line-height:1.4;
  font-variant-numeric:tabular-nums;
  -webkit-tap-highlight-color:transparent;
  overflow-x:clip;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
  padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px);
}
body.ima-timer{
  padding-bottom:calc(var(--nav-h) + var(--timer-h) + env(safe-area-inset-bottom) + 32px);
}

h1,h2,h3{ margin:0; line-height:1.2; }
h2{ font-size:14px; font-weight:600; color:var(--mid); text-transform:uppercase; letter-spacing:.06em; margin:24px 0 8px; }
p{ margin:0; }
a{ color:inherit; }
img,svg,canvas{ max-width:100%; }

.tiho{ color:var(--mid); }
.sitno{ font-size:14px; }

/* blokovi — klasa postavlja --blok za sve unutra */
.b1{ --blok:var(--b1); }
.b2{ --blok:var(--b2); }
.b3{ --blok:var(--b3); }
.dl{ --blok:var(--dl); }

/* ---------- zaglavlje ---------- */

.vrh{
  position:sticky; top:0; z-index:20;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;
}
.vrh-red{
  max-width:var(--sirina); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.vrh h1{ font-size:20px; font-weight:700; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vrh-desno{ display:flex; align-items:center; gap:10px; flex:none; }
.ikona-dugme{ width:44px; padding:0; font-size:20px; font-weight:400; background:var(--paper); }
a.ikona-dugme{
  min-height:44px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--rule); border-radius:var(--radius); text-decoration:none; color:var(--ink);
}

/* status sinhronizacije */
.sync{
  display:flex; align-items:center; gap:6px;
  font-size:13px; color:var(--mid); white-space:nowrap;
}
.sync::before{
  content:""; width:9px; height:9px; border-radius:50%;
  background:var(--faint); flex:none;
}
.sync[data-stanje="ok"]::before{ background:var(--ok); }
.sync[data-stanje="ceka"]::before{ background:var(--b1); }
.sync[data-stanje="offline"]::before{ background:transparent; box-shadow:inset 0 0 0 2px var(--mid); }
.sync[data-stanje="greska"]{ color:var(--b3); }
.sync[data-stanje="greska"]::before{ background:var(--b3); }

/* ---------- sadržaj ---------- */

.sadrzaj{
  max-width:var(--sirina);
  margin:0 auto;
  padding:16px;
}

.karta{
  background:var(--panel);
  border-radius:var(--radius);
  padding:14px 16px;
}

/* ---------- kontrole ---------- */

button,input,select,textarea{ font:inherit; color:inherit; }

button{
  min-width:44px; min-height:44px;
  padding:0 14px;
  border:1px solid var(--rule);
  border-radius:var(--radius);
  background:var(--panel);
  font-weight:600;
  cursor:pointer;
  touch-action:manipulation;
  user-select:none; -webkit-user-select:none;
}
button:active{ transform:translateY(1px); }
button:disabled{ opacity:.45; cursor:default; }

:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }

input[type="text"],input[type="number"],input[type="date"],input:not([type]),
select,textarea{
  width:100%; min-width:0;
  min-height:48px;
  padding:0 10px;
  border:1px solid var(--rule);
  border-radius:var(--radius);
  background:var(--paper);
  font-size:16px;            /* ispod 16px iOS zumira na fokus */
  touch-action:manipulation;
}
textarea{ padding:10px; min-height:88px; resize:vertical; line-height:1.4; }
input::placeholder,textarea::placeholder{ color:var(--faint); font-weight:400; }
input:focus,select:focus,textarea:focus{ border-color:var(--ink); outline:none; }

/* veliko brojčano polje (kg, reps, RIR, masa) */
.broj{
  min-height:52px;
  padding:0 4px;
  font-size:22px; font-weight:600;
  text-align:center;
}
.broj::placeholder{ font-size:18px; font-weight:500; }

/* unos se razlikuje od plana — diskretno, sivo. Nije greška. */
.van-plana{ border-style:dashed; border-color:var(--faint); }
.oznaka-plan{
  display:block; margin-top:2px;
  font-size:12px; color:var(--faint); text-align:center; line-height:1.2;
}

.polje{ display:grid; gap:4px; margin-bottom:12px; }
.polje > span{ font-size:14px; color:var(--mid); }

/* ---------- izbor nedjelje ---------- */

.nedjelje{
  position:relative;
  display:flex; align-items:center; gap:6px;
  min-height:72px;
  overflow-x:auto; overscroll-behavior-x:contain;
  scrollbar-width:none;
  margin:0 -16px; padding:4px 16px;
}
.nedjelje::-webkit-scrollbar{ display:none; }
/* pilula: broj nedjelje, ispod sitno DL / TEST; boja po bloku */
.nedjelje button{
  flex:0 0 46px; height:48px; padding:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--paper);
  border:2px solid var(--blok);
  border-radius:24px;
  color:var(--blok);
  font-size:17px; line-height:1;
}
.nedjelje button small{ font-size:10px; font-weight:700; letter-spacing:.05em; margin-top:2px; }
.nedjelje button[aria-pressed="true"]{
  flex-basis:60px; height:62px; border-radius:31px;
  background:var(--blok); color:var(--paper);
  font-size:24px;
}
.nedjelje button[aria-pressed="true"] small{ font-size:11px; }

@media (min-width:600px){
  .nedjelje{
    display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:6px;
    overflow:visible; margin:0; padding:4px 0;
  }
  .nedjelje button,
  .nedjelje button[aria-pressed="true"]{ height:52px; border-radius:26px; min-width:0; }
  .nedjelje button[aria-pressed="true"]{ font-size:21px; }
}

/* ---------- tabovi dana ---------- */

.dani{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px;
  margin-top:8px;
}
.dani button{
  min-width:0; height:52px; padding:0;
  background:var(--paper);
  font-size:16px;
}
.dani button[aria-pressed="true"]{
  background:var(--ink); border-color:var(--ink); color:var(--paper);
}

.datum-red{
  display:flex; align-items:center; gap:10px; margin-top:12px;
}
.datum-red > span{ font-size:14px; color:var(--mid); white-space:nowrap; }
.datum-red input{ flex:1; }

/* traka bloka: "AKUMULACIJA   cilj: 2 → 1 u rezervi" u boji bloka */
.blok-red{
  margin-top:4px; padding:10px 14px;
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 12px;
  background:var(--blok); color:var(--paper);
  border-radius:var(--radius);
  font-size:15px;
}
.blok-red b{ text-transform:uppercase; letter-spacing:.05em; }

.dan-naslov{ margin-top:18px; font-size:15px; color:var(--mid); }
.dan-naslov b{ color:var(--ink); }

/* polja su zaključana: pod ovim datumom je drugi trening */
.datum-upozorenje{
  margin-top:16px; padding:14px;
  background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius);
  font-size:15px;
}
.dugmad{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.dugmad button{ flex:1 1 auto; }

/* eksplozivno — kartica na vrhu */
.eksplozivno{
  margin-top:12px; padding:12px 16px 14px;
  border:1px solid var(--rule); border-left:4px solid var(--blok);
  border-radius:var(--radius);
}
.eks-naslov{ font-size:13px; color:var(--mid); text-transform:uppercase; letter-spacing:.06em; }
.eks-tekst{ font-size:18px; font-weight:600; margin-bottom:4px; }

/* kilaža preračunata na stvarni maksimum — sivo, nije greška */
.oznaka-tabela{ margin-top:4px; font-size:13px; color:var(--faint); }
.maks-pomoc{ display:block; }

/* ---------- vježba ---------- */

.vjezba{
  padding:18px 0;
  border-bottom:1px solid var(--rule);
}
.vjezba-vrh{ display:flex; align-items:center; gap:8px; }

/* naziv vježbe: 16px, podebljan, --ink. Nikad svijetlosiv. */
.vjezba-naziv{
  flex:1; min-width:0;
  min-height:44px;
  display:flex; align-items:center; gap:8px;
  margin:0; padding:0;
  border:0; background:none; border-radius:0;
  font-size:16px; font-weight:700; color:var(--ink);
  text-transform:uppercase; letter-spacing:.03em;
  text-align:left;
}
.zamjena-ikona{
  flex:none; margin-left:auto;
  padding:3px 8px; border:1px solid var(--rule); border-radius:999px;
  color:var(--mid); font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; white-space:nowrap;
}
.vjezba-h{ flex:1; min-width:0; margin:0; font-size:16px; }
.vjezba-h .vjezba-naziv{ width:100%; }

/* glavni lift — najveća kartica */
.vjezba.glavna{
  margin-top:12px; padding:14px 14px 16px;
  background:var(--panel);
  border:0; border-left:4px solid var(--blok);
  border-radius:var(--radius);
}
.glavna-oznaka{ font-size:13px; color:var(--blok); font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.glavna .plan strong{ font-size:20px; }

.plan{ margin-top:2px; font-size:16px; }
.plan strong{ font-size:18px; }
.odmor{ font-size:15px; color:var(--mid); }
.plan-pomocna{ font-size:15px; color:var(--ink); }

.test-uputstvo{ margin-top:10px; display:grid; gap:4px; font-size:15px; }
.test-niz{ font-weight:600; }

/* zamjena — mali panel ispod naziva */
.zamjena{
  margin:4px 0 10px; padding:12px;
  background:var(--paper);
  border:1px solid var(--rule); border-radius:var(--radius);
}
.zamjena p{ font-size:14px; color:var(--mid); margin-bottom:8px; }
.zamjena p b{ color:var(--ink); }
.zamjena-opcije{ display:grid; gap:6px; }
.zamjena button{ text-align:left; font-weight:500; padding:10px 12px; background:var(--panel); }
.zamjena button[aria-pressed="true"]{ border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); font-weight:600; }
.zamjena-ponisti{ width:100%; margin-top:8px; }
.na-zamjeni .prijedlog{ border-left-color:var(--faint); }

.biljeska-blok h2 label{ cursor:pointer; }
.tonaza{ margin-top:10px; font-size:15px; }
input:disabled,textarea:disabled,button.cek:disabled{ opacity:.45; }

/* šta se radi danas — uvijek vidljivo, nikad u modalu */
.prijedlog{
  margin:10px 0;
  padding:10px 12px;
  background:var(--panel);
  border-left:3px solid var(--blok);
  border-radius:0 8px 8px 0;
  font-size:16px; color:var(--ink);
}
.prijedlog strong{ font-weight:700; }
.napomena{ margin-top:8px; font-size:14px; color:var(--mid); }

/* ćelija: polje + diskretna "plan 75" oznaka ispod */
.cel{ display:flex; flex-direction:column; min-width:0; }

/* red serije: "Serija 1 od 4" [kg] [reps] [RIR] ☐ */
.serija{
  display:grid;
  grid-template-columns:minmax(56px,auto) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.85fr) 48px;
  gap:6px; align-items:start;
  margin-top:8px;
}
.serija-oznaka{
  align-self:center;
  font-size:13px; line-height:1.15; color:var(--mid);
}
.serija-oznaka b{ display:block; font-size:15px; color:var(--ink); }

.kolone-naslov{
  display:grid;
  grid-template-columns:minmax(56px,auto) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.85fr) 48px;
  gap:6px; margin-top:10px;
  font-size:12px; color:var(--mid); text-align:center;
}

/* pomoćna: [kg] [reps] [reps] [reps] */
.pomocna-unos,.pomocna-naslovi{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,3fr);
  gap:6px; margin-top:4px;
}
.pomocna-naslovi{ margin-top:8px; font-size:12px; color:var(--mid); text-align:center; }
.pomocna-naslovi.bez-kg,.pomocna-unos.bez-kg{ grid-template-columns:minmax(0,1fr); }
.reps-red{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:6px;
}

/* čekiranje */
.cek{
  width:48px; height:52px; padding:0;
  border:2px solid var(--rule);
  background:var(--paper);
  font-size:24px; line-height:1; color:transparent;
}
.cek::after{ content:"✓"; }
.cek[aria-pressed="true"]{ background:var(--ok); border-color:var(--ok); color:var(--paper); }

.rekord{ margin-top:6px; font-size:14px; font-weight:600; color:var(--ok); }

/* kondicija na lakim danima */
.kond-unos{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.kond-polje{ display:grid; gap:4px; min-width:0; }
.kond-polje > span{ font-size:13px; color:var(--mid); }
.kond-start{ width:100%; margin-top:12px; min-height:52px; background:var(--paper); }

/* ---------- timer odmora ---------- */

.timer{
  position:fixed; z-index:25;
  left:max(8px, env(safe-area-inset-left)); right:max(8px, env(safe-area-inset-right));
  bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);
  max-width:var(--sirina); margin:0 auto;
  min-height:var(--timer-h);
  display:flex; align-items:center; gap:6px;
  padding:8px 8px 8px 16px;
  background:var(--ink); color:var(--paper);
  border-radius:14px;
  box-shadow:0 8px 28px rgb(0 0 0 / .22);
}
.timer-info{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.1; }
.timer-oznaka{ font-size:12px; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.timer-vrijeme{ font-size:34px; font-weight:700; letter-spacing:.02em; }
.timer button{ flex:none; background:transparent; color:var(--paper); border-color:var(--mid); padding:0 10px; }
.timer.gotov{ background:var(--ok); }
.timer.jako{ background:var(--b3); }
.timer.jako button{ border-color:var(--paper); }
.timer.gotov button{ border-color:var(--paper); }

/* početne težine u postavkama */
.pocetna-red{ display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:10px; align-items:center; margin-bottom:6px; }
.pocetna-red span{ font-weight:600; font-size:15px; }
.pocetna-red .broj{ min-height:48px; font-size:20px; }
.panel h4{ margin:16px 0 6px; font-size:13px; color:var(--mid); text-transform:uppercase; letter-spacing:.06em; }
#postavke-zatvori{ position:sticky; bottom:0; margin-top:16px; background:var(--panel); }

/* ---------- panel (zamjena) ---------- */

.panel-pozadina{ position:fixed; inset:0; z-index:40; background:rgb(0 0 0 / .4); }
.panel{
  position:fixed; z-index:41; left:0; right:0; bottom:0;
  max-width:var(--sirina); margin:0 auto;
  max-height:80vh; overflow:auto;
  padding:20px 16px calc(16px + env(safe-area-inset-bottom));
  background:var(--paper);
  border-radius:16px 16px 0 0;
}
.panel h3{ font-size:16px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:8px; }
.panel p{ margin-bottom:12px; }
.panel button{ width:100%; }

/* ---------- donja navigacija ---------- */

.nav{
  position:fixed; z-index:30; left:0; right:0; bottom:0;
  background:var(--paper);
  border-top:1px solid var(--rule);
  padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.nav-red{
  max-width:var(--sirina); margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr);
}
.nav a{
  min-height:var(--nav-h);
  display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:600;
  color:var(--mid); text-decoration:none;
  touch-action:manipulation;
}
.nav a[aria-current="page"]{ color:var(--ink); box-shadow:inset 0 3px 0 var(--ink); }

/* =========================================================
   TIJELO
   ========================================================= */

.sekcija{ margin-top:28px; }
.sekcija > h2:first-child{ margin-top:0; }

/* glavni broj: prosjek 7 dana */
.hero{ padding:16px; }
.hero-oznaka{ font-size:14px; color:var(--mid); }
.hero-broj{ font-size:56px; font-weight:700; line-height:1.05; letter-spacing:-.01em; }
.hero-broj small{ font-size:24px; font-weight:600; margin-left:4px; }
.hero-trend{ margin-top:4px; font-size:15px; color:var(--mid); }
.hero-trend b{ color:var(--ink); }
.hero-dnevna{ margin-top:10px; padding-top:10px; border-top:1px solid var(--rule); font-size:16px; }
.hero-dnevna b{ font-size:22px; }

.kartice{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px;
  margin-top:8px;
}
.kartice-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.kartice-3 .kartica{ padding:12px 10px; }
.kartica{ background:var(--panel); border-radius:var(--radius); padding:12px 14px; min-width:0; }
.kartica-oznaka{ font-size:13px; color:var(--mid); }
.kartica-broj{ font-size:26px; font-weight:700; line-height:1.15; overflow-wrap:anywhere; }
.kartica-broj small{ font-size:15px; font-weight:600; margin-left:2px; }
.kartica-pod{ margin-top:2px; font-size:13px; color:var(--mid); }
.upozorenje{ color:var(--b3); font-weight:600; }

/* masa — veliko polje */
.masa-unos{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.masa-unos .broj{ min-height:64px; font-size:32px; }
.masa-unos span{ font-size:18px; font-weight:600; color:var(--mid); }

/* ocjena 1—5 */
.ocjena{ display:grid; grid-template-columns:repeat(5,minmax(44px,1fr)); gap:6px; }
.ocjena button{ height:52px; padding:0; background:var(--paper); font-size:20px; }
.ocjena button[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
.ocjena-legenda{ display:flex; justify-content:space-between; font-size:13px; color:var(--faint); margin-top:4px; }
.grupa{ margin-top:16px; }
.grupa > .grupa-naslov{ display:block; font-size:15px; font-weight:600; margin-bottom:6px; }

/* mjere: 2 kolone */
.mjere-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 10px; }
.mjere-grid label{ display:grid; gap:4px; min-width:0; }
.mjere-grid label > span{ font-size:14px; color:var(--mid); }
.mjere-grid .broj{ min-height:52px; }
.mjere-rez{ margin-top:12px; }
.napomena-dan{ font-size:14px; color:var(--mid); margin-bottom:10px; }

/* zadnji unosi */
.lista{ list-style:none; margin:0; padding:0; }
.lista li + li{ border-top:1px solid var(--rule); }
.lista button{
  width:100%; min-height:48px; padding:6px 4px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center;
  background:none; border:0; border-radius:0; text-align:left; font-weight:400;
}
.lista button[aria-current="true"]{ background:var(--panel); }
.lista .d{ color:var(--mid); font-size:15px; }
.lista .m{ font-weight:700; font-size:18px; }
.lista .x{ grid-column:1 / -1; font-size:13px; color:var(--faint); margin-top:-4px; }

/* =========================================================
   ANALIZA
   ========================================================= */

.graf-kartica{ margin-top:12px; padding:14px 12px 10px; background:var(--panel); border-radius:var(--radius); }
.graf-kartica h3{ font-size:16px; font-weight:700; margin-bottom:2px; }
.graf-kartica .tiho{ font-size:13px; }
.graf{ position:relative; height:260px; margin-top:8px; }
.graf canvas{ display:block; }
.legenda{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; font-size:13px; color:var(--mid); }
.legenda i{ display:inline-block; width:14px; height:0; border-top:2px solid; vertical-align:middle; margin-right:6px; }
.legenda i.tacka{ width:8px; height:8px; border:0; border-radius:50%; }
.legenda i.isp{ border-top-style:dashed; }
.legenda i.blok{ width:12px; height:10px; border:0; border-radius:2px; }
.prazno{ padding:24px 8px; text-align:center; color:var(--mid); font-size:15px; }

.rekordi{ list-style:none; margin:0; padding:0; }
.rekordi li{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px;
  padding:10px 0; border-bottom:1px solid var(--rule);
}
.rekordi .n{ font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:15px; }
.rekordi .e{ font-weight:700; font-size:18px; text-align:right; }
.rekordi .s{ font-size:13px; color:var(--mid); }
.rekordi .s:last-child{ text-align:right; }

.red-izbor{ display:flex; gap:8px; align-items:center; margin-top:8px; }
.red-izbor select{ flex:1; }

/* ---------- vrlo uski ekrani (≤ 340px) ---------- */

@media (max-width:380px){
  .sync{ font-size:0; gap:0; }          /* samo tačka statusa, naslov ostaje čitljiv */
  .vjezba.glavna{ padding:12px 10px 14px; }
  .timer-vrijeme{ font-size:28px; }
  .timer button{ padding:0 8px; }
}
@media (max-width:340px){
  .sadrzaj{ padding:12px; }
  .nedjelje{ margin:0 -12px; padding:4px 12px; }
  .vjezba.glavna{ padding:12px 8px 14px; }
  /* svaka kolona garantovano ≥ 44 px; kg najšira da stane "132,5" */
  .serija,.kolone-naslov{ grid-template-columns:50px minmax(64px,1.5fr) minmax(46px,1fr) minmax(44px,.8fr) 44px; gap:4px; }
  .serija-oznaka b{ font-size:14px; }
  .broj{ font-size:18px; }
  .cek{ width:44px; }
}
