:root{
  --nar:#EE712A; --nar-t:#D95F1A; --nar-m:rgba(238,113,42,.10); --nar-m2:rgba(238,113,42,.18);
  --bg:#F5F3F4; --pov:#FFFFFF; --pov2:#FAF8F7; --crta:rgba(28,26,27,.07); --crta2:rgba(28,26,27,.13);
  --tekst:#1C1A1B; --siva:#6E696B; --siva2:#9A9497; --ok:#2E9E62; --opasno:#D64541;
  --r:22px; --sjena:0 6px 24px rgba(60,30,10,.06);
  --nasl:"Outfit",system-ui,sans-serif; --font:"Inter",system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-x pan-y}
body{margin:0;background:var(--bg);color:var(--tekst);font:15px/1.5 var(--font);min-height:100vh;overscroll-behavior-y:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
input,select,textarea{font-size:16px} /* iOS ne zumira polja */
h1,h2,h3,h4{font-family:var(--nasl);margin:0;font-weight:700;letter-spacing:-.01em}
a{color:var(--nar)}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
.mali{font-size:13px;color:var(--siva)}
.oznaka{font:600 11.5px/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--nar)}
.oznaka.siva{color:var(--siva)}
[hidden]{display:none!important}

/* --- gumbi --- */
.gumb{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--nar);color:#fff;font-weight:600;
  border-radius:999px;padding:14px 22px;min-height:50px;width:100%;box-shadow:0 6px 18px rgba(238,113,42,.28);transition:transform .12s,background .2s}
