@font-face{font-family:"Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-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:"Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-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:"Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-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:"Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-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:"Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Bricolage";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/bricolage-grotesque-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:"Bricolage";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Bricolage";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-800-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:"Bricolage";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Ritam v4: one phone column, floating colour-coded tab bar; Danas = only faks + checkmarks, labs and trains shout in gradients */
:root{
  --bg:#F1F3F8; --surface:#FFFFFF; --surface2:#F5F6FA; --fg:#141824; --muted:#5D6474; --line:#DCE0EA;
  --warn:#D9363E; --ok:#2F9E44;
  --tab-danas:#0E8C7A; --tab-tjedan:#4F46E5; --tab-tracker:#E8590C; --tab-postavke:#C2255C;
  --k-deep:#0E8C7A; --k-fix:#4F46E5; --k-gym:#E8590C; --k-meal:#C98A00; --k-put:#1C7ED6; --k-chill:#8B3FD1; --k-social:#D6336C; --k-life:#7A8294;
  --c0:#F08C00; --c1:#6741D9; --c2:#0E8C7A; --c3:#E03131; --c4:#58A700; --c5:#1C7ED6; --c6:#D6336C; --c7:#0C8599;
  --g-mue:linear-gradient(120deg,#FF3D68,#FF8A3D); --g-demos:linear-gradient(120deg,#6E44FF,#E64980); --g-exam:linear-gradient(120deg,#C92A2A,#7048E8);
  --g-trip:linear-gradient(120deg,#1C7ED6,#3B5BDB); --g-fiz:linear-gradient(120deg,#F59F00,#F03E3E); --g-el1:linear-gradient(120deg,#1098AD,#4263EB);
  --g-ek:linear-gradient(120deg,#2B8A3E,#5C940D); --g-ma3:linear-gradient(120deg,#9C36B5,#5F3DC4); --g-ie:linear-gradient(120deg,#E8590C,#C2255C); --g-oth:linear-gradient(120deg,#495057,#7A8294);
  --shadow:0 10px 28px rgba(20,24,36,.16); --shadow-s:0 4px 12px rgba(20,24,36,.12);
  --display:"Bricolage",ui-sans-serif,system-ui,sans-serif;
  --body:"Plex Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E111A; --surface:#171B27; --surface2:#1D2231; --fg:#E7EAF2; --muted:#9AA1B2; --line:#2A3042;
  --warn:#FF6B70; --ok:#69DB7C;
  --tab-danas:#2BB59F; --tab-tjedan:#7B74FF; --tab-tracker:#FF8A3D; --tab-postavke:#F06595;
  --k-deep:#3CCFB6; --k-fix:#8F8BFF; --k-gym:#FF8A3D; --k-meal:#F2B632; --k-put:#4DABF7; --k-chill:#B98CFF; --k-social:#F783AC; --k-life:#9AA1B2;
  --c0:#FFB238; --c1:#9775FA; --c2:#3CCFB6; --c3:#FF6B6B; --c4:#8CE33C; --c5:#4DABF7; --c6:#F783AC; --c7:#3BC9DB;
  --shadow:0 10px 28px rgba(0,0,0,.5); --shadow-s:0 4px 12px rgba(0,0,0,.4);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E111A; --surface:#171B27; --surface2:#1D2231; --fg:#E7EAF2; --muted:#9AA1B2; --line:#2A3042;
  --warn:#FF6B70; --ok:#69DB7C;
  --tab-danas:#2BB59F; --tab-tjedan:#7B74FF; --tab-tracker:#FF8A3D; --tab-postavke:#F06595;
  --k-deep:#3CCFB6; --k-fix:#8F8BFF; --k-gym:#FF8A3D; --k-meal:#F2B632; --k-put:#4DABF7; --k-chill:#B98CFF; --k-social:#F783AC; --k-life:#9AA1B2;
  --c0:#FFB238; --c1:#9775FA; --c2:#3CCFB6; --c3:#FF6B6B; --c4:#8CE33C; --c5:#4DABF7; --c6:#F783AC; --c7:#3BC9DB;
  --shadow:0 10px 28px rgba(0,0,0,.5); --shadow-s:0 4px 12px rgba(0,0,0,.4);
  color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{background:var(--bg);color:var(--fg);margin:0}
body{font-family:var(--body);font-size:15px;line-height:1.45;padding:env(safe-area-inset-top,0px) 16px calc(112px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent}
body{--tc:var(--tab-danas)}
body[data-tab="tjedan"]{--tc:var(--tab-tjedan)} body[data-tab="tracker"]{--tc:var(--tab-tracker)} body[data-tab="postavke"]{--tc:var(--tab-postavke)}
main{max-width:540px;margin:0 auto;display:grid;gap:18px;padding-block:18px}
h1{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-family:var(--display);font-weight:600;font-size:18px;margin:0;text-wrap:balance}
p{margin:0}
.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tc);font-weight:700}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:13px}
.stack{display:grid;gap:10px;min-width:0}
.stack.tight{gap:8px}
.stack.loose{gap:20px}
.row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:12.5px;padding:5px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px}
.chip b{font-family:var(--mono);font-weight:500}
.chip.hot{background:var(--g-exam);color:#fff;border-color:transparent;font-weight:600}
.chip.duo{background:color-mix(in srgb,var(--c4) 16%,var(--surface));border-color:transparent}
.chip.duo b{color:color-mix(in srgb,var(--c4) 70%,var(--fg))}
.chip .sd{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.chip .sd.ok{background:var(--ok)} .chip .sd.bad{background:var(--warn)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}
button{font:inherit;color:inherit}
input,select{font:inherit}
.btn{font-weight:600;padding:10px 14px;border-radius:12px;border:0;background:var(--tc);color:#fff;cursor:pointer}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line);font-weight:500}
.btn.danger{background:transparent;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));font-weight:500;margin-left:auto}
.btn.small{padding:7px 11px;font-size:13px}
.linkbtn{background:none;border:0;padding:0;color:var(--tc);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--tc);outline-offset:2px}
select,input[type=text],input[type=time],input[type=password],input[type=date],input[type=number],input[type=url],input:not([type]){padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);min-width:0;max-width:100%}
input[type=number]{width:90px}
label.check{display:flex;gap:10px;align-items:center;cursor:pointer}
label.check input{width:20px;height:20px;accent-color:var(--tc);flex:none}

/* gradijenti po vrsti */
.lab-mue{--lg:var(--g-mue);--ld:#FF3D68} .lab-demos{--lg:var(--g-demos);--ld:#6E44FF} .lab-exam{--lg:var(--g-exam);--ld:#C92A2A}
.lab-trip{--lg:var(--g-trip);--ld:#1C7ED6} .lab-fiz{--lg:var(--g-fiz);--ld:#F59F00} .lab-el1{--lg:var(--g-el1);--ld:#1098AD}
.lab-ek{--lg:var(--g-ek);--ld:#2B8A3E} .lab-ma3{--lg:var(--g-ma3);--ld:#9C36B5} .lab-ie{--lg:var(--g-ie);--ld:#E8590C} .lab-oth{--lg:var(--g-oth);--ld:#495057}

/* sada / sljedeće */
.now{display:grid;gap:3px;border-radius:18px;padding:16px;color:#fff;background:linear-gradient(130deg,var(--tab-danas),color-mix(in srgb,var(--tab-tjedan) 80%,var(--tab-danas)));box-shadow:var(--shadow)}
.now.has-lab{background:var(--lg)}
.now .eyebrow{color:rgba(255,255,255,.85)}
.now .big{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.2}
.now .sub{font-size:13.5px;opacity:.92}
.now .go{margin-top:8px;justify-self:start;font-weight:700;font-size:13px;background:rgba(255,255,255,.22);padding:5px 10px;border-radius:999px}
.now .next{margin-top:8px;font-size:13px;padding-top:8px;border-top:1px solid rgba(255,255,255,.25)}
/* navigacija */
.daynav{display:flex;align-items:center;gap:8px}
.daynav .lbl{flex:1;text-align:center;font-weight:600;min-width:0}
.iconbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:20px;line-height:1;flex:none}
.strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.strip button{display:grid;justify-items:center;gap:1px;padding:7px 0 6px;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:0}
.strip .wd{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
.strip .dd{font-family:var(--mono);font-size:15px}
.strip .dots{display:flex;gap:3px;height:6px}
.strip .dots i{width:6px;height:6px;border-radius:50%;background:var(--ld)}
.strip button.today{border-color:var(--tab-danas);border-width:2px}
.strip button.sel{background:var(--tab-danas);border-color:var(--tab-danas);color:#fff}
.strip button.sel .wd{color:rgba(255,255,255,.85)}
.strip button.sel .dots i{box-shadow:0 0 0 1.5px #fff}
.bar-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:13px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px dashed var(--line)}
.bar-note.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}
/* obaveze dana */
.rail{display:grid;gap:8px}
.slot{display:grid;grid-template-columns:4px 54px 1fr;gap:0 12px;padding:12px 12px 12px 0;width:100%;text-align:left;border:0;border-radius:14px;background:color-mix(in srgb,var(--kc) 11%,var(--surface));overflow:hidden;cursor:default}
button.slot{cursor:pointer}
.slot .stripe{border-radius:0 3px 3px 0;background:var(--kc)}
.slot .t{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.slot .what{min-width:0;display:block}
.slot .name,.slot .note,.slot .clash,.slot .go{display:block}
.slot .name{font-weight:600;overflow-wrap:anywhere}
.slot .note{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.slot .go{font-size:12.5px;font-weight:600;color:var(--kc);margin-top:2px}
.slot .clash{font-size:12.5px;color:var(--warn);font-weight:600}
.tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:5px;margin-right:6px;vertical-align:1px;background:rgba(255,255,255,.95);color:#1B1530}
.slot.current{box-shadow:0 0 0 2px var(--kc)}
.slot.past{opacity:.5}
.slot.lab{background:var(--lg);color:#fff;box-shadow:var(--shadow-s);padding-block:14px}
.slot.lab .stripe{background:rgba(255,255,255,.9)}
.slot.lab .t,.slot.lab .note,.slot.lab .go{color:rgba(255,255,255,.92)}
.slot.lab .name{font-size:16.5px}
.slot.lab.current{box-shadow:0 0 0 3px var(--fg),var(--shadow)}
.empty{padding:18px;border-radius:14px;border:1px dashed var(--line);text-align:center;color:var(--muted);font-size:14px}
.k-deep{--kc:var(--k-deep)} .k-fix{--kc:var(--k-fix)} .k-gym{--kc:var(--k-gym)} .k-meal{--kc:var(--k-meal)}
.k-put{--kc:var(--k-put)} .k-chill{--kc:var(--k-chill)} .k-social{--kc:var(--k-social)} .k-life{--kc:var(--k-life)}
.quick{display:flex;gap:8px}
.quick input{flex:1;min-width:0;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
.quick .btn{width:46px;font-size:20px;padding:0}
.quickmsg{padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--tab-danas) 12%,var(--surface))}
.quickmsg.err{background:color-mix(in srgb,var(--warn) 12%,var(--surface))}
/* navike */
.habits{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.hc0{--hc:var(--c0)} .hc1{--hc:var(--c1)} .hc2{--hc:var(--c2)} .hc3{--hc:var(--c3)} .hc4{--hc:var(--c4)} .hc5{--hc:var(--c5)} .hc6{--hc:var(--c6)} .hc7{--hc:var(--c7)}
.habit{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;min-width:0}
.habit .box{flex:none;width:30px;height:30px;border-radius:10px;border:2px solid color-mix(in srgb,var(--hc) 60%,var(--line));display:grid;place-items:center}
.habit .txt{flex:1;min-width:0;display:grid;gap:1px}
.habit .hn{font-weight:600;overflow-wrap:anywhere;line-height:1.25}
.habit .sub{font-size:12px;color:var(--muted)}
.habit .streak{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--hc)}
.habit[aria-pressed="true"]{background:var(--hc);border-color:var(--hc);color:#fff}
.habit[aria-pressed="true"] .sub,.habit[aria-pressed="true"] .streak{color:rgba(255,255,255,.9)}
.habit[aria-pressed="true"] .box{background:rgba(255,255,255,.25);border-color:#fff}
.habit[aria-pressed="true"] .box::after{content:"";width:12px;height:7px;border:2.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.habit:disabled{cursor:default;opacity:.55}
.rate{display:flex;gap:8px}
.rate button{flex:1;font-family:var(--mono);padding:10px 0;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.rate button[data-r="1"]{--rc:var(--c3)} .rate button[data-r="2"]{--rc:var(--c0)} .rate button[data-r="3"]{--rc:var(--c5)} .rate button[data-r="4"]{--rc:var(--c2)} .rate button[data-r="5"]{--rc:var(--c4)}
.rate button[aria-pressed="true"]{background:var(--rc);color:#fff;border-color:var(--rc)}
.rate button:disabled{opacity:.5;cursor:default}
/* tjedan */
.weeklist{display:grid;gap:8px}
.wday{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;width:100%;text-align:left;padding:8px;border-radius:16px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.wday .dbadge{display:grid;justify-items:center;padding:7px 0;border-radius:12px;background:color-mix(in srgb,var(--wc) 16%,var(--surface));color:var(--wc)}
.wday .dbadge b{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}
.wday .dbadge span{font-family:var(--display);font-weight:800;font-size:20px;line-height:1.05}
.wday.today{border:2px solid var(--wc)}
.wday.today .dbadge{background:var(--wc);color:#fff}
.wday.weekend{background:var(--surface2)}
.wday .items{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.wd1{--wc:var(--c5)} .wd2{--wc:var(--c1)} .wd3{--wc:var(--c2)} .wd4{--wc:var(--c0)} .wd5{--wc:var(--c6)} .wd6{--wc:var(--c7)} .wd0{--wc:var(--c3)}
.pill{font-size:12.5px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--kc) 20%,var(--surface));color:var(--fg);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pill b{font-family:var(--mono);font-weight:500;margin-right:5px}
.pill.lab{background:var(--lg);color:#fff;font-weight:700;box-shadow:var(--shadow-s)}
.pill.empty{background:transparent;color:var(--muted);padding-left:0}
.terms{display:grid;gap:8px}
.term{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.trip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.trip input{width:100%}
.trip select{grid-column:1/-1;width:100%}
.termlbl{font-size:12px;font-weight:700;color:#fff;border-radius:8px;padding:6px 8px;min-width:72px;text-align:center;background:var(--lg)}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.fgrid .f{display:grid;gap:4px;font-size:12.5px;color:var(--muted);min-width:0}
.fgrid .f input,.fgrid .f select{width:100%;color:var(--fg)}
.list{display:grid;gap:6px}
.li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--surface2);min-width:0}
.li .badge{flex:none;font-size:11px;font-weight:700;color:#fff;border-radius:7px;padding:4px 7px;background:var(--lg);min-width:44px;text-align:center}
.li .lt{flex:1;min-width:0;font-size:13px}
.li .lt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .lt span{color:var(--muted);font-size:12px}
.li button{flex:none;font-size:12px;padding:5px 9px;border-radius:9px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.li button[data-confirm="1"]{background:var(--warn);color:#fff;border-color:var(--warn)}
.warnline{padding:7px 10px;border-radius:10px;background:color-mix(in srgb,var(--warn) 12%,var(--surface));font-weight:500}
.okline{color:var(--ok);font-weight:600}
.stats{display:grid;gap:14px}
.stat{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center}
.stat .bar{grid-column:1/-1;height:10px;border-radius:5px;background:var(--surface2);overflow:hidden;border:1px solid var(--line)}
.stat .bar i{display:block;height:100%;background:var(--hc);border-radius:5px}
/* tracker */
.gridwrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{padding:3px 2px;text-align:center}
th{font-weight:700;font-size:10.5px;letter-spacing:.02em;color:var(--hc,var(--muted))}
td.d{text-align:left;font-family:var(--mono);white-space:nowrap;color:var(--muted);font-size:12px;padding-right:6px}
tr.today td.d{color:var(--tab-tracker);font-weight:600}
tr.weekstart td{border-top:1px solid var(--line)}
.cell{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);cursor:pointer;padding:0}
.cell[aria-pressed="true"]{background:var(--hc);border-color:var(--hc)}
.cell:disabled{opacity:.3;cursor:default}
.score{font-family:var(--mono);font-size:12px;border-radius:6px;padding:4px 0;min-width:30px;display:inline-block}
tfoot td{padding-top:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.hstats{display:grid;gap:10px}
.hst{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;font-size:13.5px}
.hst .dot{width:12px;height:12px;border-radius:4px;background:var(--hc)}
.hst .n{min-width:0;font-weight:600}
.hst .m{font-family:var(--mono);color:var(--muted);font-size:12px;white-space:nowrap}
.hst .bar{grid-column:2;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}
.hst .bar i{display:block;height:100%;background:var(--hc)}
/* postavke */
.hlist{display:grid;gap:8px}
.hrow{display:flex;gap:8px;align-items:center}
.hrow .dot{width:14px;height:14px;flex:none;border-radius:4px;background:var(--hc)}
.hrow input{flex:1;min-width:0}
#keyInput,#habitNew{flex:1 1 180px}
.filebtn{cursor:pointer;display:inline-flex;align-items:center}
.backups{display:flex;flex-wrap:wrap;gap:6px}
.backups button{font-size:12.5px;font-family:var(--mono);padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface2);cursor:pointer}
.backups button[data-confirm="1"]{background:var(--warn);color:#fff;border-color:var(--warn)}
/* donja traka */
nav.tabs{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;z-index:5;pointer-events:none}
nav.tabs .in{pointer-events:auto;display:flex;gap:4px;max-width:520px;width:100%;padding:6px;border-radius:22px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
nav.tabs button{flex:1;display:grid;justify-items:center;gap:2px;font-weight:600;font-size:11.5px;padding:8px 0 7px;border:0;border-radius:16px;background:transparent;color:var(--muted);cursor:pointer}
nav.tabs svg{width:22px;height:22px;fill:none;stroke:var(--bc);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#t-danas{--bc:var(--tab-danas)} #t-tjedan{--bc:var(--tab-tjedan)} #t-tracker{--bc:var(--tab-tracker)} #t-postavke{--bc:var(--tab-postavke)}
nav.tabs button[aria-selected="true"]{background:var(--bc);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--bc) 45%,transparent)}
nav.tabs button[aria-selected="true"] svg{stroke:#fff}
/* uređivanje */
.sheet-wrap{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center}
.backdrop{position:absolute;inset:0;background:rgba(6,8,14,.5)}
.sheet{position:relative;width:100%;max-width:540px;max-height:92vh;overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));border:1px solid var(--line);border-bottom:0}
.fields{display:grid;gap:6px}
.fields label:not(.check){font-size:13px;color:var(--muted);margin-top:6px}
.fields .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fields .two>div{display:grid;gap:6px;min-width:0}
.fields input[type=text],.fields input[type=time],.fields select{width:100%}
.fields label.check{margin-top:6px}
.err{color:var(--warn);font-weight:600}
@media (max-width:360px){.habits{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.habit,.cell,.rate button,.stat .bar i,nav.tabs button{transition:background .15s,border-color .15s,width .2s,box-shadow .15s}}

/* trening */
.gym{border-top:4px solid var(--k-gym)}
.gymhead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface2)}
.seg button{border:0;background:transparent;padding:7px 12px;border-radius:9px;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--k-gym);color:#fff}
.exlist{display:grid;gap:8px}
.ex{display:grid;gap:6px;padding:10px;border-radius:12px;background:var(--surface2)}
.exh{display:flex;gap:6px;align-items:center}
.exn{flex:1;min-width:0;font-weight:600;border:0!important;background:transparent!important;padding:2px 0!important}
.exdel{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:16px;line-height:1;flex:none}
.exr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.exr label{display:flex;align-items:center;gap:4px;min-width:0}
.exr input{width:100%;min-width:0;padding:8px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font-family:var(--mono);text-align:center}
.exr span{font-size:11.5px;color:var(--muted)}
.exp{font-size:12px;color:var(--muted)}
/* menza */
.menza{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;text-decoration:none;color:#fff;background:linear-gradient(120deg,#E8590C,#F59F00);box-shadow:var(--shadow-s)}
.mz-ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none}
.mz-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mz-t{flex:1;display:grid;min-width:0}
.mz-t span{font-size:12.5px;opacity:.9}
.mz-go{font-size:20px;font-weight:700}

/* v5 */
.todaybtn{justify-self:center;background:var(--tab-danas)}
.supprow{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.sp{font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c5) 50%,var(--line));background:transparent;cursor:pointer;color:var(--fg)}
.sp[aria-pressed="true"]{background:var(--c5);border-color:var(--c5);color:#fff}
.sp:disabled{opacity:.5;cursor:default}
.gymhead .seg{margin-left:auto}
.xbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:14px;flex:none}
.gsum{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gtag{font-weight:700;font-size:12px;color:#fff;background:var(--k-gym);border-radius:8px;padding:4px 9px}
.gtxt{flex:1;min-width:0;font-size:13px;color:var(--muted)}
.danger-link{color:var(--warn)!important}
.seg.wide{display:grid;grid-template-columns:repeat(3,1fr)}
.seg.wide button[aria-pressed="true"]{background:var(--tc)}
.steps{margin:0;padding-left:20px;display:grid;gap:4px}
.past{display:grid;gap:6px}
.pw{border-radius:12px;background:var(--surface2);overflow:hidden}
.pwh{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;cursor:pointer;text-align:left;font-weight:600;font-size:13.5px}
.pwh span:first-child{flex:1}
.pwp{font-family:var(--mono);font-size:12px;font-weight:500;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--tab-tracker) calc(var(--p) * .8),var(--surface));min-width:50px;text-align:center}
.chev{transition:transform .15s;color:var(--muted)}
.pw.open .chev{transform:rotate(90deg)}
.pw .gridwrap{padding:0 6px 8px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.kpi{border-radius:12px;padding:10px;background:var(--surface2);display:grid;gap:2px;min-width:0}
.kpi b{font-family:var(--display);font-size:20px;font-weight:800;line-height:1.1}
.kpi span{font-size:11.5px;color:var(--muted)}
#exSel{width:100%}
#exChart svg{display:block;width:100%;height:auto}
#exChart .grid{stroke:var(--line);stroke-width:1}
#exChart .axis{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}
#exChart .line{fill:none;stroke:var(--k-gym);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#exChart .area{fill:color-mix(in srgb,var(--k-gym) 14%,transparent)}
#exChart .pt{fill:var(--k-gym);stroke:var(--surface);stroke-width:2}
#exChart .val{fill:var(--fg);font-size:12px;font-weight:600;font-family:var(--mono)}
#grid .cell,.pw .cell{width:26px;height:26px;border-radius:7px}
#grid th,#grid td,.pw th,.pw td{padding:2px 1px}
#grid td.d,.pw td.d{font-size:11.5px;padding-right:4px}
#grid .score,.pw .score{min-width:28px;font-size:11px}
@media (max-width:380px){#grid .cell,.pw .cell{width:23px;height:24px}}

/* v6 */
.daynav .lbl{border:0;background:transparent;color:var(--fg);font:inherit;font-weight:600;display:grid;justify-items:center;gap:2px;cursor:default;padding:0;min-height:44px;align-content:center}
.daynav .lbl.away{cursor:pointer}
.backpill{font-size:11.5px;font-weight:700;color:#fff;background:var(--tab-danas);border-radius:999px;padding:2px 9px}
.crs-ma3{--kc:#9C36B5} .crs-ek{--kc:#2B8A3E} .crs-el1{--kc:#1C7ED6} .crs-fiz{--kc:#F08C00} .crs-ie{--kc:#E8590C} .crs-tzk{--kc:#0CA678} .crs-mue{--kc:#E64980}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .crs-ma3{--kc:#DA77F2} :root:not([data-theme="light"]) .crs-ek{--kc:#69DB7C} :root:not([data-theme="light"]) .crs-el1{--kc:#4DABF7} :root:not([data-theme="light"]) .crs-fiz{--kc:#FFC078} :root:not([data-theme="light"]) .crs-ie{--kc:#FF922B} :root:not([data-theme="light"]) .crs-tzk{--kc:#38D9A9} :root:not([data-theme="light"]) .crs-mue{--kc:#F783AC}}
:root[data-theme="dark"] .crs-ma3{--kc:#DA77F2} :root[data-theme="dark"] .crs-ek{--kc:#69DB7C} :root[data-theme="dark"] .crs-el1{--kc:#4DABF7} :root[data-theme="dark"] .crs-fiz{--kc:#FFC078} :root[data-theme="dark"] .crs-ie{--kc:#FF922B} :root[data-theme="dark"] .crs-tzk{--kc:#38D9A9} :root[data-theme="dark"] .crs-mue{--kc:#F783AC}
.slot[class*="crs-"]{background:color-mix(in srgb,var(--kc) 16%,var(--surface))}
.slot[class*="crs-"] .stripe{width:6px}
.slot[class*="crs-"] .name{color:color-mix(in srgb,var(--kc) 55%,var(--fg))}
.pill[class*="crs-"]{background:color-mix(in srgb,var(--kc) 24%,var(--surface));color:color-mix(in srgb,var(--kc) 45%,var(--fg));font-weight:600}
body.noscroll{overflow:hidden}
.sheet{gap:12px}
.sheethead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sheet .seg.wide button[aria-pressed="true"]{background:var(--k-gym);color:#fff}
.sheetbtns{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom,0px));background:var(--surface);padding:10px 0 4px;margin-bottom:-4px}
.spgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.spbig{display:flex;align-items:center;gap:10px;padding:16px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;text-align:left;--hc:var(--c5)}
.spbig.sc0{--hc:var(--c0)} .spbig.sc1{--hc:var(--c1)} .spbig.sc2{--hc:var(--c5)} .spbig.sc3{--hc:var(--c3)}
.spbig .box{width:26px;height:26px;border-radius:8px;border:2px solid color-mix(in srgb,var(--hc) 60%,var(--line));display:grid;place-items:center;flex:none}
.spbig[aria-pressed="true"]{background:var(--hc);border-color:var(--hc);color:#fff}
.spbig[aria-pressed="true"] .box{background:rgba(255,255,255,.25);border-color:#fff}
.spbig[aria-pressed="true"] .box::after{content:"";width:11px;height:6px;border:2.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
details.acc{padding:0}
details.acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px;cursor:pointer}
details.acc summary::-webkit-details-marker{display:none}
details.acc[open] .chev{transform:rotate(90deg)}
details.acc .accb{padding:0 14px 14px}
.chev{display:inline-block;transition:transform .15s;color:var(--muted);font-size:20px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:30;max-width:min(92vw,480px);padding:11px 16px;border-radius:14px;background:var(--fg);color:var(--bg);font-weight:600;font-size:14px;box-shadow:var(--shadow);text-align:center}
.fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:40}
#headline{cursor:default;-webkit-user-select:none;user-select:none}

/* kilaža */
.weigh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0CA678,#1C7ED6);box-shadow:var(--shadow-s)}
.wc-ic{font-size:24px;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none}
.wc-t{flex:1;display:grid;min-width:150px}
.wc-t span{font-size:12.5px;opacity:.9}
.weigh .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.wform{display:flex;gap:6px}
.wform input{width:84px;padding:8px 10px;border-radius:10px;border:0;font-family:var(--mono);text-align:center}
.weigh .wform .btn{background:#fff;color:#0B7285}
#wChart svg{display:block;width:100%;height:auto}
#wChart .grid{stroke:var(--line);stroke-width:1}
#wChart .goal{stroke:var(--ok);stroke-width:1.5;stroke-dasharray:5 4}
#wChart .axis{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}
#wChart .line{fill:none;stroke:var(--c5);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#wChart .pt{fill:var(--c5);stroke:var(--surface);stroke-width:2}
#wChart .val{fill:var(--fg);font-size:12px;font-weight:600;font-family:var(--mono)}

/* v10: računi, profil, raspored iz .ics, boje predmeta po nazivu */
:root{--g-h0:linear-gradient(120deg,#E8590C,#C2255C);--g-h1:linear-gradient(120deg,#1098AD,#4263EB);--g-h2:linear-gradient(120deg,#2B8A3E,#5C940D);--g-h3:linear-gradient(120deg,#9C36B5,#5F3DC4);
  --g-h4:linear-gradient(120deg,#F59F00,#F03E3E);--g-h5:linear-gradient(120deg,#1C7ED6,#3B5BDB);--g-h6:linear-gradient(120deg,#D6336C,#AE3EC9);--g-h7:linear-gradient(120deg,#0CA678,#1098AD)}
.lab-h0{--lg:var(--g-h0);--ld:#E8590C} .lab-h1{--lg:var(--g-h1);--ld:#1098AD} .lab-h2{--lg:var(--g-h2);--ld:#2B8A3E} .lab-h3{--lg:var(--g-h3);--ld:#9C36B5}
.lab-h4{--lg:var(--g-h4);--ld:#F59F00} .lab-h5{--lg:var(--g-h5);--ld:#1C7ED6} .lab-h6{--lg:var(--g-h6);--ld:#D6336C} .lab-h7{--lg:var(--g-h7);--ld:#0CA678}
.crs-h0{--kc:#E8590C} .crs-h1{--kc:#1098AD} .crs-h2{--kc:#2B8A3E} .crs-h3{--kc:#9C36B5} .crs-h4{--kc:#F08C00} .crs-h5{--kc:#1C7ED6} .crs-h6{--kc:#D6336C} .crs-h7{--kc:#0CA678}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .crs-h0{--kc:#FF922B} :root:not([data-theme="light"]) .crs-h1{--kc:#3BC9DB} :root:not([data-theme="light"]) .crs-h2{--kc:#69DB7C} :root:not([data-theme="light"]) .crs-h3{--kc:#DA77F2} :root:not([data-theme="light"]) .crs-h4{--kc:#FFC078} :root:not([data-theme="light"]) .crs-h5{--kc:#4DABF7} :root:not([data-theme="light"]) .crs-h6{--kc:#F783AC} :root:not([data-theme="light"]) .crs-h7{--kc:#38D9A9}}
:root[data-theme="dark"] .crs-h0{--kc:#FF922B} :root[data-theme="dark"] .crs-h1{--kc:#3BC9DB} :root[data-theme="dark"] .crs-h2{--kc:#69DB7C} :root[data-theme="dark"] .crs-h3{--kc:#DA77F2} :root[data-theme="dark"] .crs-h4{--kc:#FFC078} :root[data-theme="dark"] .crs-h5{--kc:#4DABF7} :root[data-theme="dark"] .crs-h6{--kc:#F783AC} :root[data-theme="dark"] .crs-h7{--kc:#38D9A9}

/* prijava */
.auth{position:fixed;inset:0;z-index:40;background:var(--bg);overflow:auto;display:flex;align-items:flex-start;justify-content:center;
  padding:calc(env(safe-area-inset-top,0px) + 8vh) 16px calc(24px + env(safe-area-inset-bottom,0px));--tc:var(--tab-tjedan)}
.auth::before{content:"";position:fixed;inset:0 0 auto 0;height:60vh;background:linear-gradient(150deg,color-mix(in srgb,var(--tab-tjedan) 30%,transparent),color-mix(in srgb,var(--tab-tjedan) 22%,transparent) 30%,color-mix(in srgb,var(--tab-postavke) 20%,transparent) 55%,color-mix(in srgb,var(--tab-postavke) 9%,transparent) 78%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 30%,rgba(0,0,0,.92) 42%,rgba(0,0,0,.74) 54%,rgba(0,0,0,.5) 66%,rgba(0,0,0,.27) 78%,rgba(0,0,0,.09) 90%,transparent);mask-image:linear-gradient(to bottom,#000 30%,rgba(0,0,0,.92) 42%,rgba(0,0,0,.74) 54%,rgba(0,0,0,.5) 66%,rgba(0,0,0,.27) 78%,rgba(0,0,0,.09) 90%,transparent);pointer-events:none}
.authcard{position:relative;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow);gap:14px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{border-radius:14px;flex:none}
.brand b{display:block;font-family:var(--display);font-weight:800;font-size:26px;line-height:1.05}
.brand span{color:var(--muted);font-size:13px}
.auth .f,.panel .f{display:grid;gap:4px;font-size:12.5px;color:var(--muted);min-width:0}
.auth .f input,.auth .f select{width:100%;color:var(--fg);font-size:16px;padding:11px 12px}
.auth .btn[type=submit]{padding:13px 14px;font-size:16px}
.auth .btn:disabled{opacity:.6}
.seg.wide.two{grid-template-columns:repeat(2,1fr)}
.anote{padding:9px 11px;border-radius:12px;background:color-mix(in srgb,var(--tab-tjedan) 12%,var(--surface))}

/* račun, kalendar, prijatelji */
.chip.mini{font-size:11px;padding:2px 7px;margin-left:4px;background:var(--tc);color:#fff;border-color:transparent;font-weight:700}
.copyrow{display:flex;gap:8px;align-items:center;min-width:0}
.copyrow code{flex:1;min-width:0;font-family:var(--mono);font-size:12px;padding:9px 10px;border-radius:10px;background:var(--surface2);border:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all}
.li .badge.code{font-family:var(--mono);letter-spacing:.06em;background:var(--g-demos);min-width:86px}
#pwForm .row input,#delForm .row input{flex:1 1 160px}

/* tjedni raspored */
.tpl{display:grid;gap:8px}
.tday{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:start}
.tdh{font-weight:700;font-size:13px;padding-top:7px;color:var(--muted)}
.titems{display:grid;gap:6px;min-width:0}
.titems>.muted{padding-top:7px}
.importbox .filebtn{justify-self:start}
.tpill{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:10px;font-size:13px;min-width:0;background:var(--surface2);border-left:4px solid var(--kc,var(--k-fix))}
.tpill[class*="crs-"]{background:color-mix(in srgb,var(--kc) 14%,var(--surface))}
.tpill b{font-family:var(--mono);font-weight:500;font-size:12px;flex:none}
.tpill .tn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpill button{flex:none;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:16px;line-height:1}
.importbox{padding:12px;border-radius:14px;background:color-mix(in srgb,var(--tc) 9%,var(--surface2));border:1px dashed color-mix(in srgb,var(--tc) 45%,var(--line))}
.empty.setup{display:grid;gap:6px;justify-items:center;border-style:solid;border-color:color-mix(in srgb,var(--tab-tjedan) 40%,var(--line));background:color-mix(in srgb,var(--tab-tjedan) 7%,var(--surface))}
.empty.setup b{color:var(--fg);font-size:15px}
.empty.setup .btn{--tc:var(--tab-tjedan);margin-top:4px}

/* pregled uvoza */
.icslist{display:grid;gap:6px}
.icsrow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--surface2);cursor:pointer;min-width:0}
.icsrow input{width:20px;height:20px;flex:none;accent-color:var(--tab-tjedan)}
.icsrow .it{flex:1;min-width:0;font-size:13px;display:grid}
.icsrow .it b{font-family:var(--mono);font-weight:500;font-size:12px;color:var(--muted)}
.icsrow .it span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icsrow .badge{flex:none;font-size:11px;font-weight:700;color:#fff;border-radius:7px;padding:4px 7px;background:var(--lg);min-width:44px;text-align:center}
.icsrow input:not(:checked)~*{opacity:.5}
.cdot{width:12px;height:12px;border-radius:4px;flex:none;background:var(--kc,var(--k-fix))}
#icsSheet .btn{--tc:var(--tab-tjedan)}

/* v12: linkovi, oko za lozinku, uvodna pitanja */
.links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lk{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;text-decoration:none;color:#fff;box-shadow:var(--shadow-s);min-width:0}
.lk-menza{background:linear-gradient(120deg,#E8590C,#F59F00)}
.lk-fer{background:linear-gradient(120deg,#1864AB,#4263EB)}
.lk-zet{background:linear-gradient(120deg,#1C7ED6,#0CA678)}
.lk-hz{background:linear-gradient(120deg,#C92A2A,#E64980)}
.lk-ic{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none}
.lk-ic svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lk-t{display:grid;min-width:0;line-height:1.25}
.lk-t b{font-size:14.5px}
.lk-t span{font-size:12px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk:focus-visible{outline:2px solid var(--fg);outline-offset:2px}

.pw{position:relative;display:block;flex:1 1 160px;min-width:0}
.pw input{width:100%;padding-right:44px!important}
.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eye .slash{display:none}
.eye[aria-pressed="true"] .slash{display:inline}
.eye[aria-pressed="true"]{color:var(--tc)}

.spbig.sc4{--hc:var(--c2)} .spbig.sc5{--hc:var(--c4)} .spbig.sc6{--hc:var(--c6)} .spbig.sc7{--hc:var(--c7)}

.wiz{--tc:var(--tab-danas);z-index:39}
.wiz .authcard{max-width:460px;gap:12px}
.wzhead{display:flex;align-items:center;justify-content:space-between}
.wzbar{height:6px;border-radius:99px;background:var(--surface2);overflow:hidden}
.wzbar i{display:block;height:100%;width:25%;border-radius:99px;background:linear-gradient(90deg,var(--tab-danas),var(--tab-tjedan),var(--tab-postavke));transition:width .25s}
.wiz h2{font-size:22px}
.wiz .f{display:grid;gap:5px;font-size:12.5px;color:var(--muted);min-width:0}
.wiz .f input,.wiz .f select{width:100%;color:var(--fg)}
.wiz .seg.wide button[aria-pressed="true"]{background:var(--tc);color:#fff}
.chiprow{display:flex;flex-wrap:wrap;gap:6px}
.chiprow button{border:1px solid var(--line);background:var(--surface2);color:var(--fg);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.chiprow button[aria-pressed="true"]{background:var(--tc);border-color:var(--tc);color:#fff}
.wzhab{display:grid;gap:6px}
.wh{border:1px solid var(--line);border-radius:12px;padding:9px 11px;background:var(--surface)}
.wh:has(input[data-wzh]:checked),.wh:has(input[data-wzc]:checked){border-color:color-mix(in srgb,var(--tc) 55%,var(--line));background:color-mix(in srgb,var(--tc) 6%,var(--surface))}
.whx{margin:8px 0 2px 30px;font-size:13px;color:var(--muted)}
.whx input[type=number]{width:84px}
.whx .f{color:var(--muted)}
details.wzopt{border:1px solid var(--line);border-radius:14px;background:var(--surface)}
details.wzopt>summary{list-style:none;cursor:pointer;padding:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
details.wzopt>summary::-webkit-details-marker{display:none}
details.wzopt>summary::after{content:"›";font-size:20px;color:var(--muted);transition:transform .2s}
details.wzopt[open]>summary::after{transform:rotate(90deg)}
details.wzopt>div{padding:0 12px 12px}
.wzsum{margin:0;padding-left:18px;display:grid;gap:6px}
.wzbtns{justify-content:space-between;position:sticky;bottom:-20px;background:var(--surface);padding:10px 0 2px}
.wzbtns .btn{min-width:110px}
.wzbtns #wzNext{margin-left:auto}

/* v13: ekipa, profilne, menza, rokovi, bodovi, Claude */
:root{--tab-ekipa:#1971C2;--g-free:linear-gradient(120deg,#0CA678,#1C7ED6);--g-meet:linear-gradient(120deg,#F76707,#D6336C)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--tab-ekipa:#4DABF7}}
:root[data-theme="dark"]{--tab-ekipa:#4DABF7}
body[data-tab="ekipa"]{--tc:var(--tab-ekipa)}
#t-ekipa{--bc:var(--tab-ekipa)}
nav.tabs button{position:relative;font-size:11px}
.tabdot{position:absolute;top:5px;left:calc(50% + 8px);width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--surface)}
.row.between{justify-content:space-between}
.lab-meet{--lg:var(--g-meet);--ld:#F76707}

/* profilne slike */
.hdr{position:relative;padding-right:52px}
.hdrav{position:absolute;right:0;top:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;display:grid;place-items:center}
.hdrav .av{width:42px;height:42px;font-size:15px;box-shadow:0 0 0 2px var(--surface),0 0 0 4px color-mix(in srgb,var(--tc) 55%,transparent)}
.av{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover;display:inline-grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em;color:#fff;background:var(--lg,var(--g-oth));-webkit-user-select:none;user-select:none}
.av.big{width:64px;height:64px;font-size:22px}
.av.sm{width:24px;height:24px;font-size:10px}
.av.allav{background:var(--g-free);font-size:14px}
.avrow{display:flex;gap:14px;align-items:center}
.avrow>span:first-child{flex:none}

/* ekipa */
.ekintro{gap:12px;--tc:var(--tab-ekipa)}
.ekhero{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:32px;background:var(--g-free);box-shadow:var(--shadow-s)}
.ekpoints{margin:0;padding-left:18px;display:grid;gap:4px}
.ekstrip button.today{border-color:var(--tab-ekipa)}
.ekstrip button.sel{background:var(--tab-ekipa);border-color:var(--tab-ekipa);color:#fff}
.ekstrip button:disabled{opacity:.35;cursor:default}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{display:grid;gap:1px;padding:9px 13px;border-radius:13px;border:0;background:var(--g-free);color:#fff;cursor:pointer;text-align:left;box-shadow:var(--shadow-s)}
.fchip b{font-family:var(--mono);font-weight:500;font-size:14.5px}
.fchip span{font-size:11.5px;opacity:.92}
.tl{display:grid;gap:7px}
.tlr,.tlaxis{display:grid;grid-template-columns:minmax(0,104px) 1fr;gap:8px;align-items:center;width:100%;border:0;background:none;padding:0;text-align:left;font:inherit;color:inherit}
button.tlr{cursor:pointer}
button.tlr:disabled{cursor:default}
.tlp{display:flex;align-items:center;gap:7px;min-width:0}
.tln{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tlt{position:relative;height:32px;border-radius:9px;background:var(--surface2);overflow:hidden}
.tlaxis .tlt{height:14px;background:none;overflow:visible}
.tlaxis .tlt span{position:absolute;top:0;transform:translateX(-50%);font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:14px}
.tlaxis .tlt span:first-child{transform:none}
.tlaxis .tlt span:last-child{transform:translateX(-100%)}
.bk{position:absolute;top:3px;bottom:3px;border-radius:6px;background:var(--kc);overflow:hidden;display:flex;align-items:center}
.bk span{font-size:10.5px;color:#fff;padding:0 5px;white-space:nowrap;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.bk.k-busy{--kc:var(--k-life)}
.bk.fr{background:var(--g-free);cursor:pointer}
.tlr.free .tlt{background:color-mix(in srgb,#0CA678 9%,var(--surface2))}
.tlnow{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--warn);z-index:1}
.tlr.off .tlt,.tlr.off .tlp{opacity:.32}
.tlr.unk .tlt{background:repeating-linear-gradient(45deg,var(--surface2) 0 6px,transparent 6px 12px)}
.tlunk{font-size:11px;color:var(--muted);padding-left:8px;line-height:32px}
.li.meet{align-items:flex-start;flex-wrap:wrap}
.li.meet.new{box-shadow:inset 0 0 0 2px var(--tab-ekipa)}
.li.meet .lt b{white-space:normal}
.mwho{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:5px}
.mw{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--fg)}
.mw.yes{border-color:var(--ok);color:var(--ok);font-weight:600}
.mw.no{opacity:.55;text-decoration:line-through}
.mbtns{display:flex;gap:6px;flex:none;margin-left:auto}
.li .mbtns button[aria-pressed="true"]{background:var(--tab-ekipa);color:#fff;border-color:var(--tab-ekipa)}
.whopick{display:flex;flex-wrap:wrap;gap:6px}
.whopick button{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--surface2);font-weight:600;font-size:13px;cursor:pointer}
.whopick button[aria-pressed="true"]{background:var(--tab-ekipa);border-color:var(--tab-ekipa);color:#fff}
#meetSheet{--tc:var(--tab-ekipa)}

/* menza */
.mzcard{border-radius:18px;background:var(--surface);border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-s)}
.mzhead{display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;background:linear-gradient(120deg,#E8590C,#F59F00);color:#fff;flex-wrap:wrap}
.mzhead .eyebrow{color:rgba(255,255,255,.88);font-size:11px}
.mzht{flex:1;display:grid;min-width:140px}
.mzht b{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.2}
.mzhead .seg{background:rgba(255,255,255,.2)}
.mzhead .seg button{color:#fff;padding:6px 10px}
.mzhead .seg button[aria-pressed="true"]{background:#fff;color:#C2410C}
.mzbody{padding:12px 14px 14px;display:grid;gap:12px}
.mzp{display:grid;gap:8px}
.mzpt{font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#E8590C}
.mzgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.mzs>b,.mzs summary b{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.mzs ul{margin:5px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:13.5px;line-height:1.3}
.mzs li .muted{font-size:11px;font-family:var(--mono);white-space:nowrap}
.mzs li.gone{text-decoration:line-through;opacity:.45}
details.mzs summary{cursor:pointer;list-style:none}
details.mzs summary::-webkit-details-marker{display:none}
details.mzs summary::after{content:" ›";color:var(--muted)}
details.mzs[open] summary::after{content:" ⌄"}
@media (max-width:370px){.mzgrid{grid-template-columns:1fr}}

/* tjedan: pregled i rokovi */
.weeksum{text-align:center;color:var(--muted);margin-top:-12px;text-wrap:balance}
.li.dl{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.li.dl .dlb{background:var(--g-oth);font-family:var(--mono);font-weight:500;letter-spacing:.02em}
.li.dl.near .dlb{background:linear-gradient(120deg,#F08C00,#E8590C)}
.li.dl.soon .dlb{background:var(--g-exam)}
.li.dl .lt b{white-space:normal}
button.chip{font:inherit;font-size:12.5px;cursor:pointer;color:inherit}
.chip.hot{color:#fff}
.chip .ell{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}
.chip.hot b{font-family:var(--body);font-weight:700}

/* bodovi */
.gcard{border-radius:14px;padding:12px;background:var(--surface2);display:grid;gap:9px;border-left:5px solid var(--kc,var(--k-fix));min-width:0}
.ghead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ghead b{font-family:var(--display);font-size:16px}
.gparts{display:grid;gap:6px}
.gpart{display:grid;grid-template-columns:minmax(0,1fr) 50px 8px 50px 50px 30px;gap:5px;align-items:center}
.gpart input{padding:7px 6px!important;font-size:13px;min-width:0;width:100%}
.gpart input[inputmode=decimal],.gth{text-align:center;font-family:var(--mono)}
.gth{width:50px!important;padding:6px!important;font-size:12px}
.gchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gchip{font-size:12.5px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.gchip b{font-family:var(--display);font-weight:800;margin-right:1px}
.gchip.ok{background:var(--ok);color:#fff;border-color:var(--ok)}
.gchip.no{opacity:.5;text-decoration:line-through}
.xs{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0}

/* pozivnica, Claude */
.invbox{padding:12px;border-radius:14px;background:color-mix(in srgb,var(--tc) 8%,var(--surface2));border:1px dashed color-mix(in srgb,var(--tc) 40%,var(--line))}
textarea{font:inherit;font-size:13.5px;line-height:1.45;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);width:100%;resize:vertical}
.seg.wide.two button{padding-inline:6px}
.bk,.tlnow{font-style:normal}
.slot.lab .clash{color:#fff;background:rgba(0,0,0,.24);display:inline-block;padding:1px 8px;border-radius:7px;margin-top:4px}
.gpart.ghd span{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:center}
.gpart.ghd span:first-child{text-align:left}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ekstrip button.sel,:root:not([data-theme="light"]) .ekstrip button.sel .wd{color:#0B1220}}
:root[data-theme="dark"] .ekstrip button.sel,:root[data-theme="dark"] .ekstrip button.sel .wd{color:#0B1220}

/* lista stanica dok tipkaš */
.acwrap{position:relative}
.acbox{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;display:grid;max-height:300px;overflow-y:auto}
.acbox button{display:flex;justify-content:space-between;gap:8px;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--fg);font-size:15px;cursor:pointer}
.acbox button:last-child{border-bottom:0}
.acbox button span{color:var(--muted);font-size:12.5px;font-family:var(--mono)}
.acbox button:active{background:var(--surface2)}
.acnote{padding:10px 12px;font-size:13px;color:var(--muted)}
.acnear{justify-self:start;margin-top:4px;border:1px solid var(--line);background:var(--surface2);color:var(--fg);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer}
.fgrid .f{align-content:start}
.acbox button span{white-space:nowrap;flex:none}
.check.gone{display:none!important}
.acbox{top:auto}
.links{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}

/* v14: stupci (na mobitelu jedan ispod drugog) */
.cols{display:grid;gap:20px;align-items:start;min-width:0}
.col{display:grid;gap:20px;align-content:start;min-width:0}
.navbrand{display:none}

/* postavke: kartica s profilom, grupe s ikonama */
.mecard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:16px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--tab-postavke) 15%,var(--surface)),var(--surface) 72%)}
.meav{position:relative;cursor:pointer;display:block;border-radius:50%}
.meav .av.big{width:68px;height:68px;font-size:24px}
.mecam{position:absolute;right:-3px;bottom:-3px;width:26px;height:26px;border-radius:50%;background:var(--tab-postavke);display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}
.mecam svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.meav:focus-within{outline:2px solid var(--tc);outline-offset:3px}
.met{display:grid;gap:2px;min-width:0}
.met b{font-family:var(--display);font-weight:800;font-size:21px;line-height:1.15;overflow-wrap:anywhere}
.mesync{display:flex;align-items:center;gap:6px;color:var(--muted)}
.mesync .sd{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.mesync .sd.ok{background:var(--ok)} .mesync .sd.bad{background:var(--warn)}
.mefoot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.setcols,.setcols .col{gap:22px}
.setgroup{display:grid;gap:8px}
.sgh{margin:0 0 0 4px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
details.acc summary{justify-content:flex-start;gap:12px}
details.acc summary .chev{margin-left:auto}
.stt{display:grid;gap:1px;min-width:0;flex:1}
.stt h2{font-size:16.5px}
.ssub{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ssub:empty{display:none}
.sic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--icg)}
.sic svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ic1{--icg:linear-gradient(135deg,#0E8C7A,#1C7ED6)} .ic2{--icg:linear-gradient(135deg,#495057,#7A8294)}
.ic3{--icg:linear-gradient(135deg,#F08C00,#E8590C)} .ic4{--icg:linear-gradient(135deg,#4F46E5,#1C7ED6)}
.ic5{--icg:linear-gradient(135deg,#2B8A3E,#0CA678)} .ic6{--icg:linear-gradient(135deg,#F76707,#E03131)}
.ic7{--icg:linear-gradient(135deg,#C2255C,#7048E8)} .ic8{--icg:linear-gradient(135deg,#D9773F,#B35A2C)}
.setrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px}
.setrow .stt{flex:0 1 auto}
.setrow .seg{flex:1 1 260px}

/* v14: laptop i veći ekrani */
@media (min-width:960px){
  body{padding:0 36px 48px 288px}
  main{max-width:1160px;padding-top:34px;gap:22px}
  h1{font-size:34px}
  .hdr{padding-right:60px}
  nav.tabs{left:20px;right:auto;top:20px;bottom:20px;width:236px;display:block}
  nav.tabs .in{flex-direction:column;gap:4px;height:100%;max-width:none;padding:14px 12px;border-radius:24px}
  .navbrand{display:flex;align-items:center;gap:10px;padding:6px 10px 16px;font-family:var(--display);font-weight:800;font-size:22px;color:var(--fg)}
  .navbrand img{border-radius:10px}
  nav.tabs button{flex:0 0 auto;grid-template-columns:24px 1fr;justify-items:start;align-items:center;gap:12px;padding:12px 14px;font-size:14.5px;text-align:left}
  .tabdot{left:31px;top:8px}
  .cols{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}
  .col{gap:22px}
  .ekcols{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
  .ekintro{max-width:620px}
  .tlr,.tlaxis{grid-template-columns:minmax(0,150px) 1fr}
  .tlt{height:36px}
  /* tjedan kao kalendar */
  .weeklist{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
  .wday{grid-template-columns:1fr;align-items:start;align-content:start;min-height:210px;gap:8px;padding:8px}
  .wday .dbadge{grid-auto-flow:column;justify-content:center;align-items:baseline;gap:8px}
  .wday .items{flex-direction:column;flex-wrap:nowrap}
  .pill{white-space:normal;border-radius:10px;line-height:1.3;padding:6px 8px}
  .pill b{display:block;margin:0 0 1px}
  .pill.empty{padding-left:8px}
  .weeksum{margin-top:-10px}
  /* skočni prozori kao dijalozi na sredini */
  .sheet-wrap{align-items:center;padding:24px}
  .sheet{border-radius:22px;border-bottom:1px solid var(--line);max-height:86vh;max-width:560px}
  .toast{bottom:28px}
  .habits{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
}
@media (min-width:1360px){body{padding-left:310px}}
body[data-tab="postavke"] .hdrav{visibility:hidden}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #t-ekipa[aria-selected="true"]{color:#0B1220}:root:not([data-theme="light"]) #t-ekipa[aria-selected="true"] svg{stroke:#0B1220}}
:root[data-theme="dark"] #t-ekipa[aria-selected="true"]{color:#0B1220}:root[data-theme="dark"] #t-ekipa[aria-selected="true"] svg{stroke:#0B1220}
.li.meet .lt{flex:1 1 170px}
@media (min-width:960px) and (max-width:1199px){
  body{padding-left:240px;padding-right:24px}
  nav.tabs{width:200px}
  nav.tabs button{padding:11px 12px;gap:10px}
  .ekcols{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
}

/* v15: menza se otvara na dodir */
.mzhead{width:100%;border:0;font:inherit;text-align:left;cursor:pointer;flex-wrap:nowrap}
.mzht{min-width:0}
.mzprev{font-size:13px;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.mzcard.open .mzprev{display:none}
.mzchev{font-size:24px;line-height:1;opacity:.9;transition:transform .2s;flex:none;padding:0 4px}
.mzcard.open .mzchev{transform:rotate(90deg)}
.mzopen{display:grid;gap:12px;padding:12px 14px 14px}
.mzopen .mzbody{padding:0}
.mzopen .mzseg{justify-self:start}
.mzopen .seg button[aria-pressed="true"]{background:#E8590C;color:#fff}
.mzs ul{gap:6px;font-size:14.5px}
.mzs li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;line-height:1.3}
.mzpr{flex:none;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.mzs li.gone .mzpr{text-decoration:none}
.mzs>b,.mzs summary b{font-size:11px}
.mzmore{display:grid;gap:6px}
details.mzs summary .muted{font-size:12px}
@media (max-width:560px){.mzgrid{grid-template-columns:1fr;gap:12px}}

/* v15: tjedan kao ujednačen popis */
.weeklist{gap:6px}
.wday{grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;padding:11px 12px;border-radius:14px}
.wday.past:not(.today){opacity:.62}
.wdh{display:grid;justify-items:center;line-height:1.1;padding-top:1px}
.wdh b{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.wdh span{font-family:var(--display);font-weight:800;font-size:19px;color:var(--fg)}
.wday.today{border:2px solid var(--tab-tjedan);background:color-mix(in srgb,var(--tab-tjedan) 7%,var(--surface))}
.wday.today .wdh b,.wday.today .wdh span{color:var(--tab-tjedan)}
.witems{display:grid;gap:7px;min-width:0}
.wi{display:grid;grid-template-columns:4px 42px minmax(0,1fr);gap:0 10px;align-items:center;min-height:24px}
.wi i{align-self:stretch;border-radius:3px;background:var(--kc,var(--k-life))}
.wi.lab i{background:var(--lg)}
.wi b{font-family:var(--body);font-weight:500;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.wn{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wi[class*="crs-"] .wn{color:color-mix(in srgb,var(--kc) 50%,var(--fg))}
.wi.lab .wn{color:var(--ld)}
.wempty{color:var(--muted);font-size:14px;line-height:24px}
@media (min-width:960px){
  .wday{grid-template-columns:1fr;min-height:220px;gap:10px;padding:10px}
  .wdh{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:6px}
  .wi{grid-template-columns:4px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:1px 8px}
  .wi i{grid-row:1/3}
  .wi b{font-size:12px}
  .wn{white-space:normal;font-size:13.5px;line-height:1.25}
}
.wi[class*="crs-"] .wn{color:var(--fg)}

/* v16: kako do (promjena stanice za termin) */
.ridego{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.now .ridego{text-decoration:none}
#rideSheet{--tc:var(--tab-danas)}
.ropt{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface2)}
.ropt b{font-family:var(--display);font-weight:800;font-size:20px;min-width:58px}
.ropt>span{display:grid;gap:1px;font-size:13.5px;min-width:0}
.ropt .rl{font-weight:600}
.ropt .muted{font-size:12px}
.ropt.best{background:color-mix(in srgb,var(--tab-danas) 14%,var(--surface));box-shadow:inset 0 0 0 2px var(--tab-danas)}

/* v17: skočni prozor iznad tipkovnice; popis stanica u prozoru ispod polja; veze se biraju dodirom */
.sheet-wrap{bottom:auto;top:var(--vvt,0px);height:var(--vvh,100%)}
.sheet{max-height:calc(var(--vvh,100vh) * .92)}
@media (min-width:960px){.sheet{max-height:calc(var(--vvh,100vh) * .86)}}
.sheet .acbox{position:static;margin-top:6px;max-height:none;box-shadow:none}
.acbox button.cur{font-weight:700;justify-content:flex-start}
.acbox button.cur>span{margin-left:auto}
.acbox button.cur::after{content:"✓";margin-left:8px;color:var(--tab-danas)}
button.ropt{width:100%;border:0;text-align:left;color:var(--fg);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button.ropt:active{transform:scale(.99)}
.rchk{margin-left:auto;font-style:normal;font-weight:800;color:var(--tab-danas);min-width:14px;text-align:right}
@media (max-width:600px){#rideSheet .fgrid{grid-template-columns:1fr}}

/* v18: menza – omiljena jela i poziv ekipi */
.mzcard{position:relative}
.mzinv{position:absolute;top:13px;right:40px;z-index:1;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.mzinv:active{background:rgba(255,255,255,.35)}
.mzcard.hasinv .mzht{padding-right:112px}
.mzs li .mzfav{flex:none;border:0;background:none;color:var(--muted);font-size:17px;line-height:1;padding:0 2px;cursor:pointer;margin-left:-4px}
.mzs li.fav>span:first-child{font-weight:700}
.mzs li .mzfav[aria-pressed="true"]{color:#E03131}
.mzs li>span:first-child{flex:1;min-width:0}
.mzfavs{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.mzfl{display:flex;flex-wrap:wrap;gap:6px}
.mzfc{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 10px;border-radius:999px;background:color-mix(in srgb,#E03131 10%,var(--surface2));font-size:13px}
.mzfc button{border:0;background:none;color:var(--muted);font-size:16px;line-height:1;padding:0 6px;cursor:pointer}
.mzfadd{display:flex;gap:8px}
.mzfadd input{flex:1;min-width:0}
.mquick .chip[aria-pressed="true"]{background:var(--tab-ekipa);border-color:var(--tab-ekipa);color:#fff}
.whopick .mbusy{display:block;font-size:10.5px;color:var(--muted);font-weight:500}
.whopick button[aria-pressed="true"] .mbusy{color:rgba(255,255,255,.8)}
.hrt{color:#E03131}

/* v19: učenje do međuispita */
.slot.sugg{border:1.5px dashed color-mix(in srgb,var(--kc) 55%,var(--line));background:color-mix(in srgb,var(--kc) 5%,var(--surface))}
.slot.sugg .name{font-weight:650}
.sbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.sbtn{border:1px solid var(--line);background:var(--surface2);color:var(--fg);border-radius:999px;padding:5px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.sbtn.ok{background:var(--tab-danas);border-color:var(--tab-danas);color:#fff}
#studySheet{--tc:var(--tab-tracker,#E8590C)}
.srow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
.srow .check{flex:1;min-width:0}
.srow .sh{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.srow .sh input{width:70px;text-align:right}
#studyLog select{flex:1 1 150px;min-width:0}
.row.between{justify-content:space-between;align-items:center}

/* v20: ZET uživo */
.go .live{font-weight:700}
.go .live.late{color:#D9480F}
.go .live.bad{color:#E03131}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .go .live.late{color:#FF922B}:root:not([data-theme="light"]) .go .live.bad{color:#FF6B6B}}
:root[data-theme="dark"] .go .live.late{color:#FF922B}
:root[data-theme="dark"] .go .live.bad{color:#FF6B6B}

/* v21: mirniji izgled (Discord / Spotify): tamne ravne kartice, jedna boja akcenta, jasna hijerarhija.
   Ovaj sloj samo nadjačava prijašnje; boje predmeta (--kc) ostaju samo kao tanka crta uz termin. */
:root{
  --bg:#F2F3F5; --surface:#FFFFFF; --surface2:#EDEEF1; --fg:#17181C; --muted:#5F6470; --line:#E2E4E9;
  --accent:#4B57D8; --accent-text:#3D49BD; --accent-soft:color-mix(in srgb,var(--accent) 12%,var(--surface));
  --tab-danas:var(--accent); --tab-tjedan:var(--accent); --tab-tracker:var(--accent); --tab-ekipa:var(--accent); --tab-postavke:var(--accent);
  --g-mue:#E64980; --g-demos:#7048E8; --g-exam:#D9363E; --g-trip:#1C7ED6; --g-fiz:#E8890C; --g-el1:#1098AD;
  --g-ek:#2B8A3E; --g-ma3:#9C36B5; --g-ie:#E8590C; --g-oth:#6B7280; --g-free:var(--accent); --g-meet:#E8590C;
  --g-h0:#E8590C; --g-h1:#1098AD; --g-h2:#2B8A3E; --g-h3:#9C36B5; --g-h4:#E8890C; --g-h5:#1C7ED6; --g-h6:#D6336C; --g-h7:#0CA678;
  --shadow:0 8px 24px rgba(20,24,36,.14); --shadow-s:none;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111214; --surface:#1B1C20; --surface2:#26282D; --fg:#ECEDEF; --muted:#A1A5AF; --line:#2E3036;
  --accent:#5865F2; --accent-text:#A3AAFF; --accent-soft:color-mix(in srgb,var(--accent) 20%,var(--surface));
  --tab-danas:var(--accent); --tab-tjedan:var(--accent); --tab-tracker:var(--accent); --tab-ekipa:var(--accent); --tab-postavke:var(--accent);
  --shadow:0 8px 24px rgba(0,0,0,.55)}}
:root[data-theme="dark"]{
  --bg:#111214; --surface:#1B1C20; --surface2:#26282D; --fg:#ECEDEF; --muted:#A1A5AF; --line:#2E3036;
  --accent:#5865F2; --accent-text:#A3AAFF; --accent-soft:color-mix(in srgb,var(--accent) 20%,var(--surface));
  --tab-danas:var(--accent); --tab-tjedan:var(--accent); --tab-tracker:var(--accent); --tab-ekipa:var(--accent); --tab-postavke:var(--accent);
  --shadow:0 8px 24px rgba(0,0,0,.55)}
body,body[data-tab="tjedan"],body[data-tab="tracker"],body[data-tab="ekipa"],body[data-tab="postavke"]{--tc:var(--accent)}
body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
main{gap:16px;padding-block:14px}
h1{font-weight:600;font-size:26px;letter-spacing:-.015em}
h2{font-size:16.5px}
.eyebrow{color:var(--muted);letter-spacing:.1em;font-size:11.5px}
.linkbtn{color:var(--accent-text)}
.btn{border-radius:999px;padding:10px 18px;color:#fff;background:var(--accent)}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn.danger{background:transparent}
.btn.small{padding:7px 14px}
select,input[type=text],input[type=time],input[type=password],input[type=date],input[type=number],input[type=url],input:not([type]),textarea{background:var(--surface2);border-color:transparent;border-radius:10px}
select:focus,input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--accent)}
.panel,.mzcard,.mecard{background:var(--surface);border:0;border-radius:14px;box-shadow:none}
.panel{padding:16px}
details.acc{padding:0}
.mecard{background:var(--surface)}

/* zaglavlje: jedan red čipova koji se pomiče */
.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;background:var(--surface);border:0;color:var(--muted);padding:6px 11px}
.chip b{color:var(--fg)}
.chip.hot{background:color-mix(in srgb,var(--warn) 16%,var(--surface));color:var(--warn);font-weight:600}
.chip.hot b{color:inherit}
.chip.duo{background:var(--surface)}
.chip.duo b{color:var(--fg)}
.hdrav .av{box-shadow:none}

/* dan: kretanje */
.daynav{gap:6px}
.daynav .lbl{color:var(--muted);font-size:13.5px;font-weight:500}
.iconbtn{width:38px;height:38px;border-radius:50%;border:0;background:var(--surface);color:var(--fg);font-size:18px}
.strip{gap:4px}
.strip button{border:0;background:transparent;border-radius:12px;padding:7px 0 5px;color:var(--fg)}
.strip button.today{border:0;background:var(--surface)}
.strip button.today .dd{color:var(--accent-text);font-weight:600}
.strip button.sel{background:var(--accent);color:#fff}
.strip button.sel .dd{color:#fff}
.strip button.sel .wd{color:rgba(255,255,255,.85)}
.strip .dd{font-family:var(--body);font-variant-numeric:tabular-nums;font-size:16px}
.bar-note{border:0;background:var(--surface);border-radius:12px}
.bar-note.warn{background:color-mix(in srgb,var(--warn) 12%,var(--surface))}

/* sljedeće: jedina "glasna" kartica */
.now{background:var(--accent)!important;box-shadow:none;border-radius:16px;padding:16px 16px 14px;color:#fff}
.now .eyebrow{color:rgba(255,255,255,.8)}
.now .big{font-weight:600;font-size:23px}
.now .go{background:rgba(255,255,255,.2);padding:6px 12px}

/* termini: neutralne kartice, boja predmeta samo kao crta */
.slot,.slot[class*="crs-"]{background:var(--surface);border-radius:12px}
.slot .stripe,.slot[class*="crs-"] .stripe{width:4px}
.slot .name,.slot[class*="crs-"] .name{color:var(--fg)}
.slot .t{color:var(--muted)}
.slot .go{color:var(--accent-text)}
.slot.hero .go{display:none}
.slot.current,.slot.lab.current{box-shadow:inset 0 0 0 2px var(--accent)}
.slot.lab{background:var(--surface);color:var(--fg);box-shadow:none;padding-block:12px}
.slot.lab .stripe{background:var(--ld)}
.slot.lab .t,.slot.lab .note{color:var(--muted)}
.slot.lab .go{color:var(--accent-text)}
.slot.lab .name{font-size:15.5px}
.slot.lab .clash{color:var(--warn);background:none;padding:0;margin:0}
.tag{background:color-mix(in srgb,var(--ld,var(--kc,var(--muted))) 22%,var(--surface));color:var(--fg)}
.slot.sugg{background:transparent;border:1.5px dashed var(--line)}
.empty{border-radius:12px;border:1px dashed var(--line)}
.quick input{background:var(--surface);border:0;border-radius:999px;padding:12px 16px}
.quick .btn{width:46px;height:46px;padding:0}
.quickmsg{background:var(--accent-soft)}

/* linkovi: kapsule u jednom redu */
.links{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.links::-webkit-scrollbar{display:none}
.lk,.lk-menza,.lk-fer,.lk-zet,.lk-hz{flex:none;background:var(--surface);color:var(--fg);box-shadow:none;border-radius:999px;padding:6px 14px 6px 6px;gap:8px}
.lk-ic{background:var(--surface2);width:30px;height:30px;border-radius:50%}
.lk-ic svg{stroke:var(--accent-text);width:17px;height:17px}
.lk-t{line-height:1.15}
.lk-t b{font-size:13.5px}
.lk-t span{display:none}
.lk:focus-visible{outline-color:var(--accent)}

/* menza */
.mzhead{background:transparent;color:var(--fg)}
.mzhead .eyebrow{color:var(--muted)}
.mz-ic{background:var(--accent-soft)}
.mz-ic svg{stroke:var(--accent-text)}
.mzprev{color:var(--muted);opacity:1}
.mzchev{color:var(--muted)}
.mzinv{background:var(--accent);border-color:transparent;color:#fff}
.mzpt{color:var(--accent-text)}
.mzopen .seg button[aria-pressed="true"]{background:var(--accent);color:#fff}
.mzfc{background:var(--accent-soft)}
.mzs li .mzfav[aria-pressed="true"],.hrt{color:#F0506E}

/* kilaža */
.weigh{background:var(--surface);color:var(--fg);box-shadow:none;border-radius:14px}
.wc-ic{background:var(--accent-soft)}
.weigh .btn.ghost{color:var(--fg);border-color:var(--line)}
.wform input{background:var(--surface2);color:var(--fg)}
.weigh .wform .btn{background:var(--accent);color:#fff}

/* navike: okrugle kvačice, jedna boja */
.habits{gap:6px}
.habit{background:var(--surface);border:0;border-radius:12px;padding:11px 12px}
.habit .box{border-radius:50%;border:2px solid var(--muted);opacity:.9;width:26px;height:26px}
.habit .streak{color:var(--accent-text)}
.habit[aria-pressed="true"]{background:var(--accent-soft);color:var(--fg)}
.habit[aria-pressed="true"] .sub,.habit[aria-pressed="true"] .streak{color:var(--muted)}
.habit[aria-pressed="true"] .streak{color:var(--accent-text)}
.habit[aria-pressed="true"] .box{background:var(--accent);border-color:var(--accent);opacity:1}
.rate button{border:0;background:var(--surface);border-radius:12px}
.rate button[aria-pressed="true"]{background:var(--accent);color:#fff}
.spbig{border:0;background:var(--surface2)}
.spbig[aria-pressed="true"]{background:var(--accent);color:#fff}
.supprow{background:var(--surface);border:0}
.sp{border-color:var(--line)}
.sp[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}

/* segmenti i kapsule */
.seg{background:var(--surface2);border-radius:999px}
.seg button{border-radius:999px}
.seg button[aria-pressed="true"],.sheet .seg.wide button[aria-pressed="true"],.seg.wide button[aria-pressed="true"],.wiz .seg.wide button[aria-pressed="true"]{background:var(--accent);color:#fff}
.chiprow button[aria-pressed="true"],.whopick button[aria-pressed="true"],.li .mbtns button[aria-pressed="true"],.mquick .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.sbtn.ok,.backpill,.todaybtn{background:var(--accent);border-color:var(--accent);color:#fff}
.chip.mini{background:var(--accent)}

/* tjedan */
.wday{border:0;background:var(--surface);border-radius:14px}
.wday.today{border:0;background:var(--accent-soft)}
.wday.today .wdh b,.wday.today .wdh span{color:var(--accent-text)}
.wi.lab i{background:var(--ld)}
.wn{font-weight:600}
.li,.gcard,.ex,.kpi,.icsrow,.ropt{background:var(--surface2)}
.li .badge,.termlbl{background:var(--ld,var(--accent))}
.li.dl .dlb{background:var(--g-oth)}
.li.dl.near .dlb{background:#E8890C}
.li.dl.soon .dlb{background:var(--g-exam)}
.pw{background:var(--surface2)}
.tpill[class*="crs-"]{background:var(--surface2)}
.importbox,.invbox{background:var(--surface2);border:1px dashed var(--line)}

/* ekipa */
.ekhero{background:var(--accent-soft);box-shadow:none}
.fchip{background:var(--accent);color:#fff;box-shadow:none;border-radius:999px;padding:8px 14px}
.bk.fr{background:var(--accent)}
.tlr.free .tlt{background:var(--accent-soft)}
.tlt{background:var(--surface2)}
.av.allav{background:var(--accent)}
.ekstrip button.sel,.ekstrip button.sel .wd{background:var(--accent);color:#fff}
.ekstrip button.sel .wd{background:transparent;color:rgba(255,255,255,.85)}
.ekstrip button.today{background:var(--surface)}
.li.meet.new{box-shadow:inset 0 0 0 2px var(--accent)}

/* tracker i postavke */
.cell[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}
.cell{border:0}
tr.today td.d{color:var(--accent-text)}
.gym{border-top:0}
.sic{background:var(--surface2)}
.sic svg{stroke:var(--accent-text)}
.mecam{background:var(--accent)}
.sgh{color:var(--muted)}
.pwp{background:color-mix(in srgb,var(--accent) calc(var(--p) * .6),var(--surface))}
.ropt.best{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.rchk,.acbox button.cur::after{color:var(--accent-text)}
.eye[aria-pressed="true"]{color:var(--accent-text)}
.wzbar i{background:var(--accent)}
.backdrop{background:rgba(0,0,0,.55)}
.sheet{border:0;background:var(--surface)}
.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* donja traka (mobitel): ravna, ikone sive, aktivna u akcentu */
nav.tabs{left:0;right:0;bottom:0}
nav.tabs .in{max-width:none;gap:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));border-radius:0;border:0;border-top:1px solid var(--line);box-shadow:none;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}
nav.tabs button,nav.tabs button[aria-selected="true"]{background:transparent!important;box-shadow:none!important;color:var(--muted)!important;border-radius:10px;padding:9px 0 8px}
nav.tabs svg,nav.tabs button[aria-selected="true"] svg{stroke:currentColor!important}
nav.tabs button[aria-selected="true"]{color:var(--accent-text)!important}
nav.tabs button[aria-selected="true"]::before{content:"";position:absolute;top:-5px;left:32%;right:32%;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}
.tabdot{box-shadow:0 0 0 2px var(--surface)}

/* laptop: lijevi rail kao Discord */
@media (min-width:960px){
  body{padding:0 36px 48px 272px}
  nav.tabs{left:0;top:0;bottom:0;right:auto;width:236px}
  nav.tabs .in{height:100%;padding:18px 12px;border-radius:0;border-top:0;border-right:1px solid var(--line);gap:2px}
  nav.tabs button,nav.tabs button[aria-selected="true"]{border-radius:8px;padding:11px 12px}
  nav.tabs button:hover{background:var(--surface2)!important}
  nav.tabs button[aria-selected="true"],nav.tabs button[aria-selected="true"]:hover{background:var(--surface2)!important;color:var(--fg)!important}
  nav.tabs button[aria-selected="true"] svg{stroke:var(--accent-text)!important}
  nav.tabs button[aria-selected="true"]::before{top:9px;bottom:9px;left:-12px;right:auto;width:4px;height:auto;border-radius:0 4px 4px 0}
  .navbrand{padding:4px 12px 18px}
  .toast{bottom:28px}
  .chips{margin-inline:0;padding-inline:0;flex-wrap:wrap}
  .links{margin-inline:0;padding-inline:0;flex-wrap:wrap}
}
@media (min-width:1360px){body{padding-left:290px}}
@media (min-width:960px) and (max-width:1199px){body{padding-left:252px;padding-right:24px}nav.tabs{width:216px}}
#editedBar{background:transparent;padding:0 4px;color:var(--muted)}
#editedBar .btn{border:0;background:var(--surface);padding:6px 12px}
details.acc summary h2{font-size:16px}
details.acc>summary{padding:14px 16px}
details.acc .accb{padding:0 16px 16px}
/* tracker: navike jednobojne (boja stupca nije potrebna, imaju kratice) */
th{color:var(--muted)}
.hst .dot,.hst .bar i,.stat .bar i{background:var(--accent)}
.stat .bar,.hst .bar{border:0}
.hrow .dot{background:var(--muted)}
/* ekipa: odabrani dan uvijek čitljiv (i kad je ujedno danas) */
.ekstrip button.sel,.ekstrip button.sel.today{background:var(--accent)!important;color:#fff!important}
.ekstrip button.sel .wd,.ekstrip button.sel .dd{color:#fff!important;background:transparent!important}
.strip button.sel.today{background:var(--accent)}
.strip button.sel.today .dd{color:#fff}

/* v22: stats.fm — tamne kartice s blagim prelivom, veliki brojevi, „Više“ poveznice, donja traka samo s ikonama */
:root{--accent:#5A54BE;--accent-text:#4D47A8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--accent:#6660C8;--accent-text:#A9A5F0;--bg:#0F0F12;--surface:#1A1A1F;--surface2:#25252B;--line:#2B2B32}}
:root[data-theme="dark"]{--accent:#6660C8;--accent-text:#A9A5F0;--bg:#0F0F12;--surface:#1A1A1F;--surface2:#25252B;--line:#2B2B32}
.chips{gap:10px}
.sc{flex:none;min-width:128px;max-width:190px;display:grid;gap:3px;align-content:end;text-align:left;border:0;color:var(--fg);padding:13px 15px;border-radius:16px;font:inherit;
  background:var(--dither),linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,var(--surface)),var(--surface) 72%)}
button.sc{cursor:pointer}
.sc b{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.05;letter-spacing:-.01em;white-space:nowrap}
.sc .scl{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc.hot{background:linear-gradient(135deg,color-mix(in srgb,var(--warn) 30%,var(--surface)),var(--surface) 72%)}
.sc.bad{background:linear-gradient(135deg,color-mix(in srgb,var(--warn) 30%,var(--surface)),var(--surface) 72%)}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.more{border:0;background:none;color:var(--accent-text);font-weight:600;font-size:14px;padding:6px 0 6px 12px;cursor:pointer}
#tab-danas h2,#tab-tracker h2,#tab-tjedan h2{font-size:19px;font-weight:600}
#tab-danas .panel h2,details.acc summary h2{font-size:16.5px}
/* „Sljedeće“: tamna kartica s tintom akcenta, kao „Recently played“ */
.now{background:var(--dither),linear-gradient(135deg,color-mix(in srgb,var(--accent) 40%,var(--surface)),var(--surface) 78%)!important;color:var(--fg);border-radius:18px;padding:18px 18px 16px}
.now .eyebrow{color:var(--muted)}
.now .big{font-size:26px}
.now .sub{color:var(--muted);opacity:1}
.now .go{background:var(--accent);color:#fff}
.now .next{border-top-color:var(--line);color:var(--muted)}
.now .next strong{color:var(--fg)}
.prog{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--fg) 16%,transparent);overflow:hidden;margin-top:10px}
.prog i{display:block;height:100%;background:var(--accent-text);border-radius:3px}
/* brojke u trackeru bez kartica (kao „Stream stats“) */
.kpi{background:transparent;padding:0}
.kpi b{font-size:26px;font-weight:600}
.kpi span{font-size:13px}
/* donja traka mobitela: samo ikone */
@media (max-width:959px){
  nav.tabs button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  nav.tabs svg{width:26px;height:26px}
  nav.tabs button,nav.tabs button[aria-selected="true"]{padding:13px 0 12px}
  nav.tabs button[aria-selected="true"]::before{display:none}
  .tabdot{top:9px;left:calc(50% + 9px)}
}
@media (max-width:959px){
  nav.tabs button span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  nav.tabs button span:not(.tabdot){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabdot{position:absolute}
  .hdr .chips{margin-right:-68px;padding-right:16px;margin-top:6px}
}

/* v24: mirno — jedan akcent, boja samo kad nešto znači (rok = crveno, labos = pun akcent) */
.sc,.sc:nth-child(n){--sh:var(--accent)}
.sc.hot,.sc.bad{--sh:#F0506E}
.slot.lab{background:var(--accent);color:#fff;padding:16px 14px 16px 0;border-radius:16px;box-shadow:none}
.slot.lab .stripe{background:#fff;width:6px}
.slot.lab .t,.slot.lab .note{color:rgba(255,255,255,.88)}
.slot.lab .name{color:#fff;font-size:19px;font-weight:700}
.slot.lab .tag{background:#fff;color:#1B1530;font-size:11px}
.slot.lab .go,.slot.lab .go .live{color:#fff}
.slot.lab .go{display:inline-block;background:rgba(255,255,255,.2);padding:3px 10px;border-radius:999px;margin-top:6px}
.slot.lab .clash{color:#fff;background:rgba(0,0,0,.28);padding:1px 8px;border-radius:7px;display:inline-block}
.slot.lab.current{box-shadow:0 0 0 3px var(--fg)}
.slot.lab.hero .go{display:none}
.now.has-lab{background:var(--accent)!important;color:#fff}
.now.has-lab .eyebrow,.now.has-lab .sub,.now.has-lab .next{color:rgba(255,255,255,.9)}
.now.has-lab .go{background:#fff;color:#1B1530}
.now.has-lab .prog{background:rgba(255,255,255,.3)} .now.has-lab .prog i{background:#fff}
.now.has-lab .big{font-size:28px;font-weight:700}
.wi.lab{background:var(--accent);border-radius:10px;padding:6px 10px 6px 0}
.wi.lab i{background:#fff;margin-left:7px}
.wi.lab b,.wi.lab .wn{color:#fff!important}
.wi.lab .wn{font-weight:700}
.strip .dots i{width:7px;height:7px}
/* plan učenja: prijedlog se može dodirnuti i promijeniti */
.slot.sugg{cursor:pointer}
.slot.sugg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#swapSheet .ropt{align-items:center}
.li.meet .badge.lab-meet{background:var(--surface);font-size:16px;padding:6px 8px}
/* v25: prozor „Kako se zoveš?” */
#nameAsk .f{display:grid;gap:4px;font-size:12.5px;color:var(--muted);min-width:0}
#nameAsk input{width:100%;min-height:44px}

/* v26: stil „Šareno” (Postavke → Izgled → Stil). Glavna boja (--accent) ostaje ista kao u Jednobojnom; ovdje samo predmeti, navike, labosi i poveznice dobivaju svoje boje. */
:root[data-look="color"] .sc:nth-child(4n+1){--sh:#7B74FF}
:root[data-look="color"] .sc:nth-child(4n+2){--sh:#2B9CF2}
:root[data-look="color"] .sc:nth-child(4n+3){--sh:#22B573}
:root[data-look="color"] .sc:nth-child(4n+4){--sh:#FF8A3D}
:root[data-look="color"] .sc.hot,:root[data-look="color"] .sc.bad{--sh:#F0506E}
:root[data-look="color"] .sc{background:color-mix(in srgb,var(--sh) 14%,var(--surface))}
:root[data-look="color"] .sc b{color:color-mix(in srgb,var(--sh) 35%,var(--fg))}
:root[data-look="color"] .habit .box{border-color:color-mix(in srgb,var(--hc) 75%,var(--line));opacity:1}
:root[data-look="color"] .habit .streak{color:color-mix(in srgb,var(--hc) 70%,var(--fg))}
:root[data-look="color"] .habit[aria-pressed="true"]{background:color-mix(in srgb,var(--hc) 22%,var(--surface))}
:root[data-look="color"] .habit[aria-pressed="true"] .box{background:var(--hc);border-color:var(--hc)}
:root[data-look="color"] .rate button[aria-pressed="true"]{background:var(--rc);border-color:var(--rc);color:#fff}
:root[data-look="color"] .cell[aria-pressed="true"]{background:var(--hc);border-color:var(--hc)}
:root[data-look="color"] th{color:var(--hc,var(--muted))}
:root[data-look="color"] .hst .dot,:root[data-look="color"] .hst .bar i,:root[data-look="color"] .stat .bar i{background:var(--hc,var(--accent))}
:root[data-look="color"] .hrow .dot{background:var(--hc,var(--muted))}
:root[data-look="color"] .slot,:root[data-look="color"] .slot[class*="crs-"]{background:color-mix(in srgb,var(--kc,var(--muted)) 12%,var(--surface))}
:root[data-look="color"] .slot[class*="crs-"] .name{color:color-mix(in srgb,var(--kc) 45%,var(--fg))}
:root[data-look="color"] .slot.sugg{background:transparent}
:root[data-look="color"] .slot.lab{background:color-mix(in srgb,var(--ld) 86%,#000);box-shadow:none}
:root[data-look="color"] .slot.lab.current{box-shadow:0 0 0 3px var(--fg)}
:root[data-look="color"] .now.has-lab{background:color-mix(in srgb,var(--ld) 86%,#000)!important;box-shadow:none}
:root[data-look="color"] .wi.lab{background:color-mix(in srgb,var(--ld) 86%,#000)}
:root[data-look="color"] .strip .dots i{box-shadow:none}
:root[data-look="color"] .lk-fer .lk-ic svg{stroke:#6C8BFF}
:root[data-look="color"] .lk-zet .lk-ic svg{stroke:#35B6E8}
:root[data-look="color"] .lk-hz .lk-ic svg{stroke:#FF6B7A}
:root[data-look="color"] .lk-menza .lk-ic svg{stroke:#FF9A3D}
:root[data-look="color"] .mz-ic{background:color-mix(in srgb,#FF8A3D 22%,var(--surface))}
:root[data-look="color"] .mz-ic svg{stroke:#FF9A3D}
:root[data-look="color"] .mzpt{color:#FF9A3D}
/* postavke: izbor glavne boje */
.swatches{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 260px}
.swc{width:40px;height:40px;border-radius:50%;border:0;padding:0;background:var(--sw,var(--accent));box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);cursor:pointer;position:relative}
.swc[aria-pressed="true"]{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--sw)}
.swc[aria-pressed="true"]::after{content:"";position:absolute;left:13px;top:9px;width:8px;height:15px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.swc:focus-visible{outline:2px solid var(--fg);outline-offset:3px}

/* v27: manje „šablonski” izgled. Tople neutralne površine umjesto čisto bijelih, bez gradijenata, bez obojene lijeve crte,
   dvije veličine zaobljenja umjesto jedne, glavna boja zadano nije ljubičasta. */
:root{
  --bg:#F4F2EE; --surface:#FCFBF9; --surface2:#ECE9E3; --line:#E1DDD5; --fg:#1B1A17; --muted:#625D55;
  --accent:#0B7D74; --accent-text:#0B6F67;
  --r1:10px; --r2:8px; --r3:6px; --shadow:0 6px 20px rgba(30,26,18,.12)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121211; --surface:#1B1B1A; --surface2:#262624; --line:#2F2F2C; --fg:#ECEBE8; --muted:#A5A29B;
  --accent:#0D8178; --accent-text:#4FD1C5; --shadow:0 6px 20px rgba(0,0,0,.5)}}
:root[data-theme="dark"]{
  --bg:#121211; --surface:#1B1B1A; --surface2:#262624; --line:#2F2F2C; --fg:#ECEBE8; --muted:#A5A29B;
  --accent:#0D8178; --accent-text:#4FD1C5; --shadow:0 6px 20px rgba(0,0,0,.5)}
/* kartice bez gradijenata */
.sc{background:var(--surface)}
.sc.hot,.sc.bad{background:color-mix(in srgb,var(--warn) 14%,var(--surface))}
.now{background:var(--accent-soft)!important}
/* termini: bez obojene lijeve crte; boja predmeta je mala točka ispred naziva */
.slot,.slot[class*="crs-"]{grid-template-columns:54px 1fr;padding:12px 14px}
.slot .stripe,.slot[class*="crs-"] .stripe,.slot.lab .stripe{display:none}
.slot[class*="crs-"] .name::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--kc);margin-right:8px;vertical-align:1px}
.slot.lab{padding:14px}
/* zaobljenja: velike plohe 10, kontrole 8, oznake 6 */
.panel,.mzcard,.mecard,.menza,.now,.sc,.weigh,.wday,.gcard,.empty,.invbox,.importbox,.authcard,.spbig{border-radius:var(--r1)}
.slot,.slot[class*="crs-"],.slot.lab,.habit,.li,.lk,.ropt,.btn,.strip button,.iconbtn,.rate button,.fchip,.bar-note,.quick input,.wi.lab,.supprow,.acbox,.icsrow,.pw,.kpi,details.wzopt{border-radius:var(--r2)}
.seg{border-radius:var(--r2)} .seg button{border-radius:var(--r3)}
.tag,.badge,.swc-x{border-radius:var(--r3)}
.sheet{border-radius:14px 14px 0 0}
.toast{border-radius:var(--r2)}
.li.meet .badge.lab-meet{font-size:12px;padding:4px 8px}
/* v27b: ni u tjednu, predlošku i bodovima nema obojene lijeve crte; boja je mala točka */
.wi{grid-template-columns:8px 42px minmax(0,1fr)}
.wi i{align-self:start;width:8px;height:8px;border-radius:50%;margin-top:6px}
@media (min-width:960px){.wi{grid-template-columns:8px minmax(0,1fr)}.wi i{grid-row:1}}
.wi.lab i{background:#fff}
.tpill{border-left:0;padding-left:8px}
.tpill::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--kc,var(--k-fix))}
.gcard{border-left:0}

/* v45: "Sinkronizirano u 10:38" bez "h." koji je sam padao u drugi red (vrijeme se ne lomi) */
.mesync{min-width:0}

/* v46b: radno vrijeme menze (tekst sa SCZG-a, sklopivo u otvorenoj kartici) */
.mzh{border-top:1px solid var(--line)}
.mzh summary{cursor:pointer;list-style:none;min-height:40px;display:flex;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.mzh summary::-webkit-details-marker{display:none}
.mzh summary::after{content:"\00a0›"}
.mzh[open] summary::after{content:"\00a0⌄"}
.mzhb{display:grid;gap:2px;padding:0 0 10px;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere}
.mzhb b{margin-top:8px;font-size:13px}
.mzhb b:first-child{margin-top:0}
.mzbrza{margin:0;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.35;color:var(--text)}
.mzbrza b{font-weight:700}

/* v50b: poveznica na javnu stranicu Privatnost (prijava) */
.authfoot{margin:0;text-align:center}
.authfoot a{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}

/* v51b: ZET karta (Školjka) na Danas */
.zmframe{display:block;width:100%;height:260px;border:0;border-radius:var(--r2);background:var(--surface2)}
.zmnote{margin:0}
#zmSeg button{min-width:0}

/* v52b: HŽPP uživo (kašnjenje vlaka) */
.hzl{display:block;margin-top:2px;font-size:13px;line-height:1.35}
.hzl b{font-weight:700}

/* v55b: listanje dana prstom, kartice s gradijentom (opcija), Što je novo */
main>section[id^="tab-"]{overflow-x:clip;touch-action:pan-y pinch-zoom}
main>section[id^="tab-"].snap{transition:transform .2s ease}
@keyframes dayInL{from{opacity:.35;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes dayInR{from{opacity:.35;transform:translateX(-32px)}to{opacity:1;transform:none}}
main>section[id^="tab-"].in-l{animation:dayInL .22s ease-out}
main>section[id^="tab-"].in-r{animation:dayInR .22s ease-out}
@media (prefers-reduced-motion:reduce){main>section[id^="tab-"].in-l,main>section[id^="tab-"].in-r{animation:none}main>section[id^="tab-"].snap{transition:none}}
/* gradijent je samo tamniji kraj iste boje, pa bijeli tekst ostaje čitljiv */
:root[data-grad="1"] .now{background:var(--dither),linear-gradient(135deg,color-mix(in srgb,var(--accent) 34%,var(--surface)),var(--accent-soft) 85%)!important}
:root[data-grad="1"] .now.has-lab,:root[data-grad="1"] .slot.lab{background:var(--dither),linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 66%,#000))!important}
:root[data-grad="1"][data-look="color"] .now.has-lab,:root[data-grad="1"][data-look="color"] .slot.lab{background:var(--dither),linear-gradient(135deg,color-mix(in srgb,var(--ld) 92%,#000),color-mix(in srgb,var(--ld) 62%,#000))!important}
:root[data-grad="1"] .slot:not(.lab){background:linear-gradient(135deg,color-mix(in srgb,var(--kc) 17%,var(--surface)),color-mix(in srgb,var(--kc) 5%,var(--surface)))}
:root[data-grad="1"] .sc,:root[data-grad="1"] .mzcard{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 11%,var(--surface)),var(--surface) 80%)}
.newslist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.newslist li{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r2);background:var(--surface2)}
.newslist b{font-weight:700}
.newslist span{font-size:14px;color:var(--muted);line-height:1.35}

/* v56b: Izgled u padajućem panelu, kartica Promet */
.setrow.in{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.setrow.in:first-child{border-top:0;padding-top:4px}
.setrow.in .stt{flex:0 1 auto}
.setrow.in .seg{flex:1 1 240px}
.prmhead{position:relative}
.prmrev{margin-left:auto;min-width:40px;min-height:40px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);color:var(--fg);font:inherit;font-size:18px;cursor:pointer}
.prmbody{display:grid;gap:0;padding:0 16px 8px}
.prr{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.35}
.prr:first-child{border-top:0}
.prl b{font-weight:700}
.prs{display:flex;flex-wrap:wrap;gap:6px 14px}
.pri{white-space:nowrap}
.pri b{font-weight:700}
.pri i,.prn{font-style:normal;color:var(--muted)}
.pri i.late,.prn.late{color:#D9480F;font-weight:700}
.prn.bad{color:#E03131}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pri i.late,:root:not([data-theme="light"]) .prn.late{color:#FF922B}:root:not([data-theme="light"]) .prn.bad{color:#FF6B6B}}
:root[data-theme="dark"] .pri i.late,:root[data-theme="dark"] .prn.late{color:#FF922B}
:root[data-theme="dark"] .prn.bad{color:#FF6B6B}

/* v57b: traka dana klizi (scroll s momentumom), planer prijevoza */
.strip{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.strip::-webkit-scrollbar{display:none}
.strip button{flex:0 0 calc((100% - 30px)/7);scroll-snap-align:center}
.prhint{margin:0;padding:10px 0 4px;border:0;border-top:1px solid var(--line);background:none;color:var(--accent-text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;min-height:40px}
.prmcard{cursor:pointer}
.plr{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}
.plr:first-child{border-top:0}
.plr b{font-family:var(--mono);font-weight:600;font-size:16px}
.plr .rl{display:block;font-weight:600}
.plr i.late{font-style:normal;color:#D9480F;font-weight:700}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .plr i.late{color:#FF922B}}
:root[data-theme="dark"] .plr i.late{color:#FF922B}

/* v58b: jači gradijent (opcija Kartice), procjena pješačenja u planeru */
:root[data-grad="1"] .now{background:var(--dither),linear-gradient(135deg,color-mix(in srgb,var(--accent) 62%,var(--surface)),color-mix(in srgb,var(--accent) 12%,var(--surface)) 90%)!important}
:root[data-grad="1"] .now.has-lab,:root[data-grad="1"] .slot.lab{background:var(--dither),linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 42%,#000))!important}
:root[data-grad="1"][data-look="color"] .now.has-lab,:root[data-grad="1"][data-look="color"] .slot.lab{background:var(--dither),linear-gradient(135deg,var(--ld),color-mix(in srgb,var(--ld) 40%,#000))!important}
:root[data-grad="1"] .slot:not(.lab){background:linear-gradient(135deg,color-mix(in srgb,var(--kc) 40%,var(--surface)),color-mix(in srgb,var(--kc) 6%,var(--surface)))}
:root[data-grad="1"] .sc,:root[data-grad="1"] .mzcard,:root[data-grad="1"] .prmcard{background:var(--dither),linear-gradient(150deg,color-mix(in srgb,var(--accent) 28%,var(--surface)),color-mix(in srgb,var(--accent) 4%,var(--surface)) 85%)}
.plwalk{margin:2px 0 6px;font-size:14px;color:var(--muted)}
.plwalk b{color:var(--fg);font-weight:700}

/* v59b: ispravak upisanog učenja */
.she{display:grid;grid-template-columns:1fr 84px auto auto;gap:8px;align-items:center;padding:10px;border-radius:var(--r2);background:var(--surface2)}
.she .shw{display:grid;gap:2px;min-width:0}
.she .shw b{overflow-wrap:anywhere}
.she input{min-height:40px;width:100%;text-align:center}
.she .btn{min-height:40px}
@media (max-width:480px){.she{grid-template-columns:1fr 1fr 1fr}.she .shw{grid-column:1/-1}}

/* v60b: tjedni plan učenja */
.srow{flex-wrap:wrap}
.srow .sht{flex:0 0 100%;padding-left:30px;margin-top:-4px}
.srow .sh input{width:64px}

/* v61b: tjedni pregled učenja (prsteni) */
#studyWeek{display:grid;gap:8px}
.wkr{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.wkri{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r2);background:var(--surface2)}
.wkri svg{grid-row:1/3;width:40px;height:40px;transform:rotate(-90deg)}
.wkri circle{fill:none;stroke-width:5}
.wkri .bg{stroke:var(--line)}
.wkri .fg{stroke:var(--accent);stroke-linecap:round}
:root[data-look="color"] .wkri .fg{stroke:var(--hc,var(--accent))}
.wkri .wkn{font-size:13.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.wkri .wkv{font-size:12.5px;color:var(--muted)}
.wkri.full .wkv{color:var(--accent-text)}

/* v61c: sažetak tjedna na Danas */
.rcbody{padding:0 16px 14px}
.rcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.rct{display:grid;gap:2px;align-content:start;padding:10px 12px;border-radius:var(--r2);background:var(--surface2)}
.rct .rch{font-size:12.5px;color:var(--muted)}
.rct b{font-size:20px;font-weight:700;line-height:1.2}
.rct .rcs{font-size:12.5px;color:var(--muted)}
.rcb{margin:10px 0 0;font-size:13.5px;color:var(--muted)}
#rcClose{font-size:15px}

/* v63b: prijedlog učenja: pomakni ili makni termin */
.swtime{align-items:flex-end;gap:8px;flex-wrap:wrap}
.swtime .f{flex:1 1 130px;margin:0}
.swtime input{min-height:42px}
.swtime .btn{min-height:42px}
.warn-t{color:var(--warn);margin:0}
#swapSheet .btn.danger{margin-left:0;min-height:44px}

/* v64: redak dana (opcionalno) */
.verse{display:grid;gap:4px;padding:12px 14px;border-radius:var(--r1);background:var(--surface2);border:1px solid var(--line)}
.verse .vtext{margin:0;font-size:14.5px;line-height:1.5;font-style:italic}
.verse .vref{font-size:12.5px;color:var(--muted)}

/* v66: zadaci po predmetima (Tracker) */
.tkgrp{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r1);background:var(--surface2)}
.tkhead{display:flex;align-items:center;gap:8px;min-width:0}
.tkhead b{flex:1;min-width:0;overflow-wrap:anywhere}
.tkdot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--kc,var(--muted))}
.tk{display:flex;align-items:center;gap:8px;min-height:44px}
.tkb{flex:none;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;cursor:pointer;padding:0}
.tkb .box{width:26px;height:26px;border-radius:var(--r3);border:2px solid var(--muted);display:grid;place-items:center}
.tkb[aria-pressed="true"] .box{background:var(--accent);border-color:var(--accent)}
.tkb[aria-pressed="true"] .box::after{content:"";width:7px;height:12px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.tkt{flex:1;min-width:0;display:grid;gap:1px}
.tkt b{font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.tks{font-size:12.5px;color:var(--muted)}
.tk.late .tks{color:var(--warn);font-weight:600}
.tk.done .tkt b{text-decoration:line-through;color:var(--muted);font-weight:500}
.tkx{flex:none;min-height:40px;padding:0 6px}

/* v68: popis računa, svaki redak u svom retku */
#userList .lt span{display:block;line-height:1.45}

/* v69: pregled dizajna (Tracker brzi upis, Ekipa vodilice, oznake kašnjenja, donja traka s nazivima) */
/* Tracker: prsten s postotkom i brzi upis */
.wkri{grid-template-columns:46px 1fr;grid-template-rows:auto auto auto;row-gap:2px}
.wkring{grid-row:1/3;position:relative;width:46px;height:46px;display:block}
.wkring svg{width:46px;height:46px;transform:rotate(-90deg);display:block}
.wkri circle{stroke-width:6}
.wkri .bg{stroke:color-mix(in srgb,var(--fg) 14%,transparent)}
.wkring b{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.wkq{grid-column:1/3;display:flex;gap:6px;margin-top:6px}
.wkq button{flex:1;min-height:36px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r3);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.wkq button:active{background:var(--accent-soft)}
/* Ekipa: okomite vodilice na parnim satima */
.tlg{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:color-mix(in srgb,var(--fg) 10%,transparent);pointer-events:none}
.tlr,.tlaxis{grid-template-columns:minmax(0,112px) 1fr}
.tlp .av{width:24px;height:24px;font-size:10px}
.tlp{gap:6px}
/* prijedlozi učenja: tiši gumbi (obrubljeni čipovi), Odradio ostaje istaknut */
.sbtns{gap:6px;margin-top:8px}
.sbtn{background:transparent;border-color:color-mix(in srgb,var(--fg) 18%,transparent);color:var(--muted);padding:4px 10px;font-size:12px;font-weight:600;min-height:30px}
.sbtn.ok{color:#fff}
/* kašnjenje vlaka i ZET-a: jantarna oznaka, vidi se na prvi pogled */
.hzl b.late,.prn.late b{display:inline-block;background:#F59F00;color:#1F1400;padding:2px 8px;border-radius:var(--r3);font-weight:700}
.prn.late{color:inherit}
/* zaglavlje: desni rub se utapa kad se čipovi listaju */
.chips.ovf{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
/* brzo dodavanje: primjeri */
.qchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:8px}
.qchips::-webkit-scrollbar{display:none}
.qchip{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:7px 12px;min-height:34px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
/* donja traka na mobitelu: ikona + mali naziv */
@media (max-width:959px){
  nav.tabs button span:not(.tabdot){position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:10.5px;line-height:1.1;font-weight:600;white-space:nowrap}
  nav.tabs svg{width:23px;height:23px}
  nav.tabs button,nav.tabs button[aria-selected="true"]{padding:8px 0 6px;gap:3px}
  .tabdot{top:5px}
}

/* v70: Tjedan bez punih traka (labos/vlak samo točka i podebljan naziv), Promet: dvije poveznice u podnožju, FERweb na Tjednu, kašnjenje u popisu dana */
.wi.lab,:root[data-look="color"] .wi.lab{background:transparent;padding:0;border-radius:0}
.wi.lab i{background:var(--accent);margin-left:0}
:root[data-look="color"] .wi.lab i{background:var(--ld)}
.wi.lab b{color:var(--muted)!important}
.wi.lab .wn{color:var(--fg)!important;font-weight:700}
.prfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;border-top:1px solid var(--line);margin-top:2px}
.prfoot .prhint{border-top:0;padding:10px 0 4px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.lkrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;color:var(--fg);text-decoration:none}
.lkrow h2{margin:0}
.tlate{font-weight:700;color:#D9480F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tlate{color:#FF922B}}
:root[data-theme="dark"] .tlate{color:#FF922B}
.slot.lab .tlate{color:#FFD8A8}

/* v71: planer brza odredišta, malo svjetliji sporedni tekst u tamnoj temi (čitljivije vani) */
.plchips{margin-top:2px}
.qchip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--muted:#BAB7B0}}
:root[data-theme="dark"]{--muted:#BAB7B0}
.prmaway{margin:2px 0 0}

/* v73: glavna boja kao pločice s nazivom (21 boja + nasumična) */
.setrow.accrow #accSw{flex:1 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.acct{min-height:48px;padding:8px 6px;border:0;border-radius:var(--r2);background:color-mix(in srgb,var(--sw) 16%,var(--surface));color:var(--swt);font:inherit;font-size:13.5px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;overflow-wrap:anywhere}
.acct[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--swt)}
.acct:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.acch{grid-column:1/-1;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.acct.accrand{grid-column:1/-1;background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-text)}
.acct.accrand[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--accent-text)}

/* v75: kartica Faks (predmeti), donja traka Danas · Tjedan · Faks · Ekipa · Navike, Postavke pod avatarom na mobitelu */
body[data-tab="faks"]{--tc:var(--accent)}
#t-faks{--bc:var(--accent)}
@media (max-width:959px){#t-postavke{display:none}}
.faksintro{margin:0}
.faksgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.fcard{display:grid;gap:10px;padding:14px;border-radius:var(--r1);background:var(--surface);border:1px solid var(--line)}
.fhead{display:flex;align-items:center;gap:9px}
.fhead b{font-family:var(--display);font-size:17px;font-weight:700;line-height:1.2}
.fhead .dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--kc,var(--accent))}
.frows{display:grid;gap:6px}
.fr{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:baseline;font-size:13.5px;line-height:1.35}
.fl{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fv{min-width:0;overflow-wrap:anywhere}
.flate{color:var(--warn)}
.fbar{display:block;height:5px;margin-top:5px;border-radius:3px;background:color-mix(in srgb,var(--fg) 12%,transparent);overflow:hidden}
.fbar i{display:block;height:100%;background:var(--accent);border-radius:3px}
.facts{display:flex;flex-wrap:wrap;gap:6px}
.facts button{flex:1 1 auto;min-height:38px;padding:6px 10px;border:1px solid var(--line);background:var(--surface2);color:var(--fg);border-radius:var(--r3);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.facts button:active{background:var(--accent-soft)}

/* v78: laptop Tjedan: naziv ide u drugi stupac (ne u stupac točke) */
@media (min-width:960px){.wi b{grid-column:2;grid-row:1}.wi .wn{grid-column:2;grid-row:2;min-width:0;overflow-wrap:anywhere}}

/* v79: polje za lozinku (.pwf) ne smije rezati okvir fokusa (stara klasa .pw ima overflow:hidden za drugi panel) */
.pw.pwf{overflow:visible;background:none;border-radius:0}

/* v79: prekidači kao na mobitelu (Spotify): tekst lijevo, prekidač desno.
   .tsw = gumb role="switch" (Izgled), label.check.tg = kvačica pretvorena u prekidač (Postavke, čarobnjak) */
.tsw,label.check.tg input{-webkit-appearance:none;appearance:none;flex:none;width:52px;height:32px;margin:0;padding:0;border-radius:999px;cursor:pointer;
  border:2px solid var(--muted);background:var(--surface2) radial-gradient(circle at 14px 50%,var(--muted) 0 8px,transparent 8.6px) no-repeat;accent-color:auto}
.tsw[aria-checked="true"],label.check.tg input:checked{border-color:var(--accent);background:var(--accent) radial-gradient(circle at calc(100% - 14px) 50%,#fff 0 10px,transparent 10.6px) no-repeat}
.tsw:focus-visible,label.check.tg input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tsw::before{content:"";position:absolute;inset:-6px}.tsw{position:relative}
label.check.tg{justify-content:space-between;gap:16px;min-height:44px}
label.check.tg input{order:2}
label.check.tg input:focus{outline:none}
label.check.tg input:focus-visible{outline:2px solid var(--accent)}
.setrow.in:has(.tsw){flex-wrap:nowrap}
.setrow.in:has(.tsw) .stt{flex:1 1 0;min-width:0}

/* v80: traka dana klizi slobodno (bez hvatanja); position:relative da offsetLeft gumba bude unutar trake (inače se na laptopu centrira krivi dan) */
.strip{position:relative;scroll-snap-type:none;scroll-behavior:auto}
.strip button{scroll-snap-align:none}
/* odabir u Postavkama kao pilule (Spotify): bez okvira oko grupe, svaka opcija svoja pilula */
.setrow .seg,.setrow .seg.wide,.setrow .seg.wide.two,.setrow.in .seg{display:flex;flex:1 0 100%;flex-wrap:wrap;gap:8px;padding:0;background:none;border-radius:0}
.setrow .seg button{flex:0 0 auto;min-height:36px;padding:7px 16px;border-radius:999px;background:var(--surface2);color:var(--fg);font-weight:500;font-size:14px}
.setrow .seg button[aria-pressed="true"],.setrow .seg.wide button[aria-pressed="true"]{background:var(--accent);color:#fff;font-weight:600}
/* privatnost: kratki odlomci s naslovom i popisom */
.priv{display:grid;gap:0}
.priv section{padding:12px 0;border-top:1px solid var(--line)}
.priv section:first-child{border-top:0;padding-top:2px}
.priv h4{margin:0 0 6px;font-size:14.5px;font-weight:600;color:var(--fg)}
.priv ul{margin:0;padding-left:18px;display:grid;gap:4px}
.priv li,.priv p{font-size:14px;line-height:1.5;color:var(--muted)}
.priv li::marker{color:var(--accent-text)}
.priv p{margin:6px 0 0}
.contacts{display:grid;gap:6px;margin-top:8px}
.contacts .ct{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:var(--r2);background:var(--surface2);color:var(--fg);text-decoration:none;border:0;font:inherit;text-align:left;cursor:pointer;width:100%}
.contacts .ct span{width:76px;flex:none;font-size:13px;color:var(--muted)}
.contacts .ct b{font-weight:600;font-size:14.5px;color:var(--accent-text);min-width:0;overflow-wrap:anywhere}
.contacts .ct i{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--muted)}
.utemp{font-weight:600;color:var(--fg)}
/* podnožje Postavki: tko je napravio, izvori, copyright */
.credits{text-align:center;padding:18px 0 6px;color:var(--muted);font-size:12.5px;line-height:1.6}
.credits p{margin:0}
.credits b{color:var(--fg);font-weight:600}
/* uvod (#tourSheet) */
.tour .sheethead{justify-content:space-between}
.tourn{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.tourbody{min-height:230px;display:grid;align-content:start;gap:8px}
.tourbody h2{margin:0;font-size:24px;line-height:1.2}
.tourbody p{margin:0;font-size:15.5px;color:var(--fg)}
.tourbody ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.tourbody li{padding:10px 12px;border-radius:var(--r2);background:var(--surface2);font-size:14.5px;color:var(--muted)}
.tourdots{display:flex;justify-content:center;gap:6px}
.tourdots i{width:6px;height:6px;border-radius:50%;background:var(--line)}
.tourdots i.on{background:var(--accent);width:18px;border-radius:3px}
.tourbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tourbtns .btn{min-height:44px}
.credits .linkbtn{margin-top:8px;color:var(--muted);font-size:12.5px;min-height:32px}
/* bug ili ideja */
.fbkind{display:flex;gap:8px;padding:0;background:none;border-radius:0}
.fbkind button{min-height:36px;padding:7px 16px;border-radius:999px;background:var(--surface2);color:var(--fg);font-weight:500;font-size:14px}
.fbkind button[aria-pressed="true"]{background:var(--accent);color:#fff;font-weight:600}
#fbText{width:100%;resize:vertical}
.fbi .fbt{white-space:pre-wrap;overflow-wrap:anywhere}
.kvest{margin:0;color:var(--muted)}.kvest.warn{color:var(--warn);font-weight:600}
/* računi (admin): kompaktni retci */
#userList{display:grid;gap:0}
.urow{display:flex;gap:12px;align-items:flex-start;padding:12px 2px;border-top:1px solid var(--line)}
.urow:first-child{border-top:0}
.uav{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;background:var(--lg)}
.ubody{flex:1;min-width:0;display:grid;gap:3px}
.utop{display:flex;align-items:baseline;gap:8px}
.utop b{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.useen{margin-left:auto;flex:none;font-size:12.5px;color:var(--muted)}
.useen.ulive{color:var(--accent-text);font-weight:600}
.uwho{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.utags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.utag{font-size:12.5px;line-height:1;padding:6px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);border:0}
.utag.on{color:var(--fg)}
.utag.warn{color:var(--warn);font-weight:600}
button.utag.ubtn{color:var(--accent-text);font-weight:600;cursor:pointer;min-height:28px;font-family:inherit}
/* v1.2: postotak navike desno od trake (prije je padao ispod), sve odluke u Postavkama kao pilule, poveznice */
.hst .n{grid-row:1;grid-column:2}
.hst .m:last-child{grid-row:1;grid-column:3;justify-self:end;color:var(--fg);font-weight:600}
.hst .bar{grid-row:2;grid-column:2/4}
.hst .m:nth-child(3){grid-row:3;grid-column:2/4;font-family:var(--body);font-size:12.5px}
#tab-postavke .seg{display:flex;flex-wrap:wrap;gap:8px;padding:0;background:none;border-radius:0}
#tab-postavke .seg button{flex:0 0 auto;min-height:36px;padding:7px 16px;border-radius:999px;background:var(--surface2);color:var(--fg);font-weight:500;font-size:14px}
#tab-postavke .seg button[aria-pressed="true"]{background:var(--accent);color:#fff;font-weight:600}
.plink{color:var(--accent-text)}
.credlinks{margin-top:6px!important}.credlinks .linkbtn{margin:0;color:var(--muted);font-size:12.5px;text-decoration:underline}
/* v1.6: kalendar preko linka */
.icsrowin{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.icsrowin input{flex:1;min-width:0}
.icslink{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}#icsLinkState{margin-top:10px}
.prepb{min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;margin-left:4px}
.prepb[aria-pressed="true"]{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}
.importbox .icsrowin input{background:var(--surface);border:1px solid var(--line)}
/* v2.0: bodovi */
.gtot{margin:0;font-size:15px}.gtot b{font-family:var(--display);font-size:20px}
.gbar{position:relative;height:8px;border-radius:999px;background:var(--line);margin:22px 0 8px}
.gbar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--accent)}
.gbar s{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--fg);opacity:.35;text-decoration:none}
.gbar s em{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-style:normal;font-size:11.5px;color:var(--muted);font-weight:600}
.grow{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:8px;align-items:center;min-height:40px}
.grow .gn{display:flex;flex-direction:column;font-size:14px;min-width:0}.grow .gn small{color:var(--muted);font-size:12.5px}
.grow input{text-align:center;font-family:var(--mono);padding:8px 6px!important;min-width:0;width:100%}
.gof{font-family:var(--mono);font-size:13px;color:var(--muted);min-width:44px}
.gparts.ed .gpart{grid-template-columns:minmax(0,1fr) 60px 60px 32px}
.gths{display:grid;gap:6px}.gthl{display:inline-flex;align-items:center;gap:4px}.gthl b{font-size:13px}.gth{width:56px!important}
.gacts{flex-wrap:wrap;gap:8px}.ghead{display:flex;align-items:center;gap:8px}.ghead b{flex:1;min-width:0}.ghead .dot{width:9px;height:9px;border-radius:50%;background:var(--kc,var(--accent));flex:none}
.gsugg{gap:6px;align-items:center}.gsugg .chip{min-height:36px;cursor:pointer;font:inherit;font-size:13px;color:var(--fg)}
.gcard input[type=text]{background:var(--surface);border:1px solid var(--line)}

/* v2.1 bodovi s FERweba */
.gfp{gap:6px;flex-wrap:wrap}.gfp button{min-height:36px;padding:6px 14px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font:inherit;font-size:13px;font-weight:500;border:0;cursor:pointer}.gfp button[aria-pressed="true"]{box-shadow:none;background:var(--accent);color:#fff;font-weight:600}
#gradeFer input{background:var(--surface);border:1px solid var(--line)}
.gcard a{color:var(--accent-text)}.gfp{margin-top:2px}

/* v2.3 Faks: popis predmeta, sve o predmetu u prozoru */
.subjlist{display:grid;gap:6px}
.subjhd{padding:0 2px}.subjhd h2{margin:0}
.subj{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
.subj:active{background:var(--accent-soft)}
.subj .dot,#subjTitle .dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--kc,var(--accent))}
.subjt{display:grid;gap:2px;min-width:0;flex:1}
.subjt b{font-size:15.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.subjt small{font-size:12.5px;color:var(--muted);line-height:1.3}
.subj .chev{color:var(--muted);font-size:20px;flex:none}
.faksset{display:grid;gap:8px;align-content:start}
@media (min-width:960px){.subjlist{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subjhd{grid-column:1/-1}}
#subjTitle{display:flex;align-items:center;gap:10px}
.subjsheet .fcard{padding:0;border:0;background:none}
.ssec{padding-top:14px;border-top:1px solid var(--line)}
.ssec h3{margin:0;font-size:15px}
.subjsheet #subjInfo{border-top:0;padding-top:0}
.flab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:34px}
.subjsheet .tkgrp{border:0;padding:0;background:none}
/* v2.5: laptop i široki ekrani (pravi raspored, ne raširen mobilni) */
@media (min-width:960px){
  #tab-postavke>.credits{padding-top:30px}
  .setcols{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tab-tjedan>.cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  #tab-tjedan>.cols>.col{display:contents}
  #tab-ekipa>.ekintro{width:100%;max-width:680px;margin-inline:auto}
  .habits{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
}
@media (min-width:1600px){main{max-width:1280px}}
/* v2.6 menza: Izbor i Prilozi uvijek otvoreni, zajednička jela jednom, radno vrijeme po obrocima */
.mzp{gap:12px}
.mzmore{padding-top:10px;border-top:1px dashed var(--line)}
.mzs>b{display:block;margin-bottom:2px}
.mzuz{margin:-2px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.mzuz b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.mzuz .mzpr{font-size:12px;white-space:nowrap}
.mzuzi{white-space:nowrap}
.mzopen{gap:0}
.mzopen>.mzseg{margin-bottom:14px}
.mzopen>.mzbody{padding-bottom:14px}
.mzopen>.mzbrza,.mzopen>.mzh,.mzopen>.mzfavs{padding:12px 0;border-top:1px solid var(--line)}
.mzopen>.mzfavs{padding-bottom:0}
.mzbrza{font-size:14px}
.mzhb{display:grid;gap:8px;padding:0}
.mzhtop{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.mzhb b.mzhh{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.mzhst{font-size:13px;font-weight:600;color:var(--muted)}
.mzhst.on{color:var(--accent-text)}
.mzhsp{margin:0;font-size:13px;font-weight:600;color:var(--fg)}
.mzhg{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14.5px;line-height:1.3}
.mzhg li{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mzhb .mzhg b{margin:0;font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.mzhg li.hi span,.mzhb .mzhg li.hi b{color:var(--accent-text);font-weight:700}
.mzhg li.hi span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:7px;vertical-align:2px}
.mzhb .mzhg li.off b{font-weight:400;color:var(--muted)}
.mzhtm{margin:0;font-size:12.5px;line-height:1.4;color:var(--muted)}
.mzfavs{gap:10px}
.mzfavs>b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.mzfl{gap:6px}
.mzfc{font-size:13px;line-height:1.2;padding:0 0 0 10px;height:30px;border-radius:var(--r2)}
.mzfc button{font-size:15px;padding:0 9px;min-height:0;min-width:0;height:30px}
.mzfadd input,.mzfadd .btn{min-height:40px}
.mzhraw{display:grid;gap:2px}
.mzhraw b{margin-top:6px;font-size:13px}

/* 2.11: graf kilaže i obični linkovi u glavnoj boji (prije fiksno plavo/zeleno i zadana boja preglednika) */
#wChart .line{stroke:var(--accent-text)}
#wChart .pt{fill:var(--accent-text)}
#wChart .goal{stroke:color-mix(in srgb,var(--accent-text) 45%,var(--muted))}
:where(a:not([class])){color:var(--accent-text)}

/* 2.15: dorada (pregled cijele aplikacije): čitljivi sitni nazivi, dodirne površine, kontrast oznake roka */
.eyebrow,.mzhead .eyebrow{font-size:12px}
.strip .wd,.wdh b,.tlaxis .tlt span{font-size:12px}
.li .badge,.icsrow .badge{font-size:12px}
/* rok za 4-14 dana: jantarna oznaka kao za kašnjenje (bijelo na narančastoj nije bilo čitljivo) */
.li.dl.near .dlb{background:#F59F00;color:#1F1400}
/* tekstualni gumbi (Dodaj ručno, Ponovo kroz uvodna pitanja…) i mali gumbi: dovoljno visoki za prst */
.linkbtn{display:inline-flex;align-items:center;min-height:40px}
.credits .linkbtn{min-height:36px}
.btn.small{min-height:38px}
/* kvačice navika ostaju male, ali se dodir hvata i malo oko njih */
#grid .cell{position:relative}
#grid .cell::before{content:"";position:absolute;inset:-5px -7px}
.tpill button{width:34px;height:34px}
.acnear{min-height:36px}
.plink{display:inline-flex;align-items:center;min-height:40px}
.xbtn{width:40px;height:40px}
.seg.wide button{min-height:38px}
#studySubj label.check{min-height:40px}
.fl{font-size:12px}
/* inicijali na avataru: tamnija nijansa iste boje (bijela slova kontrast ≥ 4,5) */
:is(.av.ini,.uav).lab-h0{background:#C74C0A}:is(.av.ini,.uav).lab-h1{background:#0D7F91}:is(.av.ini,.uav).lab-h2{background:#29843B}
:is(.av.ini,.uav).lab-h4{background:#A76208}:is(.av.ini,.uav).lab-h5{background:#1A76C9}:is(.av.ini,.uav).lab-h7{background:#09845F}
label.check{min-height:40px}
.chiprow button{min-height:38px;min-width:42px}
#mzInvite,#backupList button,.utag.ubtn{min-height:36px}
/* v2.18: navike sa satima i brojem */
.habit[data-part] .box{background:conic-gradient(color-mix(in srgb,var(--accent) 60%,transparent) var(--hp),transparent 0)}
:root[data-look="color"] .habit[data-part] .box{background:conic-gradient(color-mix(in srgb,var(--hc) 60%,transparent) var(--hp),transparent 0)}
.cell .cv{display:block;font:600 10.5px/1 var(--mono);color:var(--fg);letter-spacing:-.02em;overflow:hidden}
.cell[aria-pressed="true"] .cv{color:#fff}
.hopt{display:flex;align-items:center;gap:6px;flex:none}
.hopt input[type="number"]{width:68px}
input.hopt,.hopt input[type="text"]{width:150px;max-width:40vw}
.hrow input.hopt{width:84px;flex:none}
.habadd select{flex:1;min-width:0}
#hvIn{font-size:20px;font-family:var(--mono)}
/* v2.23: upisani vlak na Danas se dodirne (prozor s brisanjem) */
.slot[data-trip]{cursor:pointer}

/* v2.30: labosi u Tjednu uočljiviji (oznaka kao na Danas, vrijeme u glavnoj boji) */
.wi .wtag{display:inline-block;vertical-align:1px;margin-right:6px;padding:1px 6px;border-radius:var(--r3);background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.5}
:root[data-look="color"] .wi .wtag{background:color-mix(in srgb,var(--ld) 86%,#000)}
.wi.lab b{color:var(--accent-text)!important;font-weight:700}
.wi.lab.lab-trip .wtag,.wi.lab.lab-meet .wtag{background:var(--accent-soft);color:var(--accent-text)}
/* v3.0: ekipa po izboru i poziv za obavijesti */
.crewlist{display:flex;flex-direction:column;gap:2px;max-height:min(52vh,calc(var(--vvh,100vh) - 300px));overflow-y:auto;margin:0 -4px;padding:0 4px}
.crewrow{padding:6px 0;border-bottom:1px solid var(--line)}
.crewrow:last-child{border-bottom:0}
.crewp{display:flex;align-items:center;gap:10px;min-width:0}
.crewp .av{width:36px;height:36px;flex:none}
.crewn{display:flex;flex-direction:column;min-width:0}
.crewn b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crewask{background:var(--accent-soft)}
.pushnag{background:var(--accent-soft)!important;border:0}
.pushnag span{flex:1 1 200px}
/* v3.4: korištenje u adminu (aktivni, ostali, funkcije, 14 dana po računu) */
.ustats{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.ust{display:grid;gap:2px;padding:10px 12px;border-radius:var(--r2);background:var(--surface2)}
.ust b{font-size:20px;font-weight:700;line-height:1.1}
.ust span{font-size:12.5px;color:var(--muted)}
.usefx>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--accent-text);font-weight:600}
.ufxl{display:grid;gap:8px;margin:4px 0 8px}
.ufx{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:14px}
.ufx b{font-weight:600}
.ufbar{grid-column:1/3;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}
.ufbar i{display:block;height:100%;background:var(--accent)}
.ustrip{display:inline-flex;gap:2px;align-items:center;padding:0 4px;min-height:25px}
.ustrip i{width:6px;height:12px;border-radius:2px;background:var(--surface2)}
.ustrip i.on{background:var(--accent)}
.fbst{display:block;font:12.5px/1.4 ui-monospace,monospace;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}

/* v3.7: glatki gradijenti. Lagani šum (dither, ±1-2 nijanse) razbije pruge koje 8-bitni zaslon pokaže na velikim tamnim prijelazima; slika je mala pločica, crta se jednom. */
:root{--dither:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 .016'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='discrete' tableValues='0 1'/%3E%3CfeFuncG type='discrete' tableValues='0 1'/%3E%3CfeFuncB type='discrete' tableValues='0 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.auth::after{content:"";position:fixed;inset:0;background:var(--dither);pointer-events:none}

/* zadaće s rokom u popisu dana (Moodle) */
.slot.task[data-fopen]{cursor:pointer}
.slot.task:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* učitavanje (spora mreža): dok app.js ne nacrta stanje, umjesto prazne ljuske stoji kostur */
.bootsk,.bootlogo{display:none}
html.boot main>section[id^="tab-"],html.boot #chips{display:none!important}
html.boot:not(.sk) main>header,html.boot:not(.sk) nav.tabs{display:none!important}
html.boot:not(.sk) .bootlogo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:70vh;min-height:70dvh;color:var(--muted)}
.bootlogo img{border-radius:14px}
html.boot.sk .bootsk{display:grid;gap:10px;margin-top:14px;max-width:560px}
.skr{border-radius:var(--r2,8px);background:color-mix(in srgb,var(--fg) 7%,transparent)}
.skstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:none}
.skstrip i{height:52px;border-radius:var(--r2,8px);background:color-mix(in srgb,var(--fg) 7%,transparent)}
.skcard{height:118px;border-radius:var(--r1,10px);margin:4px 0 6px}
.skline{height:44px;width:100%}
.skline.w85{width:85%}.skline.w70{width:70%}.skline.w60{width:60%}
.sknote{margin:4px 0 0;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){.skr,.skstrip i{animation:skpulse 1.4s ease-in-out infinite}.skstrip.skr{animation:none}}
@keyframes skpulse{50%{opacity:.55}}
/* Uputa za FER kalendar (slika) */
.ferhow{margin:2px 0 0;display:grid;gap:4px;max-width:420px}
.ferhow svg{display:block;width:100%;height:auto}
.ferhow figcaption{font-size:12.5px;color:var(--muted)}
.ferhow[hidden]{display:none}

/* stanice oko faksa: ime stanice u Prometu smije prijeći u novi red (uski mobiteli) */
.pri .prst{white-space:normal}
/* rođendan: upit na Danas i polja dan + mjesec */
.bdrow{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;min-width:0}
.bdrow select{min-width:0;flex:1 1 0;min-height:40px}
.bdrow select:first-child{flex:0 0 76px}
.bdayask>span:first-child{flex:1 1 200px}
.bdayask .bdrow{flex:1 1 260px}
.bdayask .xbtn{background:transparent;border:0}
