/* LOOP! · Sportmotief rood (licht + donker). Gegenereerd door tools/retheme.py uit tools/green-css; pas kleuren daar aan. */
@font-face{font-family:Figtree;src:url(/assets/fonts/Figtree.woff2) format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:Outfit;src:url(/assets/fonts/Outfit.woff2) format('woff2');font-weight:300 900;font-display:swap}
:root{--bg:#F6F4F3;--card:#FFFFFF;--card2:#FAF9F8;--track:#F1EEEC;--line:#E6E2DF;--line2:#D4CFCB;--ink:#161616;--ink2:#333333;--mute:#666666;--mute2:#767676;--solid:#161616;--acc:#D6342A;--acc-bg:#B02A22;--acc-t:#B02A22;--acc-deep:#8E1F19;--tint:#FEF3F2;--tint2:#FCE3E0;--tb:#F8C4BE;--tb2:#F29C93;--acc-rgb:214,52,42;--sh:15,15,15;--navbg:rgba(255,255,255,.95);--side:#161616;--side2:#262626;--hero:linear-gradient(150deg,#D6342A 0%,#B02A22 55%,#7E1C17 100%);--hero-rest:linear-gradient(150deg,#4A4A4A 0%,#333333 60%,#1E1E1E 100%);--am-bg:#FFFBEB;--am-bg2:#FEF3C7;--am-b:#FDE68A;--am-fg:#92400E;--am-fg2:#78350F;--or-bg:#FFF7ED;--or-bg2:#FFEDD5;--or-b:#FED7AA;--or-fg:#C2410C;--er-bg:#FEF2F2;--er-b:#FECACA;--er-fg:#B91C1C;--er-fg2:#7F1D1D;--pu-bg:#F5F3FF;--pu-b:#C4B5FD;--pu-fg:#5B21B6;--pu-fg2:#3B0764;--in-bg:#EEF2FF;--in-fg:#3730A3;--blue:#2563EB;--g900:var(--acc-deep);--g800:var(--acc-t);--g700:var(--acc-t);--g600:var(--acc);--g100:var(--tint2);--g50:var(--tint);--amber:var(--am-fg);--amberbg:var(--am-bg2);color-scheme:light}
:root[data-theme=dark]{--bg:#111111;--card:#1C1C1C;--card2:#171717;--track:#262626;--line:#2C2C2C;--line2:#3A3A3A;--ink:#F4F4F4;--ink2:#D2D2D2;--mute:#A0A0A0;--mute2:#8A8A8A;--solid:#2C2C2C;--acc:#D6342A;--acc-bg:#D6342A;--acc-t:#FF6A5E;--acc-deep:#FFB4AC;--tint:#231312;--tint2:#3A1A17;--tb:#5A2622;--tb2:#6E2A24;--acc-rgb:214,52,42;--sh:0,0,0;--navbg:rgba(22,22,22,.96);--side:#0B0B0B;--side2:#1C1C1C;--hero:linear-gradient(150deg,#D6342A 0%,#A9271F 55%,#5E1410 100%);--hero-rest:linear-gradient(150deg,#333333 0%,#262626 60%,#161616 100%);--am-bg:#241D10;--am-bg2:#3A2E12;--am-b:#5A4716;--am-fg:#FCD34D;--am-fg2:#FDE68A;--or-bg:#2A1A12;--or-bg2:#3A2414;--or-b:#5A3416;--or-fg:#FB923C;--er-bg:#2A1414;--er-b:#5A2626;--er-fg:#FF8A80;--er-fg2:#FFB4AC;--pu-bg:#1F1A2E;--pu-b:#4C3D80;--pu-fg:#C4B5FD;--pu-fg2:#E9D5FF;--in-bg:#1C1F33;--in-fg:#A5B4FC;--blue:#7AA2FF;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111111;--card:#1C1C1C;--card2:#171717;--track:#262626;--line:#2C2C2C;--line2:#3A3A3A;--ink:#F4F4F4;--ink2:#D2D2D2;--mute:#A0A0A0;--mute2:#8A8A8A;--solid:#2C2C2C;--acc:#D6342A;--acc-bg:#D6342A;--acc-t:#FF6A5E;--acc-deep:#FFB4AC;--tint:#231312;--tint2:#3A1A17;--tb:#5A2622;--tb2:#6E2A24;--acc-rgb:214,52,42;--sh:0,0,0;--navbg:rgba(22,22,22,.96);--side:#0B0B0B;--side2:#1C1C1C;--hero:linear-gradient(150deg,#D6342A 0%,#A9271F 55%,#5E1410 100%);--hero-rest:linear-gradient(150deg,#333333 0%,#262626 60%,#161616 100%);--am-bg:#241D10;--am-bg2:#3A2E12;--am-b:#5A4716;--am-fg:#FCD34D;--am-fg2:#FDE68A;--or-bg:#2A1A12;--or-bg2:#3A2414;--or-b:#5A3416;--or-fg:#FB923C;--er-bg:#2A1414;--er-b:#5A2626;--er-fg:#FF8A80;--er-fg2:#FFB4AC;--pu-bg:#1F1A2E;--pu-b:#4C3D80;--pu-fg:#C4B5FD;--pu-fg2:#E9D5FF;--in-bg:#1C1F33;--in-fg:#A5B4FC;--blue:#7AA2FF;color-scheme:dark}}

  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--bg)}
  body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
       color:var(--ink);max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
  main{flex:1;padding:0 16px 20px}
  /* status bar */
  /* header */
  header{padding:10px 0 4px}
  .toprow{display:flex;justify-content:space-between;align-items:center}
  .brand{display:flex;align-items:center;gap:7px;font-weight:800;font-size:15px;color:var(--acc-t);letter-spacing:-.2px}
  .brand .logo{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,var(--acc),var(--acc-bg));display:grid;place-items:center}
  h1{font-size:27px;line-height:1.15;letter-spacing:-.6px;margin-top:16px;font-weight:800}
  .date{color:var(--mute);font-size:15px;margin-top:3px}
  .goals{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
  .chip{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 12px 7px 8px;font-size:13.5px;font-weight:600;white-space:nowrap;color:var(--ink2)}
  .chip .dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--tint2);color:var(--acc-t);font-size:11px}
  .chip span.w{color:var(--mute);font-weight:500}
  .chip.add{padding:7px 11px;color:var(--acc-t);border-style:dashed}
  /* cards */
  .card{background:var(--card);border-radius:22px;padding:18px;margin-top:16px;box-shadow:0 1px 2px rgba(var(--sh),.05),0 6px 20px rgba(var(--sh),.05)}
  .label{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--mute)}
  /* hero */
  .hero{background:linear-gradient(150deg,var(--acc) 0%,var(--acc-bg) 55%,var(--acc-bg) 100%);color:#fff;position:relative;overflow:hidden}
  .hero:before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.07)}
  .hero:after{content:"";position:absolute;right:20px;top:60px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.05)}
  .hero .label{color:rgba(255,255,255,.88);display:flex;align-items:center;gap:6px}
  .hero .label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tb2);box-shadow:0 0 0 3px rgba(255,255,255,.28)}
  .hero h2{font-size:25px;line-height:1.15;letter-spacing:-.5px;margin-top:10px;font-weight:800;position:relative}
  .hero h2 small{display:block;font-size:17px;font-weight:600;color:rgba(255,255,255,.92);margin-top:3px;letter-spacing:-.2px}
  .hero p{margin-top:10px;font-size:15.5px;line-height:1.4;color:#fff;position:relative}
  .meta{display:flex;gap:8px;margin-top:14px;position:relative;flex-wrap:wrap}
  .meta div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:7px 10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
  .quote{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);display:flex;gap:11px;align-items:center;position:relative}
  .avatar{flex:none;width:38px;height:38px;border-radius:50%;background:var(--card);color:var(--acc-t);display:grid;place-items:center;font-weight:800;font-size:16px;border:2px solid var(--tb2)}
  .quote q{font-size:15px;font-style:italic;font-weight:600;quotes:"“" "”"}
  .quote .who{display:block;font-size:12.5px;color:rgba(255,255,255,.88);margin-top:2px;font-style:normal;font-weight:500}
  /* check-in */
  .cardhead{display:flex;justify-content:space-between;align-items:baseline}
  .cardhead h3{font-size:20px;font-weight:800;letter-spacing:-.3px}
  .cardhead .hint{font-size:12.5px;color:var(--mute)}
  .q{margin-top:14px}
  .q .qt{font-size:14px;font-weight:700;color:var(--ink2);margin-bottom:7px;display:flex;align-items:center;gap:6px}
  .seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--track);border-radius:14px;padding:4px}
  .seg span{text-align:center;padding:10px 4px;border-radius:11px;font-size:14.5px;font-weight:600;color:var(--ink2)}
  .seg span.on{background:var(--acc-bg);color:#fff;box-shadow:0 2px 6px rgba(var(--acc-rgb),.35)}
  .advice{margin-top:16px;background:var(--tint);border:1.5px solid var(--tb);border-radius:16px;padding:14px}
  .advice .at{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--acc-t)}
  .advice p{margin-top:7px;font-size:15.5px;line-height:1.42;color:var(--ink)}
  .advice p b{color:var(--acc-deep)}
  .change{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--ink2)}
  .change s{color:var(--mute)}
  .change .new{background:var(--tint2);color:var(--acc-deep);padding:3px 8px;border-radius:8px}
  .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:16px;border-radius:16px;background:var(--acc);color:#fff;font-size:17px;font-weight:700;box-shadow:0 6px 16px rgba(var(--acc-rgb),.35)}
  .btn2{display:block;text-align:center;margin-top:12px;font-size:15px;font-weight:600;color:var(--acc-t)}
  .strava{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;font-size:12.5px;color:var(--mute)}
  .sdot{width:9px;height:9px;border-radius:50%;background:#fc4c02;box-shadow:0 0 0 3px rgba(252,76,2,.15)}
  .via{color:var(--or-fg);font-weight:600}
  /* week */
  .progress{margin-top:12px;display:flex;align-items:center;gap:10px}
  .ptrack{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
  .ptrack i{height:8px;border-radius:99px;background:var(--line)}
  .ptrack i.done{background:var(--acc)}
  .ptrack i.today{background:repeating-linear-gradient(45deg,var(--tb2) 0 5px,var(--tint2) 5px 10px)}
  .ptext{font-size:13.5px;font-weight:700;color:var(--ink2);white-space:nowrap}
  .days{margin-top:12px;list-style:none}
  .days li{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:14px}
  .days li + li{margin-top:2px}
  .dname{width:28px;font-size:13px;font-weight:800;color:var(--mute);text-transform:uppercase}
  .ico{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:14px}
  .ico.done{background:var(--acc);color:#fff}
  .ico.rest{background:var(--track);color:var(--mute2)}
  .ico.skip{background:var(--track);color:var(--mute2);border:1.5px dashed var(--line2)}
  .ico.now{background:var(--card);color:var(--acc-t);border:2.5px solid var(--acc)}
  .dtxt{flex:1;font-size:15px;font-weight:600}
  .dtxt small{display:block;font-size:12.5px;font-weight:500;color:var(--mute);margin-top:1px}
  li.rest .dtxt{color:var(--mute);font-weight:500}
  li.skip .dtxt{color:var(--mute2);font-weight:500}
  li.skip .dtxt small{text-decoration:none;display:block}
  li.today{background:var(--tint);outline:1.5px solid var(--tb2)}
  .tag{font-size:10.5px;font-weight:800;letter-spacing:.8px;background:var(--acc-bg);color:#fff;padding:4px 7px;border-radius:7px}
  .next{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;align-items:center;gap:7px}
  /* tab bar */
  nav{position:sticky;bottom:0;background:var(--navbg);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px 26px}
  nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--mute2);text-decoration:none}
  nav a.on{color:var(--acc-t)}
  nav svg{width:25px;height:25px}
  svg{display:block}

/* VOS */
.vos{display:flex;align-items:flex-end;gap:10px}
.vimg{flex:none;display:block}
.bubble{position:relative;flex:1;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:10px 13px 11px;font-size:14.5px;line-height:1.42;color:var(--ink);margin-bottom:6px}
.bubble:before{content:"";position:absolute;left:-8px;bottom:14px;width:12px;height:12px;background:inherit;border-left:2px solid var(--line);border-bottom:2px solid var(--line);transform:rotate(45deg)}
.bubble.green{background:var(--tint);border-color:var(--tb)}.bubble.green:before{border-color:var(--tb)}
.bubble.amber{background:var(--am-bg);border-color:var(--am-b);color:var(--am-fg2)}.bubble.amber:before{border-color:var(--am-b)}
.bubble.onDark{border-color:transparent}.bubble.onDark:before{border-color:transparent}
.vnm{display:block;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--acc-t);margin-bottom:2px}
.bubble.amber .vnm{color:var(--am-fg)}
.bubble b{font-weight:800}
.vos.big{flex-direction:column;align-items:center;text-align:center}
.vos.big .bubble{margin:4px 0 0;width:100%}
.vos.big .bubble:before{left:50%;top:-8px;bottom:auto;margin-left:-6px;border-left:2px solid var(--line);border-top:2px solid var(--line);border-bottom:0;transform:rotate(45deg)}
.vos.big .bubble.green:before{border-color:var(--tb)}
.quote .vos{flex:1}

/* LOOP! woordmerk */
.wm{display:flex;flex-direction:column;line-height:1}
.wmt{font-weight:900;font-size:25px;letter-spacing:-1px;color:var(--acc-t);font-style:italic}
.wmt em{color:var(--acc-t);margin-left:1px}
.wms{font-size:10px;font-weight:700;color:var(--mute);margin-top:2px;letter-spacing:.3px}
.wm.big .wmt{font-size:52px;letter-spacing:-2px}.wm.big .wms{font-size:14px;margin-top:4px}
.wm.light .wmt{color:#fff}.wm.light .wmt em{color:#fff}.wm.light .wms{color:rgba(255,255,255,.75)}

.pagetitle{font-size:30px;font-weight:800;letter-spacing:-.7px;margin-top:14px}
.row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:15.5px}
.row:first-of-type{border-top:0}
.row .k{color:var(--mute);font-size:13px;display:block}
.row .v{font-weight:600}
.row .chev{margin-left:auto;color:var(--mute2);font-size:20px}
.row .rico{width:34px;height:34px;border-radius:10px;background:var(--tint);display:grid;place-items:center;flex:none}
.link{color:var(--acc-t);font-weight:700}
.danger{color:var(--er-fg);font-weight:600}
.os{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--mute);margin-top:16px}
.os:after{content:"";flex:1;height:1px;background:var(--line)}
.btnsm{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:13px;border-radius:14px;background:var(--acc);color:#fff;font-weight:700;font-size:15.5px}
.btnout{display:flex;align-items:center;justify-content:center;margin-top:10px;padding:14px;border-radius:14px;border:1.5px solid var(--line);color:var(--ink2);font-weight:700;font-size:15.5px;background:var(--card)}
.steps{list-style:none;margin-top:10px;counter-reset:s}
.steps li{display:flex;align-items:center;gap:11px;padding:9px 0;font-size:14.5px;line-height:1.3;counter-increment:s}
.steps li:before{content:counter(s);flex:none;width:22px;height:22px;border-radius:50%;background:var(--acc-bg);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.sico{flex:none;width:34px;height:34px;border-radius:9px;background:var(--track);display:grid;place-items:center;color:var(--blue);font-weight:700;font-size:12px}
.note{font-size:12.5px;color:var(--mute);margin-top:10px;line-height:1.4}
.banner{display:flex;align-items:center;gap:11px;background:var(--card);border:1.5px solid var(--tb);border-radius:16px;padding:11px 12px;margin-top:12px;box-shadow:0 4px 14px rgba(var(--acc-rgb),.08)}
.banner .bi{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--acc),var(--acc-bg));display:grid;place-items:center;flex:none}
.banner b{font-size:14.5px;display:block}.banner small{font-size:12.5px;color:var(--mute)}
.banner .bb{margin-left:auto;background:var(--acc-bg);color:#fff;font-weight:700;font-size:13px;padding:8px 11px;border-radius:10px;white-space:nowrap}
.banner .x{color:var(--mute2);font-size:18px;padding-left:2px}
/* forms */
.auth{padding:0 24px 30px;flex:1;display:flex;flex-direction:column}
.logobig{width:64px;height:64px;border-radius:19px;background:linear-gradient(135deg,var(--acc),var(--acc-bg));display:grid;place-items:center;margin:34px 0 0;box-shadow:0 10px 24px rgba(var(--acc-rgb),.3)}
.auth h1{margin-top:22px;font-size:29px}
.sub{color:var(--ink2);font-size:15.5px;line-height:1.45;margin-top:8px}
.field{margin-top:16px}
.field label{display:block;font-size:13.5px;font-weight:700;color:var(--ink2);margin-bottom:6px}
.input{display:flex;align-items:center;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:14px;font-size:16px;color:var(--ink)}
.input.focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.15)}
.input .ph{color:var(--mute2)}
.input .eye{margin-left:auto;font-size:13px;font-weight:700;color:var(--acc-t)}
.forgot{display:block;text-align:right;margin-top:10px;font-size:14px;font-weight:600;color:var(--acc-t)}
.strength{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}
.strength i{height:5px;border-radius:9px;background:var(--line)}.strength i.on{background:#f59e0b}
.shint{font-size:12.5px;color:var(--mute);margin-top:6px}.shint b{color:var(--am-fg)}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:14px;line-height:1.4;color:var(--ink2)}
.box{flex:none;width:22px;height:22px;border-radius:7px;background:var(--acc-bg);color:#fff;display:grid;place-items:center;font-size:13px;margin-top:1px}
.alt{text-align:center;margin-top:18px;font-size:14.5px;color:var(--ink2)}
.back{margin-top:12px;font-size:15px;font-weight:600;color:var(--acc-t)}
.mailok{width:84px;height:84px;border-radius:50%;background:var(--tint2);display:grid;place-items:center;margin:60px auto 0;font-size:38px}
.center{text-align:center}
.dots{display:flex;gap:6px;margin-top:22px}.dots i{height:6px;width:18px;border-radius:9px;background:var(--line2)}.dots i.on{background:var(--acc-bg);width:34px}
.welcomecard{background:linear-gradient(150deg,var(--acc),var(--acc-bg) 55%,var(--acc-bg));color:#fff;border-radius:24px;padding:22px;margin-top:20px}
.welcomecard .avatar{width:56px;height:56px;font-size:22px}
.welcomecard p{margin-top:14px;font-size:16px;line-height:1.5;color:#fff}
.welcomecard .sig{margin-top:12px;font-weight:700;font-style:italic}
.usp{list-style:none;margin-top:18px}.usp li{display:flex;gap:11px;align-items:center;padding:8px 0;font-size:15px;color:var(--ink2)}
.usp li span{width:30px;height:30px;border-radius:9px;background:var(--tint);display:grid;place-items:center}
.spacer{flex:1}
.later{text-align:center;margin-top:12px;font-size:15px;font-weight:600;color:var(--mute)}

.sub2{color:var(--mute);font-size:14.5px;margin-top:3px}
.weeknav{display:flex;align-items:center;justify-content:space-between;margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-weight:700;font-size:15px}
.weeknav .arr{width:30px;height:30px;border-radius:9px;background:var(--track);display:grid;place-items:center;color:var(--ink2)}
.weeknav .arr.off{color:var(--mute2)}
.dcard{background:var(--card);border-radius:18px;padding:14px 15px;margin-top:10px;box-shadow:0 1px 2px rgba(var(--sh),.05),0 4px 14px rgba(var(--sh),.04);display:flex;gap:13px}
.dcard .dd{width:40px;flex:none;text-align:center}
.dcard .dd b{display:block;font-size:12px;letter-spacing:.8px;color:var(--mute);text-transform:uppercase}
.dcard .dd span{display:block;font-size:20px;font-weight:800;margin-top:1px}
.dcard .dc{flex:1;min-width:0}
.dcard h4{font-size:16px;font-weight:700}
.dcard .det{font-size:13.5px;color:var(--ink2);margin-top:3px;line-height:1.4}
.dcard.rest{background:transparent;box-shadow:none;border:1.5px dashed var(--line2);padding:11px 15px}
.dcard.rest h4{color:var(--mute);font-weight:600}
.dcard.today{outline:2px solid var(--acc);background:var(--tint)}
.dcard.skip h4{color:var(--mute2);text-decoration:line-through}
.st{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:8px}
.st.done{background:var(--tint2);color:var(--acc-deep)}
.st.part{background:var(--am-bg2);color:var(--am-fg)}
.st.skip{background:var(--track);color:var(--mute)}
.st.extra{background:var(--or-bg);color:var(--or-fg)}
.st.now{background:var(--acc-bg);color:#fff}
.adj{margin-top:8px;font-size:13px;line-height:1.4;color:var(--am-fg);background:var(--am-bg);border-left:3px solid #f59e0b;padding:7px 9px;border-radius:0 8px 8px 0}
.why{background:var(--card);border-radius:20px;padding:16px;margin-top:16px;display:flex;gap:12px;box-shadow:0 1px 2px rgba(var(--sh),.05)}
.why .avatar{background:var(--acc-bg);color:#fff;border-color:var(--tb2)}
.why h4{font-size:15.5px;font-weight:800}
.why p{font-size:14.5px;line-height:1.45;color:var(--ink2);margin-top:4px}
.locked{margin-top:16px;border:2px dashed var(--line2);border-radius:20px;padding:20px;text-align:center;color:var(--mute)}
.locked b{display:block;color:var(--ink2);font-size:16px;margin:6px 0 4px}
.seclabel{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--mute);margin:22px 0 2px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.tile{background:var(--card);border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(var(--sh),.05)}
.tile b{display:block;font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--acc-t)}
.tile span{font-size:12px;color:var(--mute);line-height:1.3;display:block;margin-top:2px}
.chart{display:flex;align-items:flex-end;gap:8px;height:150px;margin-top:16px;padding-bottom:0;border-bottom:1px solid var(--line)}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.bar i{display:block;width:100%;border-radius:8px 8px 3px 3px;background:var(--tint2)}
.bar.cur i{background:var(--acc)}
.bar em{font-style:normal;font-size:11px;font-weight:700;color:var(--ink2);margin-bottom:4px}
.xl{display:flex;gap:8px;margin-top:6px}.xl span{flex:1;text-align:center;font-size:10.5px;color:var(--mute)}
.goal{padding:14px 0;border-top:1px solid var(--line)}.goal:first-of-type{border-top:0}
.goalh{display:flex;justify-content:space-between;align-items:center;gap:8px}
.goalh h4{font-size:16px;font-weight:800}.goalh small{display:block;color:var(--mute);font-size:13px;font-weight:500;margin-top:2px}
.badge{font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;white-space:nowrap}
.badge.ok{background:var(--tint2);color:var(--acc-deep)}
.badge.warn{background:var(--am-bg2);color:var(--am-fg)}
.badge.prio{background:var(--acc-bg);color:#fff}
.pbar{height:9px;border-radius:99px;background:var(--line);margin-top:10px;overflow:hidden}.pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--tb2),var(--acc))}
.gtxt{font-size:13.5px;color:var(--ink2);margin-top:8px;line-height:1.4}
.honest{background:var(--am-bg);border:1.5px solid var(--am-b);border-radius:16px;padding:13px;margin-top:6px;font-size:14px;line-height:1.45;color:var(--am-fg2)}
.honest b{display:block;margin-bottom:3px}
.medals{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.medal{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 11px 6px 7px;font-size:13px;font-weight:600}
.medal span{width:22px;height:22px;border-radius:50%;background:var(--tint2);display:grid;place-items:center;font-size:12px}
.mq{margin-top:16px;background:linear-gradient(150deg,var(--acc),var(--acc-bg));color:#fff;border-radius:20px;padding:16px;display:flex;gap:12px;align-items:center}
.mq q{font-style:italic;font-weight:700;font-size:15.5px}.mq small{display:block;color:rgba(255,255,255,.88);font-size:12.5px;margin-top:2px}
.backl{font-size:15px;font-weight:600;color:var(--acc-t);margin-top:12px}
.tl{position:relative;margin-top:16px}
.gcard{background:var(--card);border-radius:20px;padding:16px;margin-top:12px;box-shadow:0 1px 2px rgba(var(--sh),.05),0 6px 20px rgba(var(--sh),.05);display:flex;gap:14px}
.gcard.first{outline:2px solid var(--acc)}
.cal{flex:none;width:56px;border-radius:14px;overflow:hidden;text-align:center;border:1px solid var(--line);align-self:flex-start}
.cal b{display:block;background:var(--acc-bg);color:#fff;font-size:11px;letter-spacing:1px;padding:3px 0;text-transform:uppercase}
.cal span{display:block;font-size:24px;font-weight:800;padding:4px 0 0}.cal small{display:block;font-size:11px;color:var(--mute);padding-bottom:5px}
.gmeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.gmeta span{font-size:12.5px;font-weight:600;background:var(--track);color:var(--ink2);padding:4px 8px;border-radius:8px}
.count{font-size:13px;color:var(--acc-t);font-weight:700;margin-top:8px}
.btnadd{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:15px;border-radius:16px;border:2px dashed var(--tb2);color:var(--acc-t);font-weight:700;font-size:16px;background:var(--tint)}
.grab{width:40px;height:5px;border-radius:9px;background:var(--line2);margin:0 auto 12px}
.sheet h3{font-size:21px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.sheet h3 span{font-size:15px;color:var(--mute);font-weight:600}
.chips{display:flex;gap:7px;flex-wrap:wrap}.chips span{padding:10px 13px;border-radius:12px;border:1.5px solid var(--line);font-weight:700;font-size:15px;color:var(--ink2)}
.chips span.on{background:var(--acc-bg);border-color:var(--acc-bg);color:#fff}
.feas{margin-top:16px;border-radius:16px;padding:13px 14px;background:var(--am-bg);border:1.5px solid var(--am-b)}
.feas .fh{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--am-fg);font-size:15.5px}
.feas p{font-size:13.5px;line-height:1.45;color:var(--am-fg2);margin-top:5px}
.meter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:9px}.meter i{height:6px;border-radius:9px;background:var(--am-b)}.meter i.g{background:var(--tb2)}.meter i.a{background:#f59e0b}.meter i.r{background:var(--er-b)}
.vcard{background:var(--card);border-radius:20px;padding:16px;margin-top:14px;box-shadow:0 1px 2px rgba(var(--sh),.05),0 6px 20px rgba(var(--sh),.05)}
.vnum{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--mute);text-transform:uppercase}
.ans{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.ans span{font-size:13px;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--track);color:var(--ink2)}
.ans span b{color:var(--mute);font-weight:600}
.vcard .advice{margin-top:12px}
.vcard .btn{margin-top:12px;padding:13px;font-size:15.5px}
.vos.sm .bubble{font-size:13px;padding:7px 10px;line-height:1.35;margin-bottom:4px}
.vos.sm{gap:7px}
.ruletag{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--mute)}
.incard{position:relative;z-index:1;margin:16px 12px 0;background:var(--card);border-radius:22px;padding:18px;color:var(--ink)}
.incard p{font-size:16px;line-height:1.5;margin-top:12px}
.pills{display:flex;flex-wrap:wrap;gap:8px}.pills span{padding:11px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-weight:700;font-size:15px;color:var(--ink2)}
.pills span.on{background:var(--acc-bg);border-color:var(--acc-bg);color:#fff}
.qblock{background:var(--card);border-radius:20px;padding:16px;margin-top:14px;box-shadow:0 1px 2px rgba(var(--sh),.05)}
.qblock h4{font-size:16.5px;font-weight:800;margin-bottom:12px}
.step{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--acc-deep);background:var(--tint2);padding:8px 11px;border-radius:12px}
.easy{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.easy:first-of-type{border-top:0}
.easy .dd{width:38px;text-align:center;flex:none}.easy .dd b{display:block;font-size:11.5px;color:var(--mute)}.easy .dd span{font-size:18px;font-weight:800}
.easy h4{font-size:15.5px;font-weight:700}.easy small{display:block;font-size:13px;color:var(--mute);margin-top:1px}
.gbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.gbtns span{text-align:center;padding:12px 8px;border-radius:13px;font-weight:700;font-size:14px;line-height:1.25}
.gbtns .a{background:var(--acc);color:#fff}.gbtns .b{border:1.5px solid var(--am-b);background:var(--card);color:var(--am-fg)}

/* ===== LOOP! app: aanvullingen op het ontwerp ===== */
html{-webkit-text-size-adjust:100%}
body{padding-bottom:env(safe-area-inset-bottom)}
#app{flex:1;display:flex;flex-direction:column}
main{padding-top:max(8px, env(safe-area-inset-top))}
main.withnav{padding-bottom:96px}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.55;cursor:default}
.btn,.btn2,.btnsm,.btnout,.btnadd,.bb{width:100%;text-decoration:none;justify-content:center;align-items:center;cursor:pointer}
.btn{display:flex}
.btn:active,.btnsm:active{transform:translateY(1px)}
.btn.sec{background:var(--card);color:var(--acc-t);border:1.5px solid var(--tb);box-shadow:none}
.btnout.danger{color:var(--er-fg);border-color:var(--er-b)}
.bb{width:auto;display:inline-block;border:0}
nav.tabs{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:480px;bottom:0;z-index:20;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
nav.tabs a{cursor:pointer}
.seg button{text-align:center;padding:10px 4px;border-radius:11px;font-size:14.5px;font-weight:600;color:var(--ink2)}
.seg button.on{background:var(--acc-bg);color:#fff;box-shadow:0 2px 6px rgba(var(--acc-rgb),.35)}
.chips button,.pills button{padding:10px 13px;border-radius:12px;border:1.5px solid var(--line);font-weight:700;font-size:15px;color:var(--ink2);background:var(--card)}
.pills button{border-radius:999px;padding:11px 15px}
.chips button.on,.pills button.on{background:var(--acc-bg);border-color:var(--acc-bg);color:#fff}
.daypick{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.daypick button{padding:11px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-weight:800;font-size:13px;text-transform:uppercase;color:var(--ink2)}
.daypick button.on{background:var(--acc-bg);border-color:var(--acc-bg);color:#fff}
input.input,select.input,textarea.input{width:100%;font:inherit;font-size:16px;outline:none;-webkit-appearance:none;appearance:none}
input.input:focus,select.input:focus,textarea.input:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.15)}
.inputwrap{position:relative}
.inputwrap .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:var(--acc-t);padding:6px}
.inputwrap .unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:700;color:var(--mute)}
.check input{width:22px;height:22px;accent-color:var(--acc-t);flex:none;margin-top:1px}
.err{background:var(--er-bg);border:1px solid var(--er-b);color:var(--er-fg);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:14px;line-height:1.4}
.okmsg{background:var(--tint);border:1px solid var(--tb);color:var(--acc-deep);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:14px;line-height:1.4}
.hidden{display:none!important}
.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--solid);color:#fff;padding:11px 16px;border-radius:14px;font-size:14.5px;font-weight:600;z-index:60;max-width:90%;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.loading{display:grid;place-items:center;min-height:60vh;color:var(--mute);font-weight:600}
.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--tb);border-top-color:var(--acc);animation:sp 0.8s linear infinite;margin:0 auto 12px}
@keyframes sp{to{transform:rotate(360deg)}}
.dimbg{position:fixed;inset:0;background:rgba(var(--sh),.45);z-index:40}
.sheet{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:480px;bottom:0;background:var(--card);border-radius:26px 26px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));z-index:41;box-shadow:0 -10px 30px rgba(0,0,0,.15);max-height:92vh;overflow:auto}
.sheet h3 button{font-size:15px;color:var(--mute);font-weight:600}
.feas.ok{background:var(--tint);border-color:var(--tb)}.feas.ok .fh{color:var(--acc-deep)}.feas.ok p{color:var(--acc-deep)}
.feas.bad{background:var(--er-bg);border-color:var(--er-b)}.feas.bad .fh{color:var(--er-fg)}.feas.bad p{color:var(--er-fg2)}
.honest.ok{background:var(--tint);border-color:var(--tb);color:var(--acc-deep)}
.toggle{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.toggle:first-of-type{border-top:0}
.toggle input{width:22px;height:22px;accent-color:var(--acc-t);margin-left:auto;flex:none}
.toggle small{display:block;color:var(--mute);font-size:12.5px}
.row{cursor:pointer;width:100%;text-align:left}
.days li{cursor:default}
.days li.clickable{cursor:pointer}
.extraline{font-size:12.5px;color:var(--or-fg);font-weight:600;margin-top:2px}
.restcard{text-align:center}
.restcard .vos{justify-content:center}
.privacy h2{font-size:18px;margin-top:18px}.privacy p,.privacy li{font-size:14.5px;line-height:1.5;color:var(--ink2);margin-top:8px}.privacy ul{padding-left:18px}
.linkbtn{color:var(--acc-t);font-weight:700;text-decoration:underline;cursor:pointer}
.small{font-size:12.5px;color:var(--mute)}
.center .btn{margin-left:auto;margin-right:auto}
.ios-steps .sico{color:var(--blue)}
.fade{animation:fd .15s ease-out}
@keyframes fd{from{opacity:.4}to{opacity:1}}
.hero.rest{background:linear-gradient(150deg,#4A4A4A 0%,#333333 60%,#1E1E1E 100%)}
.hero .meta div{white-space:nowrap}
.goalrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 0;border-top:1px solid var(--line)}
.goalrow:first-of-type{border-top:0}
.weeklist-actions{display:flex;gap:8px;margin-top:12px}
.weeklist-actions a,.weeklist-actions button{flex:1;text-align:center;padding:11px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-weight:700;font-size:14px;color:var(--acc-t);text-decoration:none}
@media (min-width:481px){body{box-shadow:0 0 0 1px var(--line)}}
.goalrow>span:nth-child(2){flex:1;min-width:0}
.goalrow .v{display:block;font-weight:700;font-size:15px}
.goalrow .k{display:block;font-size:13px;color:var(--mute);margin-top:1px}
.samsungnote{background:var(--or-bg);border:1.5px solid var(--or-b);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5;color:var(--ink2);margin:6px 0 4px}
.samsungnote .steps{margin:8px 0 10px}

.stravainfo{display:flex;gap:10px;align-items:flex-start;background:var(--or-bg);border:1.5px solid var(--or-b);color:var(--ink2);border-radius:14px;padding:11px 13px;font-size:14px;line-height:1.45;margin:8px 0}
.stravainfo .sdot{flex:none;margin-top:5px}
.coachmsg{border:1.5px solid var(--am-b)}
.coachmsg .cmhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.coachmsg .cmtag{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--am-fg);background:var(--am-bg2);padding:4px 9px;border-radius:99px}
.coachmsg .cmdate{font-size:12.5px;color:var(--mute)}
.cmbody{white-space:pre-line;overflow-wrap:anywhere}
.coachmsg .cmnote{font-size:12.5px;color:var(--mute);margin-top:6px}
.coachmsg.read{opacity:.7}
.oldmsg{background:var(--am-bg);border:1px solid var(--am-b);border-radius:12px;padding:9px 11px;margin-top:8px;font-size:14px;line-height:1.45}
.oldmsg small{display:block;color:var(--mute);font-size:12px;margin-bottom:2px}
.consentlist{margin:10px 0 10px 18px;font-size:14px;line-height:1.55;color:var(--ink2)}
.uitlegbtn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font:inherit;font-size:13.5px;font-weight:700;color:var(--acc-t);background:var(--tint);border:1.5px solid var(--tb);border-radius:99px;padding:6px 12px;cursor:pointer}
.uitlegbtn.hero{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;position:relative}
.sheet.uitleg{max-height:88vh;overflow:auto}
.fromcoach{border:1.5px solid var(--tb);background:var(--tint);border-radius:16px;padding:12px 12px 6px;margin-top:6px}
.fctag,.wtag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:99px;padding:3px 9px;margin-bottom:8px}
.fctag{background:var(--tint2);color:var(--acc-deep)}
.usec{margin:10px 2px}.usec h4{font-size:14px;font-weight:800;margin-bottom:3px}.usec p{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.usteps{margin:4px 0 0 20px;font-size:14.5px;line-height:1.5;color:var(--ink2)}.usteps li+li{margin-top:3px}
.unote{background:var(--am-bg);border:1px solid var(--am-b);border-radius:12px;padding:8px 10px}
.whynow{margin-top:14px;border:1.5px dashed var(--pu-b);background:var(--pu-bg);border-radius:16px;padding:12px 14px}
.wtag{background:var(--pu-bg);color:var(--pu-fg)}
.whynow p{font-size:14.5px;line-height:1.5;color:var(--pu-fg2)}.whynow small{display:block;font-size:12px;color:var(--pu-fg);margin-top:6px}
/* richttempo */
.paceline{font-size:12.5px;color:var(--ink2);margin:6px 0 2px}
.paceline b{color:var(--ink);font-variant-numeric:tabular-nums}
.paceblk{margin-top:14px;border:1.5px solid var(--am-b);background:var(--am-bg);border-radius:16px;padding:12px 14px}
.paceblk .ptag{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--am-fg)}
.paceblk .pbig{font-size:26px;font-weight:900;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.paceblk .pbig small{font-size:13px;font-weight:600;color:var(--mute)}
.paceblk .pbig.feel{font-size:21px}
.paceblk .pfeel{margin:2px 0 6px;font-size:14.5px}
.paceblk .p2{margin:4px 0;font-size:13px;color:var(--ink2)}
.paceblk small{display:block;color:var(--mute);font-size:12px;margin-top:6px}
.ptime{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 8px;padding:8px 12px;background:var(--tint);border-radius:12px;font-size:14px}
.ptime input{font:inherit;padding:6px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}
/* verplaatsen */
.tbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.movebtn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink2);background:var(--card);border:1.5px solid var(--line);border-radius:99px;padding:6px 12px;cursor:pointer}
.movebtn.hero{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;position:relative}
.sheet.move .mopt{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:8px;cursor:pointer}
.sheet.move .mopt b{font-size:15px;text-transform:capitalize}
.sheet.move .mopt span{font-size:13.5px;color:var(--ink2)}
.sheet.move .mopt i{font-style:normal;color:var(--acc-t);font-size:20px}
.sheet.move .mopt.no{background:var(--card2);opacity:.75}
.sheet.move .mopt.no small{grid-column:1/-1;font-size:12.5px;color:var(--or-fg)}
.msug{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.msug .btnsm{text-transform:capitalize}
/* wedstrijd */
.racecard{border:2px solid var(--or-b);background:linear-gradient(180deg,var(--or-bg),var(--card))}
.racecard .rlabel{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--or-fg)}
.racecard h2{font-size:22px;font-weight:900;margin:4px 0 10px}
.racecard h2 small{display:block;font-size:14px;font-weight:600;color:var(--ink2);margin-top:2px}
.racetips{list-style:none;margin:12px 0 0;padding:0}
.racetips li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.racetips li:first-child{border-top:0}
.racetips .ri{font-size:20px;line-height:1.2;width:26px;flex:none;text-align:center}
.racetips b{font-size:14.5px}
.racetips p{margin:2px 0 0;font-size:13.5px;color:var(--ink2);line-height:1.45}
.rsrc{font-size:11.5px;color:var(--mute);margin:8px 0 0}
.racebanner{border:1.5px solid var(--or-b);background:var(--or-bg)}
.racebanner .rbh{display:flex;gap:10px;align-items:center}
.racebanner .rbi{font-size:24px}
.racebanner b{display:block;font-size:15.5px}
.racebanner small{color:var(--ink2);font-size:12.5px}
.racebanner ul{margin:8px 0 6px;padding-left:20px;font-size:14px;line-height:1.5}
/* vaste trainingen */
button.link{background:none;border:0;font:inherit;font-size:14px;cursor:pointer;padding:0}
.fxtag{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 4px}
.fxtag span{display:inline-block;background:var(--in-bg);color:var(--in-fg);font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:999px}
.fxtag.hero span{background:rgba(255,255,255,.18);color:#fff}
.fxtag .fxadv{display:inline-block;background:var(--or-bg);color:var(--or-fg);font-size:12.5px;font-weight:800;padding:4px 9px;border-radius:999px}
.fxmini{font-size:13px}
.seg.days7{grid-template-columns:repeat(7,1fr)}
.seg.mini{display:inline-grid;grid-template-columns:repeat(2,auto);padding:2px;margin-left:6px;vertical-align:middle;border-radius:10px}
.seg.mini button{padding:3px 10px;font-size:12.5px;border-radius:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chipbtn{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--ink2);cursor:pointer}
.chipbtn.on{border-color:var(--acc);background:var(--tint);color:var(--acc-t)}

.gwarn{background:var(--am-bg);border:1px solid var(--am-b);border-radius:14px;padding:12px 14px;margin:10px 0}
.gwarn p{margin:0 0 10px;font-size:15px;line-height:1.4}
.gwarn .btn,.gwarn .btn2{width:100%;margin-top:6px}
.input[type=time]{min-height:52px;-webkit-appearance:none;appearance:none;line-height:1.2;text-align:left}
.input[type=time]::-webkit-date-and-time-value{text-align:left}

.daypick button.fx{position:relative;background:var(--acc-bg);border-color:var(--acc-bg);color:#fff;opacity:.92;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 6px,transparent 6px 12px)}
.daypick button .fxb{position:absolute;top:-8px;right:-4px;font-size:12px;background:var(--card);border-radius:999px;padding:1px 3px;box-shadow:0 1px 3px rgba(0,0,0,.2);line-height:1.2}
.fxline{margin-top:8px;font-size:14px;line-height:1.4;color:var(--acc-t);background:var(--tint);border-radius:12px;padding:9px 12px;font-weight:600}

/* ===== rood thema: aanvullingen ===== */
/* lettertypes */
body{font-family:Figtree,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3,h4,.cardhead h3,.wmt,.pagetitle,.sheet h3,.tile b,.paceblk .pbig{font-family:Outfit,Figtree,sans-serif}
h1{letter-spacing:-.4px}.hero h2{letter-spacing:-.3px}
/* woordmerk: LOOP zwart/wit, ! rood */
.wmt{font-weight:900;letter-spacing:-.6px;color:var(--ink);font-style:normal}
.wmt em{color:var(--acc);font-style:normal}
:root[data-theme=dark] .wmt em{color:#FF6A5E}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wmt em{color:#FF6A5E}}
.wms{color:var(--mute)}
.wm.light .wmt{color:#fff}.wm.light .wmt em{color:#fff}.wm.light .wms{color:rgba(255,255,255,.8)}
/* Vandaag-kaart en andere rode kaarten */
.hero,.welcomecard,.mq{background:var(--hero)}
.hero.rest{background:var(--hero-rest)}
.hero .label{color:#fff}
.hero .label:before{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.28)}
.hero h2 small,.hero p,.welcomecard p{color:#fff;opacity:.95}
.hero .meta div,.uitlegbtn.hero{background:rgba(0,0,0,.16);border-color:rgba(255,255,255,.24);color:#fff}
.mq small{color:rgba(255,255,255,.85)}
.bubble.onDark{background:#fff;color:#161616}
.bubble.onDark .vnm{color:#B02A22}
.quote{border-top-color:rgba(255,255,255,.22)}
/* knoppen */
.btn{background:var(--acc);box-shadow:0 6px 16px rgba(var(--acc-rgb),.32)}
.seg{background:var(--track)}
.seg button.on,.seg span.on{background:var(--acc);box-shadow:0 2px 6px rgba(var(--acc-rgb),.35)}
.tag,.ico.done,.ptrack i.done{background:var(--acc)}
.ptrack i{background:var(--line)}
.ptrack i.today{background:repeating-linear-gradient(45deg,var(--tb2) 0 5px,var(--tb) 5px 10px)}
.ico.now{background:var(--card);color:var(--acc-t);border-color:var(--acc)}
li.today{background:var(--tint);outline-color:var(--tb2)}
.banner{border-color:var(--tb);box-shadow:0 4px 14px rgba(var(--acc-rgb),.08)}
.banner .bb{background:var(--solid)}
.chip .dot{background:var(--tint2);color:var(--acc-t)}
.card{border:1px solid transparent}
.sdot{background:#fc4c02}.via{color:var(--or-fg)}
nav.tabs,nav{background:var(--navbg);border-top-color:var(--line)}
nav a{color:var(--mute2)}nav a.on{color:var(--acc-t)}
.toast{background:var(--solid);color:#fff}
.bubble{background:var(--card);border-color:var(--line);color:var(--ink)}
.bubble:before{border-color:var(--line)}
.bubble.onDark,.bubble.onDark:before{border-color:transparent}
.bubble.amber{background:var(--am-bg);border-color:var(--am-b);color:var(--am-fg2)}.bubble.amber:before{border-color:var(--am-b)}
.bubble.green{background:var(--tint);border-color:var(--tb)}.bubble.green:before{border-color:var(--tb)}
.dcard.rest{border-color:var(--line2)}
.mopt.no{background:var(--card2)}
.daypick button .fxb{background:var(--card)}
select.input,textarea.input,input.input{background:var(--card);color:var(--ink)}
.input::placeholder{color:var(--mute2)}
/* donker: kaarten iets afzetten tegen de achtergrond */
:root[data-theme=dark] .card,:root[data-theme=dark] .dcard:not(.rest),:root[data-theme=dark] .gcard,:root[data-theme=dark] .vcard,:root[data-theme=dark] .tile,:root[data-theme=dark] .why,:root[data-theme=dark] .qblock{box-shadow:0 0 0 1px #262626}
:root[data-theme=dark] .hero{box-shadow:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .card,:root:not([data-theme=light]) .dcard:not(.rest),:root:not([data-theme=light]) .gcard,:root:not([data-theme=light]) .vcard,:root:not([data-theme=light]) .tile,:root:not([data-theme=light]) .why,:root:not([data-theme=light]) .qblock{box-shadow:0 0 0 1px #262626}:root:not([data-theme=light]) .hero{box-shadow:none}}
/* merk / coach-avatar: één plek om te vervangen (zie assets/js/mascot.js) */
.vimg{flex:none;display:block;object-fit:contain;border-radius:50%}
.vos{align-items:flex-end}
.vos .vimg{margin-bottom:2px}
/* woordmerk: LOOP + zigzag-! in rood */
.wmt{display:inline-flex;align-items:baseline}
.wmt .wmx{height:.88em;width:auto;margin-left:.05em;color:var(--acc);align-self:baseline;overflow:visible}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wm.light .wmt .wmx{color:#fff}
/* inlogscherm en installbanner: het app-icoon */
.logobig{background:none;box-shadow:0 10px 24px rgba(var(--acc-rgb),.3);overflow:hidden}
.logobig img{display:block;width:64px;height:64px;border-radius:19px}
.banner .bi{background:none!important;border:0!important;overflow:hidden}
.banner .bi img{display:block;width:36px;height:36px;border-radius:10px}
/* weergave-keuze in Profiel */
.themepick{margin-top:4px}
/* ---------- LOOP! Pro ---------- */
input.input,select.input{width:100%;display:block;font:inherit;font-size:16px}
.input.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.probadge{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;margin-left:6px;padding:3px 9px 3px 7px;border-radius:99px;background:var(--acc-bg);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}
.probadge .pbx{display:inline-flex;width:7px;height:15px}.probadge .pbx svg{width:7px;height:15px}
.procard.exp .probadge{background:var(--mute2)}
.procard .row{margin-bottom:12px}
.procode{margin-top:10px}.procode label{display:block;font-size:14px;font-weight:700;margin-bottom:6px;color:var(--ink2)}
.procoderow{display:flex;gap:8px;align-items:stretch}.procoderow .input{flex:1;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.procoderow .btnsm{margin-top:0;padding:0 18px}
.prolist{list-style:none;margin:0;padding:0}
.prolist li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.prolist li:last-child{border-bottom:0}
.prolist li>span:nth-child(2){flex:1;min-width:0}
.prolist b{display:block;font-size:15px}.prolist small{display:block;color:var(--mute);font-size:13.5px;line-height:1.35;margin-top:2px}
.prolist.compact small{display:none}.prolist.compact li{padding:8px 0}
.pi{flex:none;width:34px;height:34px;border-radius:11px;background:var(--tint);display:grid;place-items:center;font-size:17px}
.lk{flex:none;font-size:14px;opacity:.7}
.proteaser{display:flex;gap:12px;align-items:center;margin:14px 0;padding:14px;border-radius:18px;border:1.5px dashed var(--tb2);background:var(--tint);color:var(--ink);text-decoration:none}
.proteaser>span:nth-child(2){flex:1;min-width:0}.proteaser b{display:block;font-size:15px}.proteaser small{display:block;color:var(--mute);font-size:13px;margin-top:2px}
.proteaser .btnsm{margin:0;padding:9px 13px;font-size:14px;text-decoration:none;white-space:nowrap}
.proteaser.link{border-style:solid;border-color:var(--tb)}
.prohero{margin:14px 0 6px;padding:26px 22px;border-radius:24px;background:var(--hero);color:#fff;position:relative;overflow:hidden}
.prohero h1{font-size:30px;font-weight:900;margin:0}.prohero p{opacity:.9;margin-top:4px;font-weight:600}
.prohero .pbig{position:absolute;right:18px;top:10px;width:46px;height:110px;opacity:.9}.prohero .pbig svg{width:46px;height:110px}
.progrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.protile{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px rgba(var(--sh),.05)}
.protile b{font-size:14.5px;line-height:1.2}.protile small{font-size:12.5px;color:var(--mute);line-height:1.3}
.prozone{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:99px;background:var(--tint);color:var(--acc-t);font-size:13px;font-weight:700}
.hero .prozone{background:rgba(255,255,255,.18);color:#fff}
.prog,.pros{display:block;font-size:12.5px;color:var(--acc-t);font-weight:600;margin-top:2px}
div.prog{font-size:13px;margin-top:6px}
.prosbtn{display:block;margin-top:8px;padding:8px 12px;border-radius:12px;background:var(--tint);color:var(--acc-t);font-weight:700;font-size:13.5px;text-align:left}
.prosbtn.wide{width:100%;padding:12px 14px;font-size:14.5px;color:var(--ink)}
.prosbtn.wide b{color:var(--acc-t);margin-right:6px}
.proguard{border:1.5px solid var(--am-b)}
.prowx.lvl3{border:1.5px solid var(--er-b);background:var(--er-bg)}
.prowx.lvl2{border:1.5px solid var(--or-b);background:var(--or-bg)}
.prowx.lvl1{border:1.5px solid var(--am-b)}
.prowx p{margin:6px 0;font-size:14.5px}
.prowxlist{list-style:none;padding:0;margin:0}.prowxlist li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.prowxlist b{display:block}
.prowxlist .btnsm{display:inline-flex;margin-top:8px;padding:8px 12px;font-size:14px}
.tbtns .btn2,.tbtns .btn,.tbtns .btnsm{flex:1}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;color:var(--ink2)}
.propred{margin:6px 0 12px;padding:16px;border-radius:18px;background:var(--tint)}
.propred small{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--acc-t)}
.propred b{display:block;font-size:38px;font-weight:900;line-height:1.1;margin:2px 0}
.propred span{display:block;font-size:13.5px;color:var(--mute)}
.protrend{margin-top:8px;font-size:13px;font-weight:700;color:var(--ink2)}
.prodet{margin-top:10px;border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.prodet summary{font-weight:800;cursor:pointer;font-size:15px}
.protbl{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}
.protbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);padding:6px 4px;border-bottom:1px solid var(--line)}
.protbl td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.protbl td small{display:block;color:var(--mute);font-size:12px}
.protbl tr.tip td{background:var(--tint)}
.protbl.zones tr td:first-child{white-space:nowrap}
.protbl.zones tr.z1 td:first-child b,.protbl.zones tr.z2 td:first-child b,.protbl.zones tr.z3 td:first-child b,.protbl.zones tr.z4 td:first-child b,.protbl.zones tr.z5 td:first-child b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#fff;margin-right:6px;font-size:12px}
.protbl.zones tr.z1 td:first-child b{background:#9CA3AF}.protbl.zones tr.z2 td:first-child b{background:#60A5FA}.protbl.zones tr.z3 td:first-child b{background:#34D399}.protbl.zones tr.z4 td:first-child b{background:#F59E0B}.protbl.zones tr.z5 td:first-child b{background:#D6342A}
.profuel{list-style:none;padding:0;margin:8px 0 0}.profuel li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.profuel b{display:block;font-size:13px;color:var(--acc-t)}
.prostat{display:flex;gap:10px;margin:8px 0 12px}.prostat>div{flex:1;padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);text-align:center}
.prostat b{display:block;font-size:20px;font-weight:900}.prostat small{font-size:12px;color:var(--mute)}
.prostat.sm b{font-size:17px}
.prosplits{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.prosplits span{padding:5px 9px;border-radius:10px;background:var(--card2);border:1px solid var(--line);font-size:12.5px;font-weight:700}
.prosplits em{font-style:normal;color:var(--mute);margin-right:5px;font-weight:600}
.proplan{list-style:none;padding:0;margin:4px 0 0}
.proplan li{padding:10px 12px;border-left:3px solid var(--line2);margin-bottom:6px;border-radius:0 12px 12px 0;background:var(--card2)}
.proplan li.now{border-left-color:var(--acc);background:var(--tint)}
.proplan b{display:block;font-size:14.5px}.proplan span{display:block;font-size:13.5px;font-weight:600;color:var(--acc-t)}.proplan small{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.protip{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--am-bg);color:var(--am-fg2);font-size:14px}
.proex{padding-left:20px;margin:6px 0 0}.proex li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px}.proex em{font-style:normal;font-weight:700;color:var(--acc-t);font-size:13px}.proex span{display:block;color:var(--ink2);font-size:13.5px;margin-top:2px}
.proform2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}.proform2 label{font-size:13px;font-weight:700;color:var(--ink2)}.proform2 .input{margin-top:5px}
.lbl{display:block;font-size:14px;font-weight:700;color:var(--ink2);margin-bottom:6px}
.proseg{margin:14px 0 10px}
.procanvas{margin:14px 0;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(var(--sh),.18)}
.procanvas canvas{display:block;width:100%;height:auto}
.cardhead .x{background:none;border:0;font-size:16px;color:var(--mute);padding:4px 6px}
.btn2.danger{color:var(--er-fg)}
.procoderow .input{min-width:0;width:auto}.procoderow .btnsm{flex:none;width:auto}
.proerr{background:var(--er-bg);border:1px solid var(--er-b);color:var(--er-fg);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:10px;line-height:1.4}
/* aanmelden: optionele uitnodigingscode (v49) */
.field label .opt{font-weight:400;color:var(--mute)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.okmsg{background:#E7F5EC;color:#1E6B3A;border-radius:12px;padding:10px 12px;font-size:14.5px;line-height:1.4}
:root[data-theme=dark] .okmsg{background:#13261A;color:#8FD9A8}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .okmsg{background:#13261A;color:#8FD9A8}}
.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.waitpage{text-align:center;margin-top:24px}.waitpage h1{margin:10px 0 6px}.waitpage p{line-height:1.5;color:var(--ink2)}.waitpage form{margin-top:14px}
/* Strava merkrichtlijnen: officiële knop + Powered by Strava */
.stravabtn{display:inline-block;margin:6px 0 4px;line-height:0}.stravabtn img{height:48px;width:auto;display:block}
.pwrdstrava{margin:6px 0 4px;line-height:0}.pwrdstrava img{height:18px;width:auto}.pwrdstrava .pw-light{display:none}
:root[data-theme=dark] .pwrdstrava .pw-dark{display:none}:root[data-theme=dark] .pwrdstrava .pw-light{display:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pwrdstrava .pw-dark{display:none}:root:not([data-theme=light]) .pwrdstrava .pw-light{display:inline}}
.viewstrava{color:#FC5200;font-weight:600;font-size:12.5px;text-decoration:underline;margin-left:6px}
.polarcredit{color:var(--mute);font-weight:600;font-size:11.5px;margin-left:6px}
.goallimit{background:var(--tint);border:1px solid var(--tb);border-radius:14px;padding:12px 14px;margin:10px 0 14px;line-height:1.5}

.gpaused{opacity:.55;filter:grayscale(1)}
.gpaused .linkbtn{color:var(--redl);font-weight:700}
.badge.pausedb{background:var(--card2,#2a2a2a);color:var(--ink2)}

.fbicon{background:transparent;border:1px solid var(--line,#ddd);border-radius:999px;min-width:36px;height:32px;font-size:15px;cursor:pointer;color:inherit}
.fbicon.hero{border-color:rgba(255,255,255,.35)}
.fbbadge{background:var(--acc,#d33);color:#fff;border-radius:999px;font-size:12px;font-weight:800;min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px}
.fbfile{display:block;margin-top:10px;font-size:14px;cursor:pointer}.fbfile input{display:block;margin-top:6px;font-size:13px}
.fbthumb{max-width:100%;max-height:180px;border-radius:12px;margin-top:8px}
.fbreply{background:var(--tint);border:1px solid var(--tb);border-radius:14px;padding:10px 12px;margin-top:8px}.fbreply.new{box-shadow:0 0 0 2px var(--acc,#d33)}
.pill.fb-nieuw{background:var(--tint)}.pill.fb-bezig{background:var(--tint);color:var(--redl)}.pill.fb-opgelost{background:var(--ink,#161616);color:#fff}
.tabs a{position:relative}.fbdot{position:absolute;top:6px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:var(--acc,#d33)}
/* Training achteraf aanpassen */
.editbtn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font:inherit;font-size:13.5px;font-weight:700;color:var(--acc-t);background:var(--card);border:1.5px solid var(--acc);border-radius:99px;padding:6px 12px;cursor:pointer}
.editbtn.full{display:flex;justify-content:center;width:100%;margin-top:10px;border-radius:14px;padding:11px 12px;font-size:15px}
.dcard.tap,.days li.tap{cursor:pointer}
.dcard.tap:active,.days li.tap:active{opacity:.85}
.sheet.edit,.sheet.offer{max-height:88vh;overflow:auto}
.sheet .offtext{font-size:15.5px;font-weight:600;line-height:1.45;background:var(--tint);border-radius:14px;padding:12px 14px;margin:10px 0}
.sheet.edit .seg{display:grid;grid-template-columns:repeat(3,1fr)}
/* Opmerking bij een training */
.tnote{display:block;font-size:13.5px;line-height:1.4;color:var(--ink);background:var(--tint);border-radius:10px;padding:7px 10px;margin:8px 0 2px;overflow-wrap:anywhere;white-space:pre-wrap}
.tnote.hero{background:rgba(0,0,0,.16);color:#fff;border:1px solid rgba(255,255,255,.2)}
.editbtn.note{color:var(--ink2);border-color:var(--line)}
.editbtn.note.hero{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;position:relative}
.sheet.edit textarea.input{resize:vertical;min-height:76px;line-height:1.4}
/* Update-balkje (rustig, onderaan) */
.updbar{white-space:nowrap;width:max-content;position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:4px;max-width:92%;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:5px 6px 5px 14px;font-size:13px;font-weight:600;z-index:55;box-shadow:0 6px 18px rgba(var(--sh),.18);animation:updin .25s ease-out}
.updbar button{font:inherit;font-size:13px;font-weight:700;color:var(--acc-t);background:transparent;border:0;border-radius:99px;padding:6px 10px;cursor:pointer}
.updbar button.x{color:var(--mute);font-size:18px;line-height:1;padding:4px 9px}
@keyframes updin{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.updbar{animation:none}}
/* Waarom deze week zo? – Meer uitleg */
.moreinfo{margin:2px 4px 0}
.moreinfo summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--acc-t);padding:6px 4px}
.moreinfo summary::-webkit-details-marker{display:none}
.moreinfo summary::after{content:"▾";font-size:11px;transition:transform .15s}
.moreinfo[open] summary::after{transform:rotate(180deg)}
.moreinfo .morebody{font-size:13.5px;line-height:1.5;color:var(--ink2);background:var(--tint);border-radius:12px;padding:10px 12px;margin:2px 0 6px;white-space:pre-line}
/* Hoogtemeters (Pro): alleen zichtbaar bij een doel met hoogtemeters */
.elevline{margin:8px 0 2px;padding:8px 10px;border-radius:10px;background:var(--in-bg);color:var(--in-fg);font-size:13px;line-height:1.35}
.elevline b{display:block;font-weight:800}
.elevline small{display:block;margin-top:2px;font-size:12px;font-weight:500;opacity:.9}
.elevline.hero{background:rgba(0,0,0,.16);color:#fff;border:1px solid rgba(255,255,255,.2)}
.elevweek{background:var(--card);border-radius:14px;padding:12px 14px;margin:0 0 12px;box-shadow:0 1px 2px rgba(var(--sh),.06)}
.elevweek .eh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink2)}
.elevweek .eh b{font-size:18px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.elevweek .es{font-size:12.5px;color:var(--mute);margin-top:6px}
.elevweek .pbar{margin-top:8px;height:8px}
.elevfield .elevhint{display:block;margin-top:6px;font-size:12.5px;color:var(--mute);line-height:1.4}
.elevpro{margin:8px 0 0}
.bar{position:relative}
.bar .tgt{position:absolute;left:-2px;right:-2px;height:0;border-top:2px dashed var(--acc-t);pointer-events:none}
.tgtkey{display:inline-block;width:18px;border-top:2px dashed var(--acc-t);vertical-align:middle;margin:0 2px 2px}
.elevcard .note{margin-top:10px}

/* persoonlijke coach: melding in Profiel */
.pcnote{background:var(--tint,#FFF1F0);border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;margin:10px 0}.pcnote b{font-size:14.5px}.pcnote p{font-size:13.5px;line-height:1.45;color:var(--ink2);margin-top:4px}

/* v42: training verplaatsen (Pro) */
.shiftpro{background:var(--tint);border:1px solid var(--tb);border-radius:14px;padding:12px 14px;margin:10px 0 4px}
.shiftpro p{margin:4px 0 0;font-size:13.5px;color:var(--ink2);line-height:1.45}
.shiftpro .msug{margin-top:10px}
.shiftpro-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.02em;color:#fff;background:var(--acc-t);border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.movebtn.hero .shiftpro-tag{background:#fff;color:var(--acc-t)}
.sheet.shift .shiftgo{width:100%;margin-top:6px}
.sheet.shift .shiftgonote{margin:6px 2px 0}
.sheet.shift .mopt.shiftopt{grid-template-columns:92px 1fr auto}
.sheet.shift .mopt.shiftopt span{font-size:13px;line-height:1.35}
.shiftpro .btnsm{text-transform:none}
/* andere activiteiten (Pro) */
.st.other{background:var(--tint);color:var(--acc-t);border:0;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.otherline{color:var(--acc-t);cursor:pointer}
.otheradj{color:var(--ink2);font-size:12.5px}
small.otheradj{display:block;margin-top:2px}
.otheradd{display:block;margin:10px 0 4px;background:none;border:1.5px dashed var(--line);border-radius:12px;padding:9px 12px;width:100%;font:inherit;font-size:14px;font-weight:700;color:var(--acc-t);cursor:pointer;text-align:center}
.otheradd.wide{margin:14px 0 6px}

/* v47: advies bij verplaatsen, eenmalig verplaatste vaste training */
.shiftadv{display:block;font-style:normal;font-size:12.5px;line-height:1.35;color:var(--or-fg);margin-top:4px}
.fxtag .fxonce{display:inline-block;background:var(--or-bg);color:var(--or-fg);font-size:12.5px;font-weight:800;padding:4px 9px;border-radius:999px}
.sheet.shiftdone .advice{margin:10px 0 14px}

/* v48: verplaatsen naar een eerdere dag van de lopende week */
.shifthint{display:block;font-style:normal;font-size:12.5px;line-height:1.35;color:var(--acc-t);font-weight:600;margin-top:4px}
p.shifthint{margin:6px 0 10px}
.pastlbl{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--mute);background:var(--track);border-radius:999px;padding:2px 7px;margin-left:6px;vertical-align:middle}
.pastlbl.today{color:var(--acc-t);background:var(--tint)}
.mopt.past{border-style:dashed}
.pastsec{font-weight:700}
.pastmv{color:var(--acc-t);font-weight:700}
.st.now.pastmv{background:var(--tint);color:var(--acc-t)}
.linkrun{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;font-size:13px;font-weight:600;color:var(--ink2)}
small.pastmv{display:block}
.sheet.shiftpast .btn,.sheet.shiftpast .btn2{margin-top:8px;width:100%}

/* v49: koppelingen-status */
.waitpill{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:99px;background:var(--tint);color:var(--ink2);font-size:11.5px;font-weight:800;vertical-align:1px;white-space:nowrap}
.linkgarmin .k{line-height:1.45}

/* v49: gratis proefperiode */
.trialbar{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 14px;border-radius:16px;background:var(--tint);border:1px solid var(--tb);color:var(--ink);text-decoration:none;font-size:14.5px;line-height:1.35}
.trialbar b{color:var(--acc-t)}
.trialbar .chev{margin-left:auto;color:var(--mute);font-size:20px}
.trialbar.plain{margin:6px 0 16px}
.trialbar.soon{border-style:dashed}
.trialbar .pbx2{display:inline-flex;flex:none;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--acc-bg)}
.trialbar .pbx2 svg{width:8px;height:17px}
.trialbar .pbx2,.trialbar .pbx2 *{color:#fff}
.trialcard .note{margin:8px 0 12px}
.trialcard .btn{margin-top:0}

/* v49: Cloudflare Turnstile bij aanmelden */
.tsfield{margin:4px 0 14px;min-height:65px}
.tsfield.hidden{display:none}
.tsmsg{margin-top:8px;color:var(--bad,#b3261e);line-height:1.4}
.tsmsg .linkbtn{font-weight:700}