.gumb:active{transform:scale(.98)} .gumb:disabled{opacity:.5;box-shadow:none}
.gumb.obrub{background:transparent;color:var(--tekst);border:1.5px solid var(--crta2);box-shadow:none}
.gumb.obrub.nar{color:var(--nar);border-color:var(--nar)}
.gumb.mali-g{min-height:38px;padding:8px 16px;width:auto;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.veza{color:var(--nar);font-weight:500;padding:8px}

/* --- kartice --- */
.kartica{background:var(--pov);border-radius:var(--r);padding:18px;border:1px solid var(--crta);box-shadow:var(--sjena);margin-bottom:14px}
.kartica.topla{background:linear-gradient(135deg,#fff 0%,#fff 45%,#FCE9DD 100%)}
.kartica h3{font-size:18px;margin:4px 0 6px}
.red{display:flex;align-items:center;gap:12px}
.razmak{justify-content:space-between}

/* --- vrh / zaglavlje --- */
.vrh{position:sticky;top:0;z-index:30;background:rgba(245,243,244,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-top:env(safe-area-inset-top)}
.vrh .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo img{height:30px;display:block}
.prekidac{display:flex;background:var(--pov);border:1px solid var(--crta);border-radius:999px;padding:4px;margin:6px 0 10px}
.prekidac button{flex:1;border-radius:999px;padding:10px;font:600 12.5px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--siva)}
.prekidac button[aria-pressed=true]{background:var(--nar);color:#fff;box-shadow:0 4px 12px rgba(238,113,42,.3)}

main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.naslov-ekrana{margin:6px 0 14px}
.naslov-ekrana h1{font-size:30px;line-height:1.1}
.naslov-ekrana p{margin:6px 0 0;color:var(--siva)}

/* --- donja navigacija --- */
nav.dno{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--crta);padding-bottom:env(safe-area-inset-bottom)}
nav.dno .wrap{display:flex;padding:0 4px}
nav.dno button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 9px;font-size:11.5px;color:var(--siva)}
nav.dno button svg{width:24px;height:24px}
nav.dno button[aria-current=page]{color:var(--nar)}

/* --- forme --- */
.polje{margin-bottom:14px}
.polje label{display:block;font:600 12px/1 var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--siva);margin:0 0 8px 4px}
.polje input,.polje select{width:100%;border:1.5px solid var(--crta2);background:var(--pov);border-radius:16px;padding:14px 16px;outline:none;min-height:52px}
.polje input:focus,.polje select:focus{border-color:var(--nar);box-shadow:0 0 0 4px var(--nar-m)}
.lozinka{position:relative}
.lozinka input{padding-right:54px}
.oko{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;color:var(--siva)}
.oko svg{width:22px;height:22px}
.greska{color:var(--opasno);font-size:13.5px;margin:4px 0 10px;min-height:1px}
.uspjeh{background:#E9F6EF;color:#1F6E45;border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:12px}
.kvacica{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--crta);font-size:14px}
.kvacica input{width:22px;height:22px;accent-color:var(--nar);flex:none;margin-top:1px}
.kvacica small{display:block;color:var(--siva);font-size:12.5px;margin-top:2px}
.obavezno{color:var(--nar);font-weight:700}

/* --- auth --- */
.auth{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(30px + env(safe-area-inset-top)) 0 40px}
.auth .logo-v{display:flex;justify-content:center;margin-bottom:34px}
.auth .logo-v img{height:52px}
.auth h1{font-size:26px;text-align:center;margin-bottom:6px}
.auth .podnaslov{text-align:center;color:var(--siva);margin:0 0 24px}
.auth .dno-link{text-align:center;margin-top:14px;color:var(--siva)}
.jezici{display:grid;gap:12px}
.jezici button{background:var(--pov);border:1.5px solid var(--crta2);border-radius:18px;padding:18px;text-align:left;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.jezici button:active{border-color:var(--nar)}
.jezici small{color:var(--siva);font-weight:400}
.jezici .zastava{font-size:26px;line-height:1;flex:none;margin-right:14px}
.jezici .jez-ime{flex:1}
.jezici svg{width:20px;height:20px;color:var(--nar);flex:none}

/* --- Moj dan --- */
.prsten-kartica{display:flex;gap:16px;align-items:center}
.prsten{position:relative;width:128px;height:128px;flex:none}
.prsten svg{width:100%;height:100%;transform:rotate(-90deg)}
.prsten .broj{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.prsten .broj b{font:700 32px/1 var(--nasl)}
.prsten .broj small{font-size:11.5px;letter-spacing:.08em;color:var(--siva);margin-top:2px}
.prsten-kartica h3{font-size:21px;line-height:1.15}
.navika{display:flex;align-items:center;gap:14px;background:var(--pov2);border:1px solid var(--crta);border-radius:18px;padding:12px 14px;margin-top:10px;width:100%;text-align:left}
.navika .ik{width:40px;height:40px;border-radius:50%;background:var(--nar-m);color:var(--nar);display:grid;place-items:center;flex:none}
.navika .ik svg{width:20px;height:20px}
.navika .t{flex:1} .navika .t b{display:block;font-weight:600} .navika .t small{color:var(--siva);font-size:12.5px}
.navika .kv{width:28px;height:28px;border-radius:50%;border:1.8px solid var(--crta2);display:grid;place-items:center;flex:none}
.navika.gotovo .kv{background:var(--nar);border-color:var(--nar);color:#fff}
.navika.gotovo .t b{text-decoration:line-through;color:var(--siva)}
.navika.gotovo .ik{background:var(--nar);color:#fff}
.postotak{font:700 26px/1 var(--nasl);color:var(--nar)}
.traka{height:6px;background:var(--crta);border-radius:9px;overflow:hidden;margin-top:10px}
.traka i{display:block;height:100%;background:var(--nar);border-radius:9px;transition:width .4s}
.foto-red{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.foto-slot{aspect-ratio:3/4;border:1.5px dashed var(--nar-m2);background:var(--pov2);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--siva);overflow:hidden;position:relative}
.foto-slot b{color:var(--nar);font-weight:600;font-size:12.5px}
.foto-slot svg{width:20px;height:20px;color:var(--nar)}
.foto-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ikona-kvadrat{width:46px;height:46px;border-radius:14px;background:var(--nar);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 6px 14px rgba(238,113,42,.3)}
.ikona-kvadrat svg{width:22px;height:22px}
.baner{display:flex;gap:12px;align-items:flex-start;background:#FFF4EC;border:1px solid var(--nar-m2);border-radius:18px;padding:14px;margin-bottom:14px;font-size:14px}
.baner svg{width:22px;height:22px;color:var(--nar);flex:none}

/* --- Izazov --- */
.dani{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0 18px}
.dani button{aspect-ratio:1;border-radius:12px;background:var(--pov);border:1px solid var(--crta);font-weight:600;font-size:14px;color:var(--siva);display:grid;place-items:center}
.dani button.prosao{background:#FCE9DD;color:var(--nar);border-color:transparent}
.dani button.danas{background:var(--nar);color:#fff;box-shadow:0 4px 12px rgba(238,113,42,.35)}
.dani button.zakljucan{opacity:.55}
.dani svg{width:16px;height:16px}
.dan-stavka{background:var(--pov);border:1px solid var(--crta);border-radius:18px;margin-bottom:10px;overflow:hidden}
.dan-stavka>button{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:left}
.dan-stavka .krug{width:34px;height:34px;border-radius:50%;background:#FCE9DD;color:var(--nar);display:grid;place-items:center;flex:none;font-weight:700;font-size:13px}
.dan-stavka .krug svg{width:16px;height:16px}
.dan-stavka.danas .krug{background:var(--nar);color:#fff}
.dan-stavka .tt{flex:1;min-width:0}.dan-stavka .tt small{font:600 11px/1 var(--font);letter-spacing:.08em;color:var(--siva);text-transform:uppercase}
.dan-stavka .tt b{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dan-stavka .tt span{display:block;color:var(--siva);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dan-stavka.zakljucan{opacity:.6}
.dan-tijelo{padding:0 16px 16px;border-top:1px solid var(--crta)}
.dan-tijelo h4{font-size:19px;margin:14px 0 8px}
.dan-tijelo p{white-space:pre-line;color:#3A3638}
.video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#1C1A1B;margin:12px 0}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.znas-li{background:#FFF4EC;border-radius:16px;padding:14px;margin:12px 0}

/* --- Napredak --- */
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.stat3>div{background:var(--pov);border:1px solid var(--crta);border-radius:18px;padding:12px}
.stat3 small{font:600 10.5px/1.2 var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--siva);display:block;min-height:26px}
.stat3 b{font:700 22px/1 var(--nasl);color:var(--nar)} .stat3 b em{font-style:normal;font-size:13px;color:var(--siva);margin-left:3px}
.graf svg{width:100%;height:auto;display:block}
.vremenska{list-style:none;margin:0;padding:0}
.vremenska li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--crta)}
.vremenska li:first-child{border-top:0}
.vremenska .t{flex:1}.vremenska .t b{display:block}.vremenska .t small{color:var(--siva);font-size:12.5px}
.tocka{width:18px;height:18px;border-radius:50%;border:2px solid var(--nar);flex:none}
.tocka.puna{background:var(--nar)}
.cip{font-size:12px;font-weight:600;border-radius:999px;padding:6px 10px;white-space:nowrap}
.cip.ok{background:#E9F6EF;color:var(--ok)} .cip.nar{background:var(--nar-m);color:var(--nar)} .cip.siva{background:var(--crta);color:var(--siva)}
.usporedba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}

/* --- Supervizor --- */
.brojac{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--crta)}
.brojac b{display:block}.brojac small{color:var(--siva);font-size:12.5px}
.brojac .k{display:flex;align-items:center;gap:12px}
.brojac .k button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--crta2);font-size:18px;line-height:1;display:grid;place-items:center}
.brojac .k button.plus{background:var(--nar);border-color:var(--nar);color:#fff}
.brojac .k span{min-width:20px;text-align:center;font-weight:700}
.lista-stavka{display:flex;align-items:center;gap:14px;background:var(--pov);border:1px solid var(--crta);border-radius:18px;padding:14px;margin-bottom:10px;width:100%;text-align:left;text-decoration:none;color:inherit}
.lista-stavka .ik{width:42px;height:42px;border-radius:14px;background:var(--nar-m);color:var(--nar);display:grid;place-items:center;flex:none}
.lista-stavka .ik svg{width:20px;height:20px}
.lista-stavka .t{flex:1;min-width:0}.lista-stavka .t b{display:block}.lista-stavka .t small{color:var(--siva);font-size:12.5px;display:block}
.lista-stavka .str{color:var(--siva2)} .lista-stavka .str svg{width:18px;height:18px}
.link-kutija{background:var(--pov2);border:1px solid var(--crta);border-radius:16px;padding:12px;margin-top:10px}
.link-kutija code{display:block;font:500 13.5px/1.4 var(--font);word-break:break-all;margin:6px 0 10px}
.link-kutija .red button{flex:1}
.clan{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--crta)}
.inicijali{width:38px;height:38px;border-radius:50%;background:#FCE9DD;color:var(--nar);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.podrska-grid{display:grid;grid-template-columns:1fr;gap:12px}
.podrska-plocica{display:flex;align-items:center;gap:14px;border-radius:var(--r);padding:18px;color:#fff;text-decoration:none;min-height:88px}
.podrska-plocica svg{width:28px;height:28px;flex:none}
.podrska-plocica b{display:block;font:700 18px/1.2 var(--nasl)} .podrska-plocica small{opacity:.9}
.podrska-plocica.prazno{opacity:.45;pointer-events:none}

/* --- Profil --- */
.profil-vrh{display:flex;align-items:center;gap:14px;margin:6px 0 16px}
.avatar{width:62px;height:62px;border-radius:20px;background:var(--nar);color:#fff;display:grid;place-items:center;font:700 26px/1 var(--nasl)}
.uloge{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.postavka{display:flex;align-items:center;gap:12px;padding:14px 4px;border-top:1px solid var(--crta);width:100%;text-align:left}
.postavka:first-child{border-top:0}
.postavka svg{width:20px;height:20px;color:var(--siva)} .postavka span{flex:1}

/* --- Trening (ugrađeni modul) --- */
.trening-okvir{width:100%;border:0;display:block;min-height:calc(100vh - 160px);background:var(--bg)}

/* --- modal / zastor --- */
.zastor{position:fixed;inset:0;background:rgba(28,26,27,.42);z-index:80;display:flex;align-items:flex-end;justify-content:center}
.ploca{background:var(--pov);width:100%;max-width:560px;border-radius:26px 26px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto;animation:gore .25s ease}
@keyframes gore{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.ploca h2{font-size:22px;margin-bottom:6px}
.mreza2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tost{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#1C1A1B;color:#fff;padding:12px 18px;border-radius:14px;z-index:120;font-size:14px;max-width:90vw;opacity:0;transition:opacity .25s;pointer-events:none}
.tost.vidljiv{opacity:1}

/* --- zaključano (kotizacija) --- */
.app-zamagljen{filter:blur(7px);pointer-events:none;user-select:none}
.blokada{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(245,243,244,.55)}
.blokada .kartica{max-width:380px;text-align:center;padding:28px 22px}
.blokada .ikona-kvadrat{margin:0 auto 14px;width:58px;height:58px;border-radius:18px}

/* --- vodič kroz aplikaciju --- */
.vodic-sloj{position:fixed;inset:0;z-index:110;pointer-events:auto}
.vodic-rupa{position:fixed;border-radius:18px;box-shadow:0 0 0 9999px rgba(28,26,27,.55);transition:all .3s ease;pointer-events:none;background:transparent;outline:3px solid #fff}
.vodic-oblacic{position:fixed;left:16px;right:16px;max-width:420px;margin:0 auto;background:#fff;border-radius:20px;padding:16px 18px;box-shadow:0 12px 40px rgba(0,0,0,.25);transition:top .3s ease}
.vodic-oblacic h4{font-size:17px;margin:8px 0 6px}
.vodic-oblacic p{margin:0;font-size:14px;color:#3A3638}
.tockice{display:flex;gap:5px}.tockice i{width:6px;height:6px;border-radius:9px;background:var(--crta2)}.tockice i.a{width:18px;background:var(--nar)}
.vodic-dobrodoslica{position:fixed;inset:0;z-index:110;background:rgba(28,26,27,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.vodic-dobrodoslica .kartica{max-width:400px;text-align:center;padding:26px 22px}
.mahanje{width:70px;height:70px;border-radius:50%;background:#FCE9DD;display:grid;place-items:center;font-size:32px;margin:0 auto 12px}

.demo-traka{background:#1C1A1B;color:#fff;font-size:12.5px;padding:8px 16px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.demo-traka select{background:#333;color:#fff;border:0;border-radius:8px;padding:4px 6px;font-size:12.5px}

/* polje: greška odmah ispod svog polja */
.polje .greska{margin:6px 4px 0}
.polje .greska:empty{display:none}
.polje input[aria-invalid="true"]{border-color:var(--opasno)}

.clan .cip + .cip{margin-left:6px}
.clan{gap:10px}
