:root{
  /* Svijetlo (zadano): tamnoplavi izbornik, bijele kartice, kraljevsko plava */
  --ink:#0f1b33;--ink-2:#2c3c5a;--muted:#5d6b85;--canvas:#f1f4f9;--paper:#fff;--soft:#edf1f8;
  --line:#dfe5ef;--line-strong:#c8d2e2;--line-hover:#9db0d3;
  --dark:#0b1736;--primary:#1846c4;--primary-hover:#123a9e;--accent:#2e7cf6;--accent-soft:#e9f1ff;--accent-muted:#a9c4ef;--accent-strong:#1846c4;
  --link:#1d55d8;--focus:#5aa2ff;--notice-bg:#e9f1ff;--notice-line:#c7dafc;--on-dark-muted:#c9d6f2;--tip-bg:#0b1736;
  --side-bg:linear-gradient(180deg,#0b1736 0%,#0f2352 100%);--side-text:#fff;--side-ink:#cdd8ef;--side-muted:#8fa0c4;--side-hover:#16295a;--side-line:#2a3d72;--side-border:transparent;
  --nav-active-bg:#2563eb;--nav-active-ink:#fff;
  --auth-bg:radial-gradient(120% 90% at 50% 0%,#1a3a86 0%,#0b1736 60%,#070f24 100%);
  --head-bg:linear-gradient(135deg,#0b1736 0%,#163a8a 100%);--head-ink:#fff;--head-muted:#a9bbe0;
  --green:#2f6b4a;--amber:#936425;--amber-bg:#fbefd9;--red:#a33b2b;--lime:#2e7cf6;--radius:14px;
  /* zajednički nazivi (stari kod) — isto u svijetlom i tamnom */
  --card:var(--paper);--card2:var(--soft);--bg-soft:var(--soft);--brand:var(--primary);--danger:var(--red);--ok:var(--green);--warn:var(--amber);--warn-ink:var(--amber);
  --font-display:"Barlow Condensed","Arial Narrow",Inter,ui-sans-serif,system-ui,sans-serif;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--canvas);-webkit-text-size-adjust:100%}
/* Tamno: uključuje se samo kad je mobitel/računalo u tamnom načinu, ili ručno (gumb) */
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]){--ink:#e7eefc;--ink-2:#c3cfe9;--muted:#8d9cc0;--canvas:#08112a;--paper:#0f1c3d;--soft:#152550;
  --line:#21345f;--line-strong:#2c4277;--line-hover:#4867a8;--dark:#050c20;--primary:#2563eb;--primary-hover:#3b74f0;--accent:#49a6ff;--accent-soft:#122b5c;--accent-muted:#2b4f8c;--accent-strong:#7cc0ff;
  --link:#7cbcff;--focus:#7cbcff;--notice-bg:#132a57;--notice-line:#25447f;--on-dark-muted:#d6e2ff;--tip-bg:#1d3470;
  --side-bg:#050c20;--side-text:#fff;--side-ink:#b9c7e6;--side-muted:#7385ad;--side-hover:#0f1c3d;--side-line:#21345f;--side-border:#14224a;
  --nav-active-bg:linear-gradient(90deg,#1846c4,#2e7cf6);--nav-active-ink:#fff;--auth-bg:radial-gradient(120% 90% at 50% 0%,#14306e 0%,#08112a 65%);
  --head-bg:linear-gradient(135deg,#0b1736 0%,#102a66 100%);--head-ink:#fff;--head-muted:#9fb3df;--amber-bg:#3b2e14;--amber:#e8b06a;--red:#ff7a6b;--green:#5fcf8f;color-scheme:dark}
  html:not([data-theme="light"]) .pill:not(.ok):not(.warn):not([class*="phase-"]):not([class*="status-"]):not([class*="z-"]){background:var(--soft);color:var(--ink-2)}
  html:not([data-theme="light"]) .pill.ok,html:not([data-theme="light"]) .pill.warn,html:not([data-theme="light"]) .reason{filter:saturate(1.1)}
  html:not([data-theme="light"]) img.brand-logo{filter:drop-shadow(0 4px 18px rgba(46,124,246,.35))}
}
html[data-theme="dark"]{--ink:#e7eefc;--ink-2:#c3cfe9;--muted:#8d9cc0;--canvas:#08112a;--paper:#0f1c3d;--soft:#152550;
  --line:#21345f;--line-strong:#2c4277;--line-hover:#4867a8;--dark:#050c20;--primary:#2563eb;--primary-hover:#3b74f0;--accent:#49a6ff;--accent-soft:#122b5c;--accent-muted:#2b4f8c;--accent-strong:#7cc0ff;
  --link:#7cbcff;--focus:#7cbcff;--notice-bg:#132a57;--notice-line:#25447f;--on-dark-muted:#d6e2ff;--tip-bg:#1d3470;
  --side-bg:#050c20;--side-text:#fff;--side-ink:#b9c7e6;--side-muted:#7385ad;--side-hover:#0f1c3d;--side-line:#21345f;--side-border:#14224a;
  --nav-active-bg:linear-gradient(90deg,#1846c4,#2e7cf6);--nav-active-ink:#fff;--auth-bg:radial-gradient(120% 90% at 50% 0%,#14306e 0%,#08112a 65%);
  --head-bg:linear-gradient(135deg,#0b1736 0%,#102a66 100%);--head-ink:#fff;--head-muted:#9fb3df;--amber-bg:#3b2e14;--amber:#e8b06a;--red:#ff7a6b;--green:#5fcf8f;color-scheme:dark}
html[data-theme="dark"] .pill:not(.ok):not(.warn):not([class*="phase-"]):not([class*="status-"]):not([class*="z-"]){background:var(--soft);color:var(--ink-2)}
html[data-theme="dark"] .pill.ok,html[data-theme="dark"] .pill.warn,html[data-theme="dark"] .reason{filter:saturate(1.1)}
html[data-theme="dark"] img.brand-logo{filter:drop-shadow(0 4px 18px rgba(46,124,246,.35))}
/* naslovi i brojke: Barlow Condensed (OFL), lokalno */
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--canvas)}
h1{font-size:clamp(26px,4vw,36px);line-height:1.15;margin:4px 0 8px;letter-spacing:-.02em}h2{font-size:20px;margin:0 0 12px}h3{font-size:17px;margin:0 0 6px}
a{color:var(--link)}.muted{color:var(--muted)}.small,small{font-size:13px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0}
/* gumbi */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none}
.btn:hover{border-color:var(--line-hover)}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.btn.ghost{background:transparent}.btn.danger{color:var(--red);border-color:#e9c7c0}.btn.small{min-height:36px;padding:6px 12px;font-size:13px}
.btn.icon{min-width:44px;padding:8px}.btn.icon.small{min-width:36px;min-height:36px}.btn.block{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}.btn.is-busy{opacity:.6;cursor:progress}
.link{background:none;border:0;padding:6px 0;color:var(--link);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
/* polja */
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 14px;min-width:0}
.field input,.field select,.field textarea{font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;min-height:44px;width:100%}
.field textarea{resize:vertical}.field.inline{flex-direction:row;align-items:center;gap:10px;margin:0}.field.inline select,.field.inline input{width:auto;min-width:200px}
.check{display:flex;align-items:center;gap:10px;font-size:14px;margin:6px 0 14px}.check input{width:20px;height:20px}
.row2,.row3{display:grid;gap:0 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.row3{grid-template-columns:repeat(3,minmax(0,1fr))}
fieldset.box{border:1px solid var(--line);border-radius:12px;padding:14px 16px 2px;margin:0 0 14px}fieldset.box legend{font-weight:700;font-size:13px;padding:0 6px}
.form-error{color:var(--red);font-weight:600;margin:10px 0 0}.form-error:empty{display:none}
.notice{background:var(--notice-bg);border:1px solid var(--notice-line);border-radius:12px;padding:10px 14px;margin:0 0 16px}
/* prijava */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--auth-bg)}
.auth-card{width:min(420px,100%);background:var(--paper);border-radius:20px;padding:32px 28px}
.auth-card .brand{margin-bottom:20px}.auth-card .brand-mark{color:var(--dark)}.auth-card .brand-sub{color:var(--muted)}
.auth-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:14px}
.brand{display:flex;flex-direction:column;line-height:1}.brand-mark{font-weight:900;font-style:italic;font-size:30px;letter-spacing:-.04em;color:#fff}.brand-mark::after{content:"/";color:var(--accent);margin-left:2px}
.brand-sub{font-size:11px;letter-spacing:.22em;color:var(--side-muted);margin-top:6px}
/* okvir */
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.view{min-width:0}
.sidebar{background:var(--side-bg);color:var(--side-text);border-right:1px solid var(--side-border);padding:24px 16px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh;overflow:hidden}
.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -6px;padding:0 6px}
.sidebar nav a{color:var(--side-ink);text-decoration:none;padding:11px 14px;border-radius:12px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:11px}
.nav-ic{width:19px;height:19px;flex:none;opacity:.8}.sidebar nav a.active .nav-ic,.sidebar nav a:hover .nav-ic{opacity:1}
.sidebar nav a:hover{background:var(--side-hover)}.sidebar nav a.active{background:var(--nav-active-bg);color:var(--nav-active-ink)}
.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;flex:none}.who{display:flex;flex-direction:column;font-weight:700;font-size:14px}.who small{color:var(--side-muted);font-weight:400;word-break:break-all}
.sidebar .btn.ghost{color:var(--side-text);border-color:var(--side-line)}
.view{padding:32px clamp(16px,4vw,48px) 64px;max-width:1280px;width:100%;outline:none}
.page-head{margin-bottom:20px}.page-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.back{display:inline-block;margin-bottom:10px;font-weight:600;text-decoration:none}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:24px}.grid .card{margin:0}
.section-title{margin:28px 0 12px}.empty-line{color:var(--muted);padding:12px 0}
.empty-art{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 8px 16px;color:var(--muted)}
.empty-art img{width:200px;max-width:70%;height:auto}.empty-art.sm img{width:132px}
.empty-art-t{max-width:46ch}.empty-art-t b{color:var(--text)}
.wq-done-art{width:72px;height:auto;margin-left:auto;flex:none}.empty{text-align:center;padding:48px 16px}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2);font-size:12px;font-weight:700;white-space:nowrap}
.pill.ok,.pill.status-completed{background:#e4f1ce;color:#2f5025}.pill.status-in_progress,.pill.warn{background:var(--amber-bg);color:#6b4515}.pill.changed{background:var(--amber-bg);color:#6b4515}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px}
.week-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-nav h2{margin:0 8px;font-size:18px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 16px}.stats.small{grid-template-columns:repeat(3,1fr)}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--muted);display:flex;flex-direction:column}.stat b{font-size:24px;color:var(--ink)}
.stat.planned{border-left:5px solid #8b9896}.stat.in_progress{border-left:5px solid #b17a14}.stat.completed{border-left:5px solid #5c8539}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.day{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.day header h3{font-size:14px;margin:0}.day time{font-size:12px;color:var(--muted)}.day.is-today{border:2px solid var(--accent);background:var(--accent-soft)}
.day-list{display:flex;flex-direction:column;gap:8px;flex:1}
.wk-card{text-align:left;display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.wk-card:hover{border-color:var(--line-hover)}.wk-card.status-completed{border-left:4px solid #5c8539}.wk-card.status-in_progress{border-left:4px solid #b17a14}.wk-card .pill{align-self:flex-start;font-size:11px;padding:2px 8px}
/* tablice */
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:700}
tr.archived{opacity:.55}.changed-val{background:var(--amber-bg);color:#6b4515;padding:1px 6px;border-radius:6px}
.wellness-table td,.wellness-table th{text-align:center;padding:8px 4px;font-size:12px}.wellness-table td:first-child,.wellness-table th:first-child{text-align:left;font-size:14px}
.wl{font-weight:700;border-radius:6px}.wl.good{background:#e4f1ce;color:#2f4a12}.wl.mid{background:#f6f0d6;color:#5c4a0c}.wl.low{background:#f7d9d2;color:#7a2416}
/* dijalog */
dialog.modal{border:0;border-radius:18px;padding:0;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 32px);box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog.modal.wide{width:min(1040px,calc(100vw - 24px))}
dialog::backdrop{background:rgba(19,26,26,.55)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}.modal-head h2{margin:0;font-size:19px}
.modal-body{padding:20px 22px}.icon-btn{width:40px;height:40px;border-radius:50%;border:0;background:var(--soft);font-size:22px;cursor:pointer}
.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}
/* uređivač stavki */
.items{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.item-row{display:grid;grid-template-columns:28px minmax(180px,2fr) 70px minmax(110px,1fr) minmax(100px,1fr) 80px minmax(120px,1.4fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.item-row .field{margin:0}.item-num{font-weight:800;color:var(--muted);align-self:center;text-align:center}.item-tools{display:flex;gap:4px}
/* sportaš: unos */
.coach-note{background:var(--soft);border-left:4px solid var(--accent);padding:10px 14px;border-radius:8px;margin:8px 0 12px}.coach-note.big{font-size:15px}
.all-plan p{margin:0 0 12px}.all-plan .btn{min-height:52px;font-size:16px}
.ex{padding:22px 0;border-bottom:1px solid var(--line)}.ex:first-child{padding-top:4px}.ex:last-child{border-bottom:0}
.plan{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.plan div{background:var(--soft);border-radius:10px;padding:8px 12px}.plan dt{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.plan dd{margin:2px 0 0;font-weight:700;font-size:17px}
.howto{margin:6px 0 12px}.howto summary{cursor:pointer;font-weight:600;color:var(--link);padding:6px 0}.cue{white-space:pre-line;line-height:1.55;font-size:14px}
.choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 8px}
.choice button{min-height:52px;padding:10px 8px;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;line-height:1.25}
.choice button:disabled{opacity:.4;cursor:not-allowed}.choice button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:#fff}
.choice .choice-plan[aria-pressed="true"]{background:var(--green);border-color:var(--green)}.choice .choice-skip[aria-pressed="true"]{background:var(--amber);border-color:var(--amber)}
.confirmed{font-weight:700;color:var(--green);margin:4px 0 6px}
.finish h2{margin-bottom:14px}
/* upitnik */
.scale{border:0;padding:0;margin:0 0 14px}.scale legend{font-weight:700;font-size:14px;margin-bottom:8px}
.scale-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.scale-row label{position:relative}
.scale-row input{position:absolute;opacity:0;inset:0}.scale-row span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--line-strong);border-radius:10px;font-size:11px;text-align:center;cursor:pointer;min-height:56px;justify-content:center;line-height:1.2}
.scale-row span b{font-size:17px}.scale-row input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}.scale-row input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.session-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}.session-card .btn{align-self:flex-start;margin-top:6px}.session-card.status-completed{opacity:1;background:var(--soft)}
.ex-card .btn{margin-top:8px}.ex-card.archived{opacity:.55}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,24px);opacity:0;visibility:hidden;pointer-events:none;background:var(--tip-bg);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;transition:transform .25s,opacity .25s,visibility 0s .25s;z-index:100;max-width:calc(100vw - 32px)}
#toast.show{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .25s,opacity .25s}#toast.err{background:var(--red)}
.loading{padding:40px 0}
@media (max-width:1100px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row{grid-template-columns:28px 1fr 1fr;}.item-row .field.grow{grid-column:2/-1}.item-tools{grid-column:2/-1;justify-content:flex-end}}
@media (max-width:760px){
  .layout{grid-template-columns:minmax(0,1fr)}.sidebar,.view{min-width:0}
  .sidebar{position:sticky;top:0;height:auto;z-index:5;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;overflow:visible}
  .sidebar .brand-mark{font-size:22px}.sidebar .brand-sub{display:none}
  .sidebar nav{flex-direction:row;overflow-x:auto;order:3;width:100%;gap:6px;padding:0 0 2px;margin:0;flex:none;overflow-y:hidden}.sidebar nav a{white-space:nowrap;padding:8px 12px;font-size:14px;gap:7px}.nav-ic{width:16px;height:16px}
  .sidebar-foot{margin:0 0 0 auto;flex-direction:row;align-items:center}.who{display:none}
  .view{padding:20px 16px 56px}.week{grid-template-columns:1fr}.row2,.row3{grid-template-columns:1fr}
  .choice{grid-template-columns:1fr}.field.inline{flex-direction:column;align-items:stretch;width:100%}.field.inline select,.field.inline input{min-width:0;width:100%}
  .item-row{grid-template-columns:24px 1fr 1fr}.modal-body{padding:16px}
}
/* kartica vježbe */
.ex-thumb{width:100%;height:150px;object-fit:contain;background:var(--soft);border-radius:10px;margin-bottom:10px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.filters .field.inline select{min-width:150px}
.howto-btn{margin:4px 0 10px}
.ex-card-full section{margin:18px 0}.ex-card-full h3{font-size:16px;margin-bottom:8px}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.facts div{background:var(--soft);border-radius:10px;padding:8px 12px}.facts dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:2px 0 0;font-weight:600}
.card-meta{margin:0 0 12px}
.anatomy{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}.anatomy figure{margin:0;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px}
.anatomy img{width:100%;height:auto;max-height:340px;object-fit:contain;display:block;margin:0 auto 8px}.anatomy figcaption{font-size:13px;line-height:1.45}
.card-pairs{display:grid;gap:10px;margin:0}.card-pairs div{border-left:3px solid var(--accent);padding:2px 0 2px 12px}.card-pairs dt{font-weight:700;font-size:14px}.card-pairs dd{margin:3px 0 0;font-size:14px;line-height:1.5}
.card-warn{background:var(--amber-bg);border-radius:12px;padding:12px 16px}.card-warn ul{margin:0;padding-left:20px}.card-warn li{margin:4px 0}
.card-reminder{background:var(--notice-bg);border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.5}
.credit{font-size:12px;color:var(--muted);line-height:1.6}
.ex-card-full details{border-top:1px solid var(--line);padding:12px 0}.ex-card-full summary{cursor:pointer;font-weight:700;color:var(--link)}
.nowrap{white-space:nowrap}
/* grafovi i opterećenje */
.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-size:11px;font-family:inherit}
.chart .axis{fill:var(--muted)}.chart .grid{stroke:var(--line);stroke-width:1}.chart .baseline{stroke:var(--line-hover);stroke-width:1}
.chart .bar{fill:var(--accent)}.chart .bar.muted{fill:var(--accent-muted)}.chart .hit{fill:transparent;cursor:pointer}
.chart g:hover .bar,.chart g:focus .bar{fill:var(--accent-strong)}.chart g:focus{outline:none}
.chart .line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .dot{fill:var(--ink);stroke:var(--paper);stroke-width:2}.chart g:hover .dot,.chart g:focus .dot{r:6}
.chart .zone.z-low{fill:#f6f0d6}.chart .zone.z-optimal{fill:#e4f1ce}.chart .zone.z-elevated{fill:#fbe7d6}.chart .zone.z-high{fill:#f7d9d2}
.chart .zone-label{fill:var(--muted);font-size:11px}
.chart-tip{position:absolute;z-index:200;pointer-events:none;background:var(--tip-bg);color:#fff;font-size:13px;line-height:1.4;padding:8px 10px;border-radius:8px;max-width:260px;opacity:0;transition:opacity .12s}
.pill.z-low{background:#f6f0d6;color:#6b5a15}.pill.z-optimal{background:#e4f1ce;color:#2f5025}.pill.z-elevated{background:#fbe7d6;color:#7a3d14}.pill.z-high{background:#f7d9d2;color:#8a2a1c}
.alert-card{border-left:5px solid #d03b3b}.alert-card ul{margin:0;padding-left:20px}.alert-card li{margin:6px 0}
.load-table tr[data-athlete]{cursor:pointer}.load-table tr[data-athlete]:hover td{background:var(--soft)}
.spark{display:inline-flex;align-items:flex-end;gap:2px;height:24px}.spark i{display:block;width:6px;background:var(--accent);border-radius:2px 2px 0 0}.spark i.muted{background:var(--accent-muted)}
.wl-chip{display:inline-block;min-width:34px;text-align:center;font-weight:700;border-radius:6px;padding:2px 6px}.wl-chip.good{background:#e4f1ce;color:#2f4a12}.wl-chip.mid{background:#f6f0d6;color:#5c4a0c}.wl-chip.low{background:#f7d9d2;color:#7a2416}
.explain summary{cursor:pointer;font-weight:700;color:var(--link)}.explain p{line-height:1.55}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.two-col .card{margin:0 0 16px}
.stat small{font-size:12px;color:var(--muted)}.stat .pill{margin-top:4px;align-self:flex-start}
.session-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.session-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;color:var(--ink);cursor:pointer}
.session-row:hover{border-color:var(--line-hover)}.session-au{text-align:right;font-weight:700}
.strong-link{font-weight:700;color:var(--ink)}
@media (max-width:900px){.two-col{grid-template-columns:1fr}}
/* testiranja */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.tabs button{min-height:42px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--primary);color:#fff;border-color:var(--primary)}
.num-input,.note-input{font:inherit;font-size:16px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;min-height:42px;width:100%}.num-input{max-width:130px}
.hbars{display:flex;flex-direction:column;gap:8px}.hbar{display:grid;grid-template-columns:minmax(120px,220px) 1fr auto;gap:12px;align-items:center;font-size:14px}
.hbar-name a{color:var(--ink);font-weight:600}.hbar-track{background:var(--soft);border-radius:4px;height:14px;overflow:hidden}.hbar-fill{display:block;height:100%;background:var(--accent);border-radius:0 4px 4px 0}.hbar-val{font-weight:700;min-width:80px;text-align:right}
.trend{font-weight:700;font-size:13px}.trend.up{color:#2f5025}.trend.down{color:#8a2a1c}
.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.test-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft)}
.test-card h3{font-size:15px;margin:2px 0 6px}.test-value{font-size:26px;font-weight:800;margin:0}.test-card p{margin:2px 0}.test-chart{margin-top:8px}
@media (max-width:760px){.hbar{grid-template-columns:1fr auto}.hbar-track{grid-column:1/-1;order:3}}
.send-to{background:var(--soft);border-radius:10px;padding:10px 14px}.btn.big{min-height:52px;padding:12px 24px;font-size:16px}
details.preview,details.other-ways{margin:12px 0}details.preview summary,details.other-ways summary{cursor:pointer;font-weight:600;color:var(--link);padding:6px 0}
details.preview[open] summary{margin-bottom:10px}.actions.left{justify-content:flex-start}
/* Testiranja: pokušaji, L/D */
.att-row{display:flex;flex-wrap:wrap;gap:6px}.att-row .num-input{width:76px;max-width:76px;padding:8px 6px;text-align:center}
.entry-table tr.side-row td{border-top:1px dashed var(--line)}.entry-table td{vertical-align:middle}
.lr{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lr .test-value{font-size:22px}
.hist-chart{margin-bottom:8px}
.head-tools{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.head-tools .field{margin:0}
/* treninzi ekipe */
.wk-card.batch{background:var(--soft);border-style:solid;border-width:1px 1px 1px 4px;border-left-color:#7a9a5a}
.wk-card.batch.status-planned{border-left-color:var(--line-hover)}
.collection{margin-bottom:12px}.collection summary{cursor:pointer;padding:4px 0}
.actions.left{justify-content:flex-start;margin:10px 0}
.batch-table input[type=number]{width:72px}.batch-table td{vertical-align:middle}
.plan-list li{margin:4px 0}.pre{white-space:pre-line;margin:6px 0 0}
/* karta tijela na kartici vježbe */
.body-map{display:flex;gap:12px;justify-content:center;margin:6px 0 4px}
.body-map-view{margin:0;text-align:center;flex:0 1 150px}.body-map-view svg{width:100%;max-width:150px;height:auto;display:block;margin:0 auto}
.body-map-view figcaption{font-size:12px;color:var(--muted,#667)}
.body-map-legend{font-size:13px;margin:6px 0}.body-map-legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.body-map-legend .sw.p{background:#c8432f}.body-map-legend .sw.s{background:#f0a58a}
.ex-illu{margin:0 0 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px;overflow:hidden}
.ex-illu img{width:100%;height:auto;display:block}
.ex-illu figcaption{font-size:12px;color:var(--muted);padding:4px 6px 2px}
/* wellness upitnik (hrvatski + engleski) */
.en{display:block;font-size:11.5px;font-weight:400;color:var(--muted);font-style:italic;margin-top:1px}
.wq legend .hr,.wq .field>.hr{display:block}.wq .card-head h2 .en{font-size:13px}
.wq-intro{margin:0 0 14px}.wq-block{margin:0 0 18px;padding-top:12px;border-top:1px solid var(--line)}
.wq .scale-row span .en{font-size:11px;margin:0}.wq .scale-row input:checked+span .en{color:var(--on-dark-muted)}
.wq-hours select{max-width:200px}.wq-label{font-weight:700;font-size:13px;margin:12px 0 6px}.wq-label .en{display:inline;margin-left:6px}
.yn,.chips{display:flex;flex-wrap:wrap;gap:8px}
.yn label,.chip,.num-row label,.rpe-row label{position:relative}
.yn input,.chip input,.num-row input,.rpe-row input{position:absolute;opacity:0;inset:0;margin:0}
.yn label>span,.chip>span,.num-row label>span,.rpe-row label>span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);cursor:pointer;line-height:1.2}
.yn label>span{min-width:96px;min-height:48px;padding:6px 14px;font-weight:700}
.chip>span{min-height:44px;padding:6px 12px;font-weight:600;font-size:14px}
.yn input:checked+span,.chip input:checked+span,.num-row input:checked+span,.rpe-row input:checked+span,.yn input:checked+span .hr{background:var(--primary);border-color:var(--primary);color:#fff}
.yn input:checked+span .en,.chip input:checked+span .en,.rpe-row input:checked+span .en{color:var(--on-dark-muted)}
.yn input:focus-visible+span,.chip input:focus-visible+span,.num-row input:focus-visible+span,.rpe-row input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.wq-sub{margin-top:10px;padding:12px;background:var(--soft);border-radius:12px}
.pain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.pain-area{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line);font-size:14px}
.pain-area .en{font-size:11px}.pain-sides{display:flex;gap:6px}.pain-sides .chip>span{min-width:48px;min-height:40px;padding:4px 8px;font-size:13px}
.num-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.num-row label>span{min-height:44px;font-weight:700}
.rpe-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.rpe-row label>span{min-height:64px;padding:6px 4px;font-size:12px}.rpe-row label>span b{font-size:17px}.rpe-row label>span .en{font-size:11px;margin:0}
.wq-minutes input{max-width:180px}.wq .btn.big{min-height:56px;flex-direction:column;gap:0}.wq .btn.big .en{color:var(--on-dark-muted)}
.wq-page{max-width:720px;margin:0 auto;padding:20px 16px 48px}
.wq-head{background:var(--dark);color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:14px}.wq-head h1{margin:14px 0 2px;font-size:26px}.wq-head .en{color:#aab8b1;font-size:14px}.wq-head .muted{color:#aab8b1;margin:4px 0 0}
.wq-foot{text-align:center;margin-top:18px}.push-card{display:flex;flex-direction:column;gap:6px}.push-card .btn{align-self:flex-start;margin-top:6px}
.push-ok{background:var(--notice-bg);border-radius:12px;padding:10px 14px}
@media (max-width:520px){.num-row{grid-template-columns:repeat(5,minmax(0,1fr))}.wq .scale-row{gap:4px}.wq .scale-row span{font-size:11px;padding:6px 2px}}
/* wellness: trener */
.wdot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;background:#9aa59f}
.wdot.red{background:#c8452f}.wdot.yellow{background:#d9a21b}.wdot.green{background:#3f8f5a}.wdot.missing{background:var(--paper);border:2px solid var(--line-hover)}
.wstat.red{border-left:5px solid #c8452f}.wstat.yellow{border-left:5px solid #d9a21b}.wstat.green{border-left:5px solid #3f8f5a}
.wv{display:inline-block;min-width:26px;text-align:center;border-radius:6px;padding:2px 6px;font-weight:700}
.wv.g1{background:#f2c4b9;color:#7a2416}.wv.g2{background:#f9e0d0;color:#7a3d14}.wv.g3{background:#f6f0d6;color:#5c4a0c}.wv.g4{background:#e4f1ce;color:#2f4a12}.wv.g5{background:#cfe8b0;color:#2a4510}
.reasons{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.reason{display:inline-block;font-size:12.5px;padding:3px 9px;border-radius:999px;background:var(--soft)}
.reason.red{background:#f7d9d2;color:#8a2a1c}.reason.yellow{background:#fbefd9;color:#6b4515}.reason.info{background:var(--soft);color:var(--ink-2)}
.delta{font-weight:700;font-size:12px}.delta.down{color:#8a2a1c}.delta.up{color:#2f5025}
.wflag{list-style:none;padding:0}.wflag li{padding:10px 0;border-bottom:1px solid var(--line)}.wflag li:last-child{border:0}
.wnote{margin:6px 0 0;color:var(--ink-2);font-style:italic}
.wtable td,.wtable th{text-align:center;vertical-align:middle;padding:8px 6px}.wtable td:nth-child(2),.wtable th:nth-child(2){text-align:left}
.wtable tr[data-athlete]{cursor:pointer}.wtable tr[data-athlete]:hover td{background:var(--soft)}
.chip-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;cursor:pointer;min-height:40px}.chip-btn:hover{border-color:var(--line-hover)}
.chip-static{display:inline-block;background:var(--soft);border-radius:999px;padding:6px 12px;font-size:14px}
.plain{list-style:none;padding:0;margin:0}.plain li{padding:3px 0}
.sched-list{display:flex;flex-direction:column;gap:10px}.sched{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--soft)}.sched.off{opacity:.6}
.pick-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px 10px;margin-bottom:12px}.pick-list .check{margin:6px 0}
.wtools .head-tools{align-items:center}
@media print{.sidebar,.tabs,.wtools .btn,.wtools select,.explain,.chip-btn{display:none!important}.layout{display:block}.view{padding:0}.card{break-inside:avoid;border-color:#ccc}}
.wq fieldset.wq-block{border-top:0;padding-top:0}.wq fieldset.wq-block>legend{border-top:1px solid var(--line);padding-top:12px;width:100%}
/* ozljede */
.pill.phase-out{background:#f7d9d2;color:#8a2a1c}.pill.phase-rehab{background:#fbe7d6;color:#7a3d14}.pill.phase-modified{background:#fbefd9;color:#6b4515}.pill.phase-full{background:#e4f1ce;color:#2f5025}.pill.phase-cleared{background:#cfe8b0;color:#24421b}
.inj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:20px}
.inj-card{background:var(--paper);border:1px solid var(--line);border-left:5px solid #c8452f;border-radius:var(--radius);padding:16px;margin-bottom:12px}.inj-grid .inj-card{margin:0}
.inj-card.overdue{border-left-color:#d9a21b}.inj-card p{margin:4px 0 10px}
.rtp{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0;margin:8px 0 12px;counter-reset:s}
.rtp li{font-size:11px;color:var(--muted);text-align:center;line-height:1.2}.rtp li span{display:block;height:6px;border-radius:3px;background:var(--line);margin-bottom:5px}
.rtp li.done span{background:var(--focus)}.rtp li.now span{background:var(--primary)}.rtp li.now{color:var(--ink);font-weight:700}
.inj-hist summary{cursor:pointer;font-size:13px;color:var(--link);font-weight:600}.inj-hist ul{margin:6px 0 0;padding-left:18px;font-size:13px}
.phase-pick .check{align-items:flex-start;margin:8px 0}.phase-pick .check span{display:flex;flex-direction:column}
.wflag .btn{margin-left:8px}
/* moj trend (sportaš) */
.my-trend h2 .en{font-size:13px}.tw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 6px}
.tw-grid .stat small{display:block}
.trend-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;align-items:end;height:110px;padding:6px 0;border-bottom:1px solid var(--line);margin-bottom:12px}
.tb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.tb i{display:block;width:100%;max-width:22px;border-radius:4px 4px 0 0;background:var(--line)}
.tb i.good{background:#3f8f5a}.tb i.mid{background:#d9a21b}.tb i.low{background:#c8452f}.tb small{font-size:11px;color:var(--muted)}
.trend-table td,.trend-table th{padding:6px 6px;font-size:14px}.trend-table th{text-align:left}.trend-table td .en,.trend-table th .en{font-size:11px}
.tr-up{color:#2f5025;font-weight:800}.tr-down{color:#8a2a1c;font-weight:800}.tr-flat{color:var(--muted)}
@media (max-width:520px){.tw-grid{grid-template-columns:1fr}}
/* intervali po VIFT-u */
.pair{display:flex;gap:8px}.pair input{flex:1}
.cone-lines{margin:6px 0 14px;padding-left:22px}.cone-lines li{margin:4px 0;font-size:15px}
.vift-in{max-width:96px}.vift-table td{vertical-align:middle}
@media print{body.print-only-sheet .view>*:not(#tab-body){display:none!important}body.print-only-sheet #vift,body.print-only-sheet .tabs,body.print-only-sheet .head-tools{display:none!important}
  body.print-only-sheet .vift-in{border:0;padding:0;background:none}}
/* tjedni pregled */
.wtable.weekly td.left{text-align:left}.wtable.weekly .wdot{width:10px;height:10px}
.acwr-high{color:#8a2a1c;font-weight:800}.acwr-elevated{color:#6b4515;font-weight:700}.acwr-low{color:var(--ink-2);font-weight:700}.acwr-optimal{color:#2f5025;font-weight:700}
/* izvješće testiranja */
.report-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.report-tools p{margin:0;flex-basis:100%}
.test-report{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:960px}
.tr-head{display:flex;gap:24px;align-items:flex-start;border-bottom:3px solid var(--dark);padding-bottom:16px;margin-bottom:18px}
.tr-head .brand{background:var(--dark);color:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column}.tr-head h1{margin:2px 0 4px;font-size:28px}
.tr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.tr-summary .stat .en{display:block}
.tr-summary b.up{color:#2f5025}.tr-summary b.down{color:#8a2a1c}
.tr-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.tr-box{border-radius:12px;padding:12px 16px}.tr-box h2{font-size:16px;margin:0 0 6px}
.tr-box.good{background:var(--notice-bg)}.tr-box.focus{background:#fbf1e2;color:#3d2a10}.tr-box ul{margin:0;padding-left:18px}.tr-box li{margin:4px 0}.tr-box li .en{display:inline;margin-left:6px}
.tr-cat{margin-top:18px;break-inside:avoid}.tr-cat h2{font-size:17px;margin:0 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}.tr-cat h2 .en{display:inline;margin-left:8px}
.tr-table{width:100%;border-collapse:collapse;table-layout:fixed}.tr-table th:nth-child(2),.tr-table td:nth-child(2){width:22%}.tr-table th:nth-child(3),.tr-table td:nth-child(3){width:20%}.tr-table th:nth-child(4),.tr-table td:nth-child(4){width:26%}.tr-table th{text-align:left;font-size:12px;color:var(--muted);padding:6px 8px;vertical-align:bottom}.tr-table th .en{font-size:11px}
.tr-table td{padding:8px;border-bottom:1px solid var(--soft);vertical-align:top;font-size:14px}.tr-table td small{display:block}.tr-table td:first-child{width:34%}
.tr-table td.warn{color:#8a2a1c;font-weight:700}
.tr-bar{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,#f2c4b9,#f6f0d6 50%,#cfe8b0);margin:4px 0 4px;max-width:180px}
.tr-bar span{position:absolute;top:-3px;width:4px;height:14px;margin-left:-2px;background:var(--ink);border-radius:2px}
.tr-foot{margin-top:22px;border-top:1px solid var(--line);padding-top:10px}
@media (max-width:700px){.tr-summary{grid-template-columns:1fr 1fr}.tr-two{grid-template-columns:1fr}.test-report{padding:16px}.tr-head{flex-direction:column}}
@media print{.no-print,.report-tools{display:none!important}.test-report{border:0;padding:0;max-width:none}.sidebar{display:none!important}
  .tr-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}.tr-box,.tr-head .brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media print{html,body,.layout,.view{background:var(--paper)!important}}
/* puls s treninga */
.hr-page .card h2 .en,.hr-page .card h2 small.en{display:block;font-size:13px;font-weight:400;color:var(--muted)}
.hr-upload .en,.hr-polar .en,.hr-howto .en,.hr-stats .en,.stats .stat .en,.hr-edit .en,.hr-preview .en{display:block;font-weight:400;color:var(--muted);font-size:12px}
.hr-pick{position:relative;overflow:hidden}.hr-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.hr-preview{margin-top:14px;padding:14px;background:var(--soft);border-radius:12px}
.hr-howto{margin-top:14px}.hr-howto summary{cursor:pointer;font-weight:700}.hr-howto summary .en{display:inline;margin-left:6px}
.hr-howto dl{margin:10px 0 0}.hr-howto dt{font-weight:700;margin-top:10px}.hr-howto dd{margin:4px 0 0;line-height:1.5;font-size:14px}
.hr-polar.on{border-left:5px solid #c8452f}
.hr-list{display:flex;flex-direction:column;gap:8px}.hr-item{display:flex;flex-direction:column}
.hr-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;text-align:left;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;font-size:14px;color:var(--ink);text-decoration:none;cursor:pointer}
.hr-row:hover{border-color:var(--line-hover)}.hr-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.hr-row-main .muted{font-size:13px}
.hr-row-nums{display:flex;gap:14px}.hr-row-nums>span{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;font-size:16px}.hr-row-nums small{font-weight:400;color:var(--muted);font-size:11px}
.hr-mini{grid-column:1/-1;display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--soft)}
.hr-detail{padding:14px 4px 6px}
.hr-zones{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.hr-zone-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr 90px;gap:12px;align-items:center;font-size:14px}
.hr-zone-name small,.hr-zone-val small{display:block;color:var(--muted);font-size:12px}.hr-zone-val{text-align:right;font-weight:700}
.hr-zone-bar{height:14px;background:var(--soft);border-radius:7px;overflow:hidden}.hr-zone-bar span{display:block;height:100%;border-radius:7px}
.z1{background:#9db7c9}.z2{background:#7fb069}.z3{background:#e0c341}.z4{background:#e08a3c}.z5{background:#c8452f}
.hr-chart .hrz{opacity:.16}.hr-chart .hrz.z1{fill:#9db7c9}.hr-chart .hrz.z2{fill:#7fb069}.hr-chart .hrz.z3{fill:#e0c341}.hr-chart .hrz.z4{fill:#e08a3c}.hr-chart .hrz.z5{fill:#c8452f}
.hr-chart .hr-line{fill:none;stroke:#b3261e;stroke-width:1.8;stroke-linejoin:round}.hr-chart .hr-cursor{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3}
.hr-chart-wrap{margin:4px 0 16px}
.hr-link{width:100%;font:inherit;font-size:13px;padding:10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--soft)}
.hr-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.hr-max .field.inline input{min-width:0;width:110px}.hr-max{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (max-width:640px){.hr-zone-row{grid-template-columns:1fr 70px}.hr-zone-bar{grid-column:1/-1;grid-row:2}.hr-row-nums{gap:10px}}
/* privola */
.consent-text{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--soft);font-size:14px;line-height:1.55;margin:0 0 14px}
.consent-text h3{font-size:16px}.consent-text p{margin:0 0 10px}.consent-text details summary{cursor:pointer;font-weight:700;margin:6px 0}
.consent-check{align-items:flex-start}.consent-check input{flex:none;margin-top:2px}.consent-check .en{display:block;color:var(--muted);font-size:12px}
.consent-line{margin-top:10px}.consent-line .link{padding:0;font-size:13px}
dialog .consent-text{max-height:none}
/* trčanje */
.runs td,.runs th{white-space:nowrap}.pace-chart-wrap{margin:0 0 16px}
/* plan po zonama */
.tg-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.tg-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--paper)}.tg-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.tg-head .btn{margin-left:auto}.tg-row small{display:block;color:var(--muted);margin-top:4px}.tg-row small .en{display:block;font-size:11px}
.tg-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--soft);margin-top:8px}.tg-bar .below{background:#9db7c9}.tg-bar .in{background:#5c8539}.tg-bar .above{background:#e08a3c}
.chart .pace-line{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linejoin:round}
/* mjesečno izvješće */
.report-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.report-tools .back{margin:0 8px 0 0}
.mr-send{width:100%}.mr-send summary{list-style:none;display:inline-flex}.mr-send summary::-webkit-details-marker{display:none}.mr-send[open]{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px}
.month-report .stat .trend{display:block;font-size:12px;margin-top:4px}.trend.up{color:var(--green)}.trend.down{color:var(--red)}
.mr-page{max-width:1000px}.month-report .en{display:block;color:var(--muted);font-size:12px}.month-report h2 .en{display:inline;margin-left:6px}
@media print{.month-report .tr-cat{break-inside:avoid}.month-report .z1,.month-report .z2,.month-report .z3,.month-report .z4,.month-report .z5,.chart .bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.month-report .tr-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.month-report .tr-table td,.month-report .tr-table th{white-space:nowrap}
@media print{.month-report .tr-table{display:table;overflow:visible}}

/* ---------- dizajn: logo, naslovi, jezik, klijentsko zaglavlje ---------- */
h1,h2,.stat b,.test-value,.hr-row-nums>span,.week-nav h2,.modal-head h2{font-family:var(--font-display);letter-spacing:0}
h1{font-weight:700;font-size:clamp(30px,4.4vw,42px);line-height:1.05}h2{font-weight:600;font-size:23px}.stat b{font-weight:700;font-size:28px;line-height:1.05}
.hr-row-nums>span{font-weight:700;font-size:19px}.modal-head h2{font-size:22px}
img.brand-logo{display:block;width:100%;max-width:190px;height:auto}
.sidebar .brand{padding:0 4px}.auth-card .brand{align-items:center}.auth-card img.brand-logo{max-width:230px}
.auth-card{box-shadow:0 30px 80px rgba(5,12,32,.35)}
.tr-head .brand{background:var(--dark);padding:10px 12px}.tr-head img.brand-logo{max-width:150px}
@media (max-width:760px){.sidebar img.brand-logo{max-width:112px}}
/* jezik: zadano samo hrvatski; „English” prikaže i engleski */
html:not(.lang-en) .en:not(.test-report .en),html:not(.lang-en) [lang="en"]:not(.test-report [lang="en"]):not(.consent-text [lang="en"]){display:none!important}
.lang-btn{border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;opacity:.85;min-height:32px}
.lang-btn:hover{opacity:1}
.btn-row-prefs{display:flex;gap:6px;flex-wrap:wrap}
/* klijentsko zaglavlje (osobna poveznica) */
.cl-head{background:var(--head-bg);color:var(--head-ink);border-radius:20px;padding:16px 18px 0;margin-bottom:16px;overflow:hidden}
.cl-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cl-top img.brand-logo{max-width:150px}
.cl-hello{margin:14px 0 2px;font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.05}
.cl-sub{margin:0 0 14px;color:var(--head-muted);font-size:14px}
.cl-tabs{display:flex;gap:4px;margin:0 -2px}
.cl-tabs a{flex:1;text-align:center;padding:11px 10px 12px;border-radius:12px 12px 0 0;color:var(--head-muted);text-decoration:none;font-weight:700;font-size:15px}
.cl-tabs a[aria-current="page"]{background:var(--canvas);color:var(--ink)}
.cl-tabs a:not([aria-current]):hover{color:var(--head-ink)}
/* logo treba tamnu podlogu (srebrna slova): prijava */
.auth-card .brand{background:var(--head-bg);margin:-32px -28px 22px;padding:22px 20px 18px;border-radius:20px 20px 0 0}
.auth-card .brand img.brand-logo{max-width:220px}
/* termini s trenerom */
.appt-card{text-align:left;display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--notice-line);border-left:4px solid var(--accent);border-radius:10px;background:var(--accent-soft);font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.appt-card:hover{border-color:var(--accent)}.appt-card .appt-time{font-weight:700;color:var(--accent-strong);white-space:nowrap}
.appt-more{margin:10px 0}.appt-more summary{cursor:pointer;color:var(--link);font-weight:600;margin-bottom:10px}
.appt-card.st-done{border-left-color:#3f8f5a}.appt-card.st-absent{border-left-color:var(--amber);opacity:.8}
.day-add{display:flex;flex-wrap:wrap;gap:6px}.day-add .btn{flex:1 1 90px;min-width:0;padding-left:6px;padding-right:6px;white-space:nowrap}
.appt-section{margin:18px 0}.appt-next .appt-when{margin:6px 0 10px}.appt-next.is-today{border:2px solid var(--accent)}
.appt-past{padding:12px 16px;margin:8px 0}.appt-past summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;flex-wrap:wrap}
.appt-workout{background:var(--soft);border-radius:10px;padding:10px 12px;font-size:14px;white-space:pre-wrap;margin:6px 0 10px}
.appt-rpe{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.appt-rpe .field{margin:0;flex:1;min-width:200px}
.appt-due{color:var(--amber);font-weight:600}
.appt-pay{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 12px}.appt-pay select{width:auto;min-height:34px}
.pkg-pick{background:var(--soft);border-radius:12px;padding:12px 14px;margin-bottom:12px}.pkg-pick .field{margin-bottom:8px}.pkg-hint{margin:8px 0 0}
.paid-check{background:var(--notice-bg);border:1px solid var(--notice-line);border-radius:10px;padding:10px 12px;margin:6px 0 10px}
[hidden]{display:none!important}
.move-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.move-bar .field.inline input{min-width:200px}
/* ekipne sesije */
.team-zbar{display:flex;width:120px;height:10px;border-radius:5px;overflow:hidden;background:var(--line)}.team-zbar>span{display:block;height:100%}
.team-zbar.big{width:100%;height:18px;border-radius:6px;margin-top:4px}
.team-zone-rows{display:grid;gap:12px}.zone-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;color:var(--muted)}
.zone-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.team-list tbody tr{cursor:pointer}.team-list tbody tr:hover{background:var(--soft,rgba(0,0,0,.03))}
.stats .stat .delta{font-size:12px}
@media print{.team-zbar span,.zone-legend i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* sezona: vrste sesija */
.chart .seg.k-utakmica,.kind-dot.k-utakmica{fill:#c8452f;background:#c8452f}.chart .seg.k-trening,.kind-dot.k-trening{fill:var(--accent);background:var(--accent)}
.chart .seg.k-test,.kind-dot.k-test{fill:#e0c341;background:#e0c341}.chart .seg.k-ostalo,.kind-dot.k-ostalo{fill:#9db7c9;background:#9db7c9}
.kind-dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.kind-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;color:var(--muted)}
.kind-sel{padding:4px 6px;font-size:13px;border-radius:8px}
.period-btns{display:flex;flex-wrap:wrap;gap:6px}.period-btns .btn.on{background:var(--accent-soft);border-color:var(--accent)}
.ratio.hi{color:#8a2a1c;font-weight:700}.ratio.lo{color:var(--muted)}
@media print{.chart .seg,.kind-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.print-only{display:none}@media print{.print-only{display:inline}}
/* naslovnica PDF izvještaja — samo pri ispisu, cijela prva stranica (A4, margine 10 mm) */
.rc-cover{display:none}
@media print{.rc-cover{display:block;position:relative;height:276mm;margin:0 0 0;overflow:hidden;break-after:page;page-break-after:always;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:0}
.rc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-top{position:relative;padding:16mm 16mm 0}.rc-logo{width:62mm;height:auto;display:block;margin-bottom:22mm}
.rc-kicker{font:700 15pt/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#93c5fd;margin:0}.rc-kicker span{display:block;font-size:11pt;color:#bfdbfe;letter-spacing:.12em}
.rc-name{font:700 40pt/1.02 var(--font-display);color:#fff;margin:6mm 0 3mm}.rc-sub{font:600 13pt/1.3 Inter,system-ui,sans-serif;color:#dbeafe;margin:0}
.rc-foot{position:absolute;left:16mm;right:16mm;bottom:9mm;margin:0;font:600 10pt Inter,system-ui,sans-serif;color:#0c1b40;text-align:center}}
.kind-wrap{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.kind-ok{min-height:30px;padding:2px 9px}
/* analiza testiranja */
.pill.bad{background:rgba(200,69,47,.16);color:#8a2a1c}
html[data-theme="dark"] .pill.bad{color:#ffb3a6}@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .pill.bad{color:#ffb3a6}}
.attn-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.attn-list li{border-bottom:1px solid var(--line);padding-bottom:10px}.attn{font-size:13px;margin-top:4px}
.asym-table td,.heat-table td{text-align:center;white-space:nowrap}.asym-table td:first-child,.heat-table td:first-child{text-align:left}
.asym-table th,.heat-table th{font-size:11px;max-width:96px;white-space:normal;vertical-align:bottom;line-height:1.2}
.asym-table small{display:block;font-size:11px;color:var(--muted)}
.asym-ok{background:rgba(127,176,105,.14)}.asym-watch{background:rgba(224,170,60,.24)}.asym-high{background:rgba(200,69,47,.24);font-weight:700}
.asym-key{display:inline-block;padding:1px 6px;border-radius:5px;margin-left:4px}
.heat0{background:rgba(200,69,47,.26)}.heat1{background:rgba(224,138,60,.18)}.heat2{background:rgba(150,160,175,.10)}.heat3{background:rgba(127,176,105,.20)}.heat4{background:rgba(76,160,90,.36);font-weight:700}
.heat-legend span{display:inline-block;min-width:16px;padding:1px 6px;border-radius:5px;margin-right:2px}
.avg-row td{font-weight:700;border-top:2px solid var(--line)}
.ratio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.ratio-block h3{font-size:15px;margin:0 0 6px}.ratio-block h3 small{display:block;font-weight:400;font-size:11px}
.ratio-block td:not(:first-child),.ratio-block th:not(:first-child){text-align:center}
.cmp-win{font-weight:800}
@media print{.asym-ok,.asym-watch,.asym-high,.heat0,.heat1,.heat2,.heat3,.heat4{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.attn-table td{padding:8px 6px}.attn-table .attn:first-child{margin-top:0}
.basic-card summary{cursor:pointer;list-style:none}.basic-card summary::-webkit-details-marker{display:none}.basic-card[open] summary{margin-bottom:12px}
.basic-card.todo{border:2px solid var(--accent);background:var(--accent-soft)}
.prog-better{color:#2f6b2a;font-weight:700}.prog-worse{color:#a3321f;font-weight:700}.prog-same{color:var(--muted)}
html[data-theme="dark"] .prog-better{color:#8fd07f}html[data-theme="dark"] .prog-worse{color:#ff9a87}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .prog-better{color:#8fd07f}html:not([data-theme="light"]) .prog-worse{color:#ff9a87}}
.prog-table td small{font-weight:400;color:var(--muted)}
/* karta tijela — filtar Baze vježbi (svijetlo: anatomski; tamno: boje aplikacije) */
:root{--mf-bg:#fbf7f3;--mf-sil:#f1d9c6;--mf-silo:#b98a6c;--mf-mus:#c97a6a;--mf-line:#8e3f33;--mf-sel:#1846c4;--mf-hov:#6d94ec;--mf-head:#f1d9c6;--mf-fill:url(#mf-fib)}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]){--mf-bg:#0b1736;--mf-sil:#16264d;--mf-silo:#16264d;--mf-mus:#2c4277;--mf-line:#0b1736;--mf-sel:#49a6ff;--mf-hov:#2e7cf6;--mf-head:#16264d;--mf-fill:#2c4277}}
html[data-theme="dark"]{--mf-bg:#0b1736;--mf-sil:#16264d;--mf-silo:#16264d;--mf-mus:#2c4277;--mf-line:#0b1736;--mf-sel:#49a6ff;--mf-hov:#2e7cf6;--mf-head:#16264d;--mf-fill:#2c4277}
.mf{background:var(--mf-bg)}.mf>summary{cursor:pointer}
.mf-head-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:12px 0 4px}
.mf-hint{display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--muted)}
.mf-bodies{display:flex;justify-content:center;gap:clamp(12px,5vw,48px)}
.mf-bodies figure{margin:0;text-align:center}.mf-bodies svg{height:clamp(300px,52vh,520px);width:auto;max-width:44vw;touch-action:manipulation}
.mf-bodies figcaption{font-size:13px;font-weight:600;color:var(--muted)}
.mf-sil{fill:var(--mf-sil);stroke:var(--mf-sil);stroke-width:70;stroke-linejoin:round}.mf-silo{fill:none;stroke:var(--mf-silo);stroke-width:76;stroke-linejoin:round}
.mf-head{fill:var(--mf-head)}.mf-fib-bg{fill:var(--mf-mus)}.mf-fib-ln{stroke:var(--mf-line);stroke-width:3;opacity:.45}
.mf-m polygon{fill:var(--mf-fill);stroke:var(--mf-line);stroke-width:5;stroke-linejoin:round;transition:fill .12s}
.mf-m{cursor:pointer;outline:none}.mf-m.empty{cursor:default;opacity:.55}
.mf-m.hov polygon,.mf-m:focus-visible polygon{fill:var(--mf-hov)}.mf-m.on polygon{fill:var(--mf-sel)}
.mf-tip{min-height:1.4em;text-align:center;font-weight:600;margin:4px 0 0}
.chip-btn.on{background:var(--mf-sel);color:#fff;border-color:var(--mf-sel)}

/* jutarnji pregled */
.morning summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.morning .mo-sum{font-size:13px;color:var(--muted);margin-left:auto}
.mo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 20px;margin-top:12px}
.mo-block h3{font-size:14px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.mo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.mo-list small{display:block;margin-top:1px}
.mo-foot{margin:12px 0 0}

/* VIFT grupe */
.vift-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:8px 0 12px}
.vift-group{border:1px solid var(--line,#dfe5ef);border-radius:14px;padding:12px;break-inside:avoid}
.vift-group header{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.vift-group header div{display:grid}
.vift-letter{font-weight:800;font-size:28px;line-height:1;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--ink)}
.vift-dist{font-size:22px}
.vift-group ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.vift-group li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;font-size:14px}
.vift-move{padding:2px 4px;font-size:13px}
@media print{.no-print{display:none!important}.vift-group li{grid-template-columns:1fr auto}.vift-dist{font-size:26px}}

/* izvješće ekipe */
.toolbar-line{display:flex;justify-content:flex-end;margin-bottom:8px}
.team-report{max-width:1200px}
.team-report .tr-box{margin:4px 0 8px}
.tt-sum td small{display:block}
.team-report .tr-table.tt-sum td:first-child{width:24%}.team-report .tt-sum td:nth-child(2){width:9%}
.team-report .heat-table,.team-report .asym-table{width:100%;margin-bottom:12px;font-size:13px}
.tt-rank{columns:3;font-size:13px;margin:6px 0 0;padding-left:22px}
@media (max-width:700px){.tt-rank{columns:1}}
@media print{.page-break{break-before:page}.team-report .heat-table td,.team-report .asym-table td,.team-report .heat-legend span,.team-report .asym-key,.team-report .pill,.team-report [class^=prog-]{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .team-report table{font-size:11px}.team-report thead{display:table-header-group}.team-report tr{break-inside:avoid}}
.team-report .tr-cat{break-inside:auto}
.team-report .tr-table.tt-sum{table-layout:auto}
.team-report .tr-table.tt-sum th,.team-report .tr-table.tt-sum td{width:auto!important}
.team-report .tt-sum td{padding:5px 8px}
.team-report .tt-sum td:first-child small{display:inline;margin-left:6px}
.team-report .prog-table td small,.team-report .asym-table td small{display:inline}
.team-report .attn-table td{padding:4px 8px}

/* po pozicijama */
.pos-table td small{display:block;font-size:11px;color:var(--muted)}
.pos-table td.pos-good{background:rgba(127,176,105,.22)}.pos-table td.pos-bad{background:rgba(200,69,47,.18)}
@media print{.pos-table td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* kućni program (klijent) */
.hp-note{background:var(--soft);border-radius:10px;padding:10px 12px;margin:0 0 10px;white-space:pre-line}
.hp-days{display:flex;gap:4px;overflow-x:auto;margin:0 0 10px;padding-bottom:2px}
.hp-day{flex:0 0 auto;min-width:32px;text-align:center;border-radius:8px;padding:3px 2px;font-size:12px;background:var(--soft);color:var(--muted);line-height:1.2}
.hp-day small{display:block;font-size:11px}
.hp-day.d1{background:rgba(127,176,105,.35);color:var(--ink)}.hp-day.d2{background:#3f8f5a;color:#fff}.hp-day.sel{outline:2px solid var(--primary,#1846c4)}
.hp-when{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.hp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hp-item{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:1fr minmax(0,180px);gap:8px 12px;align-items:start}
.hp-item.is-done{background:rgba(127,176,105,.12);border-color:rgba(63,143,90,.5)}
.hp-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;grid-column:1}
.hp-check input{position:absolute;opacity:0;width:1px;height:1px}
.hp-box{flex:0 0 28px;height:28px;border-radius:8px;border:2px solid var(--line-strong);display:grid;place-items:center;margin-top:1px}
.hp-check input:checked+.hp-box{background:#3f8f5a;border-color:#3f8f5a}.hp-check input:checked+.hp-box::after{content:'✓';color:#fff;font-weight:800}
.hp-check input:focus-visible+.hp-box{outline:3px solid var(--primary,#1846c4);outline-offset:2px}
.hp-main{display:grid;gap:2px}.hp-dose{font-weight:700;color:var(--primary,#1846c4)}.hp-main small{color:var(--muted)}
.hp-img{grid-column:2;grid-row:1 / span 2;width:100%;height:auto;border-radius:10px;background:#fff;border:1px solid var(--line)}
.hp-actions{grid-column:1;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.hp-actions details{flex:1 1 200px}.hp-actions summary{cursor:pointer;font-weight:600;padding:4px 0}
.hp-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:12px}.hp-foot .grow{flex:1 1 220px}
@media (max-width:560px){.hp-item{grid-template-columns:1fr}.hp-img{grid-column:1;grid-row:auto;max-width:260px}}

/* kućni program (trener) */
.hpc{border-top:1px solid var(--line);padding:10px 0}.hpc:first-of-type{border-top:0}.hpc.archived{opacity:.6}
.hpc-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.hpc p{margin:4px 0}
.hpe-items{margin:0 0 10px;padding-left:22px;display:grid;gap:8px}
.hpe-items li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:6px;align-items:center}
.hpe-items input{width:100%;padding:6px 8px;font-size:14px}
.hpe-dose{display:grid;grid-template-columns:70px 1fr;gap:6px}
.hpe-btns{display:flex;gap:4px}
.hpe-res{display:grid;gap:6px;max-height:420px;overflow:auto;margin-top:8px}
.hpe-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.hpe-row img{width:56px;height:42px;object-fit:contain;background:#fff;border-radius:6px}
.hpe-row small{display:block}
@media (max-width:700px){.hpe-items li{grid-template-columns:1fr}}

.mr-sub{font-size:18px;margin:22px 0 6px;border-top:2px solid var(--line);padding-top:14px}.mr-sub .en{display:inline;margin-left:8px;font-weight:400;color:var(--muted);font-size:13px}
.month-report .tr-table td small{display:block}

/* plan povratka */
.rtp-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rtp-steps button{width:100%;height:100%;text-align:left;display:grid;gap:2px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font:inherit}
.rtp-steps button small{color:var(--muted);font-size:12px}
.rtp-steps button.now{border-color:var(--primary,#1846c4);box-shadow:0 0 0 1px var(--primary,#1846c4) inset}
.rtp-steps button.done{background:rgba(127,176,105,.14)}
.rtp-steps button.sel{outline:3px solid var(--accent,#49a6ff);outline-offset:1px}
.rtp-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);font-weight:800;font-size:13px}
.rtp-steps .done .rtp-n{background:#3f8f5a;color:#fff}.rtp-steps .now .rtp-n{background:var(--primary,#1846c4);color:#fff}
.rtp-crit{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}
.rtp-crit li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;border-bottom:1px solid var(--soft);padding-bottom:6px}
.rtp-auto{font-size:12px;border-radius:8px;padding:2px 8px;background:var(--soft);color:var(--muted)}
.rtp-auto.ok{background:rgba(127,176,105,.22);color:var(--ink)}.rtp-auto.bad{background:rgba(200,69,47,.18);color:var(--ink)}
.rtp-add{display:flex;gap:8px;margin:6px 0 16px}.rtp-add input{flex:1;padding:6px 10px}
.rtp-ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin-bottom:10px}
.rtp-exi{display:grid;grid-template-columns:auto 56px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px;cursor:pointer}
.rtp-exi img{width:56px;height:42px;object-fit:contain;background:#fff;border-radius:6px}.rtp-exi small{display:block}
.rtp-note{width:100%}
@media (max-width:800px){.rtp-steps{grid-template-columns:1fr 1fr}.rtp-exi{grid-template-columns:auto 1fr auto}.rtp-exi img{display:none}}

.wq-rpe [data-wq]{margin-left:8px}
.batch-table tr.wq-rest td:first-child::after{content:' · upitnik: odmor';color:var(--muted);font-size:12px}

.kg-box{margin:8px 0 4px}.kg-table td,.kg-table th{white-space:nowrap}

/* ciljevi */
.tg-table td.tg-ok{background:rgba(127,176,105,.26)}.tg-table td.tg-near{background:rgba(224,170,60,.26)}.tg-table td.tg-below{background:rgba(200,69,47,.2)}
.tg-legend span{padding:1px 6px;border-radius:6px}.tg-legend .tg-ok{background:rgba(127,176,105,.26)}.tg-legend .tg-near{background:rgba(224,170,60,.26)}.tg-legend .tg-below{background:rgba(200,69,47,.2)}
.tg-row{display:grid;grid-template-columns:minmax(0,2fr) 110px 90px minmax(0,3fr) auto;gap:6px;margin-bottom:6px;align-items:center}
.tg-row input,.tg-row select{padding:6px 8px;font-size:14px;width:100%}
@media (max-width:700px){.tg-row{grid-template-columns:1fr 1fr}}
@media print{.tg-table td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* utakmice */
.mt-chip{display:inline-block;min-width:26px;text-align:center;border-radius:6px;padding:1px 4px;margin-right:3px;background:var(--soft);font-size:12px}
.mt-chip.low{background:rgba(224,170,60,.3)}.mt-chip.high{background:rgba(73,166,255,.25)}
.mt-list{width:100%}.mt-list td{padding:8px 6px;border-bottom:1px solid var(--soft)}
.mt-import select{max-width:240px}
.mt-topup{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.mt-topup h3{margin:0 0 8px}
.mt-rpe input[data-prpe]{width:64px}

.mt-season th.mt-col{text-align:center;font-weight:600;font-size:11px;line-height:1.25;min-width:54px;white-space:nowrap}
.mt-season td.mt-cell{text-align:center}
.mt-season .mt-sticky{position:sticky;left:0;background:var(--paper);z-index:1}
.mt-kind{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 5px;background:var(--soft);color:var(--muted)}
.mt-kind.k-prvenstvo{background:rgba(73,166,255,.22);color:var(--ink)}.mt-kind.k-kup{background:rgba(224,170,60,.3);color:var(--ink)}
.mt-kind.k-europa{background:rgba(127,90,200,.25);color:var(--ink)}.mt-kind.k-prijateljska{background:rgba(127,176,105,.25);color:var(--ink)}

/* spremnost */
.rd-dot{display:inline-block;width:12px;height:12px;border-radius:6px;vertical-align:middle}
.rd-dot.red{background:#c8452f}.rd-dot.yellow{background:#d9a21b}.rd-dot.green{background:#3f8f5a}.rd-dot.unknown{background:#9aa59f}
.rd-table td{vertical-align:top}
.rd-table .reason{white-space:nowrap}

/* karta igrača */
.player-card{max-width:1100px}
.pc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}
.pc-tests td.tg-ok{background:rgba(127,176,105,.26)}.pc-tests td.tg-near{background:rgba(224,170,60,.26)}.pc-tests td.tg-below{background:rgba(200,69,47,.2)}
.player-card .tr-table.pc-tests td,.player-card .tr-table.pc-tests th{width:auto!important;padding:5px 6px;font-size:13px}
.pc-chips{display:flex;flex-wrap:wrap;gap:3px}
@media (max-width:800px){.pc-grid{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:10mm}.player-card{font-size:12px}.player-card .tr-cat{margin-top:10px}.pc-tests td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.mt-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media print{.pc-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;gap:12px}.player-card .tr-head{margin-bottom:8px;padding-bottom:8px}.player-card .tr-head .brand img{max-height:60px}.player-card .tr-summary .stat b{font-size:20px}}

/* nalazi */
.nf-files{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.nf-files li{border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.nf-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center}
.nf-analysis{margin-top:6px;background:var(--soft);border-radius:8px;padding:8px 10px}.nf-analysis p{margin:2px 0}
.nf-sugg{display:grid;gap:4px;margin-bottom:8px}
.nf-pick{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;gap:4px}.nf-pick.on{border-color:var(--brand,#1846c4);background:color-mix(in srgb,var(--brand,#1846c4) 8%,transparent)}.nf-pick-ctl{display:flex;align-items:center;gap:12px;padding-left:30px;flex-wrap:wrap}.nf-pick-ctl select{width:auto;min-width:130px;margin-left:6px}
.nf-profile{border-left:4px solid var(--primary,#1846c4);background:var(--soft);border-radius:8px;padding:8px 12px;margin:8px 0}.nf-profile h3{margin:0 0 4px;font-size:16px}.nf-profile ul{margin:4px 0 6px;padding-left:18px}
[data-nf] section{margin-bottom:14px}[data-nf] textarea{width:100%}
/* kalendar sezone */
.cal-table{width:100%;border-collapse:collapse}.cal-table th{text-align:left;font-size:12px;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.cal-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.cal-month td{background:var(--soft);font-weight:800;text-transform:capitalize;font-size:13px;padding:6px 10px;color:var(--ink-2)}
.cal-week.cur td{background:var(--accent-soft)}.cal-week.fut .cal-wk b{color:var(--ink-2)}
.cal-wk{width:120px;font-size:13px}.cal-wk .pill{margin-top:4px;font-size:11px;padding:2px 8px}
.cal-evs{display:flex;flex-wrap:wrap;gap:6px}
.cal-chip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.cal-chip:hover{border-color:var(--line-hover)}.cal-chip .cal-d{color:var(--muted);font-size:12px;font-weight:600}
.cal-chip.cal-m{border-left:4px solid #9aa9c4}.cal-chip.cal-m.home{border-left-color:var(--accent)}.cal-chip.post{opacity:.75;border-style:dashed}
.cal-chip.cal-priprema{background:#fbefd9;color:#6b4515;border-color:#f1d9ad}.cal-chip.cal-stanka{background:#e4f1ce;color:#2f5025;border-color:#cfe2b2}
.cal-chip.cal-testiranje{background:#efe6fb;color:#4a2a7a;border-color:#dccbf3}.cal-chip.cal-turnir{background:#fde3e0;color:#8a2a1c;border-color:#f5c9c2}
.cal-plan{width:200px}.cal-int{font:inherit;font-size:13px;border-radius:10px;border:1px solid var(--line-strong);padding:6px 8px;min-height:38px;width:100%;background:var(--paper);color:var(--ink)}
.cal-int.i-odmor,.cal-bar .i-odmor{background:#e4f1ce;color:#2f5025}.cal-int.i-lako,.cal-bar .i-lako{background:#dcebff;color:#183f7a}
.cal-int.i-srednje,.cal-bar .i-srednje{background:#fbefd9;color:#6b4515}.cal-int.i-tesko,.cal-bar .i-tesko{background:#f7d9d2;color:#8a2a1c}
.cal-load{width:230px}.cal-bar{height:10px;border-radius:6px;background:var(--soft);overflow:hidden;margin:4px 0}.cal-bar span{display:block;height:100%;background:var(--accent-muted)}
.cal-bar .i-lako{background:#7fb0f0}.cal-bar .i-srednje{background:#e0a64a}.cal-bar .i-tesko{background:#d0644e}
.cal-prev{width:100%;border-collapse:collapse;font-size:14px}.cal-prev td{padding:5px 6px;border-bottom:1px solid var(--line)}
.cal-form [hidden]{display:none}
@media (max-width:760px){.cal-table thead{display:none}.cal-table tr.cal-week{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
  .cal-table tr.cal-week td{border:0;padding:2px 4px;width:auto}.cal-table tr.cal-week td.cal-evs{grid-column:1/-1;order:2}.cal-table tr.cal-week td.cal-wk{grid-column:1/-1}
  .cal-month td{display:block}}
.cal-res{padding:1px 6px;border-radius:6px}.cal-res.w{background:#e4f1ce;color:#2f5025}.cal-res.l{background:#f7d9d2;color:#8a2a1c}.cal-res.d{background:var(--soft)}
.trn-table{width:100%;border-collapse:collapse;font-size:14px}.trn-table th{text-align:left;font-size:12px;color:var(--muted);padding:4px 6px}
.trn-table td{padding:4px 6px;border-top:1px solid var(--line);vertical-align:middle}.trn-table input{font:inherit;font-size:14px;width:100%;min-width:60px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink)}
.trn-table input[type=number]{width:64px;min-width:0}.trn-table td:nth-child(3) input,.trn-table td:nth-child(4) input{min-width:130px}.trn-table td:nth-child(6) input{min-width:150px}.trn-name{display:flex;align-items:center;gap:8px;min-width:210px;font-size:13px;line-height:1.25}.trn-name img{width:44px;height:34px;object-fit:cover;border-radius:6px;background:#fff}
@media (max-width:760px){.trn-table thead{display:none}.trn-table tr{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 0;border-top:1px solid var(--line)}.trn-table td{border:0;padding:2px}.trn-table td:first-child,.trn-table td:nth-child(6){grid-column:1/-1}}
.rtp-days{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.rtp-tl-t{width:100%;border-collapse:collapse;font-size:14px}.rtp-tl-t th{text-align:left;font-size:12px;color:var(--muted);padding:4px 8px}
.rtp-tl-t td{padding:6px 8px;border-top:1px solid var(--line);vertical-align:middle}.rtp-tl-t tr.now td,.rtp-tl-t tr.long td{background:var(--accent-soft)}.rtp-tl-t tr.done td{color:var(--muted)}
.rtp-tl-t input{width:90px;font:inherit;font-size:14px;padding:5px 8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink)}
.rtp-tl-sum{margin:12px 0 4px;line-height:1.8}
@media (max-width:760px){.rtp-tl-t th:nth-child(5),.rtp-tl-t td:nth-child(5){display:none}}
.nf-ctrl{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.nf-ctrl .field{margin:0}.nf-ctrl .grow{flex:1;min-width:200px}
.row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* izvješće o oporavku */
.inj-report section{margin:0 0 16px;break-inside:avoid}.inj-report h2{font-size:16px;margin:0 0 8px;border-bottom:1px solid var(--line);padding-bottom:4px}
.ir-kv{width:100%;border-collapse:collapse;font-size:13px}.ir-kv th{text-align:left;color:var(--muted);font-weight:600;padding:4px 8px 4px 0;width:110px;vertical-align:top}.ir-kv td{padding:4px 12px 4px 0;vertical-align:top}
.ir-tl,.ir-tests{width:100%;border-collapse:collapse;font-size:13px}.ir-tl th,.ir-tests th{text-align:left;font-size:12px;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line)}
.ir-tl td,.ir-tests td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top}.ir-tl tr.now td,.ir-tl tr.long td{background:var(--accent-soft)}.ir-tl tr.next td{color:var(--muted)}
.ir-crit{list-style:none;margin:0;padding:0}.ir-crit li{margin:0 0 2px}.ir-crit li.ok{color:#2f5025}
.ir-files,.ir-list{margin:4px 0 0;padding-left:18px;font-size:13px}.ir-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ir-foot{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
@media (max-width:800px){.ir-grid{grid-template-columns:1fr}}
@media print{.inj-report{font-size:12px}.ir-tl tr.now td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ir-grid{grid-template-columns:1fr 1fr}}
/* statistika ozljeda */
.inj-stats section{margin:0 0 16px;break-inside:avoid}.inj-stats h2{font-size:15px;margin:0 0 8px}
.inj-stats .stat small{display:block;font-size:12px;color:var(--muted)}
.is-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px;margin-top:14px}
.is-bars{display:flex;flex-direction:column;gap:6px}.is-bar{display:grid;grid-template-columns:minmax(110px,1.5fr) 1.3fr auto;gap:8px;align-items:center;font-size:13px}
.is-l{line-height:1.2}.is-track{height:10px;background:var(--soft);border-radius:6px;overflow:hidden}.is-track span{display:block;height:100%;background:var(--accent)}
.is-n{white-space:nowrap}
@media (max-width:900px){.is-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.is-grid{grid-template-columns:1fr}}
@media print{.is-track span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.is-grid{grid-template-columns:repeat(3,1fr)}}
.is-months{display:flex;align-items:flex-end;gap:6px;height:130px;padding-top:4px}.is-mo{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:12px;min-width:22px}
.is-mo span{display:block;width:70%;max-width:42px;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.is-mo small{color:var(--muted);margin-top:4px}
@media print{.is-mo span{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* MD-raspored */
.md-box{border-radius:10px;padding:6px 8px;font-size:12px;line-height:1.3;display:flex;flex-direction:column;gap:2px;border:1px solid transparent}
.md-box small{color:inherit;opacity:.85;font-size:11px}.md-code{font-weight:800;font-size:11px;letter-spacing:.04em}
.md-game{background:var(--dark);color:#fff}.md-rec{background:#dcebff;color:#183f7a}.md-mid{background:#fbefd9;color:#6b4515}.md-hard{background:#f7d9d2;color:#8a2a1c}
.md-box .md-warn{color:#8a2a1c;font-weight:700;opacity:1}.md-box .md-ok{color:#2f5025;opacity:1}
.md-game-line{margin:0;font-size:12px;font-weight:600}.md-legend{margin:-6px 0 10px}
html[data-theme="dark"] .md-rec{background:#163262;color:#cfe2ff}html[data-theme="dark"] .md-mid{background:#4a3613;color:#fbe3b8}html[data-theme="dark"] .md-hard{background:#552019;color:#ffd3c9}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .md-rec{background:#163262;color:#cfe2ff}html:not([data-theme="light"]) .md-mid{background:#4a3613;color:#fbe3b8}html:not([data-theme="light"]) .md-hard{background:#552019;color:#ffd3c9}}
/* igračev plan povratka */
.my-rtp h2 small{display:block}.my-rtp-steps{display:flex;gap:4px;list-style:none;padding:0;margin:8px 0 12px}
.my-rtp-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;font-size:11px;color:var(--muted)}
.my-rtp-steps li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:800;font-size:12px;color:var(--ink-2)}
.my-rtp-steps li.done span{background:#e4f1ce;color:#2f5025}.my-rtp-steps li.now span{background:var(--primary);color:#fff}.my-rtp-steps li.now{color:var(--ink);font-weight:700}
.my-rtp-crit{list-style:none;padding:0;margin:0 0 10px;font-size:14px}.my-rtp-crit li{padding:3px 0}.my-rtp-crit li.ok{color:#2f5025}
.my-rtp-dates{background:var(--accent-soft);border-radius:10px;padding:8px 10px;line-height:1.6}
/* kvaliteta podataka */
.q-table{width:100%;border-collapse:collapse;font-size:14px}.q-table th{text-align:left;font-size:12px;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line)}
.q-table td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}.q-bar{height:8px;width:110px;background:var(--soft);border-radius:5px;overflow:hidden}
.q-bar span{display:block;height:100%}.q-ok{background:#5c8539}.q-warn{background:#d9a21b}.q-bad{background:#c8452f}
/* moj tjedan */
.my-week h2 small{display:block}.mw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0}
.mw-grid div{background:var(--soft);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}.mw-grid b{font-size:20px}.mw-grid small{color:var(--muted);font-size:12px}
/* izvješće polusezone */
.season-report section{margin:0 0 16px;break-inside:avoid}.season-report h2{font-size:15px;margin:0 0 8px;border-bottom:1px solid var(--line);padding-bottom:4px}
.season-report .stat small{display:block;font-size:12px;color:var(--muted)}
.sr-res{display:inline-block;width:18px;text-align:center;border-radius:4px;font-weight:800;font-size:11px}.sr-w{background:#e4f1ce;color:#2f5025}.sr-l{background:#f7d9d2;color:#8a2a1c}.sr-d{background:var(--soft)}
.sr-up{color:#2f5025;font-weight:700}.sr-down{color:#8a2a1c;font-weight:700}
@media print{.sr-res{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* rast */
.pill.g-pre{background:#dcebff;color:#183f7a}.pill.g-circa{background:#f7d9d2;color:#8a2a1c}.pill.g-post{background:#e4f1ce;color:#2f5025}
.g-alert{border-left:4px solid #c8452f}.g-alert h2{font-size:16px}.g-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width:800px){.g-tips{grid-template-columns:1fr}}
/* izrada treninga: odabir vježbi iz baze */
.tb-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tb-tools input[type=search]{flex:1;min-width:220px}
.tb-tools input,.tb-tools select{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);color:var(--ink);min-height:42px}
.tb-body{margin-bottom:10px}.tb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px;max-height:52vh;overflow:auto;padding:2px}
.tb-ex{display:grid;grid-template-columns:auto 64px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:6px 8px;cursor:pointer;background:var(--paper)}
.tb-ex.on{border-color:var(--accent);background:var(--accent-soft)}.tb-ex img,.tb-noimg{width:64px;height:48px;object-fit:cover;border-radius:8px;background:#fff}
.tb-ex b{display:block;font-size:14px;line-height:1.25}.tb-ex small{display:block;font-size:12px}
.tb-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.tb-foot .tb-count{font-weight:700;margin-right:auto}
@media (max-width:560px){.tb-ex{grid-template-columns:auto 52px 1fr}.tb-ex .btn{display:none}}
.mt-cal { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; border-left: 4px solid #d97706; margin: .5rem 0; }
/* tamna tema: čitljive oznake i strelice promjene */
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]) .pill.warn{color:#f5c77e}
  html:not([data-theme="light"]) .delta.down{color:#ff8b7a}
  html:not([data-theme="light"]) .delta.up{color:#7fd89c}
}
html[data-theme="dark"] .pill.warn{color:#f5c77e}
html[data-theme="dark"] .delta.down{color:#ff8b7a}
html[data-theme="dark"] .delta.up{color:#7fd89c}

/* mobitel: zaglavlje ne raste na kratkim stranicama; široke tablice se pomiču vodoravno umjesto da guraju stranicu */
@media (max-width:760px){
  .layout{grid-template-rows:auto 1fr;align-content:start}
  .rtp-tl-t,.ir-tl,.ir-tests{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

.en-i{font-weight:400}.auth-card .lang-row{display:flex;justify-content:flex-end;margin:-6px 0 6px}
/* engleski uz hrvatski: u polju obrasca engleski redak odmah ispod oznake; na mobitelu u zaglavlju bez engleskih dodataka (stane u širinu) */
.field>small.en{margin-top:-5px}
.btn>span>small.en{color:inherit;opacity:.8}
@media (max-width:760px){.sidebar-foot .en-i{display:none}}
.hr-suspect{display:block;font-size:12px;font-weight:700;color:#b45309;margin-top:4px}html[data-theme="dark"] .hr-suspect{color:#f5c77e}@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .hr-suspect{color:#f5c77e}}
.warn-box{border-left:4px solid #d97706}.warn-box ul{margin:6px 0;padding-left:18px}
.hr-review{list-style:none;padding:0;margin:8px 0 0}.hr-review li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line)}.hr-review-btns{display:flex;gap:6px}
.radar-item{border-top:1px solid var(--line);padding:8px 0}.radar-item summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.radar-list{margin:6px 0;padding-left:18px;columns:2 280px}.radar-list li{margin:2px 0;break-inside:avoid}

/* prekidač jezika na kartici vježbe */
.card-lang { display: flex; gap: 6px; margin: 0 0 12px; }
.mo-advice{grid-column:1/-1}
.mo-adv{list-style:none;margin:4px 0 8px;padding:0}
.mo-adv li{margin:3px 0;font-size:14px}
.mo-adv .reason{min-width:20px;text-align:center;display:inline-block}

/* rad bez signala */
#offline-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:#1d2730;color:#fff;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.35;box-shadow:0 6px 20px rgba(0,0,0,.25)}
#offline-bar.warn{background:#8a5a00}

/* video u kartici vježbe */
.ex-video{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.ex-video-frame{flex:1 0 100%;position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.ex-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ex-own-video{margin:8px 0}.ex-own-video video{width:100%;max-height:70vh;border-radius:12px;background:#000;display:block}.hp-own video{width:100%;max-height:60vh;border-radius:10px;background:#000;margin-top:6px}
.hp-actions .ex-video:has(.ex-video-frame){flex:1 0 100%}
.norms{margin-top:6px}.norms ul{margin:6px 0 4px;padding-left:18px}.norms li{margin:3px 0}
.plan-week{width:100%;border-collapse:collapse}.plan-week td,.plan-week th{padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.plan-week select{width:100%;min-width:180px}
.pr-note{min-height:2.4em;padding:8px 10px;border-radius:10px;white-space:pre-wrap}.pr-note[contenteditable]{border:1px dashed var(--line-strong)}.pr-note[contenteditable]:empty::before{content:attr(data-placeholder);color:var(--muted)}
.pr-note:not([contenteditable]):empty{display:none}
@media print{.pr-note{border:0!important}.pr-note:empty{display:none}}
.goals{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.goal{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start}
.goal.done{border-left:4px solid var(--green)}.goal.late{border-left:4px solid var(--amber)}
.goal-title{font-weight:700}.goal .meta{font-size:12.5px;color:var(--muted)}
.goal-bar{grid-column:1/-1;height:8px;border-radius:99px;background:var(--accent-soft);overflow:hidden}.goal-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.goal.done .goal-bar i{background:var(--green)}
.goal-actions{display:flex;gap:6px;align-items:center}.goal-actions .icon-btn{font-size:18px}
.chart .ref{stroke:#e08a1e;stroke-width:3;stroke-linecap:round}
.player-report .tr-cat ul{font-size:14.5px;padding-left:20px}.player-report .tr-cat li{margin:4px 0}
.msgs .msg{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.msgs .msg.new{border-left:4px solid var(--accent);background:var(--accent-soft)}
.msgs .msg header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.msgs .msg p{margin:6px 0}.msgs .msg p.en{font-size:13.5px}
.msg-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px;max-height:260px;overflow:auto;margin:10px 0;padding:6px;border:1px solid var(--line);border-radius:10px}
.msg-people label{display:flex;gap:6px;align-items:center;font-size:14px}
.msg-form textarea{width:100%}
.videos .vid-group h3{margin:12px 0 4px;font-size:15px}.videos .vid-group ul{list-style:none;margin:0;padding:0}
.videos .vid-group li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.videos .vid-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.videos .vid-actions .icon-btn{width:34px;height:34px;font-size:18px}
.vid-compare{display:grid;gap:12px}.vid-compare.two{grid-template-columns:1fr 1fr}.vid-compare figure{margin:0}.vid-compare figcaption{font-size:13.5px;margin-bottom:6px}
.vid-box video{width:100%;max-height:70vh;border-radius:10px;background:#000}
@media (max-width:640px){.vid-compare.two{grid-template-columns:1fr}}
.vid-progress{margin:10px 0}
.vid-box{position:relative}.pose-canvas{position:absolute;left:0;top:0;pointer-events:none}.pose-canvas.drawing{pointer-events:auto;cursor:crosshair;touch-action:none}
.pose-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.pose-tools select{max-width:220px}.pose-draw{display:inline-flex;gap:4px;margin-left:auto}
.pose-box{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:8px 0}.pose-box h4{margin:6px 0}
.pose-faults{list-style:none;padding:0;margin:6px 0}.pose-faults li{padding:6px 8px;border-radius:8px;margin:4px 0;font-size:13.5px}.pose-faults li.red{background:rgba(255,90,79,.12)}.pose-faults li.yellow{background:var(--amber-bg)}
.pose-show{display:inline-flex;gap:10px;flex-wrap:wrap;margin-right:auto}
.pose-show .check{display:inline-flex;gap:4px;margin:0;font-size:13.5px;align-items:center}
.tm-line{display:flex;align-items:flex-end;gap:1px;height:34px;margin:8px 0;border-radius:6px;overflow:hidden;background:var(--soft)}.tm-line i{display:block;min-width:1px;border-radius:2px 2px 0 0}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.tm-card .tm-card-head{display:flex;justify-content:space-between;gap:8px}.tm-card p{margin:4px 0}
.tm-steps{width:100%;border-collapse:collapse}.tm-steps td,.tm-steps th{padding:3px 4px;text-align:left;font-size:13px}.tm-steps input,.tm-steps select{min-width:0}
.tm-block legend{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tm-bl-act{display:inline-flex;gap:4px;margin-left:8px}
.tm-people{width:100%;border-collapse:collapse;margin-top:8px}.tm-people td,.tm-people th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}
.tm-assigned{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.tm-assigned>div{flex:1;min-width:0}
.tm-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.tm-pick-item{text-align:left;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--paper);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px}.tm-pick-item:hover{border-color:var(--line-hover)}
body.tm-open{overflow:hidden}
.tm-player{position:fixed;inset:0;z-index:1000;background:#0b1220;color:#fff;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));--tm-c:#5b8def}
.tm-player small{display:block;font-size:.45em;opacity:.75;font-weight:500}
.tm-top{display:flex;justify-content:space-between;font-size:15px;opacity:.85}.tm-bar{height:6px;background:#26324a;border-radius:9px;margin:8px 0}.tm-bar i{display:block;height:100%;background:var(--tm-c);border-radius:9px}
.tm-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;border-top:10px solid var(--tm-c);border-radius:18px;margin:8px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--tm-c) 22%,transparent),transparent 70%)}
.tm-role{font-size:clamp(26px,7vw,48px);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--tm-c)}.tm-rep{font-size:.6em;color:#fff;opacity:.85}
.tm-speed{font-size:clamp(64px,22vw,170px);font-weight:900;line-height:1}.tm-speed small{display:inline;font-size:.25em;margin-left:6px}
.tm-incline{font-size:clamp(20px,5vw,34px)}.tm-time{font-size:clamp(48px,16vw,120px);font-weight:800;font-variant-numeric:tabular-nums}
.tm-next{font-size:clamp(15px,3.6vw,22px);opacity:.85;padding:6px 12px;border-radius:12px}.tm-next.soon{background:#f5a524;color:#111;opacity:1;font-weight:700}
.tm-ctl{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.tm-ctl button{font-size:18px;padding:14px 20px;border-radius:14px;border:0;background:#26324a;color:#fff;font-weight:700;min-width:120px}.tm-ctl button.go{background:#2fb27a;font-size:22px;min-width:180px}
.tm-end{margin:auto;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:520px}.tm-end h2{font-size:34px;margin:0}.tm-big{font-size:64px;font-weight:900;margin:0}.tm-top-title{opacity:.8}
.tm-end .btn{font-size:18px;padding:12px 26px}
.tm-en{opacity:.7;font-size:.8em}.tm-ctl .tm-en{display:block;font-size:12px}.tm-off{font-size:.42em;display:block;color:#7fe0b0}.tm-off small{font-size:.5em}
@media (max-width:640px){.tm-assigned{flex-direction:column;align-items:stretch}.tm-assigned .btn{width:100%}}
.tm-ctl small{font-size:12px;opacity:.7}
.help summary{cursor:pointer;font-size:16px}.help ul{margin:8px 0 0;padding-left:20px}.help li{margin:6px 0;line-height:1.45}
.pw-wrap{position:relative;display:block}.pw-wrap input{width:100%;padding-right:118px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--soft);color:inherit;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
#ath-q{min-width:min(420px,70vw)}
.qs-btn{display:flex;align-items:center;gap:8px;width:calc(100% - 8px);margin:4px 4px 10px;padding:9px 12px;border-radius:12px;border:1px solid var(--side-line,rgba(255,255,255,.15));background:transparent;color:var(--side-text,#fff);font-size:14px;cursor:pointer;text-align:left}
.qs-btn:hover{background:var(--side-hover,rgba(255,255,255,.08))}.qs-btn kbd{margin-left:auto;font-size:11px;border:1px solid currentColor;border-radius:5px;padding:0 5px;opacity:.6}
.qs-dialog{width:min(640px,94vw);padding:0;align-self:flex-start;margin-top:10vh}.qs-box input{width:100%;font-size:18px;padding:16px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;outline:none}
.qs-res{max-height:60vh;overflow:auto;padding:8px 10px 12px}.qs-group h4{margin:10px 6px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.qs-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:15px}.qs-item.sel,.qs-item:hover{background:var(--accent-soft)}
@media (max-width:820px){.qs-btn kbd{display:none}.qs-btn{width:auto;margin:6px}}
.prog{width:100%;border-collapse:collapse}.prog td,.prog th{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:14px}.prog small{font-size:12.5px}
.spark{color:var(--accent);margin-top:2px}.ok-t{color:var(--green);font-weight:700}.warn-t{color:var(--red);font-weight:700}
.tv{min-height:100vh;background:#0b1736;color:#fff;display:flex;flex-direction:column;padding:2.5vh 4vw;font-size:2.2vh}
.tv-head{display:flex;align-items:center;gap:2vw}.tv-head .brand-logo{height:9vh;width:auto}.tv-title{font-family:'Barlow Condensed',sans-serif;font-size:5vh;font-weight:700;flex:1}
.tv-clock{font-size:5vh;font-weight:800;text-align:right}.tv-clock small{display:block;font-size:2.2vh;opacity:.7;font-weight:500}
.tv-slide{flex:1;display:flex;flex-direction:column;justify-content:center;animation:tvIn .6s ease}.tv h2{font-family:'Barlow Condensed',sans-serif;font-size:7vh;margin:0 0 3vh}.tv h2 small,.tv-match small{display:block;font-size:.4em;opacity:.7;font-weight:500}
.tv-list{list-style:none;padding:0;margin:0;font-size:4.2vh}.tv-list li{padding:1.2vh 0;border-bottom:1px solid rgba(255,255,255,.12)}.tv-list span{opacity:.7}
.tv-match{margin-top:4vh;font-size:3.6vh;background:rgba(46,124,246,.25);border-radius:2vh;padding:2vh 3vw}.tv-match b{display:block;font-size:4.5vh;margin-top:.5vh}
.tv-board{list-style:none;padding:0;margin:0}.tv-board li{display:flex;align-items:center;gap:2vw;font-size:5vh;padding:1.2vh 2vw;border-radius:1.6vh;margin:.8vh 0;background:rgba(255,255,255,.06)}.tv-board li:first-child{background:rgba(255,200,40,.18)}
.tv-rank{width:7vh}.tv-name{flex:1;font-weight:700}.tv-val{font-weight:800}.tv-val small{font-size:.5em;opacity:.7}.tv-muted{opacity:.7;font-size:3.5vh}.tv-err{margin:auto;font-size:3vh}
.tv-dots{display:flex;gap:1vh;justify-content:center}.tv-dots i{width:1.4vh;height:1.4vh;border-radius:50%;background:rgba(255,255,255,.25)}.tv-dots i.on{background:#fff}
@keyframes tvIn{from{opacity:0;transform:translateY(1.5vh)}to{opacity:1;transform:none}}
.tv-links{list-style:none;padding:0}.tv-links li{margin:8px 0}.tv-links input{width:min(520px,70vw);font-size:12px}

/* pretraga popisa (filter-boxes.js) */
.fb-q{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card,transparent);color:inherit;min-width:0}
.fb-q.fb-sel{display:block;width:100%;margin:4px 0;font-size:13px;padding:5px 9px}
.field.inline .fb-q.fb-sel{display:inline-block;width:auto;max-width:140px;margin:0}
.fb-row{display:flex;align-items:center;gap:10px;margin:4px 0 10px;flex-wrap:wrap}.fb-row .fb-q{flex:1 1 220px;max-width:420px}
tr.fb-hide,.fb-hide{display:none!important}

/* Trening uživo (live.js) */
.live-pick{display:grid;gap:10px}.live-pick-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;text-decoration:none;color:inherit}.live-pick-item b{flex:1 1 100%;font-size:17px}
.live-time{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.live-time b{display:block;font:700 44px/1.1 var(--font-display);font-variant-numeric:tabular-nums}
.live-time-btns{display:flex;gap:8px;align-items:center}
.live-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.live-chip{font:inherit;font-weight:600;font-size:15px;padding:11px 14px;min-height:46px;border-radius:12px;border:2px solid var(--green);background:var(--paper);color:var(--green);cursor:pointer}
.live-chip.off{border-color:var(--red);color:var(--red);text-decoration:line-through;opacity:.85}
.live-reasons{display:grid;gap:6px;margin-top:6px}.live-reasons .field,.live-over .field{display:flex;justify-content:space-between;gap:10px;margin:0}
.live-over{display:grid;gap:6px;margin:8px 0}
.live-seg{display:flex;gap:6px;margin-bottom:12px}.live-seg button{flex:1;font:inherit;font-weight:600;padding:11px 6px;border-radius:10px;border:1px solid var(--line);background:var(--soft);color:inherit;cursor:pointer}
.live-seg button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.live-big{font:700 clamp(72px,24vw,140px)/1 var(--font-display);text-align:center;font-variant-numeric:tabular-nums;margin:6px 0 12px}
.live-big.warn{color:var(--red)}.live-iv[data-phase=rad]{color:var(--green)}.live-iv[data-phase=odmor]{color:var(--accent)}
.live-iv-sub{text-align:center;margin:-6px 0 12px}
.live-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}.live-row .btn{min-height:46px;min-width:64px}
.live-laps{max-height:220px;overflow:auto;margin:0;padding-left:28px;font-variant-numeric:tabular-nums}.live-laps li{padding:3px 0}
.live-plan{padding-left:22px}.live-plan li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.live-rpe{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;margin:6px 0 12px}
.live-rpe button{font:inherit;font-weight:700;font-size:16px;min-height:46px;border-radius:9px;border:1px solid var(--line);background:var(--paper);color:inherit;cursor:pointer;padding:0}
.live-rpe button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.live-done{width:100%;min-height:52px;font-size:17px;margin-top:8px}
@media (max-width:520px){.live-rpe{grid-template-columns:repeat(6,1fr)}.live-iv-cfg{grid-template-columns:repeat(3,1fr)}}
/* Plan opterećenja (load-plan.js) */
.lp-tools{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.lp-fill{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lp-fill input{width:110px}
.lp-table input[type=number]{width:96px}.lp-table input[type=text]{min-width:150px}.lp-table select{max-width:190px}
.lp-table tr.lp-cur td{background:var(--accent-soft)}.lp-table tr.lp-future td:first-child b{font-weight:600}
.lp-now{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px}.lp-now b{display:block;font:700 34px/1.1 var(--font-display)}.lp-now p{margin:0}
.live-qr{font-size:11px;font-weight:700;color:var(--green);margin-left:4px}.live-chip.off .live-qr{color:inherit}.live-row-left{justify-content:flex-start;margin-top:4px}
/* QR prijava (checkin.js) */
.ci-card{text-align:center}.ci-ok{font-size:64px;line-height:1;margin:8px 0}.ci-title{font-size:28px;margin:6px 0}.ci-time{font:700 40px/1 var(--font-display);margin:6px 0 14px}
.ci-steps{text-align:left;padding-left:20px}.ci-steps li{margin:8px 0}
.ci-coach{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.ci-qr svg{display:block;max-width:220px;height:auto;border:1px solid var(--line);border-radius:8px}
@media (max-width:560px){.ci-coach{grid-template-columns:1fr}.ci-qr svg{margin:0 auto}}
/* San i oporavak (sleep.js) */
.sleep-card .stats{margin:8px 0}.sleep-charts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.reason-line{margin:4px 0 8px}
/* Izvješće roditeljima (parents.js) */
.par-table input[type=text],.par-table input[type=email]{min-width:170px}.par-pre{white-space:pre-wrap;font:inherit;font-size:14px;background:var(--soft);border-radius:10px;padding:12px;max-height:60vh;overflow:auto}
.field-bad{border-color:var(--red)!important}
/* Preporuka opterećenja (training-builder.js, load-reco.js) */
.reco-head{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:4px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.reco-head .btn{margin-left:auto}
.reco-chip{display:block;margin-top:4px;font:inherit;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;white-space:nowrap}
.reco-hint{display:block;font-size:11px;color:var(--accent-strong);margin-top:2px}.reco-why{display:block;font-size:11px;color:var(--muted);margin-top:3px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reco-warn{font-size:12px;color:var(--red);margin-top:4px;max-width:340px}.trn-table tr.reco-on input[name=load]{border-color:var(--accent)}
/* Treninzi (workouts.js) */
.wk-filters{display:grid;gap:10px}.wk-filters input[type=search]{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:inherit}
.wk-chips{display:flex;flex-wrap:wrap;gap:6px}.wk-chips .chip{font:inherit;font-size:13px;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:inherit;cursor:pointer}
.wk-chips .chip.on{background:var(--g,var(--primary));border-color:var(--g,var(--primary));color:#fff}
.wk-sel{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.wk-sel select{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:inherit}
.wk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-top:12px}
.wk-card{text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line)}.wk-card:hover{border-color:var(--line-hover)}
.wk-card h3{margin:4px 0 0;font-size:17px}.wk-top{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.wk-focus{margin:0;font-size:13px;font-weight:600;color:var(--ink-2)}
.wk-sum{margin:2px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wk-goal{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--g) 72%,#000);color:#fff}
.wk-thumbs{display:flex;gap:4px;align-items:center;margin-top:4px}.wk-thumbs img{width:54px;height:40px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px}
.wk-block{border-top:1px solid var(--line);padding-top:8px;margin-top:10px}.wk-block h4{margin:0 0 6px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.wk-label{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:7px;background:var(--primary);color:#fff;font-size:13px}
.wk-items{list-style:none;padding:0;margin:0;display:grid;gap:6px}.wk-items li{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center}
.wk-items img{width:70px;height:52px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px}.wk-items div{display:flex;flex-direction:column;gap:1px}
.link-btn{font:inherit;background:none;border:0;padding:0;color:var(--link,var(--accent));cursor:pointer;text-align:left}
.wk-people{display:grid;gap:4px;max-height:55vh;overflow:auto}.wk-person{font:inherit;text-align:left;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:inherit;cursor:pointer}.wk-person:hover{border-color:var(--accent)}
.items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.items-head h3{margin:0}
ul.reco-warn{margin:4px 0 10px;padding-left:18px}
/* Izvještaj utakmice: odabir treninga u tablici MD+1 */
.mr-reco select { width: 100%; min-width: 170px; max-width: 240px; min-height: 36px; padding: 4px 8px; border: 1px solid var(--line, #d0d7e2); border-radius: 8px; background: var(--card, #fff); color: inherit; font: inherit; font-size: 0.85rem; }
.mr-reco td:nth-child(4) { min-width: 120px; }
/* Izbornik u skupinama */
.sidebar nav .nav-sec{margin:12px 14px 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--side-ink);opacity:.85}
.sidebar nav a{padding-top:9px;padding-bottom:9px}
@media (max-width:760px){.sidebar nav .nav-sec{display:none}}
/* Danas */
.today-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.today-quick .btn{gap:6px}
.todo-list,.ins-list{list-style:none;margin:0;padding:0}
.todo-list li,.ins-list li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.todo-list li:last-child,.ins-list li:last-child{border-bottom:0}
.todo-list li a{flex:1;color:inherit;text-decoration:none;font-weight:600}
.todo-list li a:hover{text-decoration:underline}
.ins-list li > div{flex:1;min-width:0}
.ins-dot{flex:none;width:11px;height:11px;border-radius:50%;margin-top:6px;background:var(--muted,#9aa59f)}
.ins-dot.red{background:#c8452f}.ins-dot.yellow{background:#d9a21b}.ins-dot.green{background:#3f8f5a}.ins-dot.blue{background:#2f6fde}.ins-dot.gray{background:#9aa59f}
.today-ins .btn[data-all]{margin-top:10px}
.ins-one{display:flex;gap:10px;align-items:flex-start}
/* Sportaš: Moj dan */
.my-day-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.my-day-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.my-day-steps li > div{flex:1;min-width:0}
.my-day-steps li.next{border-color:var(--accent,#2f6fde);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#2f6fde) 18%,transparent)}
.my-day-steps li.done{opacity:1}
.my-day-steps li.none{opacity:1}
.md-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--line);color:inherit}
.my-day-steps li.done .md-n{background:#3f8f5a;color:#fff}
.my-day-steps li.next .md-n{background:var(--accent,#2f6fde);color:#fff}
.my-day-done{font-weight:700;margin:0 0 10px}
/* Osobna izvješća svih igrača: svaki na svojoj stranici */
.team-report-page + .team-report-page{margin-top:28px}
@media print{.team-report-page{break-before:page;page-break-before:always}.team-report-page:first-child{break-before:auto;page-break-before:auto}}
/* <dialog> na starijim preglednicima (public/js/compat.js) */
.dlg-fallback{display:block;position:fixed;inset:0;margin:auto;z-index:1000;max-height:90vh;overflow:auto;box-shadow:0 0 0 100vmax rgba(5,12,30,.55)}
/* ocjena treninga jednim dodirom */
.rate-row{display:grid;gap:6px}.rate-btns{display:flex;gap:8px}
.rate-btn{flex:1;display:grid;place-items:center;gap:2px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;min-height:56px}
.rate-btn span{font-size:1.6rem;line-height:1}.rate-btn small{font-size:.75rem;color:var(--muted)}
.rate-btn.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
/* prehrana oko utakmice */
.nut-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.nut-list li{display:flex;gap:10px;align-items:flex-start}
.nut-ic{font-size:1.25rem;line-height:1.3;flex:none}.nut-card.nut-now{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.nut-card h3{margin:12px 0 2px;font-size:1rem}
/* značke */
.badge-grid{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.b-art{position:relative;flex:none;line-height:0}.b-art img{display:block;width:72px;height:72px}
.b-art b{position:absolute;left:0;right:0;top:79%;transform:translateY(-50%);text-align:center;font:700 16px/1 var(--font-display);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.45);letter-spacing:.02em}
.b-art[data-l=niz] b{top:82%}
.b-art.next img{width:32px;height:32px;filter:grayscale(1);opacity:.55}
.badge-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.badge{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.badge .b-ic{font-size:1.5rem}
.badge-next{list-style:none;padding:0;margin:4px 0;display:grid;gap:6px}.badge-next li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:center}
.badge-next .b-bar{grid-column:2/3;height:6px;border-radius:4px;background:var(--line);overflow:hidden}.badge-next .b-bar i{display:block;height:100%;background:var(--accent)}
/* godišnji plan */
.sp-line{display:grid;grid-template-columns:repeat(var(--n),minmax(6px,1fr));grid-auto-rows:auto;gap:3px 1px;margin:8px 0;overflow-x:auto}
.sp-month{grid-row:1;font-size:.7rem;color:var(--muted)}.sp-bar{grid-row:auto;border-radius:6px;padding:3px 6px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.sp-tick{grid-row:-2;height:10px;border-radius:2px;background:var(--line)}.sp-tick.m{background:var(--muted)}.sp-tick.t{background:var(--amber)}.sp-tick.now{background:var(--accent)}
.sp-pri{background:var(--amber-bg)}.sp-nat{background:var(--accent-soft)}.sp-prij{background:var(--soft)}.sp-ost{background:var(--notice-bg)}
.sp-dot{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line);flex:none;margin-top:3px}
.sp-phases{list-style:none;padding:0;display:grid;gap:10px}.sp-phases li{display:flex;gap:10px;align-items:flex-start}.sp-phases li>div{flex:1}.sp-goals{margin-top:4px}
.sp-chip{display:inline-block;border-radius:6px;padding:1px 6px;font-size:.75rem}.sp-weeks .sp-now td{background:var(--accent-soft)}
.sp-goal{width:100%;min-width:12em;font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.sp-int{font:inherit}
.sp-print{display:none}
@media print{.sp-goal,.sp-int{display:none}.sp-print{display:inline}.sp-weeks{font-size:.75rem}}
/* tjedni izvještaj */
.sr-days{display:flex;gap:10px;align-items:flex-end;margin:8px 0}.sr-days>div{display:grid;justify-items:center;gap:2px;flex:1}
.sr-col{display:block;width:100%;max-width:36px;min-height:2px;border-radius:4px 4px 0 0;background:var(--accent)}
@media print{.sr-page .card{break-inside:avoid}.sr-page{font-size:.85rem}}
.wq-cycle-start{display:inline-flex;margin:0 0 8px}.cycle-card details>summary{cursor:pointer}
/* termin: vježbe iz baze */
.ap-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-end;padding:8px 0;border-bottom:1px solid var(--line)}.ap-row .ap-name{flex:1 1 100%;font-size:.95rem}
.ap-results{list-style:none;padding:0;margin:4px 0;display:grid;gap:4px;max-height:260px;overflow:auto}
.ap-hit{width:100%;text-align:left;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer}.ap-hit:hover{border-color:var(--accent)}
.appt-ex{margin:4px 0 10px;padding-left:20px;display:grid;gap:6px}.appt-ex li span{display:block;color:var(--muted)}
.my-prog{list-style:none;padding:0;margin:6px 0;display:grid;gap:10px}.my-prog li{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}
.my-prog li span{display:block}.my-prog-r{display:flex;align-items:center;gap:6px;color:var(--accent);flex:none}
.biz-bars{display:flex;gap:8px;align-items:flex-end;margin:10px 0;overflow-x:auto}.biz-bars>div{display:grid;justify-items:center;gap:2px;min-width:30px}
.biz-col{display:flex;flex-direction:column-reverse;width:22px}.biz-col i{display:block;width:100%}.b-paid{background:var(--accent);border-radius:0 0 3px 3px}.b-open{background:var(--amber);border-radius:3px 3px 0 0}
.ob-steps{list-style:none;padding:0;margin:6px 0 12px;display:grid;gap:10px}.ob-steps li{display:flex;gap:12px;align-items:flex-start}.ob-ic{font-size:1.6rem;line-height:1}.ob-steps p{margin:2px 0 0}
.onboarding{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.help-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px}.help-toc ul{list-style:none;padding:0;margin:4px 0 0}.help-toc li{margin:3px 0}
.help-page p{line-height:1.5}.help-sec h3{font-size:1rem;margin:14px 0 4px}.help-sec ol{margin:4px 0 0;padding-left:22px}.help-sec li{margin:5px 0;line-height:1.45}
.dbl-week{border-left:4px solid var(--warn,#d9a21b);margin:10px 0}.dbl-week summary{cursor:pointer}.dbl-week ul{margin:8px 0 4px 18px}.dbl-turnir,.dbl-gusti{border-left-color:var(--danger,#c8452f)}
.red-t{color:var(--danger,#c8452f)}.rd-h{margin:18px 0 6px;font-size:1.05rem}
.tc-svg{width:100%;max-width:620px;height:auto;color:var(--ink-2);display:block;margin:4px 0 10px}.tc-legend{display:flex;flex-wrap:wrap;gap:10px}.tc-leg{display:inline-flex;align-items:center;gap:5px;font-size:.85rem}.tc-leg i{width:12px;height:12px;border-radius:3px;display:inline-block}.tc-pt{white-space:nowrap}
.tm-pick-item.on{border-color:var(--brand,#1846c4);box-shadow:0 0 0 2px var(--brand,#1846c4) inset}.tm-row{align-items:flex-start}.tm-row .tm-line{margin-top:4px;max-width:420px}.ex-tm .tm-line{margin:8px 0}

/* Trening na traci — dizajn B na GOGO plavoj (27. 10. 2026.) */
.tm-player{background:#1846c4;overflow:hidden}
.tm-player>*{position:relative}
.tm-player .tm-wm{position:absolute;left:50%;top:48%;width:min(86vw,520px);transform:translate(-50%,-50%);opacity:.10;filter:grayscale(1) brightness(3);pointer-events:none;z-index:0}
.tm-player .tm-top{font-size:clamp(15px,4vw,20px);opacity:1}.tm-player .tm-bar{height:8px;background:rgba(255,255,255,.25)}.tm-player .tm-bar i{background:#fff}
.tm-player .tm-main{flex:1;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-start;text-align:left;border:0;background:none;margin:8px 0;padding:0;border-radius:0}
.tm-head{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--tm-c);border-radius:18px;padding:8px 16px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.tm-player .tm-role{font-size:clamp(28px,8.5vw,56px);font-weight:900;letter-spacing:.04em;color:#fff;line-height:1.05}.tm-player .tm-role small{font-size:.38em;opacity:.85;letter-spacing:0}
.tm-player .tm-rep{font-size:.7em;opacity:.95}
.tm-player .tm-time{font-size:clamp(50px,15vw,110px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.tm-tile{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(11,23,54,.30);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:6px 18px;min-height:0}
.tm-lbl{font-size:clamp(16px,4.4vw,24px);text-transform:uppercase;letter-spacing:.08em;opacity:.9;font-weight:700}.tm-lbl small{font-size:.6em;letter-spacing:.04em;text-transform:none}
.tm-val{font-size:clamp(96px,32vw,230px);font-weight:900;line-height:.95;font-variant-numeric:tabular-nums;white-space:nowrap}.tm-val i{font-style:normal;font-size:.22em;font-weight:700;opacity:.9;margin-left:6px}
.tm-player .tm-off{font-size:clamp(34px,10vw,64px);font-weight:900;color:#7fe0b0;text-align:right;line-height:1.05}
.tm-player .tm-next{background:#0b1736;color:#fff;border-radius:20px;padding:12px 16px 12px 22px;opacity:1;font-size:inherit;border-left:12px solid var(--tm-n,#2fb27a)}
.tm-nk{font-size:clamp(14px,3.8vw,18px);text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.75}.tm-nt{font-size:clamp(26px,7.6vw,42px);font-weight:900;line-height:1.1}.tm-nd{font-size:clamp(20px,6vw,32px);font-weight:800;color:#9cc0ff}
.tm-player .tm-next.soon{background:#f5a524;color:#111;border-left-color:#111}.tm-next.soon .tm-nd{color:#111}.tm-next.soon .tm-nk{opacity:1}
.tm-player .tm-ctl button{background:#0b1736}.tm-player .tm-ctl button.go{background:#2fb27a}
.tm-player .tm-end{color:#fff}
@media (orientation:landscape) and (max-height:520px){.tm-val{font-size:clamp(60px,18vh,140px)}.tm-player .tm-time{font-size:clamp(40px,14vh,90px)}}
.tm-player .tm-top{gap:10px}.tm-player .tm-top span:last-child{white-space:nowrap}
/* serije u treningu igrača i odmor */
.sets{border:1px solid var(--line);border-radius:14px;padding:8px 10px;margin:10px 0;background:var(--soft)}.sets-head{margin:0 0 6px;font-weight:700}
.set-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}.set-row:first-of-type{border-top:0}
.set-no{font-weight:800;min-width:24px}.set-plan{flex:1;font-size:17px;font-weight:600}.set-row.changed .set-plan{color:var(--warn-ink,#9a5b00)}
.set-check{width:52px;height:52px;border-radius:14px;border:2px solid var(--line-hover);background:var(--paper);font-size:26px;font-weight:900;color:var(--muted,#7b8794);cursor:pointer}
.set-row.done .set-check{background:#2fb27a;border-color:#2fb27a;color:#fff}.set-row.done .set-plan{text-decoration:none;opacity:.8}
.set-edit{padding:4px 0 8px 32px}
/* 14. 11. 2026.: bez zumiranja na dvostruki dodir (Android: ✓ pa ▶ brzo zaredom povećavalo je stranicu); povećanje s dva prsta i dalje radi */
html{touch-action:manipulation}
.rest-bar{max-width:calc(100vw - 20px);box-sizing:border-box}.rest-bar .rest-t{font-size:clamp(26px,8vw,34px)}
.rest-bar[popover]{inset:auto 10px max(10px,env(safe-area-inset-bottom)) 10px;margin:0;width:auto;height:auto;border:0;overflow:visible;color:#fff}
.rest-bar{position:fixed;transform:translateZ(0);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:900;background:#1846c4;color:#fff;border-radius:18px;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.rest-bar .rest-t{font-size:34px;font-variant-numeric:tabular-nums;line-height:1}.rest-bar .rest-lbl{font-weight:700}.rest-bar .rest-next{flex:1;opacity:.85;font-size:14px}
.rest-bar button{border:0;border-radius:12px;padding:10px 14px;background:#0b1736;color:#fff;font-weight:700;font-size:16px}.rest-bar.go{background:#2fb27a;font-size:20px}
.set-plan{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-row .btn{padding:6px 8px;font-size:13px;white-space:nowrap}.rest-bar .rest-next{min-width:120px}
.set-go{width:52px;height:52px;border-radius:14px;border:0;background:#1846c4;color:#fff;font-size:22px;font-weight:900;cursor:pointer}.rest-bar.work{background:#2fb27a}.ss-tag{display:inline-block;background:#1846c4;color:#fff;border-radius:8px;padding:1px 8px;font-weight:900;margin-right:4px}
.pr-pop{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:950;background:linear-gradient(135deg,#f5a524,#ffcf5c);color:#1b1300;border-radius:20px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;text-align:center;box-shadow:0 14px 40px rgba(0,0,0,.35);max-width:min(92vw,420px);animation:prpop .4s ease}.pr-pop b{font-size:22px}.pr-pop span{font-size:18px;font-weight:700}@keyframes prpop{from{transform:translate(-50%,-20px) scale(.9);opacity:0}to{transform:translate(-50%,0) scale(1);opacity:1}}
.set-plan{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal;overflow:visible}.set-plan{min-width:0}.set-plan b{font-size:18px;white-space:normal;overflow-wrap:anywhere}.set-edit-btn{font-size:13px;padding:0}.pr-pop{width:min(92vw,420px);max-width:none}
/* krug: vrsta rada (HIIT, EMOM, AMRAP, AFAP) */
.circuit-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;background:#eef3ff;border:1px solid #c9d8ff;border-left:6px solid #1846c4;border-radius:12px;padding:10px 12px;margin:10px 0 4px}
.circuit-row>b{align-self:center;color:#1846c4}.circuit-row .field{margin:0}.circuit-params{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.circuit-hint{flex-basis:100%;margin:0}
.ex-circuit{background:#eef3ff;border-left:6px solid #1846c4;border-radius:12px;padding:10px 12px;margin:10px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.ex-circuit p{margin:0}
html[data-theme="dark"] :is(.circuit-row,.ex-circuit){background:#14213d;border-color:#2b3f73}html[data-theme="dark"] .circuit-row>b{color:#9db8ff}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) :is(.circuit-row,.ex-circuit){background:#14213d;border-color:#2b3f73}html:not([data-theme="light"]) .circuit-row>b{color:#9db8ff}}
.cp-tile{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}
.cp-ex{font-size:clamp(30px,9vw,64px);font-weight:900;line-height:1.05}.cp-ex small{font-size:.4em;opacity:.8;font-weight:600}
.cp-dose{font-size:clamp(22px,6vw,40px);font-weight:700;color:#cfe0ff}
.cp-round{font-size:clamp(22px,6vw,34px);font-weight:900;padding:18px;border:0;border-radius:20px;background:#2fb27a;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.cp-round .tm-en{display:block;font-size:.5em}
.cp-list{margin:0;padding-left:0;list-style:none;display:grid;gap:4px;font-size:clamp(16px,4vw,22px)}.cp-list b{display:inline-block;min-width:2.2em;color:#9db8ff}.cp-list span{opacity:.8}.cp-list li.on{font-weight:800}
.cp-extra{display:flex;flex-direction:column;gap:6px;font-size:18px;font-weight:700}.cp-extra input{font-size:28px;width:140px;text-align:center;padding:8px;border-radius:12px;border:0;margin:0 auto}
.cp-splits{background:rgba(11,23,54,.45);border-radius:16px;padding:10px 16px;width:100%;max-width:420px}.cp-splits ol{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:4px 12px;font-size:18px;font-variant-numeric:tabular-nums}.cp-splits li span{opacity:.7}
.cp-paused{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0b1736;color:#fff;font-size:clamp(36px,8vw,80px);font-weight:900;padding:16px 40px;border-radius:24px;z-index:3}
.cp-tv .tm-main{max-width:1400px;margin:8px auto;width:100%}.cp-tv .cp-list{font-size:clamp(20px,2.6vw,36px)}
.circuit-params .check{align-self:center;margin:0}
/* ---------- uređivač plana (blokovi, rad i opterećenje s jedinicom) ---------- */
dialog.modal.wide:has(.pe){width:min(1320px,calc(100vw - 24px))}
.pe-types{margin:6px 0 10px}.pe-types>span{font-size:13px;font-weight:600;color:var(--ink-2)}
.pe-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pe-chip{font:inherit;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink-2);cursor:pointer}
.pe-chip.on{background:var(--primary);border-color:var(--primary);color:#fff}
.pe{--pe-cols:minmax(220px,1.6fr) 64px minmax(190px,1.25fr) minmax(190px,1.25fr) 104px 140px 104px}
.pe-head{display:grid;grid-template-columns:var(--pe-cols);gap:8px;padding:4px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.pe-blk{border:1px solid var(--line-strong);border-left:6px solid var(--primary);border-radius:14px;margin:10px 0 4px;background:var(--paper);overflow:hidden}
.pe-blk.m-superset{border-left-color:#7a3fc4}.pe-blk.m-timed{border-left-color:#f5a524}
.pe-bh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;background:var(--soft)}
.pe-bh>b{font-family:var(--font-display);font-size:22px;min-width:16px}.pe-bh select{min-height:34px;font-weight:600}
.pe-blk.m-timed .pe-bh{background:color-mix(in srgb,#f5a524 14%,var(--paper))}
.pe-params{padding:6px 12px 0}.pe-params .circuit-params{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.pe-params .circuit-hint{margin:4px 0 6px}
.pe-row{display:grid;grid-template-columns:var(--pe-cols);gap:8px;align-items:start;padding:8px 12px;border-top:1px solid var(--line)}
.pe-row:first-of-type{border-top:0}
.pe-row input,.pe-row select{width:100%;min-height:38px;font:inherit;font-size:14px}
.pe-ex{display:flex;gap:10px;align-items:flex-start;min-width:0}.pe-ex img,.pe-noimg{width:58px;height:44px;flex:none;border-radius:8px;background:#fff;object-fit:contain;border:1px solid var(--line)}
.pe-ex b{display:inline;font-size:14px;line-height:1.25}.pe-links{display:flex;gap:10px;margin-top:3px}.pe-links .link,.pe-span .link{font-size:12px}
.pe-tag{display:inline-block;background:var(--primary);color:#fff;font-weight:800;font-size:12px;border-radius:6px;padding:1px 6px;margin-right:5px;vertical-align:1px}
.pe-blk.m-superset .pe-tag{background:#7a3fc4}.pe-blk.m-timed .pe-tag{background:#f5a524;color:#111}
.pe-pair{display:flex;gap:6px}.pe-pair input{width:70px;flex:none;text-align:center;font-weight:700}.pe-pair input.wide{flex:1;width:auto;text-align:left;font-weight:500}.pe-pair select{flex:1;min-width:0}
.pe-side{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);margin-top:4px}.pe-side input{width:16px;min-height:0}
.pe-ok{display:block;color:var(--green);font-size:12px;margin-top:3px}
.pe-es{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--card2,#eef2f8);color:var(--text);border:1px solid var(--border,#d6deea);cursor:help}
.pe-es.es-glikoliticki,.pe-es.es-fosf_glik{border-color:#c2410c}.pe-es.es-fosfageni{border-color:#2563eb}.pe-es.es-aerobni,.pe-es.es-mjesoviti{border-color:#15803d}
.pe-esrow{padding:0 12px 6px}
.mt-dr td:first-child{min-width:170px}.mt-dr td:nth-child(4){min-width:190px}
.pe-dash{display:inline-flex;align-items:center;min-height:38px;color:var(--muted);font-size:13px}
.pe-reco{display:inline-block;margin-top:4px;font:inherit;font-size:12px;font-weight:600;color:#a26b00;background:var(--amber-bg);border:1px dashed #d9a441;border-radius:8px;padding:3px 8px;cursor:pointer;text-align:left}
.pe-tempo{margin-top:4px;text-align:center}
.pe-tools{display:flex;gap:4px;justify-content:flex-end}
.pe-note{grid-column:1/-1;padding-left:68px}.pe-note input{width:100%}
.pe-span{grid-column:2/7;display:flex;gap:10px;align-items:center}
.pe-bf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 12px 8px;border-top:1px dashed var(--line)}
.pe-link{display:flex;justify-content:center;margin:-2px 0}.pe-link button{font:inherit;font-size:12px;font-weight:700;color:var(--link);background:var(--paper);border:1px dashed var(--line-strong);border-radius:999px;padding:3px 12px;cursor:pointer}
.pe-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
html[data-theme="dark"] .pe-reco{color:#ffd38a;border-color:#8a6a2a}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .pe-reco{color:#ffd38a;border-color:#8a6a2a}}
@media (max-width:900px){
  .pe-head{display:none}
  .pe-row{grid-template-columns:1fr 1fr;gap:8px 10px}
  .pe-ex,.pe-note,.pe-span{grid-column:1/-1}.pe-note{padding-left:0}
  .pe-c::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;margin-bottom:2px}
  .pe-tools{grid-column:1/-1}
}
.pe input:not([type=checkbox]),.pe select{font:inherit;font-size:14px;color:var(--ink);background:var(--canvas);border:1px solid var(--line-strong);border-radius:10px;padding:6px 8px;min-height:38px}
.pe select{background:var(--soft)}.pe input:focus,.pe select:focus{outline:2px solid var(--focus);outline-offset:0}
/* ispunjen jutarnji upitnik: pregled umjesto obrasca */
.wq-done{background:var(--paper);border:1px solid var(--line);border-left:5px solid #2fb27a;border-radius:var(--radius);padding:10px 12px;margin:10px 0}
.wq-vals{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0}
.wq-v{display:flex;flex-direction:column;gap:2px;background:var(--soft);border-radius:12px;padding:8px 10px;border-left:4px solid var(--line-strong)}
.wq-v small{font-size:11px;color:var(--muted);font-weight:600}.wq-v b{font-size:14px}
.wq-v.g{border-left-color:#2fb27a}.wq-v.y{border-left-color:#d9a21b}.wq-v.r{border-left-color:#c8452f}

.wq-done-head{display:flex;gap:10px;align-items:center}.wq-done-head b{font-size:15px}.wq-done-head small{display:block;font-size:12px}
.wq-ok{width:28px;height:28px;flex:none;border-radius:50%;background:#2fb27a;color:#fff;display:grid;place-items:center;font-weight:900}
.wq-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.wq-p{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;background:var(--soft);border-radius:999px;padding:3px 9px;border:1px solid transparent}
.wq-p i{font-style:normal}.wq-p.g{border-color:#2fb27a55}.wq-p.y{border-color:#d9a21b88}.wq-p.r{border-color:#c8452f;color:#c8452f}
.wq-p .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wq-edit{margin-left:auto}

/* Termin ↔ trening iz aplikacije */
.appt-card .appt-app { display: block; margin-top: 2px; font-weight: 600; }
.appt-card .appt-app.ok { color: var(--ok, #2e7d32); }
.appt-card .appt-app.ask { color: var(--warn, #b26a00); }
.appt-appbox.ask { border-color: var(--warn, #b26a00); }
.appt-sug { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line, #ddd); }
.appt-sug:first-of-type { border-top: 0; }
.appt-manual > summary { cursor: pointer; margin: 6px 0; color: var(--muted, #777); }
.appt-link-note { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.actions.start { justify-content: flex-start; }

/* Google kalendar: neprepoznati naslovi */
.gc-unm { border: 1px solid var(--warn, #b26a00); border-radius: 10px; padding: 8px 10px; margin: 8px 0; }
.gc-unm-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 5px 0; border-top: 1px solid var(--line, #ddd); }
.gc-unm-t { flex: 1 1 160px; font-weight: 600; }
.gc-unm-row select { max-width: 220px; }

/* Klijenti u terminu (grupni termin uživo) */
.lc-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.lc-card header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.lc-card header b { font-size: 1.15em; }
.lc-card.none { opacity: .75; }
.lc-title { margin: 4px 0; }
.lc-bar { height: 8px; border-radius: 99px; background: var(--line, #ddd); overflow: hidden; }
.lc-bar span { display: block; height: 100%; background: var(--ok, #2e7d32); transition: width .3s; }
.lc-list { list-style: none; margin: 8px 0 0; padding: 0; }
.lc-it { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line, #ddd); }
.lc-it .lc-n { min-width: 26px; text-align: center; font-weight: 700; color: var(--muted, #777); }
.lc-it .lc-name { flex: 1; display: flex; flex-direction: column; }
.lc-it.ok .lc-name { color: var(--ok, #2e7d32); }
.lc-it.sk .lc-name { text-decoration: line-through; opacity: .6; }
.lc-it.cur { background: color-mix(in srgb, var(--warn, #b26a00) 12%, transparent); border-radius: 8px; }
.lc-got { color: var(--ok, #2e7d32); font-weight: 600; }
.lc-entry { border: 1px dashed var(--line-hover, #999); margin-bottom: 12px; }

/* Mjesečni izvještaj: poruka trenera */
.mr-note { border-left: 4px solid var(--brand, #1d4ed8); background: color-mix(in srgb, var(--brand, #1d4ed8) 7%, transparent); padding: 10px 14px; border-radius: 8px; margin: 10px 0 14px; }
.mr-note .eyebrow { margin: 0 0 4px; }

/* „Javi se” — klijenti koji se gube */
.ret-list { list-style: none; margin: 0; padding: 0; }
.ret-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line, #ddd); }
.ret-list li:first-child { border-top: 0; }
.ret-why { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.ret-act { display: flex; gap: 6px; flex-wrap: wrap; }

/* 📈 Napredak u uređivaču treninga */
.prog-box { border: 1px solid var(--ok, #2e7d32); background: color-mix(in srgb, var(--ok, #2e7d32) 7%, transparent); border-radius: 10px; padding: 8px 12px; margin: 6px 0 10px; }
.prog-box ul { list-style: none; margin: 4px 0 8px; padding: 0; }
.prog-box li { padding: 2px 0; }

/* Anatomija 3D */
.a3-card { padding: 0; overflow: hidden; }
.a3-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; min-height: 70vh; }
.a3-wrap.compact { grid-template-columns: 1fr; min-height: 0; }
.a3-stage { position: relative; min-height: 70vh; background: #eef1f4; touch-action: none; }
.a3-wrap.compact .a3-stage { min-height: 58vh; }
.a3-stage canvas { display: block; width: 100% !important; height: 100% !important; position: absolute; inset: 0; }
.a3-load { position: absolute; inset: 0; display: grid; place-content: center; gap: 8px; text-align: center; z-index: 2; pointer-events: none; }
.a3-load[hidden] { display: none; }
.a3-bar { width: 220px; height: 6px; border-radius: 9px; background: rgba(0,0,0,.12); overflow: hidden; }
.a3-bar span { display: block; height: 100%; width: 0; background: var(--brand, #1d4ed8); transition: width .2s; }
.a3-info { position: absolute; left: 10px; top: 10px; max-width: min(340px, calc(100% - 20px)); background: var(--paper, #fff); border-radius: 12px; padding: 10px 34px 10px 12px; box-shadow: 0 4px 18px rgba(0,0,0,.15); display: flex; flex-direction: column; gap: 2px; z-index: 3; }
.a3-info[hidden] { display: none; }
.a3-info b { font-size: 1.05em; } .a3-info i { color: var(--muted, #666); }
.a3-info .a3-ex { margin-top: 6px; align-self: flex-start; }
.a3-x { position: absolute; right: 6px; top: 4px; border: 0; background: none; font-size: 22px; cursor: pointer; color: inherit; }
.a3-views { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 4px; z-index: 3; flex-wrap: wrap; justify-content: flex-end; }
.a3-views button { border: 1px solid var(--line, #ccc); background: var(--paper, #fff); color: inherit; border-radius: 9px; padding: 6px 10px; font: inherit; font-size: 13px; cursor: pointer; min-height: 36px; }
.a3-side { padding: 12px; display: flex; flex-direction: column; gap: 10px; border-left: 1px solid var(--line, #ddd); }
.a3-wrap.compact .a3-side { border-left: 0; border-top: 1px solid var(--line, #ddd); }
.a3-search { position: relative; display: block; }
.a3-search input { width: 100%; }
.a3-search ul { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; list-style: none; margin: 2px 0 0; padding: 4px; background: var(--paper, #fff); border: 1px solid var(--line, #ccc); border-radius: 10px; max-height: 320px; overflow: auto; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.a3-search li button { width: 100%; text-align: left; border: 0; background: none; color: inherit; padding: 6px 8px; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; font: inherit; }
.a3-search li button:hover { background: var(--line, #eee); }
.a3-search li i, .a3-search li small { font-size: 12px; color: var(--muted, #777); }
.a3-layers { display: flex; flex-wrap: wrap; gap: 6px; }
.a3-chip input { position: absolute; opacity: 0; }
.a3-chip span { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line, #ccc); border-radius: 999px; padding: 6px 10px; font-size: 13px; cursor: pointer; }
.a3-chip span::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--c); opacity: .35; }
.a3-chip input:checked + span { border-color: var(--c); font-weight: 600; }
.a3-chip input:checked + span::before { opacity: 1; }
.a3-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.a3-credit { font-size: 11px; margin-top: auto; }
@media (max-width: 860px) { .a3-wrap { grid-template-columns: 1fr; } .a3-side { border-left: 0; border-top: 1px solid var(--line, #ddd); } .a3-stage { min-height: 62vh; } }
.a3-search input { min-height: 44px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--line, #ccc); font: inherit; background: var(--paper, #fff); color: inherit; }
.a3-dlg { min-height: 60vh; }
.a3-dlg .a3-wrap.compact .a3-stage { min-height: 56vh; }
.a3-dlg .a3-side .a3-help, .a3-dlg .a3-tools [data-act="half"] { display: none; }
.a3-tools .btn.on { background: var(--brand, #1d4ed8); color: #fff; border-color: transparent; }

/* Izvještaj paketa */
.pkg-bar { height: 10px; border-radius: 99px; background: var(--line, #ddd); overflow: hidden; margin: 6px 0 2px; }
.pkg-bar span { display: block; height: 100%; background: var(--brand, #1d4ed8); }
.pkg-report .stat b small { font-size: .55em; color: var(--muted, #777); }
.pkg-next { border-left: 4px solid var(--ok, #2e7d32); padding-left: 12px; }
/* 29. 10.: Anatomija 3D u odabiru vježbi i planu povratka */
.tb-3d { margin-bottom: 10px; }
.tb-3d .a3-wrap.compact .a3-stage { min-height: 42vh; }
.tb-3d-note { margin: 0 0 6px; }
.rtp3d-ex { margin: 6px 0 8px; }

/* Opterećenje po serijama (piramida) — trener: termin, novi trening, predlošci */
.pe-ps{grid-column:1/-1;padding-left:68px}
@media (max-width:760px){.pe-ps{padding-left:0}}
.ap-row .ps-box{flex-basis:100%;width:100%}
.ps-box{border:1px dashed var(--line,#c9d3e0);border-radius:10px;padding:8px 10px;margin:4px 0 2px}
.ps-grid{display:grid;grid-template-columns:2em 84px 1.2em 96px;gap:6px 8px;align-items:center}
.ps-h{font-size:.75rem;color:var(--muted,#667);text-transform:uppercase;letter-spacing:.03em}
.ps-grid input{width:100%;padding:6px 8px;text-align:center}
.ps-no{font-weight:700;color:var(--muted,#667)}
.ps-x{color:var(--muted,#667)}
.ps-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.ps-sum b,.ps-sum{font-variant-numeric:tabular-nums}
.pe-links .link.on{font-weight:700}
.set-plan .ps-of{color:var(--muted,#667);font-weight:400}

/* Jutarnji upitnik: jačina boli za svako mjesto */
.pain-lv{margin:6px 0 10px}.pain-lv-name{display:block;font-weight:600;margin-bottom:4px}.pain-lv-name .en{margin-left:6px}
.pain-row{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:6px 0}.pain-row input[name=pa_area]{flex:1 1 180px;min-width:0}

/* Osnovni podaci: polja u retku poravnata (različite duljine naslova), datum na iPhoneu ne izlazi iz okvira */
.basic-card .row2,.basic-card .row3,.athlete-profile .row3{align-items:end}
.girths{margin:8px 0 4px;border-top:1px solid var(--line);padding-top:8px}.girths summary{cursor:pointer;padding:4px 0}
.girths .field small.muted{display:block;margin-top:2px}
input[type=date],input[type=time]{min-width:0;max-width:100%;box-sizing:border-box}
@supports (-webkit-touch-callout:none){input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:2.6em;text-align:left}
  input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}}

/* ⚖️ Sastav tijela (pametna vaga) */
.sc-stats { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.sc-stat b small { font-size: .55em; font-weight: 500; color: var(--muted); }
.sc-diff { display: block; color: var(--muted); font-size: .78rem; margin-top: 2px; }
.sc-trends { display: flex; flex-wrap: wrap; gap: 18px; margin: 10px 0; }
.sc-trend { display: flex; flex-direction: column; gap: 2px; color: var(--accent); }
.sc-trend small { color: var(--ink); font-size: .8rem; }
.sc-trend small.muted { color: var(--muted); }
.sc-all summary { cursor: pointer; font-weight: 600; margin: 8px 0; }
.sc-table td, .sc-table th { white-space: nowrap; }
.sc-form .sc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px 12px; margin: 8px 0 4px; }
.sc-form .sc-grid .field { font-size: .85rem; }
.sc-form .sc-grid .en-i { display: block; font-weight: 400; }
.sc-form .sc-group { border: 1px solid var(--line, #dfe5ef); border-radius: 12px; padding: 6px 12px; margin: 8px 0; }
.sc-form .sc-group summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
.sc-form input.sc-read { outline: 2px solid #f2c94c; background: color-mix(in srgb, #f2c94c 14%, transparent); }
.sc-photo label.btn { display: inline-flex; cursor: pointer; }

/* 🚀 Vodič: stupac „Postavljeno” (trener) */
.setup-dots span { font-size: .95rem; margin-right: 1px; }
.setup-dots span.off { filter: grayscale(1); opacity: .28; }
.ok-txt { color: var(--green); font-weight: 600; }
.move-bar .grow { flex: 1; }

/* 🚀 Vodič */
.guide-banner { display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; border: 2px solid var(--accent); background: var(--accent-soft); margin-bottom: 14px; }
.guide-banner .gb-ic { font-size: 2rem; }
.guide-banner > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.gb-bar { display: block; height: 8px; border-radius: 6px; background: var(--line); overflow: hidden; max-width: 320px; }
.gb-bar.big { max-width: none; height: 10px; margin: 4px 0 10px; }
.gb-bar i { display: block; height: 100%; background: var(--accent); border-radius: 6px; }
.guide-mini { margin: 0 0 10px; font-size: .9rem; }
.gd-count { font-size: 1.3rem; }
.gd-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.gd-steps > li { border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; }
.gd-steps > li.ok { opacity: 1; background: var(--soft); }
.gd-steps summary { cursor: pointer; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gd-n { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--soft); font-weight: 700; font-size: .85rem; }
.gd-steps li.ok .gd-n { background: #1a7f45; color: #fff; }
.gd-body { padding: 6px 0 4px 34px; }
.gd-body ol { margin: 6px 0; padding-left: 18px; }
.gd-act { display: flex; flex-wrap: wrap; gap: 8px; }
.gd-extra { list-style: none; padding: 0; }
.gd-extra li { margin: 6px 0; }
.gd-slots { list-style: none; padding: 0; margin: 0; }
.gd-slots li { padding: 6px 0; border-bottom: 1px solid var(--line); }
.gd-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.gd-card { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.gd-flash { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 12px; transition: outline-color 2s; }
@media (max-width: 560px) { .gd-body { padding-left: 0; } .guide-banner { flex-wrap: wrap; } }
.nut-why { background: var(--accent-soft); border-radius: 10px; padding: 8px 12px; margin: 8px 0; font-size: .9rem; }
.nut-table select { max-width: 230px; }
.solo-box { margin: 10px 0; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.cond-part { margin: 10px 0; }
.cond-part h3 { margin: 0 0 6px; font-size: 1rem; }
.cond-part h3 small { font-weight: 400; font-size: .78rem; }
.wk-focus { display: block; font-size: .75rem; color: var(--accent-strong); font-weight: 600; text-transform: none; }

/* Programiranje (plan po tjednima) */
.pg-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.pg-card{display:block;color:inherit;text-decoration:none;margin:0}.pg-card:hover{border-color:var(--line-hover)}
.pg-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pg-card p{margin:6px 0 0}
.pg-days{display:flex;flex-wrap:wrap;gap:4px 16px}.pg-days .check{margin:4px 0}
.pg-phases{display:flex;gap:4px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px}.pg-ph{flex:1 0 64px;display:flex;flex-direction:column;align-items:center;padding:6px 4px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:inherit;text-decoration:none;font-size:11px;text-align:center}.pg-ph b{font-size:14px}.pg-ph.deload{background:var(--soft)}
.pg-week.deload{border-style:dashed}.pg-wh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.pg-wh h2{margin:0;font-size:18px}
.pg-wf{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:flex-end}.pg-wf .field{margin:0}.pg-focus{flex:1 1 260px}.pg-focus input{width:100%}.pg-wf .check{margin:0 0 10px;width:auto}.pg-wf .check input{width:18px;height:18px}
.pg-sessions{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.pg-s{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px;cursor:pointer;color:inherit;font:inherit}.pg-s:hover{border-color:var(--line-hover)}.pg-s.empty{border-style:dashed;background:transparent}
.pg-st{display:flex;justify-content:space-between;gap:6px;align-items:center}.pg-s p{margin:6px 0}.pg-items{list-style:none;margin:0;padding:0;font-size:12px}.pg-items li{padding:2px 0;border-top:1px solid var(--line)}
.pg-tag{display:inline-block;min-width:16px;font-weight:700;color:var(--muted);margin-right:4px}


/* Trening uživo — široki prikaz (1–2 klijenta) */
.lc-grid.wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}
.lcw-list{margin-top:8px}.lcw-row{display:grid;grid-template-columns:minmax(200px,1.4fr) 1fr 1fr 1fr auto;gap:8px 12px;align-items:end;padding:10px 6px;border-top:1px solid var(--line)}
.lcw-row.cur{background:color-mix(in srgb,var(--warn,#b26a00) 12%,transparent);border-radius:8px}.lcw-row.ok .lcw-ex b{color:var(--ok,#2e7d32)}.lcw-row.sk .lcw-ex b{text-decoration:line-through;opacity:.6}
.lcw-ex{display:flex;gap:8px;align-self:center}.lcw-ex>div{display:flex;flex-direction:column;align-items:flex-start}.lcw-ex [data-lcard]{padding:2px 8px;min-height:0}.lcw-ex .lc-n{min-width:22px;font-weight:700;color:var(--muted)}
.lcw-row .field.lcw-f{margin:0;font-size:12px;color:var(--muted);gap:4px}.lcw-f input{width:100%}.lcw-act{display:flex;gap:6px;flex-wrap:wrap}
.lcw-note-top{margin:4px 0 8px}
@media (max-width:900px){.lcw-row{grid-template-columns:1fr 1fr}.lcw-ex,.lcw-note,.lcw-act{grid-column:1/-1}}
.lc-wide{container-type:inline-size}@container (max-width:860px){.lcw-row{grid-template-columns:1fr 1fr}.lcw-ex,.lcw-note,.lcw-act{grid-column:1/-1}}
.lc-grid.one{grid-template-columns:1fr}.lc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.lc-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card,transparent);color:inherit;cursor:pointer;min-width:150px;text-align:left}.lc-tab small{color:var(--muted);font-size:12px}.lc-tab.on{border-color:var(--brand,#1846c4);background:color-mix(in srgb,var(--brand,#1846c4) 18%,transparent);box-shadow:0 0 0 1px var(--brand,#1846c4) inset}

.lcw-foot{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:2px solid var(--line)}.lcw-foot .field{margin:0;max-width:150px}.lcw-foot small{flex:1 1 260px}
.lcw-done{margin:0;font-weight:700;color:var(--ok,#2e7d32)}
/* upitnik: više jučerašnjih treninga — trajanje i napor za svaki */
.wq-part{display:grid;grid-template-columns:minmax(120px,1fr) 110px minmax(150px,1.4fr);gap:8px 10px;align-items:end;padding:8px 0;border-top:1px solid var(--line)}
.wq-part:first-of-type{border-top:0}.wq-part-name{font-weight:600;align-self:center}.wq-part .field{margin:0}.wq-part input,.wq-part select{width:100%}
@media (max-width:560px){.wq-part{grid-template-columns:96px 1fr}.wq-part-name{grid-column:1/-1}}
/* suradnja s fizioterapeutom */
.fz-by{display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.fz-by.coach{background:color-mix(in srgb,var(--primary) 10%,transparent)}.fz-by.fizio{background:color-mix(in srgb,#16a34a 14%,transparent)}
.fz-actions{flex-wrap:wrap;gap:6px}.fz-table tr.clickable{cursor:pointer}.fz-table tr.clickable:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}
.fz-res{border-left:4px solid #dc2626}.fz-res ul{margin:0;padding-left:18px}.fz-res-notice,.fz-inbox{display:block;margin:8px 0}
.fz-inj{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.fz-inj.closed{opacity:.7}.fz-inj-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fz-thread{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow:auto;margin:6px 0}
.fz-msg{border:1px solid var(--line);border-radius:12px;padding:8px 10px;max-width:92%}.fz-msg.mine{align-self:flex-end;background:color-mix(in srgb,var(--primary) 7%,transparent)}
.fz-msg-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:3px}.fz-msg-body{white-space:pre-wrap}.fz-who{margin:6px 0 -4px}
.fz-compose textarea{width:100%}.fz-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.fz-log-t{color:var(--muted);font-size:12px;margin-right:4px}
.fz-list{padding-left:18px}.fz-prop{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.fz-pick input{max-width:120px}
.fz-consent{border-left:4px solid #16a34a}
/* fizioterapeut — dorade 3. 11. 2026. */
.fz-reply{margin-top:4px;padding:4px 8px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:6px;white-space:pre-wrap}
.fz-res-badge{margin-left:6px;font-size:12px;white-space:normal}.fz-res-i{font-size:12px}
.fz-meas{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.fz-mcard{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.fz-mhead{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.fz-chart{width:100%;height:auto;display:block}.fz-chart .grid{stroke:var(--line);stroke-width:1}.fz-chart .axis{fill:var(--muted);font-size:11px}
.fz-line{fill:none;stroke-width:2.2}.fz-line.fz-l{stroke:#2e7cf6}.fz-line.fz-d{stroke:#e8833a}.fz-line.fz-n{stroke:var(--muted)}
.fz-dot.fz-l{fill:#2e7cf6}.fz-dot.fz-d{fill:#e8833a}.fz-dot.fz-n{fill:var(--muted)}
.fz-v.fz-l,.fz-legend .fz-l{color:#2e7cf6}.fz-v.fz-d,.fz-legend .fz-d{color:#e8833a}.fz-v{font-size:14px}
.fz-av{display:flex;flex-wrap:wrap;gap:4px}.fz-av .chip{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:13px;cursor:pointer}
.fz-av .chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.fz-ath-res{border-left:4px solid var(--red)}.fz-ath-res ul{margin:4px 0;padding-left:18px}
/* kriteriji za povratak, gotove mjere, izvješće za klub (4. 11. 2026.) */
.fz-crit{border:1px dashed var(--line-strong,var(--line));border-radius:10px;padding:8px 10px;margin:8px 0}.fz-crit.empty{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fz-crit-list{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.fz-crit-list li{display:flex;gap:6px;align-items:flex-start}.fz-crit-list li.met>span{opacity:.85}
.fz-ck{min-width:20px}.fz-presets{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.fz-presets p{width:100%;margin:0}
.fz-presets .chip{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:13px;background:transparent;color:inherit;cursor:pointer}.fz-presets .chip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.fz-report{background:var(--card,transparent);border:1px solid var(--line);border-radius:14px;padding:16px}.fz-report h2{font-size:16px;margin-top:16px}.fz-rep-counts span{margin-right:14px}
.fz-report .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
/* zajednički plan povratka (4. 11. 2026.) */
.rtp-combo-list{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.rtp-combo-i{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:6px 12px;text-decoration:none;color:inherit}
.rtp-combo-i.me{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.rtp-combo-i small{color:var(--muted)}
.rtp-combo-focus{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px}
/* dojam termina — kratko (4. 11. 2026.) */
.rpe-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}.rpe-b{position:relative}.rpe-b input{position:absolute;opacity:0;inset:0}
.rpe-b span{display:flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:16px;cursor:pointer}
.rpe-b input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}.rpe-b input:focus-visible+span{outline:2px solid var(--primary)}
@media (max-width:420px){.rpe-grid{grid-template-columns:repeat(6,1fr)}}
.fb-emo{font-size:20px}.fb-msg summary{cursor:pointer;margin:6px 0}.fb-msg textarea{width:100%}.fb-thanks{margin:8px 0}
.sat-trend{letter-spacing:2px}
.pe-thumb{padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.pe-thumb:focus-visible{outline:2px solid var(--primary)}
/* Compex (4. 11. 2026.) */
.cx-maps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.cx-maps figure{margin:0;text-align:center}.cx-maps figcaption{font-size:12px;color:var(--muted)}
.cx-map{width:150px;height:auto}.cx-map polygon{fill:var(--map-body,#cfd5d9);stroke:var(--card,#fff);stroke-width:4}.cx-map polygon.cx-can{cursor:pointer}.cx-map polygon.cx-can:hover{fill:#f8c66b}.cx-map polygon.on{fill:#f59e0b}
.cx-scheme img{width:150px;height:auto;border-radius:8px;border:1px solid var(--line)}
.chip-btn.cx-typ{border-style:dashed}.cx-reg{font-weight:600}.cx-miss{color:var(--red)}
.cx-schemes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cx-schemes figure{margin:0;text-align:center}.cx-schemes img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
/* obavijesti trenera (4. 11. 2026.) */
.cp-devs,.cp-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cp-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.cp-nudge{display:block;margin:8px 0}
/* 💊 Tretmani fizioterapeuta (4. 11. 2026.) */
.th-form h3{margin:14px 0 6px;font-size:15px}.th-group{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:4px 0}.th-gl{font-size:12px;color:var(--muted);min-width:120px}
.th-proc{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:8px 0;display:grid;gap:6px}.th-proc.open{border-color:#f59e0b}.th-ph{display:flex;justify-content:space-between;align-items:center}
.th-area{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.th-num{width:64px}.th-reps{width:90px}
.th-maps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.th-maps figure{margin:0;text-align:center}.th-maps figcaption{font-size:12px;color:var(--muted)}
.th-map{width:150px;height:auto}.th-map polygon{fill:var(--map-body,#cfd5d9);stroke:var(--card,#fff);stroke-width:4}.th-map polygon.th-can{cursor:pointer}.th-map polygon.th-can:hover{fill:#93c5fd}.th-map polygon.on{fill:#2563eb}
.th-letters{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.th-letters .chip-btn{min-width:30px;padding:2px 6px}.th-letters .chip-btn:disabled{opacity:.3}
.th-exlist,.th-chosen{list-style:none;padding:0;margin:4px 0;max-height:240px;overflow:auto}.th-exlist li,.th-chosen li{display:flex;gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.th-exlist li span{flex:1}
.th-chosen{max-height:none}.th-chosen li b{flex:1}.th-sum{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.th-sum .th-map{width:110px}.th-line li{margin-bottom:6px}
@media (max-width:600px){.th-sum{grid-template-columns:1fr}.th-gl{min-width:0;width:100%}}
.fz-ath-th li{margin-bottom:8px}
.th-maps.big .th-map{width:190px}.th-ex input[type=search]{width:100%;max-width:360px}.th-chosen .th-chh{border-bottom:0;padding-top:8px}
/* Traka: ništa ne izlazi izvan zaslona (uski Android, položeni mobitel) — 4. 11. 2026. */
.tm-player .tm-main,.tm-player .tm-head,.tm-player .tm-tile,.tm-player .tm-next{min-width:0;max-width:100%}
.tm-player .tm-head{flex-wrap:nowrap}
.tm-player .tm-role{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:clamp(22px,7vw,56px)}
.tm-player .tm-role.tm-long{font-size:clamp(20px,5.6vw,48px)}
.tm-player .tm-time{flex:0 0 auto;font-size:clamp(44px,13vw,110px)}
.tm-player .tm-val{font-size:clamp(64px,min(30vw,20vh),230px)}
.tm-player .tm-tile{overflow:hidden}
@media (orientation:landscape) and (max-height:560px){
  .tm-player{padding:max(8px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .tm-player .tm-top{font-size:14px}.tm-player .tm-bar{margin:4px 0;height:6px}
  .tm-player .tm-main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;margin:4px 0}
  .tm-player .tm-head,.tm-player .tm-next{grid-column:1/-1}
  .tm-player .tm-head{padding:4px 14px;border-radius:14px}
  .tm-player .tm-role,.tm-player .tm-role.tm-long{font-size:clamp(18px,7vh,40px)}
  .tm-player .tm-time{font-size:clamp(30px,12vh,80px)}
  .tm-player .tm-tile{padding:4px 14px;border-radius:16px}
  .tm-player .tm-lbl{font-size:clamp(12px,4vh,20px)}
  .tm-player .tm-val{font-size:clamp(40px,min(14vw,30vh),160px)}
  .tm-player .tm-off{font-size:clamp(22px,8vh,48px)}
  .tm-player .tm-next{padding:6px 14px 6px 18px;border-radius:14px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
  .tm-player .tm-nk{font-size:12px}.tm-player .tm-nt{font-size:clamp(16px,6vh,28px)}.tm-player .tm-nd{font-size:clamp(14px,5vh,22px)}
  .tm-player .tm-ctl{gap:8px}.tm-player .tm-ctl button{padding:8px 14px;font-size:15px;min-width:100px}
}
/* 📌 Podsjetnici (4. 11. 2026.) */
.rem-list{list-style:none;padding:0;margin:6px 0}.rem-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.rem-row.done{opacity:.8}
.rem-act{display:flex;gap:8px;align-items:center;flex-shrink:0}.rem-n{width:44px;text-align:center;padding:2px 4px}.rem-when{display:grid;gap:6px;margin-bottom:6px}
.appt-rems{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:8px 0}.appt-rems .rem-list li{padding:2px 0}
.appt-pin{font-size:13px}.appt-rem{list-style:none;padding:8px 10px;margin:6px 0;background:color-mix(in srgb,#f5a524 14%,transparent);border-radius:10px}.appt-rem li+li{margin-top:4px}
@media (max-width:600px){.rem-row{flex-direction:column}}
/* 📊 Statistika tretmana (4. 11. 2026.) */
.fs-m{min-width:150px;text-align:center;display:inline-block}.fs-t td{padding:4px 6px}.fs-bc{width:40%}.fs-bar{display:block;height:8px;background:var(--line);border-radius:6px;overflow:hidden}.fs-bar i{display:block;height:100%;background:var(--brand,#1846c4)}
.th-home{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px dashed var(--line);padding-top:8px}.fz-feel{margin:8px 0}.fz-feel .chips{margin-top:6px}
/* 📅 Tjedni plan u povratku (4. 11. 2026.) */
.rp-week{list-style:none;padding:0;margin:6px 0}.rp-day{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}.rp-day.today{background:color-mix(in srgb,var(--brand,#1846c4) 8%,transparent);border-radius:8px}.rp-day.rp-empty{opacity:.7}
.rp-d{width:64px;flex-shrink:0}.rp-d span{display:block;font-size:12px;color:var(--muted)}.rp-items{flex:1;display:grid;gap:3px}.rp-i.planned{font-style:italic}.rp-i.k-utakmica{font-weight:700}.rp-t{font-variant-numeric:tabular-nums;color:var(--muted)}
.rp-warn{color:#b45309;margin:2px 0}.rp-proto{border-left:4px solid var(--brand,#1846c4);padding:6px 10px;margin:6px 0;background:color-mix(in srgb,var(--brand,#1846c4) 6%,transparent);border-radius:8px}
.sc-t td,.sc-t th{padding:3px 4px;text-align:center}.sc-t td:first-child,.sc-t th:first-child{text-align:left}.sc-t input{width:52px;text-align:center}.sc-red{background:#fde2e1}.sc-yellow{background:#fff3cd}
.pr-week{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:8px 0}
.ex-photo{margin:0 0 12px}.ex-photo img{width:100%;height:auto;border-radius:12px;display:block;background:#f3f4f6}
/* 🎨 Slike vježbi */
.ig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.ig-item{border:1px solid var(--line);border-radius:12px;padding:8px;display:grid;gap:6px}.ig-item img{width:100%;height:auto;border-radius:8px;background:#f3f4f6;min-height:120px}
.ig-item .actions{margin:0}.ig-test{border-left:4px solid var(--brand,#1846c4)}
/* 🎓 Provjera metodike (Programiranje) */
.mt-card .actions.left{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:8px 0}
.mt-list{list-style:none;margin:4px 0 10px;padding:0}
.mt-list li{padding:6px 0;border-top:1px solid var(--line);font-size:13px}
.mt-f{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}
.mt-f.warn>span{color:inherit;font-weight:500}
.mt-wk{margin:10px 0 0}
.mt-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 6px}
.mt-chip{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 8px;background:var(--bg-soft,transparent)}
.mt-n{font-size:11px;border-radius:999px;padding:2px 7px;border:1px solid var(--line)}
.mt-n.warn{border-color:#d9a43a;background:rgba(217,164,58,.14)}
.mt-dose{margin-top:-4px}
.mt-rules table td{vertical-align:top}
.mt-props li{margin:0 0 10px}
.mt-review h3,.mt-rules h3{margin:14px 0 6px;font-size:15px}
.wq-known{margin:6px 0;font-size:.95rem}.wq-known .link{margin-left:6px}.wq-part .wq-known{align-self:center;margin:0}
/* Današnja prehrana i kvačice o prehrani (7. 11. 2026.) */
.nut-daily details .nut-ic { font-size: .85rem; font-weight: 700; min-width: 3.4em; color: var(--accent); }
.nut-adh-low { color: var(--danger, #b91c1c); }
.wq-nut-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 8px 0; border-top: 1px solid var(--line, #e2e8f0); }
.wq-nut-row:first-of-type { border-top: 0; }
.wq-nut-q { flex: 1 1 200px; min-width: 0; }
.wq-nut-row .yn { flex: 0 1 auto; flex-wrap: wrap; }
.nut-tip { background: var(--soft, #eff6ff); border-radius: 10px; padding: 8px 10px; }
.nut-plate-row { display: flex; gap: 12px; align-items: flex-start; }
.nut-plate-row > div { flex: 1 1 auto; min-width: 0; }
.nut-plate { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 50%; background: #fff; object-fit: contain; }
@media (max-width: 420px) { .nut-plate-row { flex-direction: column; } .nut-plate { align-self: center; width: 120px; height: 120px; } }
.nut-meals li { padding: 4px 0; }
/* Dnevnik prehrane (faza 3, 8. 11. 2026.) */
.fl-card .card-head { gap: 8px; flex-wrap: wrap; }
.fl-date { max-width: 11em; }
.fl-sum { display: grid; gap: 8px; margin: 8px 0 12px; }
.fl-kcal { display: flex; flex-direction: column; font-size: 1.1rem; }
.fl-bar-h { display: flex; justify-content: space-between; gap: 8px; font-size: .88rem; }
.fl-track { height: 8px; background: var(--line, #e2e8f0); border-radius: 999px; overflow: hidden; }
.fl-fill { height: 8px; border-radius: 999px; }
.fl-add { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line, #e2e8f0); border-radius: 12px; margin-bottom: 12px; }
.fl-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.fl-hits { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-grid4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; align-items: end; }
.fl-grid4 .fl-wide { grid-column: 1 / -1; }
.fl-meal { margin: 12px 0 4px; font-size: 1rem; }
.fl-list { list-style: none; padding: 0; margin: 0; }
.fl-list li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line, #e2e8f0); }
.fl-note { background: var(--soft, #eff6ff); border-radius: 10px; padding: 8px 10px; }
/* Porcije dlanom (faza 2) */
.nut-palm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; margin: 8px 0; }
.nut-palm-item { display: flex; gap: 10px; align-items: center; }
.nut-palm-item img { width: 64px; height: 64px; border-radius: 12px; background: #fff; object-fit: contain; flex: 0 0 auto; }
/* Pregled mršavljenja i upozorenja (faza 2) */
.wg-chart { width: 100%; height: auto; max-height: 160px; }
.wg-band { fill: #dbeafe; }
.wg-line { stroke: #1e40af; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.wg-dot { fill: #1e40af; }
.wg-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin: 8px 0; }
.wg-stats > div { background: var(--soft, #f1f5f9); border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 2px; }
.wg-stats span { font-size: .7rem; font-weight: 600; color: var(--muted, #475569); }
.wg-stats b { font-size: 1.15rem; }
.wg-msg { border-radius: 10px; padding: 8px 10px; background: var(--soft, #f1f5f9); }
.wg-msg.nut-ok { background: #ecfdf5; color: #14532d; }
.wg-msg.nut-warn { background: #fef2f2; color: #7f1d1d; }
.wg-flags { list-style: none; padding: 0; margin: 0; }
.wg-flags li { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line, #e2e8f0); }
.wg-flags li b { flex: 1 1 160px; }
.wg-flags li .small { flex: 2 1 240px; }
.nut-pill { font-size: .75rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.nut-pill-talk { background: #fde7d9; color: #9a3412; }
.nut-pill-doc { background: #fee2e2; color: #991b1b; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .wg-band { fill: #1e3a8a55; } :root:not([data-theme="light"]) .wg-msg.nut-ok { background: #14532d55; color: inherit; } :root:not([data-theme="light"]) .wg-msg.nut-warn { background: #7f1d1d55; color: inherit; } }
:root[data-theme="dark"] .wg-band { fill: #1e3a8a55; }
:root[data-theme="dark"] .wg-msg.nut-ok { background: #14532d55; color: inherit; }
:root[data-theme="dark"] .wg-msg.nut-warn { background: #7f1d1d55; color: inherit; }
/* Nove poruke iz upitnika (Danas) */
.cm-card { border-left: 4px solid var(--accent, #1e40af); }
.cm-list { list-style: none; padding: 0; margin: 0; }
.cm-list li { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--line, #e2e8f0); }
.cm-list li > div { min-width: 0; flex: 1 1 auto; }
.cm-list .wnote { margin: 4px 0 0; }
.fl-scan-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fl-scan-row input { flex: 1 1 160px; min-width: 0; }
.fl-scan { display: grid; gap: 6px; }
.fl-scan video { width: 100%; max-height: 260px; border-radius: 12px; background: #000; object-fit: cover; }
.fl-scan-row input { min-height: 40px; padding: 6px 10px; border: 1px solid var(--line, #cbd5e1); border-radius: 10px; font: inherit; background: var(--card, #fff); color: inherit; }
/* 🎤 diktiranje (10. 11. 2026.) */
.mic-btn{margin-top:4px}.mic-btn.on,[data-dictate].on{background:var(--red);color:#fff;border-color:transparent}
.lcw-row.dictated{outline:2px solid var(--primary);outline-offset:2px}.lcw-row input.filled{background:color-mix(in srgb,var(--primary) 12%,transparent)}
.chip-own{display:inline-flex;align-items:center;gap:2px}
.tb-sec{grid-column:1/-1;margin:8px 0 2px}
.cw-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cw-card .field{margin:6px 0 0}.cw-card.sent{opacity:.6}
.lcw-foot .lcw-cnote{max-width:none;flex:1 1 100%}
.steps-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px}.steps-list li.ok{color:var(--muted)}
.ct-table td{vertical-align:top}.contact-box{margin-bottom:12px}.req{color:var(--red)}
.ct-tools input[type=search],.ct-tools select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;min-height:38px;background:var(--paper);color:inherit;font:inherit;min-width:200px}
/* 💪 MMT */
.mmt-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.mmt-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.mmt-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px}.mmt-dl dt{font-weight:600}.mmt-dl dd{margin:0}
.mmt-scale th{text-align:center;width:3em}.mmt-scale td,.mmt-scale th{padding:4px 6px;border-bottom:1px solid var(--line)}
.mmt-table td,.mmt-table th{padding:6px;vertical-align:top;border-bottom:1px solid var(--line)}.mmt-table tr.mmt-weak td{background:color-mix(in srgb,var(--red) 8%,transparent)}
.mmt-comp{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:2px 0}
.mmt-table .link,.mmt-list .link{text-align:left}

/* 🔓 Faze plana (trener) i 🗓️ Moj plan (klijent) — 10. 11. 2026. */
.ph-list { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .4rem; }
.ph-row { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .5rem .7rem; border: 1px solid var(--line, #ddd); border-radius: 10px; }
.ph-row.locked { opacity: .8; border-style: dashed; }
.ph-row.done { background: color-mix(in srgb, #2e9e5b 8%, transparent); }
.myplan-phases { list-style: none; padding: 0; margin: .6rem 0; display: grid; gap: .45rem; }
.myplan-phases li { display: flex; gap: .55rem; align-items: flex-start; padding: .5rem .6rem; border-radius: 10px; border: 1px solid var(--line, #ddd); }
.myplan-phases li.active { border-color: var(--accent, #c8102e); box-shadow: 0 0 0 1px var(--accent, #c8102e) inset; }
.myplan-phases li.locked { opacity: .7; border-style: dashed; }
.mp-ic { font-size: 1.1rem; line-height: 1.3; }
.mp-bar { height: 8px; border-radius: 6px; background: var(--line, #e5e5e5); overflow: hidden; margin: .2rem 0 .6rem; }
.mp-bar i { display: block; height: 100%; background: var(--accent, #c8102e); }
.mp-stats { margin: .5rem 0; }
.mp-sec { border-top: 1px solid var(--line, #e5e5e5); padding: .45rem 0; }
.mp-sec summary { cursor: pointer; }
.mp-sec ul { margin: .4rem 0 .2rem 1.1rem; padding: 0; }
.mp-sec li { margin: .3rem 0; }
/* pomoć u teretani: ploče, zagrijavanje */
.set-plan .plates,.ex>.plates{display:block;font-size:12.5px;color:var(--muted,#667);margin-top:2px}
.warmup{margin:8px 0;padding:8px 12px;border-radius:12px;background:rgba(255,140,40,.09);border:1px solid rgba(255,140,40,.3)}
.warmup summary{font-weight:700;cursor:pointer}.warmup ol{margin:6px 0 4px;padding-left:22px}.warmup li{margin:2px 0}
/* 🔁 zamjena vježbe, ⏳ kratka verzija */
.swap-btn{display:inline-block;margin:4px 0 6px;font-size:14px}
.swap-box{margin:8px 0;padding:10px 12px;border-radius:12px;border:1px dashed var(--line,#ccd);background:var(--card2,rgba(0,0,0,.02))}
.swap-opt{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line,#e3e6ee)}.swap-opt>span{flex:1;display:flex;flex-direction:column}
.swap-note{font-size:14px;margin:4px 0;padding:6px 10px;border-radius:10px;background:rgba(24,70,196,.08)}
.short-card .chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.short-card.on{border-left:4px solid #f0a020}
/* 📊 izvještaj faze, 📈 mali grafovi */
.spark{vertical-align:middle;color:#2fb27a}.spark.down{color:#d9534f}
.mp-graphs{margin:10px 0;padding:8px 0;border-top:1px solid var(--line,#e3e6ee)}
.mp-g{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:3px 0;font-size:14px}.mp-g small.ok{color:#2fb27a}.mp-g small.bad{color:#d9534f}
.mp-report{margin:8px 0}.mp-report summary{font-weight:700;cursor:pointer}
.phase-report .pr-grid{display:grid;gap:4px;margin:8px 0}.phase-report .pr-row{display:grid;grid-template-columns:1fr auto 24px;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--card2,rgba(0,0,0,.03))}
.pr-table{width:100%;border-collapse:collapse;font-size:14px}.pr-table td,.pr-table th{padding:4px 6px;border-bottom:1px solid var(--line,#e3e6ee);text-align:left}.pr-table .num{text-align:right;white-space:nowrap}.pr-table .ok{color:#2fb27a}.pr-table .bad{color:#d9534f}
.ph-btns{display:flex;gap:6px;align-items:center}
@media (max-width:520px){.mp-g{grid-template-columns:1fr auto auto}.mp-g .spark{display:none}}
/* 📸 fotografije napretka */
.photo-btns{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.photo-btns label{cursor:pointer}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.photo-row.compare{grid-template-columns:1fr 1fr}
.photo-row figure{margin:0}.photo-row img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:var(--card2,#eef)}
.photo-row figcaption{font-size:12.5px;text-align:center;margin-top:2px}.photo-empty{aspect-ratio:3/4;display:grid;place-items:center;border:1px dashed var(--line,#ccd);border-radius:10px}
/* ↩︎ odgovor na poruku */
.cm-act{display:flex;gap:6px;align-items:flex-start;flex-shrink:0}
.reply-quote{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--accent,#2b6cff);background:var(--card2,rgba(0,0,0,.03));border-radius:8px;font-style:italic}
/* 🔄 nadoknada preskočenih vježbi */
.cu-one{padding:10px 0;border-top:1px solid var(--line,#e2e8f0)}.cu-one:first-of-type{border-top:0}
.cu-list{list-style:none;padding:0;margin:6px 0}.cu-list li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding:6px 0}
.cu-row{display:flex;gap:8px;align-items:flex-start;flex:1 1 260px;cursor:pointer}.cu-row input{margin-top:4px}.cu-x{width:16px;text-align:center}
.cu-to{display:flex;gap:6px;align-items:center;font-size:14px}.cu-to select{max-width:210px}.cu-to input{width:52px}
.cu-warn{color:#c2410c;font-weight:600}.cu-pain .small{color:#b45309}
/* 🛡️ zdravlje aplikacije */
.health-list{list-style:none;padding:0;margin:8px 0}.health-list li{display:grid;grid-template-columns:24px minmax(160px,auto) 1fr;gap:8px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line,#e2e8f0)}
.health-list li.fail b{color:#c62828}.health-banner{display:block;margin-bottom:12px;text-decoration:none}
@media (max-width:560px){.health-list li{grid-template-columns:24px 1fr}.health-list li .small{grid-column:2}}
/* 🗓️ prehrana po danima */
.nw{margin:4px 0 14px;padding:10px 0 4px;border-bottom:1px solid var(--line,#e2e8f0)}.nw-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.nw-head h3{margin:0}.nw-nav{display:flex;gap:4px}
.nw-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:8px 0}
.nw-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;border:1px solid var(--line,#dbe1ea);border-radius:10px;background:var(--card,#fff);color:inherit;font:inherit;font-size:12px;cursor:pointer;min-width:0}
.nw-day small.en{display:none}.nw-day .nw-ic{font-size:18px}.nw-day .nw-lbl{font-size:11px;opacity:.9;text-align:center;line-height:1.1;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.nw-day .nw-kcal{font-size:11px;font-weight:700}.nw-day .nw-date{opacity:.9}.nw-day.today{border-color:var(--accent,#1846c4);box-shadow:0 0 0 1px var(--accent,#1846c4) inset}
.nw-day.on{background:var(--primary);color:#fff;border-color:var(--primary)}.nw-day.past{opacity:.85}.nw-day.on.past{opacity:1}
.nw-detail h3{margin:6px 0}.nw-tr{list-style:none;padding:0;margin:4px 0}.nw-tr li{padding:2px 0}
.nw-targets{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 10px;border-radius:10px;background:var(--card2,rgba(24,70,196,.06));margin:6px 0 2px}
.nw-timing{list-style:none;padding:0;margin:4px 0}.nw-timing li{display:grid;grid-template-columns:118px 1fr;gap:8px;padding:4px 0;border-top:1px dashed var(--line,#e2e8f0);font-size:14px}.nw-time{font-weight:700;white-space:nowrap}
.nw-shop-list{list-style:none;padding:0;margin:2px 0 8px}.nw-shop-list li{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:3px 0}
.nw-special{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}.nw-special .field{flex:1 1 220px;margin:0}
@media (max-width:480px){.nw-day .nw-lbl{display:none}.nw-timing li{grid-template-columns:96px 1fr}}
/* 💬 razgovor */
.chat-thread{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow-y:auto;padding:4px 2px 8px}
.chat-msg{max-width:82%;padding:8px 12px;border-radius:16px;background:var(--card2,#eef1f6);align-self:flex-start;font-size:15px}.chat-msg p{margin:0 0 4px}
.chat-msg.me{align-self:flex-end;background:var(--accent,#1846c4);color:#fff}.chat-msg.me .muted,.chat-msg.me time{color:rgba(255,255,255,.8)}
.chat-msg time{display:block;font-size:11px;opacity:.9;text-align:right}.chat-src{display:block;font-size:11.5px;opacity:.8;margin-bottom:2px}
.chat-video video{max-width:100%;max-height:340px;border-radius:10px;display:block}
.chat-form textarea{width:100%}.chat-actions{display:flex;gap:8px;align-items:center;margin-top:6px}.chat-actions [type=submit]{margin-left:auto}
.chat-home{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.chat-home-ic{font-size:26px}.chat-home>span:nth-child(2){flex:1}
.chat-home.unread{border-left:4px solid var(--accent,#1846c4)}
/* 🎯 RIR */
.rir{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding-top:6px;border-top:1px dashed var(--line,#e2e8f0)}.rir .chip-btn.on{background:var(--accent,#1846c4);color:#fff;border-color:var(--accent,#1846c4)}
/* 📊 tjedni volumen */
.vol-table{width:100%;border-collapse:collapse;font-size:14px}.vol-table th,.vol-table td{padding:5px 6px;border-bottom:1px solid var(--line,#e2e8f0);text-align:left}.vol-table .num{text-align:center;width:52px}
.vol-ok{color:#1f9d55;font-weight:700}.vol-low{color:#b7791f;font-weight:700}.vol-high{color:#2b6cb0;font-weight:700}.vol-none{opacity:.4}
.vol-bar{position:relative;height:12px;border-radius:6px;background:var(--card2,#eef1f6);min-width:120px}.vol-bar span{position:absolute;top:0;bottom:0;left:0;border-radius:6px}
.vol-range{border:2px solid rgba(31,157,85,.55);box-sizing:border-box;background:transparent}.vol-plan{background:rgba(24,70,196,.22)}.vol-done{background:var(--accent,#1846c4)}
@media (max-width:560px){.vol-table th:nth-child(2),.vol-table td:nth-child(2),.vol-table th:nth-child(3),.vol-table td:nth-child(3){display:none}}
/* 🔥 tjedni cilj i niz */
.streak-card .sk-row{display:flex;align-items:center;gap:14px;justify-content:space-between}.sk-big{font-size:28px;font-weight:800;margin:0;line-height:1.1}.streak-card p{margin:0}
.sk-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;flex:1}.sk-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent,#1846c4)}.sk-dot.on{background:var(--accent,#1846c4)}
.sk-fire{text-align:right}.sk-msg{margin-top:8px!important}.sk-hist{display:flex;gap:3px;margin:8px 0 4px}.sk-wk{flex:1;height:6px;border-radius:3px;background:#d7dde8}.sk-wk.ok{background:#f08a24}.sk-wk.miss{background:#c9ced8;opacity:.6}.sk-wk.none{background:transparent;border:1px dashed #c9ced8}
.sk-dots{flex-direction:row;align-items:center}.sk-dot{display:inline-block;flex:0 0 auto}.chat-form textarea{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--line,#ccd)}

/* 📅 slobodni termini i dostupnost (11. 11. 2026.) */
.slot-pick{display:grid;gap:10px;max-height:52vh;overflow:auto;margin:8px 0}
.slot-day b{display:block;font-size:13px;margin-bottom:4px;text-transform:capitalize}
.slot-pick .chip-btn{position:relative;min-width:64px}
.slot-pick .chip-btn.on::after{content:attr(data-n);position:absolute;top:-6px;right:-6px;background:var(--ink,#111);color:#fff;border-radius:999px;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center}
.av-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.av-row input[type=time],.av-row input[type=date]{width:auto}
.av-row [data-n]{flex:1;min-width:120px}
ol.steps li{margin:6px 0}
code.copy{user-select:all;word-break:break-all}
.nw-day.on .nw-date,.nw-day.on .nw-lbl{opacity:1}.btn.primary small.en,.btn.primary .en{color:#fff}

/* 📱 Mobitel (11. 11. 2026.): niže zaglavlje (logo, Traži, ☰) i donja traka s glavnim stranicama; „☰ Više” = cijeli izbornik */
.m-menu-btn,.m-tabbar{display:none}
@media (max-width:760px){
  .sidebar{position:relative;flex-wrap:nowrap;gap:8px;padding:8px 12px calc(8px);min-height:52px}
  .sidebar .brand{margin:0;padding:0}.sidebar img.brand-logo{max-width:none;width:auto;height:36px}
  .sidebar nav,.sidebar .sidebar-foot{display:none}
  .sidebar .qs-btn{order:1;margin:0 0 0 auto;min-height:44px}
  .m-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--side-line);background:transparent;color:#fff;font-size:22px;cursor:pointer;flex:none}
  .m-menu-btn{order:2}.sidebar>.brand+.m-menu-btn:last-of-type{margin-left:auto}
  body.m-menu .sidebar{position:fixed;inset:0;z-index:60;flex-direction:column;align-items:stretch;flex-wrap:nowrap;overflow-y:auto;padding:12px 16px calc(90px + env(safe-area-inset-bottom));background:var(--side-bg)}
  body.m-menu .sidebar>.brand,body.m-menu .sidebar .qs-btn{display:none}
  body.m-menu .m-menu-btn{align-self:flex-end;order:-1}
  body.m-menu .sidebar nav{display:flex;flex-direction:column;overflow:visible;width:100%;gap:2px;order:1}
  body.m-menu .sidebar nav .nav-sec{display:block}
  body.m-menu .sidebar nav a{white-space:normal;padding:12px 14px;font-size:16px}
  body.m-menu .sidebar .sidebar-foot{display:flex;flex-direction:column;align-items:stretch;margin:16px 0 0;gap:10px;order:2;border-top:1px solid var(--side-line);padding-top:14px}
  body.m-menu .sidebar .who{display:flex}
  body.m-menu{overflow:hidden}
  .m-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--paper);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(11,23,54,.08)}
  .m-tabbar a,.m-tabbar button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;border:0;background:none;border-radius:12px;color:var(--muted);font:inherit;font-size:11.5px;font-weight:600;text-decoration:none;cursor:pointer}
  .m-tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-tabbar .en-i{display:none}
  .m-tabbar .nav-ic{width:22px;height:22px;opacity:1}
  .m-tabbar a.active{color:var(--primary)}.m-tabbar a.active .nav-ic{stroke-width:2.3}
  body.m-menu .m-tabbar [data-mmenu]{color:var(--primary)}
  .view{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  #toast{bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* ♿ Pristupačnost (11. 11. 2026.): veća slova (gumb „A+”), veći dodirni gumbi na mobitelu, manje pokreta kad mobitel to traži */
html[data-size="large"] body{zoom:1.15}
@media (pointer:coarse){
  .btn,.lang-btn,select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.chip-btn,.qs-btn{min-height:44px}
  .btn.small{min-height:40px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
.paged-more{grid-column:1/-1;justify-self:center;margin:8px auto}

/* D5: duga objašnjenja na jedan redak + „ⓘ Više” */
p.hint-clamp{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px}
p.hint-clamp.open{display:block}
.hint-more{border:0;background:none;padding:2px 0;margin:0 0 8px;color:var(--link);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;min-height:28px}
@media print{p.hint-clamp{display:block}.hint-more{display:none}}
.guide-wrap{position:relative}.gb-x{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:999px;border:0;background:transparent;color:var(--muted);font-size:16px;cursor:pointer}.gb-x:hover{background:var(--soft)}
.guide-wrap .guide-banner{padding-right:40px}

/* K1/K2: kartica „Ja” — poveznice i postavke */
.ja-links{display:flex;flex-direction:column}
.ja-link{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;min-height:48px}
.ja-link:first-child{border-top:0}.ja-link span:nth-child(2){flex:1}.ja-link span:last-child{color:var(--muted)}
.ja-prefs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--ink)}
.steppers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:4px 0 8px}.steppers .btn{min-height:48px;padding:6px 4px;font-size:14px;font-weight:700;justify-content:center}
.prog-hero{font-size:17px;margin:0 0 8px;padding:10px 12px;border-radius:12px;background:var(--accent-soft);color:var(--ink)}
.rem-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.rem-line:first-child{border-top:0}.rem-line input[type=time]{width:auto}
.my-rem form{display:flex;flex-direction:column;gap:4px}.my-rem form .btn{align-self:flex-start;margin-top:8px}

/* D4: skupine izbornika koje se sklapaju */
.sidebar nav button.nav-sec{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 14px);background:none;border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--side-ink);opacity:.85;margin:12px 0 2px 14px;padding:4px 0;text-align:left;min-height:28px}
.sidebar nav button.nav-sec:hover{opacity:1}.sidebar nav button.nav-sec span{transition:transform .15s;font-size:12px}
.nav-group.shut>.nav-sec span{transform:rotate(-90deg)}
.nav-group.shut:not(.open-active)>.nav-items{display:none}
.nav-items{display:flex;flex-direction:column;gap:2px}
@media (max-width:760px){body.m-menu .sidebar nav button.nav-sec{display:flex}}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d64545;color:#fff;font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.m-tabbar a{position:relative}.m-tabbar .nav-badge{position:absolute;top:4px;left:calc(50% + 6px);margin:0}
/* D8: brze radnje na klijentu */
.qa-menu{position:fixed;z-index:80;min-width:220px;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 12px 32px rgba(11,23,54,.22);padding:6px;display:flex;flex-direction:column}
.qa-name{margin:4px 10px 6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.qa-menu button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:10px;font:inherit;font-weight:600;color:inherit;cursor:pointer;min-height:44px}
.qa-menu button:hover,.qa-menu button:focus-visible{background:var(--soft)}

/* D1: profil klijenta u karticama */
.ptabs{display:flex;gap:4px;overflow-x:auto;margin:4px 0 16px;padding:4px;background:var(--soft);border-radius:14px;scrollbar-width:none;position:sticky;top:0;z-index:4}
.ptabs::-webkit-scrollbar{display:none}
.ptabs button{flex:none;border:0;background:none;padding:9px 14px;border-radius:10px;font:inherit;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;white-space:nowrap;min-height:40px}
.ptabs button[aria-selected="true"]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(11,23,54,.12)}
.ptab-off{display:none!important}

/* D2: raspored po satima */
.view-switch{display:flex;gap:6px;margin:0 0 12px}
.hg-wrap{overflow-x:auto;margin-bottom:12px}
.hg{display:grid;grid-template-columns:52px repeat(7,minmax(110px,1fr));min-width:820px;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.hg-col,.hg-times{border-left:1px solid var(--line);min-width:0}.hg-times{border-left:0}
.hg-head{height:34px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;border-bottom:1px solid var(--line);background:var(--soft)}
.hg-col.is-today .hg-head{background:var(--accent-soft);color:var(--primary)}
.hg-notime{min-height:30px;padding:3px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line-strong)}
.hg-tr{border:0;border-radius:6px;background:var(--soft);color:var(--ink);font:inherit;font-size:11.5px;padding:3px 5px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-tr.status-completed{background:#e4f1ce;color:#2f5025}
.hg-body{position:relative;background:repeating-linear-gradient(to bottom,transparent 0 43px,var(--line) 43px 44px)}
.hg-times .hg-body span{position:absolute;right:6px;transform:translateY(-1px);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.hg-av{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.hg-slot{position:absolute;left:0;right:0;height:44px;border:0;background:transparent;cursor:pointer}.hg-slot:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.hg-slot:hover::after{content:"+ termin";position:absolute;left:6px;top:4px;font-size:11px;font-weight:700;color:var(--primary)}
.hg-ev{position:absolute;left:3px;right:3px;z-index:2;border:0;border-left:4px solid var(--primary);border-radius:8px;background:var(--accent-soft);color:var(--ink);font:inherit;font-size:12px;text-align:left;padding:3px 6px;overflow:hidden;cursor:pointer;line-height:1.25}
.hg-ev.st-done{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--paper))}
.hg-ev.st-cancelled{opacity:.6;text-decoration:line-through}.hg-ev.st-absent{border-left-color:var(--red)}
@media (max-width:760px){.hg{min-width:760px}}
.hg-notime{height:var(--nt,30px);min-height:0;overflow:hidden}.hg-tr{flex:none;height:22px}
.hg-ev{background:var(--paper);box-shadow:0 1px 4px rgba(11,23,54,.14)}
.rem-line label.check{flex:1 1 200px;display:block}.rem-line label.check small{display:block;margin-left:28px}.rem-line input[type=time]{flex:none;width:130px}
.biz-list{margin:4px 0 10px;padding-left:18px}.biz-list li{margin:3px 0}.stat small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.sched-list{margin:0;padding-left:18px}.sched-list li{margin:6px 0}.send-later summary{cursor:pointer;font-weight:600;color:var(--link)}

/* N1: Način rada u teretani — cijeli zaslon, veliki gumbi */
body.gym-open{overflow:hidden}
.gym{position:fixed;inset:0;z-index:90;background:var(--canvas);color:var(--ink);display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.gym-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--dark);color:#fff;font-size:18px}.gym-top b{flex:1}.gym-top span{font-variant-numeric:tabular-nums;opacity:.85}
.gym-x{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:none;color:#fff;font-size:20px;cursor:pointer}
.gym-tabs{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:var(--paper);border-bottom:1px solid var(--line)}
.gym-tabs button{flex:none;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;min-height:44px;cursor:pointer;color:var(--ink)}.gym-tabs button.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.gym-main{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.gym-plan{margin:0;color:var(--muted);font-size:16px}
.gym-last{margin:0;color:var(--muted);font-size:15px}.gym-last b{color:var(--text)}
.gym-ex{margin:0;font-family:var(--font-display);font-size:clamp(30px,8vw,48px);line-height:1.05}
.gym-ok{margin:0;color:var(--green);font-weight:700}
.gym-sets{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gym-sets li{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--paper);border:2px solid var(--line);font-size:20px}
.gym-sets li b{font-size:26px;font-variant-numeric:tabular-nums}.gym-sets li span:last-child{font-weight:700;font-size:22px;font-variant-numeric:tabular-nums}
.gym-sets li.now{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-soft)}.gym-sets li.done{background:color-mix(in srgb,var(--green) 14%,var(--paper));border-color:transparent;opacity:.85}
.gym-adj{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gym-adj button{min-height:56px;border-radius:14px;border:1px solid var(--line-strong);background:var(--paper);font:inherit;font-weight:800;font-size:16px;color:var(--ink);cursor:pointer}
.gym-rest{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--dark);color:#fff;font-size:18px}.gym-rest b{font-size:34px;font-variant-numeric:tabular-nums;flex:1}.gym-rest button{min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font:inherit;padding:0 14px;cursor:pointer}
.gym-foot{display:grid;grid-template-columns:64px 1fr 64px;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line)}
.gym-nav{min-height:72px;border-radius:16px;border:1px solid var(--line-strong);background:var(--paper);font-size:34px;color:var(--ink);cursor:pointer}.gym-nav:disabled{opacity:.35}
.gym-go{min-height:72px;border-radius:16px;border:0;background:var(--primary);color:#fff;font:inherit;font-size:22px;font-weight:800;cursor:pointer}
.gym-empty{padding:24px;font-size:18px}
.wk-tips{padding:10px 12px;border-radius:12px;background:var(--accent-soft);margin:6px 0}.wk-tips ul{margin:6px 0 0;padding-left:18px}.wk-ov-list{margin:4px 0 8px;padding-left:18px}.wk-ov-list li{margin:4px 0}
.wl summary{cursor:pointer;font-weight:600;color:var(--link);margin:6px 0}.wl .chips{margin:6px 0}
/* N8: upitnik za nove klijente */
.intake{min-height:100vh;background:var(--canvas);padding:24px max(16px,env(safe-area-inset-left,0px)) 64px}
.intake-card{max-width:680px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px}
.intake-logo img{max-width:150px}.intake h1 small,.intake h2 small{display:block;font-size:.55em;font-weight:500;color:var(--muted)}
.intake-form{display:flex;flex-direction:column;gap:10px}.intake-form h2{margin:14px 0 0;font-size:20px}
.intake .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.yn-q{border:0;padding:8px 0;margin:0;border-top:1px solid var(--line)}.yn-q legend{font-weight:600;padding:0;margin-bottom:6px}.yn-q legend small{display:block;font-weight:400}
.intake .consent{align-items:flex-start;gap:10px;padding:10px;border-radius:12px;background:var(--soft)}.btn.big{min-height:56px;font-size:17px}
.intake-dl{display:grid;grid-template-columns:140px 1fr;gap:4px 12px;margin:6px 0}.intake-dl dt{color:var(--muted);font-size:13px}.intake-dl dd{margin:0}
@media (max-width:560px){.intake-dl{grid-template-columns:1fr}}
.intake-item.done{opacity:1;background:var(--soft)}

/* N9: tjedni izazov */
.chal-list{list-style:none;counter-reset:c;margin:6px 0;padding:0}.chal-list li{counter-increment:c;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px}
.chal-list li::before{content:counter(c) ".";width:28px;color:var(--muted);font-variant-numeric:tabular-nums}.chal-list li span,.chal-list li a{flex:1}.chal-list li b{font-variant-numeric:tabular-nums}
.chal-list li.me{background:var(--accent-soft);font-weight:700}.chal-list li.ok b::after{content:" ✓";color:var(--green)}.chal-me{font-size:17px;margin:0}

/* Raspored „🗓 Dan” — jedan dan po satima (i na mobitelu bez pomicanja lijevo-desno) */
.hg-days{display:flex;gap:4px;align-items:center;overflow-x:auto;margin:0 0 8px;scrollbar-width:none}.hg-days::-webkit-scrollbar{display:none}
.hg-days .chip-btn{flex:none;padding:6px 10px;min-height:40px}.hg-days .chip-btn small{opacity:.8}
.hg.one-day{grid-template-columns:52px minmax(0,1fr);min-width:0}
.hg.one-day .hg-ev{font-size:14px;padding:5px 8px}
.hg-ev.narrow{padding:3px 4px;font-size:11.5px;white-space:normal;word-break:break-word}.hg.one-day .hg-ev.narrow{font-size:13px}
.hg-ev.team{border-left-color:#5c8539;background:color-mix(in srgb,#5c8539 14%,var(--paper))}.hg-tr.team{background:color-mix(in srgb,#5c8539 18%,var(--paper));color:var(--ink)}.hg-tr.more{background:none;color:var(--link);font-weight:700}
.hg-group{position:absolute;left:3px;right:3px;z-index:3;display:flex;flex-wrap:wrap;align-content:flex-start;gap:3px;padding:4px;border-radius:8px;border-left:4px solid var(--primary);background:var(--paper);box-shadow:0 2px 8px rgba(11,23,54,.18)}
.hg-group-n{flex-basis:100%;font-size:11px;font-weight:700;color:var(--muted)}
.hg-chip{border:0;border-radius:6px;background:var(--accent-soft);color:var(--ink);font:inherit;font-size:12px;padding:3px 6px;cursor:pointer;text-align:left;line-height:1.25;max-width:100%}
.hg-chip.st-done{background:color-mix(in srgb,var(--green) 16%,var(--paper))}.hg-chip.st-cancelled{opacity:.6;text-decoration:line-through}.hg-chip.team{background:color-mix(in srgb,#5c8539 18%,var(--paper))}
.hg.one-day .hg-chip{font-size:14px;padding:6px 10px}
/* ⚡ brzi upis (fizio, 12. 11. 2026.) */
.fz-rt h3{margin:14px 0 6px;font-size:15px}.fz-rt .chips{gap:6px}.fz-rt-side{margin-top:6px}.fz-rt-min{margin-top:8px}
.fz-rt-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px;margin:6px 0}
.fz-rt-p{padding:6px 4px;border-bottom:1px solid var(--line)}.fz-rt-p small.pill{margin-left:4px}
.fz-rt-list{list-style:none;padding:0;margin:0}.fz-rt-list li{padding:7px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.fz-rt-list li .btn.icon{margin-left:auto}
.fz-guide summary{cursor:pointer;list-style:none}.fz-guide summary::-webkit-details-marker{display:none}.fz-guide summary h2{display:inline;font-size:18px}
.fz-guide summary::after{content:'▾';float:right;color:var(--muted)}.fz-guide[open] summary::after{content:'▴'}.fz-guide ul{margin:10px 0 0;padding-left:20px}.fz-guide li{margin:6px 0}
.sc-auto { margin: 10px 0; } .sc-auto ol { padding-left: 1.2em; display: grid; gap: 6px; } .sc-auto input[readonly] { font-size: .8rem; }
.fz-rt-tpl { display: inline-flex; align-items: center; gap: 2px; }
.fz-rt-save { margin: 10px 0; } .fz-rt-save summary { cursor: pointer; font-weight: 600; }
.fz-rt-week td, .fz-rt-week th { text-align: center; } .fz-rt-week td:first-child, .fz-rt-week th:first-child { text-align: left; }
.pe-warn{display:block;color:var(--warn);font-size:12px;margin-top:3px}
.bug-row{margin:14px 0 28px}
.fz-ask summary{list-style:none;cursor:pointer}.fz-ask summary::-webkit-details-marker{display:none}.fz-ask form{margin-top:10px}.fz-ask ul{margin:8px 0 0;padding-left:1.1em}
.fz-req-list,.fz-before-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fz-req-list li{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start;border-top:1px solid var(--line);padding-top:8px}
.fz-req-list input{min-width:0;flex:1 1 160px}
.fz-before summary,.fz-board summary{cursor:pointer;list-style:none}.fz-before summary h2,.fz-board summary h2{display:inline}
.fz-board-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px}
.fz-board-col h3{font-size:14px;margin:0 0 6px}
.fz-board-card{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;text-decoration:none;color:inherit}
.sl-list,.sl-players{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sl-list a{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;text-decoration:none;color:inherit;padding:8px 0;border-top:1px solid var(--line)}
.sl-players li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
/* ⚡ brzi upis: svaki postupak svoj dio tijela (12. 11. 2026.) */
.fz-rt-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;display:grid;gap:6px}
.fz-rt-item-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
/* ⏮ prošli put uz vježbu u Treningu uživo (13. 11. 2026.) */
.lc-last { color: var(--accent, #2563eb); font-size: .8rem; }
.lc-last b { font-weight: 700; }
.lc-last.block { display: block; margin: 0 0 .5rem; }
/* 👟 Koraci (13. 11. 2026.) */
.st-bars { display: grid; grid-template-columns: repeat(14, 1fr); gap: 3px; align-items: end; height: 90px; margin: 10px 0 4px; }
.st-bar { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
.st-bar i { display: block; width: 100%; background: var(--muted); opacity: .45; border-radius: 3px 3px 0 0; }
.st-bar.hit i { background: var(--accent, #2a9d5c); opacity: 1; }
.st-bar small { font-size: 10px; color: var(--muted); margin-top: 2px; }
/* 🔻 Redukcija — tjedni pregled (13. 11. 2026.) */
.rw-card summary { cursor: pointer; list-style: none; }
.rw-table td { vertical-align: top; }
.rw-table tr.rw-red td:first-child { border-left: 4px solid var(--danger, #c0392b); }
.rw-table tr.rw-yellow td:first-child { border-left: 4px solid var(--warn, #d8a200); }
.rw-table tr.rw-green td:first-child { border-left: 4px solid var(--ok, #2a9d5c); }
.rw-bad { color: var(--danger, #c0392b); }
/* 📚 Biblioteka planova (13. 11. 2026.) */
.pg-lib-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.pg-lib-list li { display: flex; gap: 10px; justify-content: space-between; align-items: center; flex-wrap: wrap; border-top: 1px solid var(--line, #e5e5e5); padding-top: 8px; }
.pg-lib-list li > span { min-width: 0; flex: 1 1 240px; }
/* 💪 Treniraš li danas? (13. 11. 2026.) */
.tt-card.tt-open { border: 2px solid var(--accent, #2a9d5c); }
.tt-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.tt-btns .btn { flex: 1 1 140px; }
/* 🔔 Novosti (13. 11. 2026.) */
.cn-card summary { cursor: pointer; list-style: none; }
.cn-list { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 6px; }
/* 📱 osobna poveznica → aplikacija (13. 11. 2026.) */
.wp-inapp { border: 2px solid var(--accent, #2a6df4); }
.wp-inapp .wp-open { display: block; text-align: center; font-size: 1.1rem; padding: 14px; margin: 10px 0; }
/* 👀 Profil na prvi pogled (13. 11. 2026.) */
.glance { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.glance:empty { display: none; }
.glance-chip { border: 1px solid var(--line, #ddd); background: var(--card, transparent); color: inherit; border-radius: 999px; padding: 4px 10px; font-size: .85rem; cursor: pointer; }
.glance-chip.yellow { border-color: var(--warn, #d8a200); }
.glance-chip.red { border-color: var(--danger, #c0392b); color: var(--danger, #c0392b); }
/* Sigurnost (13. 11. 2026.) */
.row-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sec-key{font-size:15px;letter-spacing:.06em;word-break:break-all}
.sec-qr{margin:8px 0}.sec-qr svg{display:block;width:min(220px,70vw);height:auto;border-radius:6px}
.sec-codes{font-size:15px;line-height:1.7;background:var(--soft,rgba(0,0,0,.04));padding:10px 14px;border-radius:8px;white-space:pre-wrap}
.sec-form{display:grid;gap:8px;max-width:420px;margin:14px 0}
.sec-steps{display:grid;gap:12px;padding-left:20px}
.sec-steps input[name=code]{max-width:140px;font-size:18px;letter-spacing:.2em}
.privacy{max-width:760px;margin:24px auto;padding:0 16px}.privacy h2{font-size:17px;margin:18px 0 4px}.privacy hr{margin:28px 0;border:0;border-top:1px solid var(--line)}
/* 🛠 Provjera plana prije slanja (14. 11. 2026.) */
.pl-box{background:var(--notice-bg);border:1px solid var(--notice-line);border-radius:12px;padding:10px 14px;margin:8px 0;display:grid;gap:6px}
.pl-box p{margin:0}.pl-list{margin:0;padding-left:18px;display:grid;gap:3px}
.pl-box .actions.left{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.pl-ok{margin:6px 0}
/* ⏮ prošli put u treningu klijenta (14. 11. 2026.) */
.last-time{margin:2px 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:var(--muted)}
.last-time b{color:var(--ink)}
/* 📱 kratka kartica vježbe za klijenta (14. 11. 2026.) */
.ex-card-short .card-dose{background:var(--accent-soft);border:1px solid var(--notice-line);border-radius:10px;padding:8px 12px;display:grid;gap:4px}
.ex-card-short .card-dose p{margin:0}
.card-tips{margin:0;padding-left:20px;display:grid;gap:6px;font-size:1.02rem;line-height:1.45}
.card-more{border-top:1px solid var(--line);padding-top:8px}
.card-more>summary{cursor:pointer;font-weight:600;padding:6px 0}
.card-more[open]>summary{margin-bottom:8px}
/* 🎯 Način treninga (14. 11. 2026.) */
.focus-btn{margin-top:8px}
.focus-mode{position:fixed;inset:0;z-index:900;background:#0b1220;color:#eaf0f8;overflow-y:auto;display:flex;flex-direction:column;gap:12px;
  padding:max(14px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));max-width:100vw}
.focus-mode .fm-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.focus-mode .fm-t{font:600 .8rem/1.2 inherit;letter-spacing:.08em;text-transform:uppercase;color:#8ea3c0}
.focus-mode .fm-x{background:#18233a;color:#eaf0f8;border:0;border-radius:999px;width:44px;height:44px;font-size:1.2rem;cursor:pointer}
.focus-mode .fm-name{background:none;border:0;color:#fff;text-align:left;font:700 1.9rem/1.1 "Barlow Condensed",system-ui,sans-serif;padding:0;cursor:pointer}
.focus-mode .fm-name span{font-size:1.1rem;color:#8ea3c0}
.focus-mode .fm-note{margin:0;background:#18233a;border-radius:10px;padding:8px 12px;color:#cfdaeb}
.focus-mode .fm-big{margin:0;font:700 clamp(2.6rem,13vw,4.4rem)/1 "Barlow Condensed",system-ui,sans-serif;overflow-wrap:anywhere}
.focus-mode .fm-row{display:flex;gap:10px}.focus-mode .fm-pill{flex:1;background:#18233a;border-radius:14px;padding:12px;text-align:center;min-width:0}
.focus-mode .fm-pill b{display:block;font:700 1.7rem/1.1 "Barlow Condensed",system-ui,sans-serif;overflow-wrap:anywhere}.focus-mode .fm-pill span{font-size:.8rem;color:#8ea3c0}
.focus-mode .fm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.focus-mode .fm-steps button,.focus-mode .fm-nav button,.focus-mode .fm-alt{background:#18233a;color:#eaf0f8;border:1px solid #2a3a58;border-radius:12px;padding:12px 6px;font:600 1rem system-ui,sans-serif;cursor:pointer}
.focus-mode .fm-last{margin:0;color:#9fb3cf}
.focus-mode .fm-go{background:#2d6bff;color:#fff;border:0;border-radius:18px;padding:22px;font:700 1.5rem system-ui,sans-serif;cursor:pointer;width:100%}
.focus-mode .fm-alt{width:100%}
.focus-mode .fm-done{margin:0;background:#132a1e;color:#7ee2a4;border-radius:14px;padding:16px;text-align:center;font:700 1.3rem system-ui,sans-serif}
.focus-mode .fm-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.focus-mode .fm-nav button:disabled{opacity:.35}
.focus-mode .fm-next{margin:0;color:#8ea3c0;font-size:.9rem}
/* 🎨 Iste boje stanja svugdje (14. 11. 2026.): planirano plavo, u tijeku žuto, odrađeno zeleno, propušteno/bol crveno — uz boju i ikona */
:root{--st-plan:var(--accent-strong);--st-plan-bg:var(--accent-soft);--st-prog:var(--amber);--st-prog-bg:var(--amber-bg);--st-done:var(--green);--st-done-bg:color-mix(in srgb,var(--green) 16%,var(--paper));--st-bad:var(--red);--st-bad-bg:color-mix(in srgb,var(--red) 14%,var(--paper))}
.pill.status-planned{background:var(--st-plan-bg);color:var(--st-plan)}
.pill.status-in_progress{background:var(--st-prog-bg);color:var(--st-prog)}
.pill.status-completed{background:var(--st-done-bg);color:var(--st-done)}
.pill.status-skipped,.pill.status-missed{background:var(--st-bad-bg);color:var(--st-bad)}
.pill.status-planned::before{content:"🕒 "}.pill.status-in_progress::before{content:"⏳ "}.pill.status-completed::before{content:"✓ "}.pill.status-skipped::before,.pill.status-missed::before{content:"✗ "}
.wk-card.status-planned{border-left:4px solid var(--st-plan)}.wk-card.status-in_progress{border-left:4px solid var(--st-prog)}.wk-card.status-completed{border-left:4px solid var(--st-done)}
.session-card.status-planned{border-left:4px solid var(--st-plan)}.session-card.status-in_progress{border-left:4px solid var(--st-prog)}.session-card.status-completed{border-left:4px solid var(--st-done)}
.appt-card.st-planned{border-left-color:var(--st-plan)}.appt-card.st-done{border-left-color:var(--st-done)}.appt-card.st-absent{border-left-color:var(--st-bad);opacity:.85}.appt-card.st-cancelled{border-left-color:var(--line-hover);opacity:.7}
.hg-ev.st-done{border-left-color:var(--st-done)}.hg-ev.st-absent{border-left-color:var(--st-bad)}
.pill.no-ico::before{content:none}
/* 🖼 sličice vježbi u popisima (14. 11. 2026.) */
.pg-items li{display:flex;align-items:center;gap:6px}.pg-it{min-width:0}
.pg-th{width:40px;height:27px;flex:none;border-radius:4px;object-fit:cover;background:var(--soft);display:inline-grid;place-items:center;font-size:12px}
.lc-th{width:64px;height:43px;flex:none;border-radius:6px;object-fit:cover;background:var(--soft)}
/* 🔢 klikabilne brojke u rasporedu (14. 11. 2026.) */
button.stat{font:inherit;text-align:left;cursor:pointer}button.stat:hover{border-color:var(--line-hover)}
button.stat.on{outline:3px solid var(--st-prog);background:var(--st-prog-bg)}
.stf-note{margin:-4px 0 8px}
/* 📌 prikvačene stranice u izborniku (14. 11. 2026.) */
.nav-pins{display:flex;flex-direction:column;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--side-line, rgba(255,255,255,.12))}
.nav-pin-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--side-muted, #9fb3df);padding:4px 12px}
.nav-pin-edit{background:none;border:0;color:inherit;cursor:pointer;font-size:13px;padding:2px 6px;border-radius:6px}.nav-pin-edit:hover{background:var(--side-hover, rgba(255,255,255,.08))}
.pin-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;max-height:55vh;overflow:auto}
/* 🗓️ prazne stranice s jasnim sljedećim korakom (14. 11. 2026.) */
.empty-act{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.day-empty{margin:4px 0;color:var(--muted);font-size:13px;display:flex;flex-direction:column;gap:2px}.day-empty small{font-size:11px}
.pg-items .pg-tag:empty{display:none}
/* 🎥 snimka serije u treningu (14. 11. 2026.) */
.rec-row{margin:6px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rec-btn{cursor:pointer}
.vid-new{color:var(--amber)}
.easy-note{background:var(--amber-bg);border-radius:10px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* 🪶 lakša verzija danas (14. 11. 2026.) */
.easy-offer{background:var(--amber-bg);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:grid;gap:8px;margin:8px 0}
.easy-offer p{margin:0}
/* 📊 Radi li plan (14. 11. 2026.) */
.pp-weeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-bottom:8px}
.pp-w{display:grid;gap:3px;padding:6px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit;font-size:12px;text-align:center}
.pp-w i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--st-done) var(--pc),var(--soft) var(--pc))}
.pp-w.mid i{background:linear-gradient(90deg,var(--st-prog) var(--pc),var(--soft) var(--pc))}.pp-w.low i{background:linear-gradient(90deg,var(--st-bad) var(--pc),var(--soft) var(--pc))}
.pp-w.none{opacity:.55}.pp-lifts{margin:0;padding-left:18px;display:grid;gap:3px}.pp-up{color:var(--st-done);font-weight:700}.pp-down{color:var(--st-bad);font-weight:700}
.msg-tpl{display:grid;gap:8px}
.focus-mode .fm-tools{display:flex;gap:8px}

/* 🎥 snimanje s provjerom kadra (live-camera.js) */
.live-cam{position:fixed;inset:0;z-index:950;background:#05080f;color:#fff;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.live-cam .lc-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px}
.live-cam .lc-title{font-weight:700;font-size:1rem;line-height:1.2}
.live-cam .lc-tools{display:flex;gap:8px;flex:none}
.live-cam .lc-btn{width:44px;height:44px;border-radius:22px;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.2rem}
.live-cam .lc-stage{position:relative;flex:1;min-height:0;overflow:hidden}
.live-cam video,.live-cam canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.live-cam.mirror video{transform:scaleX(-1)}
.live-cam.review video{object-fit:contain}
.live-cam canvas{pointer-events:none}
.live-cam .lc-count{position:absolute;inset:0;display:grid;place-items:center;font:800 min(40vw,40vh)/1 system-ui,sans-serif;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.6);animation:lcpop 1s ease-out infinite}
@keyframes lcpop{from{transform:scale(1.25);opacity:.4}to{transform:scale(1);opacity:1}}
.live-cam .lc-rec{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#e53935;color:#fff;font-weight:700;padding:6px 14px;border-radius:20px}
.live-cam .lc-rec.warn{background:#d98a00}
.live-cam .lc-bottom{padding:12px 14px 16px;display:grid;gap:10px}
.live-cam .lc-msg{margin:0;font-size:1.05rem;line-height:1.35;min-height:2.7em}
.live-cam .lc-warn{color:#ffcf66;font-size:.92rem}
.live-cam .lc-actions{display:flex;gap:10px;flex-wrap:wrap}
.live-cam .lc-actions .btn{flex:1;min-height:48px}
.live-cam .lc-stop{font-size:1.15rem}
.live-cam .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
.live-cam .lc-prog{position:absolute;left:0;right:0;bottom:0;height:8px;background:rgba(255,255,255,.2)}.live-cam .lc-prog i{display:block;height:100%;width:0;background:#e53935;transition:width .1s linear}
.live-cam .lc-rec{font-size:1.4rem;padding:8px 18px}
.pose-unrel{background:var(--st-prog-bg,#fff4dc);color:inherit;border-radius:10px;padding:8px 10px;margin:6px 0}
.pose-sum h4{margin:0 0 6px}.pose-coach{border-left:4px solid var(--st-done,#2e9d5b)}.pose-coach p{margin:6px 0 0}.pose-review{margin-top:8px}
.today-decide .dec-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.today-decide .dec-list>li{border:1px solid var(--line);border-left:4px solid var(--st-prog);border-radius:12px;padding:10px 12px;display:grid;gap:4px}
.today-decide .dec-list>li.dec-red{border-left-color:var(--st-bad)}.today-decide .dec-list>li.dec-done{opacity:.65;border-left-color:var(--st-done)}
.today-decide .dec-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.today-decide .dec-adv{font-weight:600}.today-decide .linkish{background:none;border:0;color:var(--accent-strong);text-decoration:underline;cursor:pointer;padding:0}
.pain-map .pm-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.pain-map .pm-wrap .body-map{flex:0 0 auto}.pain-map .pm-list{flex:1 1 220px;min-width:0;list-style:none;margin:0;padding:0;display:grid;gap:6px}.pain-map .pm-sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.my-story .st-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.my-story .st-list li{display:grid;gap:2px;border-left:4px solid var(--st-done);padding:4px 10px}.my-story .st-list li.st-less{border-left-color:var(--line-strong)}.my-story .st-good .st-diff{color:var(--st-done);font-weight:700}.my-story .st-less .st-diff{color:var(--muted)}
.demo-ribbon{position:sticky;top:0;z-index:900;background:#111a2e;color:#fff;text-align:center;font-size:.85rem;padding:5px 10px;padding-top:max(5px,env(safe-area-inset-top,0px))}.demo-ribbon button{margin-left:8px;background:#ffd34d;color:#111;border:0;border-radius:8px;padding:2px 10px;font-weight:700;cursor:pointer}.demo-enter{display:grid;gap:10px;margin-top:8px}
