:root{--green:#0f9f68;--dark:#12372b;--cream:#f4f8f4;--line:#dfe9e3;--shadow:0 12px 34px rgba(25,60,45,.10)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef8f3 0,#f8faf8 55%,#edf3ff 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#18352b}.app{max-width:1120px;margin:auto;min-height:100vh;padding:16px 18px 100px}.topbar{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);padding:14px 18px;border:1px solid #fff;border-radius:22px;box-shadow:var(--shadow);position:sticky;top:10px;z-index:20}.brand{font-size:28px;font-weight:900;color:#162d25;text-decoration:none}.brand span,.logohero b{color:var(--green)}.userchip{background:#e7f7ef;padding:9px 14px;border-radius:99px;font-weight:800}.content{padding:8px 0}.pagehead h1{margin:18px 2px 10px;font-size:30px}.bottomnav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:5px;background:#153e31;padding:8px;border-radius:22px;box-shadow:0 14px 35px #0004;z-index:30}.bottomnav a{min-width:76px;padding:8px 10px;border-radius:15px;text-decoration:none;color:#fff;display:flex;flex-direction:column;align-items:center;font-size:19px}.bottomnav span{font-size:11px;margin-top:2px}.bottomnav a:hover{background:#2a604d}.hero{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;background:linear-gradient(135deg,#153f31,#0f9f68);color:#fff;border-radius:28px;padding:28px;margin:10px 0 16px;box-shadow:var(--shadow)}.hero h2{font-size:32px;margin:5px 0}.hero p{margin:0;color:#d8f5e8}.eyebrow{text-transform:capitalize;font-size:13px;letter-spacing:.08em}.ring{--p:0;width:130px;height:130px;border-radius:50%;background:conic-gradient(#fff calc(var(--p)*1%),#ffffff33 0);display:grid;place-content:center;text-align:center;position:relative}.ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#167a55}.ring b,.ring span{position:relative}.ring b{font-size:27px}.ring span{font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;display:flex;gap:12px;align-items:center;box-shadow:0 8px 22px #1c48340c}.stats article>span{font-size:29px}.stats small,.advicecard small{display:block;color:#6b8077}.stats b{font-size:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:25px;padding:20px;margin:16px 0;box-shadow:var(--shadow)}.panelhead{display:flex;justify-content:space-between;gap:18px;align-items:end}.panel h2{margin:0 0 4px}.panel p{color:#64786f}.search,input,select,textarea{border:1px solid #cfded6;background:#f9fbfa;border-radius:14px;padding:13px 15px;font:inherit}.search{width:min(420px,100%);font-size:17px}.foodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.foodtile{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fbf8);border-radius:20px;padding:16px;text-align:left;cursor:pointer;min-height:135px;transition:.18s;box-shadow:0 5px 15px #173d2e0a}.foodtile:hover{transform:translateY(-3px);border-color:#78c9a7;box-shadow:0 12px 24px #173d2e18}.foodtile .emoji{font-size:34px;display:block;margin-bottom:10px}.foodtile b{display:block;font-size:16px}.foodtile small{display:block;color:#73847d;margin-top:5px}.empty{text-align:center;padding:28px;color:#6b7e75;background:#f7faf8;border-radius:16px}.timeline{display:grid;gap:8px}.entry{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #edf1ef;padding:10px}.entry>span{font-size:27px}.entry small{display:block;color:#73847d}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:#132b22aa;display:grid;place-items:center;padding:18px;z-index:50}.modalcard{width:min(460px,100%);background:#fff;border-radius:26px;padding:24px;position:relative;box-shadow:0 30px 80px #0005}.close{position:absolute;right:16px;top:12px;border:0;background:#edf4f0;border-radius:50%;width:38px;height:38px;font-size:24px}.bigemoji{font-size:52px}.modalcard label{display:block;font-weight:800;margin:13px 0 6px}.modalcard input,.modalcard select{width:100%}.amountrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.kcalpreview{display:flex;justify-content:space-between;background:#eff8f3;padding:14px;border-radius:15px;margin:15px 0}.primary{border:0;background:var(--green);color:#fff;border-radius:14px;padding:14px 18px;font-weight:900;cursor:pointer}.wide{width:100%}.authcard{max-width:620px;margin:45px auto;background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.logohero{text-align:center;font-size:38px;font-weight:900}.personsetup{border:1px solid var(--line);border-radius:18px;padding:15px;margin:12px 0}.personsetup input{width:100%;margin:5px 0 10px}.alert{padding:13px;border-radius:13px;background:#e8f8ef}.alert.bad{background:#ffe9e9;color:#8c2424}.advicehero{background:linear-gradient(135deg,#5d43c8,#8f75ed);color:#fff;border-radius:27px;padding:28px}.advicehero h2{font-size:30px;margin:8px 0}.advicegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:15px}.advicecard{background:#fff;border:1px solid var(--line);border-radius:21px;padding:18px;display:flex;gap:14px;box-shadow:var(--shadow)}.advicecard>span{font-size:32px}.advicecard h3{margin:4px 0}.advicecard p{margin:0;color:#667b72}.advicecard.success{background:#edf9f2}.recommendation{border-left:5px solid var(--green);background:#f1faf5;padding:18px;border-radius:15px}.recommendation p{margin-bottom:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}a{color:var(--green)}@media(max-width:820px){.foodgrid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.ring{width:110px;height:110px}.panelhead{display:block}.search{margin-top:12px;width:100%}.advicegrid{grid-template-columns:1fr}}@media(max-width:520px){.app{padding:8px 8px 95px}.topbar{border-radius:16px}.hero{padding:20px;border-radius:21px}.hero h2{font-size:25px}.foodgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.foodtile{padding:12px;min-height:126px}.bottomnav{width:calc(100% - 16px);justify-content:space-around;bottom:8px}.bottomnav a{min-width:0;flex:1}.panel{padding:14px;border-radius:20px}.advicehero{padding:20px}.entry{grid-template-columns:38px 1fr auto}}




/* Afvaltix: compact uitklapmenu onderaan */
.app{padding-bottom:88px}
.topbar{position:static;top:auto}
.bottomnav{display:none!important}
.compact-menu{position:fixed;right:18px;bottom:16px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.compact-menu-items{display:flex;flex-direction:column;gap:5px;width:190px;padding:8px;border-radius:17px;background:#153e31;box-shadow:0 16px 40px rgba(0,0,0,.28)}
.compact-menu-items[hidden]{display:none}
.compact-menu-items a{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:11px;color:#fff;text-decoration:none;font-weight:800}
.compact-menu-items a:hover{background:#2a604d}
.compact-menu-items .compact-menu-logout{background:#703636}
.compact-menu-button{display:flex;align-items:center;gap:7px;min-width:94px;min-height:46px;justify-content:center;border:0;border-radius:15px;background:#153e31;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.25);font:inherit;font-weight:900;cursor:pointer}
.compact-menu-icon{font-size:20px;line-height:1}

.content{display:flex;flex-direction:column}
.pagehead{order:-3}
#voeding-toevoegen{order:-2;margin-top:4px}
#voeding-toevoegen .panelhead{align-items:center}
#voeding-toevoegen .foodgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:8px}
#voeding-toevoegen .foodtile{border-radius:15px}
.daily-coach-card,.coach-quick-actions,.hero,.stats{order:0}

@media(min-width:821px){
  .pagehead h1{margin:8px 2px 6px;font-size:25px}
  .panel{padding:14px;margin:8px 0;border-radius:20px}
  #voeding-toevoegen .panelhead>div p{margin:2px 0 0}
  #voeding-toevoegen .search{width:min(520px,48vw)}
  .hero{padding:18px;margin:8px 0}.hero h2{font-size:26px}.ring{width:100px;height:100px}
  .stats article{padding:12px}
}

@media(max-width:820px){
  .app{padding:8px 8px 82px}
  #voeding-toevoegen .foodgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-menu{right:10px;bottom:10px}
  .compact-menu-items{width:180px}
}


/* Menu als gewone footer onderaan, niet zwevend */
.app{padding-bottom:0!important}
.compact-menu{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  width:min(760px,calc(100% - 24px))!important;
  margin:22px auto 28px!important;
}
.compact-menu-button{
  width:100%!important;
  min-height:44px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.compact-menu-items{
  width:100%!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
  border-radius:14px!important;
}
.compact-menu-items[hidden]{display:none!important}

/* Invoer in tegel: plus en min altijd zichtbaar */
.foodtile.is-open{grid-column:span 3!important;min-width:0!important}
.food-inline-editor,.food-inline-editor form{min-width:0!important;width:100%!important;box-sizing:border-box!important}
.inline-measure-choice{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.inline-measure-button{min-width:0!important;padding:7px 5px!important;font-size:12px!important;white-space:normal!important}
.inline-amount{
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.inline-amount button{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important}
.inline-amount-value{min-width:0!important;width:100%!important;padding:0 5px!important;box-sizing:border-box!important}
.inline-amount-value input{width:52px!important;min-width:0!important;font-size:16px!important}
.inline-amount-value span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important}

@media(max-width:820px){
  .foodtile.is-open{grid-column:1/-1!important}
  .compact-menu{width:calc(100% - 16px)!important;margin:18px 8px 22px!important}
}
