    .section-actions,.dish-builder-actions{display:flex;gap:12px;align-items:center}.link.muted{color:var(--muted)}.dish-picker{position:relative;flex:0 0 42px;pointer-events:none}.dish-picker .dish-select{display:none}.dish-building .dish-picker{pointer-events:auto;cursor:pointer;background:#fff;border:1px solid var(--green2)}.dish-building .dish-picker .meal-icon-visual{display:none}.dish-building .dish-picker .dish-select{display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.dish-picker .dish-check{display:none;position:absolute;inset:0;place-items:center;background:var(--green);color:#fff;border-radius:inherit;font-size:24px}.dish-building .dish-picker .dish-select:checked~.dish-check{display:grid}.dish-building .dish-picker .dish-select:focus-visible~.dish-check,.dish-building .dish-picker .dish-select:focus-visible~.meal-icon-visual{outline:3px solid var(--green2);outline-offset:3px}.favorite-button{border:0;background:transparent;color:#8ba09a;font-size:24px;line-height:1;padding:3px}.meal .favorite-button,.meal .meal-action{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;padding:3px;font-size:24px;line-height:1}.favorite-button.active{color:#e6a52f}.favorite-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.favorite-tabs .active{background:var(--mint);border-color:var(--green2);color:var(--green)}.favorite-list{display:grid;gap:9px;margin-top:14px}.favorite-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px}.favorite-item b,.favorite-item small{display:block}.favorite-item small{color:var(--muted);margin-top:3px}.favorite-item .remove-favorite{border:0;background:transparent;color:#9a5c5c;font-size:20px;padding:8px}@media(max-width:600px){.section-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.favorite-item{grid-template-columns:1fr 1fr}.favorite-item>div{grid-column:1/-1}.favorite-item{padding:11px 44px 11px 11px}.favorite-item .remove-favorite{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;display:grid;place-items:center;line-height:1}.favorite-item .primary,.favorite-item .secondary{padding:10px 8px;font-size:12px}}
    .insight-nutrient{border-top:1px solid var(--line)}.insight-nutrient:first-child{border-top:0}.insight-nutrient-toggle{width:100%;display:grid;grid-template-columns:105px minmax(50px,1fr) 96px 18px;gap:10px;align-items:center;border:0;background:transparent;color:var(--ink);padding:11px 0;text-align:left;font-size:13px}.insight-nutrient-toggle .track{height:9px;background:#e9efec;border-radius:99px;overflow:hidden}.insight-nutrient-toggle .track i{display:block;height:100%;border-radius:99px}.insight-nutrient-toggle strong{text-align:right;font-size:11px}.insight-chevron{font-size:18px;color:var(--muted);transition:transform .18s}.insight-nutrient.open .insight-chevron{transform:rotate(180deg)}.nutrient-breakdown{margin:0 -4px;padding:15px 4px 5px;border-top:1px solid var(--line)}.nutrient-breakdown.empty{padding:18px;color:var(--muted);text-align:center}.nutrient-breakdown-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:7px}.nutrient-breakdown-head span{color:var(--muted);font-size:12px;white-space:nowrap}.nutrient-context{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.45}.nutrient-context p{margin:0}.nutrient-sunlight-note{margin-top:6px!important;padding-left:9px;border-left:3px solid #d8c6ef;color:#65547a}.nutrient-chart-layout{display:grid;grid-template-columns:minmax(150px,180px) minmax(0,1fr);gap:17px;align-items:center}.nutrient-pie{display:block;width:100%;max-width:180px;margin:auto;overflow:visible}.nutrient-pie-slice{stroke:#fff;stroke-width:2;cursor:pointer;transform-origin:80px 80px;transition:transform .15s,opacity .15s}.nutrient-pie-slice:hover{opacity:.85}.nutrient-pie-slice.selected{transform:scale(1.035)}.nutrient-sources{display:grid;gap:2px}.nutrient-source{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;border:0;background:transparent;color:var(--ink);padding:4px 2px;text-align:left}.nutrient-source>i{width:10px;height:10px;border-radius:50%}.nutrient-source span b,.nutrient-source span small,.nutrient-source>strong small{display:block}.nutrient-source span b{font-size:12px}.nutrient-source span small,.nutrient-source>strong small{font-size:10px;color:var(--muted);font-weight:500}.nutrient-source>strong{text-align:right;font-size:11px;white-space:nowrap}.nutrient-source.selected span b{color:var(--green)}.nutrient-selection{min-height:20px;text-align:center;margin:9px 0 0;color:var(--muted);font-size:11px}@media(max-width:520px){.insight-nutrient-toggle{grid-template-columns:86px minmax(35px,1fr) 82px 15px;gap:7px}.nutrient-chart-layout{grid-template-columns:1fr}.nutrient-pie{max-width:168px}.nutrient-breakdown-head{align-items:flex-start;flex-direction:column;gap:3px}}
    :root{--ink:#17302b;--muted:#6b7e78;--green:#176c57;--green2:#22a47f;--mint:#dff5ed;--cream:#f7f4ed;--card:#fff;--orange:#ec8c45;--blue:#4d7dd8;--line:#dce5e1;--shadow:0 16px 40px rgba(24,57,49,.10);--browser-bottom:0px}
    *{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;touch-action:pan-y}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    button,input,select{font:inherit} button{cursor:pointer}.auth-locked .app,.auth-locked nav{display:none}.auth-gate{min-height:100dvh;padding:24px;display:grid;place-items:center;background:linear-gradient(145deg,#103d33,#176c57)}.auth-gate[hidden]{display:none}.auth-card{width:min(100%,430px);background:#fff;border-radius:28px;padding:25px;box-shadow:0 28px 80px rgba(7,35,28,.28)}.auth-card h1{margin-top:12px}.auth-card .primary{margin-top:14px}.auth-switch{border:0;background:none;color:var(--green);font-weight:750;padding:12px 0 0}.auth-status{min-height:22px;margin:12px 0 0;font-size:13px}.auth-note{font-size:11px;margin:15px 0 0}.app{min-height:100dvh;max-width:1200px;margin:auto;padding-bottom:92px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;background:rgba(247,244,237,.88);backdrop-filter:blur(14px);z-index:10;border-bottom:1px solid rgba(23,48,43,.06)}
    .brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.mark{width:38px;height:38px;border-radius:12px;background:var(--green);display:grid;place-items:center;color:#fff;flex:0 0 38px;overflow:hidden}.mark svg{display:block;width:100%;height:100%}.top-actions{display:flex;align-items:center;gap:7px}.date-picker-wrap{position:relative}.date-nav{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;overflow:hidden}.date-arrow,.date-chip{border:0;background:#fff;color:var(--ink);min-height:38px}.date-arrow{width:34px;font-size:19px}.date-chip{padding:8px 4px;font-weight:700;min-width:104px}.date-chip:hover{background:#f5faf8}.date-picker-native{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.account-menu{position:relative}.account-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;color:var(--green);font-weight:650;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-toggle{width:40px;height:40px;min-width:40px;max-width:40px;flex:0 0 40px;aspect-ratio:1;padding:0;display:grid;place-items:center;border-radius:50%;overflow:visible;text-overflow:clip}.account-menu-toggle{color:#7b8581}.account-menu-toggle svg{width:19px;height:19px;fill:currentColor;stroke:none}.account-menu-toggle[aria-expanded="true"]{background:#edf7f3;border-color:#b9ded2}.account-popover{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:196px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px rgba(23,48,43,.16)}.account-popover button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:9px;background:transparent;color:var(--ink);padding:10px 9px;text-align:left;font-size:13px;font-weight:700}.account-popover button:hover{background:#f1f7f4}.account-popover small{color:var(--muted);font-size:10px;font-weight:600}.account-popover hr{height:1px;border:0;background:var(--line);margin:5px 3px}.account-popover .account-menu-logout{color:#a74646}.sync-state{width:26px;height:26px;min-width:26px;border:0;border-radius:50%;padding:0;background:radial-gradient(circle,#d39343 0 4px,transparent 5px);box-shadow:none}.sync-state.synced{background:radial-gradient(circle,var(--green2) 0 4px,transparent 5px)}.sync-state.error{background:radial-gradient(circle,#c95757 0 4px,transparent 5px)}.sync-notice{position:fixed;z-index:35;top:80px;left:50%;width:max-content;max-width:calc(100vw - 24px);display:flex;align-items:center;gap:9px;transform:translateX(-50%);padding:10px 12px;border:1px solid #e6d1aa;border-radius:14px;background:#fff9ed;color:#6d5122;box-shadow:0 12px 30px rgba(24,57,49,.16);font-size:12px;font-weight:750}.sync-notice i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#d39343}.sync-notice.synced{border-color:#bfe4d8;background:#eef8f4;color:var(--green)}.sync-notice.synced i{background:var(--green2)}.sync-notice.error{border-color:#ebc4c4;background:#fff2f2;color:#8d3535}.sync-notice.error i{background:#c95757}.sync-notice button{border:0;border-left:1px solid currentColor;background:transparent;color:inherit;padding:2px 0 2px 10px;font-size:11px;font-weight:850;white-space:nowrap}
    main{padding:18px 18px 28px;width:100%;min-width:0}.screen{display:none;width:100%;min-width:0;max-width:100%}.screen.active{display:block}.screen *{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--green)}h1{font-size:30px;line-height:1.08;letter-spacing:-.045em;margin:5px 0 7px}h2{font-size:20px;letter-spacing:-.025em;margin:0}p{color:var(--muted);line-height:1.5}.lead{margin:0 0 20px}
    .grid{display:grid;gap:14px}.hero{background:linear-gradient(145deg,#123f35,#176c57);border-radius:28px;padding:22px;color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-90px;top:-90px;border:34px solid rgba(255,255,255,.08);pointer-events:none}.hero p{color:#d5ede5;margin:5px 0 19px}.energy{display:flex;align-items:flex-end;gap:8px}.energy strong{font-size:42px;line-height:1;letter-spacing:-.055em}.energy span{color:#c5e3da;padding-bottom:4px}.bar{height:8px;background:rgba(255,255,255,.18);border-radius:99px;margin:15px 0 8px;overflow:hidden}.bar>i{display:block;height:100%;background:#fff;border-radius:99px}.hero-foot{display:flex;justify-content:space-between;color:#d5ede5;font-size:12px}.hero-macros{display:grid;gap:12px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(255,255,255,.16);position:relative;z-index:1}.hero .macro-row{color:#fff}.hero .macro-row .track{background:rgba(255,255,255,.16)}.hero .macro-row strong{color:#d5ede5}.card{background:var(--card);border:1px solid rgba(20,74,61,.08);border-radius:22px;padding:18px;box-shadow:0 8px 26px rgba(24,57,49,.055)}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.link{color:var(--green);font-weight:750;background:none;border:0;padding:3px}.macro-list{display:grid;gap:14px}.macro-row{display:grid;grid-template-columns:105px 1fr 86px;gap:10px;align-items:center;font-size:13px}.macro-row .track{height:9px;background:#e9efec;border-radius:99px;overflow:hidden}.macro-row .track i{display:block;height:100%;border-radius:99px}.macro-row strong{text-align:right;font-size:12px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:24px 2px 11px}.section-title p{margin:3px 0 0;font-size:12px}#dishBuilderFloating{position:fixed;z-index:50;display:flex;gap:12px;align-items:center;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.advice{border-left:4px solid var(--orange);background:#fffaf3}.advice.snack{border-color:var(--blue);background:#f7f9ff}.advice-label{display:flex;align-items:center;gap:8px;color:#9a5125;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.advice.snack .advice-label{color:#365fa9}.advice h3{margin:9px 0 5px;font-size:18px}.advice p{margin:0;font-size:13px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.chip{background:#eef4f1;color:var(--ink);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.meal{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.meal:first-of-type{border-top:0}.meal-icon{width:42px;height:42px;border-radius:14px;background:var(--mint);display:grid;place-items:center;font-size:22px;line-height:1;color:var(--green);font-weight:900}.meal-info{min-width:0;flex:1}.meal-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-info small{display:block;color:var(--muted);line-height:1.45;white-space:normal}.meal-kcal{font-weight:750;white-space:nowrap}.primary{border:0;background:var(--green);color:#fff;border-radius:14px;padding:13px 17px;font-weight:800;box-shadow:0 7px 17px rgba(23,108,87,.22)}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;padding:12px 16px;font-weight:750}.full{width:100%}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions button{text-align:left;min-height:76px}.quick-actions b{display:block;margin-bottom:4px}.quick-actions small{color:var(--muted)}
    .micro-list{display:grid;gap:14px}.micro-row{display:grid;grid-template-columns:92px 1fr 72px;gap:10px;align-items:center;font-size:13px}.micro-row .track{height:7px;background:#e9efec;border-radius:99px;overflow:hidden;display:flex}.micro-row .track i{display:block;height:100%;border-radius:0}.micro-row .track .micro-solid{background:var(--green2)}.micro-row .track .micro-estimated{background:repeating-linear-gradient(135deg,var(--green2) 0 4px,#b7e8d8 4px 8px)}.micro-row strong{text-align:right;font-size:11px}.micro-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:var(--muted)}.micro-legend i{width:22px;height:7px;border-radius:99px;display:inline-block;margin-right:4px}.micro-legend .solid{background:var(--green2)}.micro-legend .estimated{background:repeating-linear-gradient(135deg,var(--green2) 0 4px,#b7e8d8 4px 8px)}.micro-legend .unknown{background:#e9efec}.good{color:var(--green)}.warn{color:#b8692e}.report{background:linear-gradient(160deg,#eef8f4,#fff);border-color:#cce9df}.report ul{padding-left:18px;margin:10px 0 0;color:var(--muted);line-height:1.6}.report strong{color:var(--ink)}
    .form-grid{display:grid;gap:13px}.field label{display:block;font-size:12px;font-weight:750;margin:0 0 6px;color:#4a5f59}.field input,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;color:var(--ink);outline:none}.field input:focus,.field select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(34,164,127,.12)}.amount-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,auto);gap:7px}.amount-control select{padding-left:9px;padding-right:9px}.field-hint{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:5px}.two{grid-template-columns:1fr 1fr}.micro-fields{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:11px 13px}.micro-fields summary{font-weight:750;color:var(--green);cursor:pointer}.micro-fields .form-grid{margin-top:13px}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.stat{background:var(--mint);border-radius:16px;padding:12px;text-align:center}.stat strong{display:block;font-size:18px}.stat small{color:var(--muted)}.add-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.add-choice button{min-height:138px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.add-choice strong{display:block;font-size:16px;margin:10px 0 4px}.add-choice span{display:block;color:var(--muted);font-size:12px;line-height:1.4}.add-choice .choice-icon{width:56px;height:56px;border-radius:17px;background:var(--mint);display:grid!important;place-items:center;color:var(--green);flex:0 0 56px;line-height:1}.add-choice .choice-icon svg{display:block;width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.recent-item{grid-template-columns:minmax(0,1fr) auto}.search-results{display:grid;gap:8px;margin-top:14px}.search-result{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px;text-align:left}.search-result:hover{border-color:var(--green2)}.search-result div{min-width:0;flex:1}.search-result b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result small{color:var(--muted)}.suggestion-actions{display:flex;gap:8px;margin-top:13px}.suggestion-actions button{flex:1}.meal-periods{display:grid;gap:12px}.meal-period{background:var(--card);border:1px solid rgba(20,74,61,.08);border-radius:20px;padding:14px;box-shadow:0 8px 26px rgba(24,57,49,.045)}.meal-period.drag-over{border-color:var(--green2);background:#f1fbf7}.period-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.period-head h3{margin:0;font-size:15px}.period-head small{color:var(--muted)}.period-empty{padding:15px 8px;text-align:center;color:var(--muted);font-size:12px}.meal[draggable="true"]{cursor:grab}.meal[draggable="true"]:active{cursor:grabbing}.meal-period .meal{padding:11px 0}.meal-period select{width:94px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 5px;color:var(--ink);font-size:11px}.ingredient-editor{display:grid;gap:8px;margin:14px 0}.ingredient-edit-row{display:grid;grid-template-columns:28px 90px 62px minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:9px}.ingredient-edit-row input[type="checkbox"]{width:20px;height:20px}.ingredient-edit-row input[type="number"]{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px}.ingredient-edit-row .ingredient-unit{color:var(--muted);font-size:12px}.add-recipe-summary{background:var(--mint);border-radius:14px;padding:12px;margin:12px 0}.add-recipe-summary strong{display:block}.add-recipe-summary small{color:var(--muted)}
    .history-chart{height:150px;display:flex;align-items:flex-end;gap:8px;padding-top:20px}.daybar{flex:1;text-align:center}.daybar i{display:block;background:var(--green2);border-radius:7px 7px 3px 3px;min-height:6px}.daybar small{font-size:10px;color:var(--muted)}.empty{padding:34px 16px;text-align:center;color:var(--muted)}.suggestion-grid{display:grid;gap:10px}.suggestion-card{width:100%;border-left:4px solid var(--orange);text-align:left;color:var(--ink)}.suggestion-card h3{margin:8px 0 4px;font-size:17px}.suggestion-card p{margin:0}.suggestion-card .open-recipe{display:block;margin-top:12px;color:var(--green);font-size:12px;font-weight:750}.recipe-grid{display:grid;gap:14px}.recipe-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.recipe-columns{display:grid;gap:18px}.recipe-columns h3{font-size:14px;margin:0 0 9px}.recipe-columns ul,.recipe-columns ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.65}.recipe-columns li+li{margin-top:4px}.portion-control{display:flex;align-items:center;gap:10px;margin:12px 0 18px}.portion-control button{width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:20px}.portion-control strong{min-width:82px;text-align:center}.analysis-lines{margin:12px 0 0;padding-left:19px;color:var(--muted);line-height:1.6}.analysis-lines li+li{margin-top:6px}.trend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.trend-stat{background:var(--mint);border-radius:15px;padding:11px;text-align:center}.trend-stat strong{display:block;font-size:17px}.trend-stat small{color:var(--muted);font-size:10px}.chat-messages{display:grid;gap:9px;max-height:300px;overflow:auto;padding:4px 2px 12px}.chat-bubble{max-width:88%;padding:11px 13px;border-radius:16px;background:#eef4f1;color:var(--ink);line-height:1.45;font-size:13px;white-space:pre-wrap}.chat-bubble.user{justify-self:end;background:var(--green);color:#fff}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);padding-top:12px}.chat-form input{min-width:0;border:1px solid var(--line);border-radius:13px;padding:11px 12px}.chat-form button{padding-inline:15px}.chat-form button:disabled{opacity:.65;cursor:wait}.micro-note,.source-note{font-size:11px;color:var(--muted);line-height:1.45}.source-note{text-align:center;margin:24px auto 0;max-width:680px}.source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef4f1;color:var(--green);font-size:10px;font-weight:800}.nevo-results{display:grid;gap:8px;margin-top:12px}.nevo-result{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px}.nevo-result small{display:block;color:var(--muted);margin-top:3px}.nevo-result strong{text-align:right;font-size:12px}.nevo-status{border:1px solid var(--line);border-radius:13px;padding:11px;margin-top:13px;background:#f8fbfa}.nevo-status p{margin:0 0 9px;font-size:12px}
    nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;justify-content:center}.nav-inner{display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;width:100%}.nav-btn{border:0;background:transparent;color:var(--muted);padding:8px 4px;font-size:11px;font-weight:700;border-radius:12px}.nav-btn span{display:block;font-size:19px;line-height:1;margin-bottom:5px}.nav-btn.active{color:var(--green);background:var(--mint)}
    dialog{border:0;border-radius:24px;padding:0;width:min(calc(100vw - 24px),520px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 80px rgba(13,40,34,.3)}dialog::backdrop{background:rgba(10,31,26,.52);backdrop-filter:blur(4px)}.dialog-body{padding:22px;max-width:100%;overflow-x:hidden}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;position:sticky;top:0;background:#fff;z-index:2;padding-bottom:8px}.close{border:0;background:#eef3f1;width:44px;height:44px;border-radius:50%;font-size:22px;flex:0 0 44px}.dialog-head-leading{display:flex;align-items:center;gap:10px;min-width:0}.dialog-back{border:0;background:transparent;color:var(--green);width:32px;height:44px;padding:0;font-size:32px;line-height:1;flex:0 0 32px}.dialog-back:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}.dialog-actions{display:flex;gap:9px;margin-top:18px;position:sticky;bottom:0;background:#fff;padding-top:12px;padding-bottom:max(2px,env(safe-area-inset-bottom))}.dialog-actions>*{flex:1;min-height:46px}.scanner-wrap{position:relative;width:100%;height:260px;border-radius:18px;overflow:hidden;background:#102e27}.scanner-wrap video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;inset:24% 9%;border:2px solid rgba(255,255,255,.95);border-radius:15px;box-shadow:0 0 0 999px rgba(5,25,20,.34);pointer-events:none}.scanner-frame:after{content:"";position:absolute;left:7%;right:7%;top:50%;height:2px;background:#e55353;box-shadow:0 0 10px #e55353}.toast{position:fixed;left:50%;bottom:98px;max-width:calc(100vw - 24px);transform:translate(-50%,20px);background:#17302b;color:#fff;padding:11px 16px;border-radius:999px;font-weight:700;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}
    @media(max-width:520px){input,select,textarea{font-size:16px!important}main{padding:15px 12px 26px}.topbar{padding:0 9px}.account-chip{max-width:62px;padding:8px 7px}.brand{gap:6px;font-size:0}.mark{width:34px;height:34px;flex-basis:34px}.date-arrow{width:29px}.date-chip{min-width:82px;font-size:11px}.hero,.card{border-radius:19px;padding:16px}.macro-row{grid-template-columns:82px minmax(0,1fr) 78px;gap:7px}.micro-row{grid-template-columns:78px minmax(0,1fr) 68px;gap:6px}.meal{gap:8px;flex-wrap:wrap}.meal-info{flex:1 1 calc(100% - 48px)}.meal-icon{width:38px;height:38px;flex:0 0 38px}.meal-kcal{font-size:12px;margin-left:46px}.meal-period select{margin-left:auto}.add-choice{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.scanner-wrap{height:235px}.ingredient-edit-row{grid-template-columns:26px 72px 42px minmax(0,1fr);gap:5px;padding:7px}.suggestion-actions{flex-direction:column}}

    .photo-capture{height:220px;margin-bottom:11px;border:1px dashed #a8c8bd;border-radius:18px;background:#f1f8f5;overflow:hidden;display:grid;place-items:center;text-align:center}.photo-capture img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#f1f8f5}.photo-capture>div{display:grid;justify-items:center;gap:6px;padding:24px;color:var(--muted)}.photo-capture svg{width:48px;height:48px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.photo-capture strong{color:var(--ink)}.photo-capture span,.photo-status{font-size:12px;color:var(--muted)}.photo-status{line-height:1.45;margin:12px 2px}.photo-status.error{color:#a23b36;font-weight:700}.photo-warning-list{display:grid;gap:6px;margin:12px 0}.photo-warning{border-radius:12px;background:#fff3d9;color:#73551c;padding:9px 11px;font-size:11px;line-height:1.4}.photo-item-list{display:grid;gap:9px;margin:13px 0}.photo-item{border:1px solid var(--line);border-radius:15px;padding:11px}.photo-item-head{display:grid;grid-template-columns:minmax(0,1fr) 84px 38px;gap:7px;align-items:center}.photo-item-head input,.photo-product-choice{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px}.photo-product-choice{background:#fff;color:var(--ink);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-product-choice:hover,.photo-product-choice:focus-visible{border-color:var(--green2);outline:2px solid #dff5ed}.photo-grams{position:relative}.photo-grams input{padding-right:24px}.photo-grams span{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted);pointer-events:none}.photo-remove{width:38px;height:38px;border:0;border-radius:10px;background:#f5eeeb;color:#93463f;font-size:20px}.photo-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;color:var(--muted);font-size:10px}.photo-item-meta span:first-child{min-width:0}.photo-assumption{margin:7px 0 0;font-size:11px;color:#73551c}.photo-match-button{border:0;background:none;color:var(--green);font-size:10px;font-weight:800;padding:2px 0}.photo-badge{display:inline-flex;border-radius:999px;padding:3px 7px;background:#fff3d9;color:#73551c;font-weight:800;margin-right:5px}.quota-note{display:block;margin-top:8px;color:var(--muted);font-size:11px}.quota-note.limit{color:#a23b36;font-weight:700}@media(max-width:520px){.photo-capture{height:190px}.photo-item-head{grid-template-columns:minmax(0,1fr) 76px 36px}}
    .voice-choice{position:relative}.voice-choice em{position:absolute;right:9px;top:9px;border-radius:999px;padding:4px 7px;background:#eadcff;color:#704b91;font-size:9px;font-style:normal;font-weight:850}.voice-recorder{display:grid;justify-items:center;gap:8px;padding:22px 15px;border-radius:20px;background:linear-gradient(145deg,#eef8f4,#fff);text-align:center}.voice-pulse{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green)}.voice-pulse svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.voice-recorder.recording .voice-pulse{background:#dff5ed;animation:voicePulse 1.4s ease-in-out infinite}.voice-recorder.recording .voice-pulse svg{color:#a23b36}.voice-recorder>span{color:var(--muted);font-size:12px}.voice-recorder button{margin-top:5px}.voice-status{margin:12px 2px;color:var(--muted);font-size:12px;line-height:1.45}.voice-status.error{color:#a23b36;font-weight:700}.voice-transcript{margin:12px 0;padding:10px 12px;border-radius:12px;background:#f1f6f4;font-size:11px;font-style:italic}.voice-item-list{display:grid;gap:9px;margin:12px 0}.voice-item{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:15px}.voice-item-main{display:grid;grid-template-columns:minmax(0,1fr) 76px 105px 38px;gap:6px;align-items:center}.voice-item input,.voice-item select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.voice-item small{color:var(--muted);font-size:10px}@keyframes voicePulse{50%{box-shadow:0 0 0 12px rgba(34,164,127,.12);transform:scale(1.04)}}@media(max-width:520px){.voice-item-main{grid-template-columns:minmax(0,1fr) 70px 36px}.voice-item-main select{grid-column:1/3;grid-row:2}.voice-item-main .photo-remove{grid-column:3;grid-row:1}}
    @media(min-width:800px){.app{padding-bottom:30px}.topbar{padding:0 34px}main{padding:30px 34px}.dashboard-layout{grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);align-items:start}.side-stack{display:grid;gap:14px}nav{left:50%;right:auto;transform:translateX(-50%);bottom:18px;border:1px solid var(--line);border-radius:20px;padding:6px;width:420px;box-shadow:var(--shadow)}.nav-btn span{font-size:16px}.form-grid.profile{grid-template-columns:1fr 1fr}.profile .span2{grid-column:span 2}.content-narrow{max-width:760px;margin:auto}.recipe-columns{grid-template-columns:.8fr 1.2fr}}

    .recommendation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.recommendation-heading h1{margin-bottom:5px}.refresh-recommendations{white-space:nowrap;margin-top:5px}.suggestion-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 6px;margin-inline:-2px}.suggestion-card{--meal-accent:var(--orange);--meal-tint:#fff8ee;position:relative;display:flex;flex:0 0 min(78vw,300px);flex-direction:column;scroll-snap-align:start;cursor:pointer;padding:14px 14px 13px;border-left:4px solid var(--meal-accent);border-color:color-mix(in srgb,var(--meal-accent) 28%,transparent);border-left-color:var(--meal-accent);background:var(--meal-tint);border-radius:18px}.suggestion-card:hover{border-color:var(--meal-accent)}.suggestion-card:focus-visible{outline:3px solid color-mix(in srgb,var(--meal-accent) 30%,transparent);outline-offset:2px}.suggestion-card .advice-label{min-height:32px;padding-right:88px;color:var(--meal-accent);align-items:center}.suggestion-card h3{margin:1px 0 4px;font-size:17px;line-height:1.25}.suggestion-card p{margin:0;font-size:12px;line-height:1.4}.suggestion-card .chips{margin-top:8px;gap:5px}.suggestion-card .chip{padding:5px 8px;background:rgba(255,255,255,.72)}.suggestion-breakfast{--meal-accent:#b76d16;--meal-tint:#fff7e5}.suggestion-lunch{--meal-accent:#287e60;--meal-tint:#edf8f3}.suggestion-dinner{--meal-accent:#4d6fae;--meal-tint:#f0f4fb}.suggestion-snack{--meal-accent:#8a5a9b;--meal-tint:#f8f1fa}.recommendation-card-actions{position:absolute;right:11px;top:11px;display:flex;gap:6px;z-index:1}.recommendation-icon{width:32px;height:32px;border:1px solid color-mix(in srgb,var(--meal-accent) 25%,var(--line));border-radius:50%;background:rgba(255,255,255,.82);color:var(--meal-accent);display:grid;place-items:center;font-size:20px;font-weight:800;line-height:1;cursor:pointer}.recommendation-icon:hover{background:#fff;border-color:var(--meal-accent)}.recommendation-icon.dislike{font-size:14px;color:var(--meal-accent)}.hidden-recipes-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.hidden-recipes-card h2{font-size:17px;margin:0 0 4px}.hidden-recipes-card p{margin:0;color:var(--muted)}.hidden-recipes-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0}.hidden-recipes-page-head p{margin:0;color:var(--muted);font-size:13px}.hidden-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.hidden-recipe-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(24,57,49,.06);cursor:pointer;transition:transform .15s,box-shadow .15s}.hidden-recipe-card:hover,.hidden-recipe-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,57,49,.12);outline:2px solid var(--green2);outline-offset:2px}.hidden-recipe-image{aspect-ratio:4/3;background:var(--mint);overflow:hidden}.hidden-recipe-image img{width:100%;height:100%;object-fit:cover;display:block}.hidden-recipe-image-placeholder{height:100%;display:grid;place-items:center;font-size:42px;color:var(--green)}.hidden-recipe-card-body{padding:12px}.hidden-recipe-card-body small{display:block;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hidden-recipe-card-body h2{font-size:16px;line-height:1.22;margin:5px 0 12px}.hidden-recipe-card-body .secondary{width:100%}.hidden-recipes-empty{padding:28px 18px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#fff}#dashboardRecommendationWrap{margin-top:18px}#dashboardRecommendationCard .suggestion-card{box-shadow:0 12px 32px rgba(23,108,87,.1);width:100%;max-width:none}.recipe-dialog-image{display:block;width:min(100%,240px);aspect-ratio:1/1;height:auto;border-radius:16px;margin:0 auto 15px;background-color:var(--mint);background-repeat:no-repeat}
    @media(min-width:700px){.suggestion-card{flex-basis:285px}}
    @media(max-width:560px){.recommendation-heading{display:block}.refresh-recommendations{width:100%;margin-top:8px}.hidden-recipes-card{display:block}.hidden-recipes-card button{width:100%;margin-top:12px}#nutrition .section-title{margin-top:18px;margin-bottom:8px}.suggestion-card{padding:12px 12px 11px}.suggestion-card .advice-label{min-height:30px;padding-right:82px}.recommendation-card-actions{right:9px;top:9px}.recommendation-icon{width:30px;height:30px}.suggestion-card h3{font-size:16px}.suggestion-card p{line-height:1.35}.suggestion-card .chips{margin-top:7px}}
    @media(max-width:799px){.app{padding-bottom:calc(106px + var(--browser-bottom))}nav{bottom:var(--browser-bottom);padding-bottom:max(8px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);transform:translateZ(0)}}
    @media(max-width:799px){.ios-safari-browser .app{padding-bottom:106px}.ios-safari-browser nav{bottom:0;padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -1px 12px rgba(23,48,43,.04)}}
    .activity-card-meta{display:block;color:var(--green);font-size:13px}.activity-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.activity-target-card{border-left:4px solid var(--green2);background:linear-gradient(155deg,#eef8f4,#fff)}.activity-target-card p{margin:6px 0 0;font-size:12px}.activity-preview{display:grid;gap:4px;background:var(--mint);border-radius:14px;padding:13px}.activity-preview strong{font-size:14px}.activity-preview span{color:var(--muted);font-size:12px;line-height:1.45}.activity-list{display:grid;gap:9px}.activity-row{display:grid;grid-template-columns:42px minmax(0,1fr) 38px;gap:11px;align-items:center;background:#fff;border:1px solid rgba(20,74,61,.08);border-radius:18px;padding:13px 12px;box-shadow:0 6px 20px rgba(24,57,49,.045)}.activity-icon{width:42px;height:42px;border-radius:14px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:20px;font-weight:800}.activity-row b,.activity-row small{display:block}.activity-row small{color:var(--muted);font-size:11px;line-height:1.5}.activity-remove{font-size:23px}.activity-empty{padding:28px 18px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:18px}.activity-summary .stat{padding:11px 7px}.activity-summary .stat strong{font-size:16px}.activity-summary .stat small{font-size:10px}
    @media(max-width:520px){.activity-summary{grid-template-columns:1fr 1fr}.nav-btn{font-size:10px;padding-inline:2px}.nav-btn span{font-size:17px}}
    .source-details{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:11px 13px}.source-details summary{font-weight:750;color:var(--green);cursor:pointer}.source-details ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.55}
    #recipeDialog{width:min(calc(100vw - 24px),680px)}.recipe-overview{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px}.recipe-visual,.recipe-details{min-width:0}.recipe-dialog-image{width:100%;margin:0;aspect-ratio:1/1}.recipe-image-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:9px 0 0}.recipe-image-meta .chip{padding:6px 4px;text-align:center;white-space:nowrap}.recipe-portions .portion-control{display:grid;grid-template-columns:44px minmax(64px,82px) 44px;justify-content:start;margin:9px 0 18px}.recipe-portions .portion-control strong{min-width:0}.recipe-overview h3,.recipe-preparation h3{font-size:14px;margin:0 0 9px}.recipe-ingredients ul,.recipe-preparation ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.65}.recipe-ingredients li+li,.recipe-preparation li+li{margin-top:4px}.recipe-divider{border:0;border-top:1px solid var(--line);margin:24px 0 20px}.recipe-preparation{width:100%}
    @media(max-width:520px){#recipeDialog .dialog-body{padding:18px}.recipe-overview{grid-template-columns:126px minmax(0,1fr);gap:14px}.recipe-image-meta{grid-template-columns:1fr;gap:4px;margin-top:7px}.recipe-image-meta .chip{padding:5px 7px}.recipe-portions .portion-control{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;margin-bottom:16px}.recipe-portions .portion-control strong{font-size:12px}.recipe-divider{margin:22px 0 18px}}
    @media(max-width:350px){#recipeDialog .dialog-body{padding:14px}.recipe-overview{grid-template-columns:108px minmax(0,1fr);gap:10px}.recipe-image-meta .chip{padding:4px;font-size:10px}}
    .suggestion-grid{align-items:stretch}.suggestion-card{align-self:stretch}.suggestion-card .chips{margin-top:auto;padding-top:10px}@media(max-width:560px){.suggestion-card .chips{margin-top:auto;padding-top:7px}}
    .recipe-dialog-image{display:block;object-fit:contain;background:var(--mint)}

/* Recepten lezen als afzonderlijke kookhandelingen met een praktische tip. */
#recipeDialog .recipe-dialog-intro{margin:8px 0 20px;font-size:15px;line-height:1.6;color:var(--ink)}
#recipeDialog .recipe-preparation ol{list-style:none;counter-reset:recipe-step;padding:0;margin:14px 0 0}
#recipeDialog .recipe-preparation li{position:relative;counter-increment:recipe-step;padding:0 0 0 43px;margin:0 0 17px;min-height:29px;line-height:1.55;color:var(--ink)}
#recipeDialog .recipe-preparation li::before{content:counter(recipe-step);position:absolute;top:0;left:0;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#edf5f1;color:var(--green);font-size:12px;font-weight:800}
    #dashboardRecommendationCard .dashboard-suggestion{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:14px;align-items:start}#dashboardRecommendationCard .dashboard-suggestion>.advice-label,#dashboardRecommendationCard .dashboard-suggestion>h3,#dashboardRecommendationCard .dashboard-suggestion>p,#dashboardRecommendationCard .dashboard-suggestion>.chips{grid-column:2}#dashboardRecommendationCard .dashboard-suggestion>.advice-label{grid-row:1}#dashboardRecommendationCard .dashboard-suggestion>h3{grid-row:2}#dashboardRecommendationCard .dashboard-suggestion>p{grid-row:3}#dashboardRecommendationCard .dashboard-suggestion>.chips{grid-row:4}.dashboard-recipe-thumb{display:block;grid-column:1;grid-row:1/5;width:104px;aspect-ratio:1/1;align-self:center;overflow:hidden;border-radius:13px;background-color:rgba(255,255,255,.72);object-fit:cover}.recommendation-reason{color:var(--muted);font-weight:650}@media(max-width:520px){#dashboardRecommendationCard .dashboard-suggestion{grid-template-columns:84px minmax(0,1fr);column-gap:11px}.dashboard-recipe-thumb{width:84px;border-radius:11px}#dashboardRecommendationCard .dashboard-suggestion>.advice-label{padding-right:38px}#dashboardRecommendationCard .dashboard-suggestion>.recommendation-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.3}}
    @media(max-width:600px){.favorite-item.recent-item{grid-template-columns:minmax(0,1fr) auto}.favorite-item.recent-item>div{grid-column:auto}}
    .photo-capture.has-photo{height:auto;min-height:0;max-height:55svh;aspect-ratio:var(--photo-aspect)}
    .recurrence-badge{color:var(--green);font-weight:750}.planning-actions{flex-wrap:wrap}
    .meal-improvement-panel{margin-top:28px;padding:22px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(21,51,44,.07)}.meal-improvement-panel .meal-improvement-title{margin:0}.meal-improvement-title{align-items:flex-start}.meal-improvement-status{margin:14px 0 0;padding:13px 15px;border-radius:14px;background:#f3f8f6;color:var(--muted)}.meal-improvement-status:empty{display:none}.meal-improvement-list:not(:empty){margin-top:14px}.meal-improvement-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.meal-improvement-list{display:grid;gap:8px}.meal-improvement-card{padding:0;border-left:3px solid #7f5aa2;background:linear-gradient(150deg,#faf6ff,#fff);overflow:hidden}.meal-improvement-card>summary{display:block;padding:13px 15px;cursor:pointer;list-style:none}.meal-improvement-card>summary::-webkit-details-marker{display:none}.meal-improvement-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-improvement-head small,.improvement-source{color:var(--muted)}.meal-improvement-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.meal-improvement-card h3{font-size:14px;line-height:1.3;margin:9px 0 6px}.meal-improvement-chevron{color:#7f5aa2;font-size:20px;font-weight:850;transition:transform .18s}.meal-improvement-card[open] .meal-improvement-chevron{transform:rotate(180deg)}.meal-improvement-benefits{display:flex;gap:6px;flex-wrap:wrap}.meal-improvement-benefits span{padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #dfd4e8;color:#65477e;font-size:9px;font-weight:800}.meal-improvement-details{padding:0 15px 14px;border-top:1px solid rgba(127,90,162,.13)}.meal-improvement-card p{margin:11px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.improvement-deltas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:11px 0 8px}.improvement-deltas span{padding:7px 5px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:8px;color:var(--muted);text-align:center}.improvement-deltas b{display:block;color:var(--ink);font-size:11px}.improvement-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:11px}.improvement-actions button{min-height:35px;padding-top:8px;padding-bottom:8px}.improvement-source{display:block;font-size:9px}.meal-improvement-list:empty{display:none}
    .meal-improvement-progress-dialog{width:min(calc(100vw - 28px),460px);border:0;border-radius:24px;padding:0;overflow:hidden;box-shadow:0 24px 80px rgba(21,51,44,.28)}.meal-improvement-progress-dialog::backdrop{background:rgba(15,39,33,.42);backdrop-filter:blur(3px)}.meal-improvement-progress-card{padding:30px 28px 26px;text-align:center;background:linear-gradient(155deg,#fff,#f3faf7)}.meal-improvement-progress-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:19px;background:#e4f5ef;color:var(--green);font-size:27px;font-weight:900}.meal-improvement-progress-card h2{margin:0 auto 9px;max-width:360px;font-size:21px;line-height:1.22}.meal-improvement-progress-card p{min-height:20px;margin:0 0 18px;color:var(--muted);font-size:12px}.meal-improvement-progress-track{height:10px;border-radius:999px;background:#dce9e4;overflow:hidden}.meal-improvement-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#66bea5);transition:width .32s ease}.meal-improvement-progress-card small{display:block;margin-top:12px;color:var(--muted);font-size:9px;line-height:1.45}.meal-improvement-progress-dialog.complete .meal-improvement-progress-icon{background:#dff4ec}.meal-improvement-progress-dialog.error .meal-improvement-progress-icon{background:#f8e7e7;color:#9b4545}.meal-improvement-progress-dialog.error .meal-improvement-progress-track span{background:#b85b5b}
    @media(max-width:520px){.meal-improvement-panel{padding:17px}.meal-improvement-title{display:block}.meal-improvement-controls{justify-content:flex-start;margin-top:8px}.meal-improvement-card>summary{padding:12px}.meal-improvement-details{padding:0 12px 12px}.improvement-deltas{grid-template-columns:repeat(3,minmax(0,1fr))}.improvement-actions .primary,.improvement-actions .secondary{flex:1}.improvement-actions .link{width:100%;text-align:left;padding-left:0}.meal-improvement-progress-card{padding:26px 20px 22px}.meal-improvement-progress-card h2{font-size:19px}}
    .planning-type-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(430px,100%);margin:0 auto 14px;padding:5px;border-radius:18px;background:#dff4ec;box-shadow:0 12px 30px rgba(20,74,61,.13);isolation:isolate}.planning-type-switch:before{content:"";position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,74,61,.14);transition:transform .32s cubic-bezier(.34,1.56,.64,1),background .25s}.planning-type-switch[data-type="workout"]{background:#e7effd}.planning-type-switch[data-type="workout"]:before{transform:translateX(100%)}.planning-type-switch button{border:0;background:transparent;padding:13px 16px;color:#527169;font-weight:800;transition:color .22s,transform .18s}.planning-type-switch button:active{transform:scale(.96)}.planning-type-switch button.active{color:var(--green)}.planning-type-switch[data-type="workout"] button.active{color:#315f9e}.planning-form-card{padding:16px;gap:11px}.planning-form-card .field input,.planning-form-card .field select{padding:10px 12px}.planning-when-grid,.planning-repeat-grid{align-items:start}.planning-end-date{margin-top:8px}.planning-series-row{border-left:4px solid var(--green2)}.planning-series-row.workout{border-left-color:#5f8dc9}.planning-series-row .planning-icon.workout{background:#e7effd;color:#315f9e}.planned-meal{opacity:.88;border:1px dashed var(--green2);border-radius:13px;padding:10px!important;margin:5px 0;background:#f4fbf8}.planned-meal .meal-kcal{color:var(--green)}.planned-label{display:inline-flex;margin-right:5px;color:var(--green);font-weight:800}.planned-activity{border-style:dashed;background:#f5f8fd}
    .planning-teaser{background:linear-gradient(150deg,#eef8f4,#fff)}.planning-teaser p{margin:0;color:var(--muted);line-height:1.5}.premium-chip{background:#f2e9ff;color:#6e4692}.premium-chip.active{background:#dff4ec;color:var(--green)}.planning-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.planning-heading h1{margin-bottom:5px}.planning-back{margin:4px 0 10px}.planning-status{min-height:20px;margin:0 0 8px;color:var(--muted);font-size:12px}.premium-lock{text-align:center;background:linear-gradient(155deg,#f7f1ff,#fff)}.premium-lock-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:18px;background:#eadcff;color:#714c91;display:grid;place-items:center;font-size:22px}.premium-lock h2{margin:0 0 7px}.premium-lock p{margin:0 0 18px;color:var(--muted);line-height:1.55}.planning-list{display:grid;gap:9px}.planning-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;background:#fff;border:1px solid rgba(20,74,61,.08);border-radius:18px;padding:13px 12px;box-shadow:0 6px 20px rgba(24,57,49,.045)}.planning-icon{width:42px;height:42px;border-radius:14px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:20px;font-weight:800}.planning-row b,.planning-row small{display:block}.planning-row small{color:var(--muted);font-size:11px;line-height:1.5}.planning-actions{display:flex;gap:8px;align-items:center}.planning-actions .link{font-size:11px}@media(max-width:560px){.planning-heading{display:block}.planning-heading .premium-chip{display:inline-flex;margin-top:4px}.planning-row{grid-template-columns:38px minmax(0,1fr)}.planning-icon{width:38px;height:38px}.planning-actions{grid-column:2;justify-content:flex-start}}
    .premium-analysis-title{align-items:center}.thirty-day-card h3,.micro-trend-list h3{margin:0}.thirty-day-card .card-head small{display:block;color:var(--muted);margin-top:3px}.longitudinal-nutrient-detail{margin:10px 0 12px;padding:9px 10px;border-radius:10px;background:#faf6ff;color:#5d4b69;font-size:11px;line-height:1.45}.micro-trend-list{display:grid}.micro-trend-row{padding:12px 0;border-top:1px solid var(--line)}.micro-trend-row:first-child{border-top:0}.micro-trend-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.micro-trend-head span,.micro-trend-head small{display:block}.micro-trend-head small{color:var(--muted);margin-top:2px}.micro-trend-head strong{font-size:12px;text-align:right}.micro-trend-row .track{margin-top:8px}.micro-trend-row .track i.attention{background:#a85d8e}.micro-trend-row .track i.unknown{background:#b9c5c0}.micro-trend-status{font-size:10px;font-weight:800;color:var(--muted)}.micro-trend-status.attention{color:#7b4b9c}.micro-trend-status.good{color:var(--green)}@media(max-width:520px){.premium-analysis-title{display:flex}.longitudinal-alert{grid-template-columns:1fr}.longitudinal-alert strong{text-align:left}.micro-trend-head{grid-template-columns:1fr}.micro-trend-head strong{text-align:left}}
    .search-smart-swap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #cdb8e2;border-left:4px solid #7f5aa2;border-radius:14px;padding:11px;background:linear-gradient(145deg,#f8f1ff,#fff)}.search-smart-swap>div{display:grid;gap:3px;min-width:0}.search-smart-swap .chip{justify-self:start;padding:4px 7px;background:#eadcff;color:#6e4692}.search-smart-swap b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-smart-swap small{color:var(--muted);font-size:10px;line-height:1.4}.smart-swap-action{border:0;border-radius:12px;padding:10px 12px;background:#7f5aa2;color:#fff;font-weight:800;white-space:nowrap}.next-time-suggestion{position:fixed;left:50%;bottom:96px;z-index:39;width:min(calc(100vw - 24px),520px);transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #cdb8e2;border-left:4px solid #7f5aa2;border-radius:18px;padding:13px 14px;box-shadow:0 18px 50px rgba(36,25,45,.2)}.next-time-suggestion>div:first-child{display:grid;gap:3px}.next-time-suggestion .chip{justify-self:start;padding:4px 7px;background:#eadcff;color:#6e4692}.next-time-suggestion b{font-size:14px}.next-time-suggestion small{color:var(--muted);font-size:11px;line-height:1.4}.next-time-actions{display:flex;gap:7px}.next-time-actions button{padding:9px 11px;font-size:11px}@media(max-width:760px){#searchDialog .search-results,#searchDialog .search-result{min-width:0;max-width:100%}#searchDialog .search-result{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:8px}#searchDialog .search-result>strong{min-width:0;text-align:right;font-size:11px;line-height:1.1;white-space:nowrap}#searchDialog .search-result>strong small{display:block;font-size:9px;line-height:1.15}#searchDialog .search-smart-swap{grid-template-columns:1fr;align-items:start}#searchDialog .smart-swap-action{width:100%;padding:9px 11px}}@media(max-width:520px){dialog{inline-size:calc(100dvw - 24px);width:calc(100dvw - 24px);min-width:0;margin:auto}.dialog-body{padding:18px;min-width:0}#addOptionsDialog .dialog-head{margin-bottom:12px}#addOptionsDialog .add-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#addOptionsDialog .add-choice button{min-height:122px;padding:11px 7px}#addOptionsDialog .add-choice strong{margin:7px 0 3px;font-size:14px;line-height:1.15}#addOptionsDialog .add-choice span:not(.choice-icon){font-size:10px;line-height:1.25}#addOptionsDialog .add-choice .choice-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px}#addOptionsDialog .add-choice .choice-icon svg{width:28px;height:28px}.next-time-suggestion{bottom:92px;grid-template-columns:1fr}.next-time-actions button{flex:1}}

    .insight-nutrient-toggle>strong,.micro-row>strong{color:var(--ink)!important}.nutrient-name{min-width:0;color:var(--ink);font-weight:650}.premium-nutrient-alert{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#7b4b9c;color:#fff;font-size:11px;font-weight:900;line-height:1;vertical-align:1px}.longitudinal-nutrient-detail{border-left:3px solid #7b4b9c;background:#faf6ff;color:#4f3f5b}.longitudinal-nutrient-detail p{margin:0}

    .thirty-day-controls{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px;align-items:end;margin:13px 0 12px}.thirty-day-toolbar{display:grid;grid-template-columns:auto minmax(150px,1fr);gap:9px;align-items:center}.thirty-day-toolbar label{font-size:12px;font-weight:800;color:var(--ink)}.thirty-day-toolbar select{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:9px 32px 9px 10px;font:inherit;font-weight:750}.thirty-day-chart-stats{display:flex;justify-content:flex-end;align-items:stretch}.thirty-day-chart-stats>div{display:grid;gap:1px;align-content:center;padding:0 13px;border-left:1px solid var(--line)}.thirty-day-chart-stats>div:first-child{border-left:0}.thirty-day-chart-stats strong{font-size:15px;white-space:nowrap}.thirty-day-chart-stats small{color:var(--muted);font-size:9px;white-space:nowrap}.thirty-day-svg-wrap{display:grid;grid-template-columns:minmax(580px,1fr);direction:ltr;overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdfc);padding:6px}.thirty-day-svg{grid-area:1/1;display:block;width:100%;min-width:580px;height:auto}.thirty-day-grid line{stroke:#e5eeea;stroke-width:1}.thirty-day-y-axis text,.thirty-day-x-label{fill:#73847e;font-size:10px}.thirty-day-target-line{stroke:#7f5aa2;stroke-width:1.5;stroke-dasharray:6 5}.thirty-day-target-label{fill:#7f5aa2;font-size:10px;font-weight:800}.thirty-day-line{fill:none;stroke:#176c57;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.thirty-day-point{fill:#fff;stroke:#176c57;stroke-width:3;cursor:pointer;transition:r .15s,fill .15s}.thirty-day-point:hover,.thirty-day-point:focus,.thirty-day-point.selected{fill:#176c57;stroke:#176c57;outline:none}.thirty-day-point.today,.thirty-day-point.today:hover,.thirty-day-point.today:focus,.thirty-day-point.today.selected{fill:url(#thirtyDayTodayHatch);stroke:#176c57;stroke-width:3.5}.thirty-day-today-note{color:#176c57;font-weight:750}.thirty-day-tooltip rect{fill:#173f35;stroke:#176c57;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(18,48,41,.2))}.thirty-day-tooltip-date{fill:#c9ede2;font-size:10px;font-weight:800}.thirty-day-tooltip-value{fill:#fff;font-size:16px;font-weight:900}.thirty-day-tooltip-percent{fill:#9ce1ce;font-size:15px;font-weight:900}.thirty-day-chart-note{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.35}.thirty-day-chart-empty{padding:28px 16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
    @media(max-width:680px){.thirty-day-svg-wrap{direction:ltr}.thirty-day-svg{direction:ltr}.thirty-day-controls{grid-template-columns:1fr;gap:10px}.thirty-day-chart-stats{justify-content:space-between}.thirty-day-chart-stats>div{padding:0 9px}}@media(max-width:420px){.thirty-day-toolbar{grid-template-columns:1fr}.thirty-day-chart-stats>div{padding:0 7px}.thirty-day-chart-stats strong{font-size:13px}.thirty-day-chart-stats small{font-size:8px}}

    /* Abonnements-preview: inhoud en prijskeuzes, zonder actieve betaalflow. */
    .subscription-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.preview-chip{background:#f0e9f8;color:#704b91}.billing-switch{width:max-content;display:flex;gap:4px;margin:2px auto 20px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff}.billing-switch button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:9px 16px;font-weight:800}.billing-switch button.active{background:var(--green);color:#fff}.billing-switch small{font-size:9px;color:inherit}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:stretch}.plan-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(24,57,49,.05)}.premium-plan{border-color:#d8c7e7}.together-plan{border:2px solid #7b4b9c;background:linear-gradient(180deg,#fdfaff,#fff 35%)}.plan-ribbon{position:absolute;right:16px;top:-11px;padding:5px 10px;border-radius:999px;background:#7b4b9c;color:#fff;font-size:9px;font-weight:850;letter-spacing:.02em}.plan-name{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.plan-name h2{margin-top:3px}.plan-kicker{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.together-chip{background:#7b4b9c;color:#fff}.plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 7px;margin:19px 0 14px}.plan-price strong{font-size:28px;letter-spacing:-.04em}.plan-price span{font-size:11px;color:var(--muted)}.plan-price small{flex-basis:100%;color:var(--green);font-size:10px;font-weight:750}.feature-list{display:grid;gap:9px;margin:0 0 20px;padding:0;list-style:none;color:var(--ink);font-size:12px;line-height:1.35}.feature-list li{position:relative;padding-left:19px}.feature-list li:before{content:'✓';position:absolute;left:0;color:var(--green2);font-weight:900}.plan-card>button{margin-top:auto}.plan-card button:disabled{cursor:not-allowed;opacity:.62}.shared-meal-preview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;margin-top:20px;padding:23px;background:linear-gradient(135deg,#eef8f5,#fff)}.shared-meal-copy p{margin:9px 0 14px}.shared-rules{display:flex;flex-wrap:wrap;gap:7px}.shared-rules span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:10px;font-weight:750}.shared-meal-example{border:1px solid #d7c5e7;border-radius:17px;background:#fff;padding:15px}.meal-example-head{display:grid;grid-template-columns:1fr auto;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.meal-example-head small,.meal-example-head strong{display:block}.meal-example-head small{color:#7b4b9c;font-size:9px;font-weight:850;text-transform:uppercase}.meal-example-head strong{margin-top:3px;font-size:12px}.meal-example-head>span{font-size:30px}.portion-row{display:flex;justify-content:space-between;gap:12px;padding:8px 1px;border-bottom:1px solid #edf1ef;font-size:11px}.example-note,.preview-disclaimer{display:block;margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.sharing-preview{padding-top:5px;padding-bottom:5px}.sharing-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.sharing-row:last-of-type{border-bottom:0}.sharing-row b,.sharing-row small{display:block}.sharing-row b{font-size:12px}.sharing-row small{margin-top:2px;color:var(--muted);font-size:10px}.preview-toggle{position:relative;width:36px;min-width:36px;height:21px;border-radius:999px;background:#cdd7d3}.preview-toggle:after{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}.preview-toggle.on{background:#7b4b9c}.preview-toggle.on:after{left:18px}.placeholder-list{padding-top:5px;padding-bottom:5px}.placeholder-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:48px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:750}.placeholder-list>div:last-child{border-bottom:0}.placeholder-list small{padding:5px 8px;border-radius:999px;background:#eef3f1;color:var(--muted);font-size:9px;white-space:nowrap}.settings-screen .placeholder-list{max-width:720px}
    .plan-card{border-width:2px}.plan-name{min-height:68px}.plan-name>div{min-width:0}.plan-kicker{min-height:28px}.plan-name h2{white-space:nowrap}.plan-price{min-height:70px}.feature-list{border-top:1px solid transparent;padding-top:1px}
    @media(max-width:860px){.plan-grid{grid-template-columns:1fr}.plan-card{min-height:0}.plan-name,.plan-price,.plan-kicker{min-height:0}.shared-meal-preview{grid-template-columns:1fr}.plan-ribbon{top:12px}}@media(max-width:520px){.subscription-heading{display:block}.subscription-heading>.chip{margin-bottom:14px}.billing-switch{width:100%}.billing-switch button{flex:1;padding:9px 8px}.shared-meal-preview{padding:17px}.sharing-row{align-items:flex-start}.sharing-row small{max-width:230px}.placeholder-list>div{align-items:flex-start;flex-direction:column;gap:5px}.placeholder-list small{align-self:flex-start}}
    .settings-disclosure{padding:0;overflow:hidden}.settings-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure>summary:after{content:'›';order:3;color:var(--green);font-size:24px;font-weight:700;line-height:1;transform:rotate(90deg);transition:transform .18s}.settings-disclosure[open]>summary:after{transform:rotate(-90deg)}.settings-disclosure>summary b,.settings-disclosure>summary small{display:block}.settings-disclosure>summary b{font-size:14px}.settings-disclosure>summary small{margin-top:3px;color:var(--muted);font-size:11px;font-weight:400}.settings-disclosure-body{display:grid;gap:18px;padding:0 18px 18px;border-top:1px solid var(--line)}.dashboard-nutrient-settings fieldset{min-width:0;margin:18px 0 0;padding:0;border:0}.dashboard-nutrient-settings fieldset+fieldset{padding-top:16px;border-top:1px solid var(--line)}.dashboard-nutrient-settings legend{margin-bottom:10px;font-size:12px;font-weight:850;color:var(--ink)}.dashboard-nutrient-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-nutrient-options label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.dashboard-nutrient-options label:has(input:checked){border-color:#8ecab8;background:#eef8f4}.dashboard-nutrient-options input{width:17px;height:17px;margin:0;accent-color:var(--green)}.dashboard-nutrient-options span{font-size:12px;font-weight:750}.dashboard-nutrient-options small{color:var(--muted);font-size:9px}.settings-help{margin:0;color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:620px){.settings-disclosure>summary{padding:14px}.settings-disclosure-body{padding:0 14px 14px}.dashboard-nutrient-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-nutrient-options label{padding:8px 9px}}


/* Eenmalige melding na handmatig toegekende Premium-toegang */
.premium-grant-dialog{width:min(calc(100vw - 24px),440px);overflow:visible;background:linear-gradient(155deg,#fff 0%,#f0faf6 100%)}
.premium-grant-dialog .premium-grant-card{position:relative;padding:34px 30px 30px;text-align:center;overflow:visible}
.premium-grant-close{position:absolute;right:14px;top:14px;z-index:3}
.premium-grant-icon{width:72px;height:72px;margin:2px auto 18px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),var(--green2));color:#fff;font-size:36px;box-shadow:0 16px 32px rgba(23,108,87,.24);transform:rotate(-4deg)}
.premium-grant-card .eyebrow{margin-bottom:8px}
.premium-grant-card h2{font-size:28px}
.premium-grant-card>p{margin:10px auto 20px;max-width:330px}
.premium-grant-until{display:grid;gap:4px;margin:0 0 20px;padding:14px;border:1px solid #bfe4d8;border-radius:16px;background:#fff}
.premium-grant-until span{color:var(--muted);font-size:12px}
.premium-grant-until strong{color:var(--green);font-size:17px}
@media(max-width:520px){.premium-grant-dialog .premium-grant-card{padding:30px 20px 22px}.premium-grant-card h2{font-size:25px}}


/* Premium weekrapport */
.weekly-report-panel{margin-top:28px;padding:24px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(21,51,44,.08)}
.weekly-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.weekly-report-head h2{margin:4px 0 5px}.weekly-report-head p{margin:0;color:var(--muted)}
.weekly-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.weekly-report-status{margin:16px 0 0}.weekly-report-status:empty{display:none}
.weekly-report-progress{display:grid;gap:8px;margin-top:12px;color:#28705d;font-size:14px;font-weight:700}.weekly-report-progress[hidden]{display:none}.weekly-report-progress progress{width:100%;height:12px;accent-color:#28705d}
.weekly-report-lock{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:17px 18px;border-radius:16px;background:linear-gradient(135deg,#edf8f4,#faf6ff);border:1px solid #dbe9e4}
.weekly-report-lock span{color:var(--muted);font-size:12px}
.weekly-report-consent{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:14px;background:#f5faf8;border:1px solid var(--line);cursor:pointer}
.weekly-report-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}
.weekly-report-consent span,.weekly-report-consent small{display:block}.weekly-report-consent small{margin-top:3px;color:var(--muted);line-height:1.45}
.weekly-report-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.weekly-report-period span,.weekly-report-period small{display:block}.weekly-report-period>div>span{font-weight:850;font-size:17px}.weekly-report-period small{margin-top:3px;color:var(--muted)}
.weekly-report-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}
.weekly-metric{padding:12px;border-radius:14px;background:#f6f9f7;border:1px solid var(--line)}
.weekly-metric small,.weekly-metric strong,.weekly-metric span{display:block}.weekly-metric small{color:var(--muted);font-weight:750}.weekly-metric strong{margin:5px 0 3px;font-size:15px}.weekly-metric span{font-size:9px;color:var(--muted)}.weekly-metric span.changed{color:#6f4d91;font-weight:800}
.weekly-report-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:12px}
.weekly-chart-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:17px;background:#fbfdfc}
.weekly-chart-card h3{margin:0;font-size:15px}.weekly-chart-card .card-head small{display:block;margin-top:3px;color:var(--muted)}
.weekly-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain}.weekly-energy-svg{display:block;width:100%;min-width:500px;height:auto}
.weekly-grid line{stroke:#dfe9e5;stroke-width:1}.weekly-grid text,.weekly-energy-svg .week-label{fill:#7b8c87;font-size:10px}.weekly-target{stroke:#7f5aa2;stroke-width:2;stroke-dasharray:7 6}
.weekly-lines polyline{fill:none;stroke:#28705d;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.weekly-lines circle{fill:#fff;stroke:#28705d;stroke-width:3}.weekly-energy-svg .week-label{text-anchor:start}
.weekly-macro-bars{display:grid;gap:13px;margin-top:15px}.weekly-bar-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;align-items:end}.weekly-bar-row>strong{font-size:11px;align-self:center}
.weekly-bar-weeks{height:112px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:7px;border-bottom:1px solid var(--line)}
.weekly-bar-weeks div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.weekly-bar-weeks i{display:block;width:62%;max-width:30px;border-radius:7px 7px 2px 2px;background:#bad8cf}.weekly-bar-weeks i.current{background:#28705d}.weekly-bar-weeks b{font-size:9px;margin-top:4px;white-space:nowrap}.weekly-bar-weeks small{font-size:7px;color:var(--muted);white-space:nowrap;margin-bottom:3px}
.weekly-analysis-card{margin-top:13px;padding:18px;border-radius:17px;background:linear-gradient(145deg,#f8f3fc,#fff);border-left:4px solid #7f5aa2}
.weekly-analysis-card h3{margin:10px 0 7px}.weekly-analysis-card p{margin:0;color:#334942;line-height:1.6}.weekly-analysis-card ul{margin:12px 0;padding-left:19px;color:var(--muted)}.weekly-analysis-card li+li{margin-top:6px}.weekly-analysis-card>strong{display:block;margin-top:12px;padding:11px 13px;border-radius:12px;background:#fff;border:1px solid #e4d9eb}
.weekly-recommendations{margin-top:14px;padding-top:17px;border-top:1px solid var(--line)}.weekly-recommendations .section-title{margin:0}.weekly-recommendations h3{margin:0}.weekly-recommendations .meal-improvement-list:not(:empty){margin-top:12px}
.weekly-report-ready{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:18px;padding:18px;border:1px solid #d7e7e1;border-radius:18px;background:linear-gradient(135deg,#f2faf7 0%,#fff 62%,#faf6fd 100%)}
.weekly-report-ready-icon{display:grid;place-items:center;width:54px;height:64px;border-radius:10px 10px 14px 14px;background:#fff;color:#7f5aa2;border:1px solid #dfd3e8;box-shadow:0 8px 20px rgba(64,45,79,.09);font-size:12px;font-weight:900;letter-spacing:.08em}
.weekly-report-ready-copy .eyebrow{color:#28705d}.weekly-report-ready-copy h3{margin:4px 0;font-size:19px}.weekly-report-ready-copy p{margin:0;color:var(--muted)}.weekly-report-ready-copy small{display:block;margin-top:4px;color:var(--muted)}
.weekly-report-ready-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.weekly-report-ready-actions button{white-space:nowrap}
.weekly-report-privacy{margin:9px 3px 0;color:var(--muted);font-size:11px}

@media(max-width:680px){
  .weekly-report-panel{padding:18px}.weekly-report-head{display:block}.weekly-report-actions{justify-content:flex-start;margin-top:12px}
  .weekly-report-actions .secondary{flex:1}.weekly-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-metric:first-child{grid-column:span 2}
  .weekly-report-grid{grid-template-columns:1fr}.weekly-chart-card{padding:13px}.weekly-report-period{align-items:flex-start}
  .weekly-report-period>.chip{font-size:9px}.weekly-energy-svg{min-width:560px}.weekly-analysis-card{padding:15px}
  .weekly-report-ready{grid-template-columns:auto minmax(0,1fr);padding:15px}.weekly-report-ready-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.weekly-report-ready-actions button{width:100%}
}

/* Twee bronverdelingen onder de uitgeklapte macro. */
.nutrient-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.nutrient-panel{min-width:0;padding:15px}
.nutrient-panel+.nutrient-panel{border-left:1px solid var(--line)}
.nutrient-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;font-size:13px}
.nutrient-panel-head strong{white-space:normal;max-width:100%}
.nutrient-panel>p{font-size:12px;color:var(--muted);margin:0 0 12px}
.nutrient-panel .nutrient-chart-layout{grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.nutrient-panel .nutrient-pie{max-width:155px}
.nutrient-panel .nutrient-source span b{overflow-wrap:anywhere}
.nutrient-chart-empty{padding:18px 0;color:var(--muted);font-size:12px}
@media (max-width:700px){.nutrient-split{grid-template-columns:minmax(0,1fr)}.nutrient-panel+.nutrient-panel{border-left:0;border-top:1px solid var(--line)}}

/* Ruimere werkruimte en navigatie voor tablets en desktop. */
@media (min-width:800px) {
  .app { max-width:1440px; }
  .content-narrow { max-width:960px; }
  .topbar { padding-inline:34px; }
  main { padding:30px 34px 60px; }
}
@media (min-width:800px) and (max-width:1099px) {
  .app { padding-bottom:110px; }
}
@media (min-width:1100px) {
  .app { max-width:1600px; padding-left:228px; padding-bottom:48px; }
  .topbar { padding-inline:40px; }
  main { padding:34px 40px 72px; }
  .content-narrow { max-width:1250px; }
  #profile.content-narrow { max-width:960px; }
  nav {
    top:94px;
    bottom:auto;
    left:max(16px,calc((100vw - 1600px)/2 + 16px));
    right:auto;
    transform:none;
    width:196px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
    justify-content:stretch;
  }
  .nav-inner { display:grid; grid-template-columns:1fr; gap:5px; max-width:none; }
  .nav-btn { display:flex; align-items:center; gap:12px; text-align:left; padding:12px 13px; font-size:14px; }
  .nav-btn span { display:inline-block; width:24px; margin:0; font-size:20px; text-align:center; }
  .dashboard-layout { grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr); gap:24px; }
  .desktop-insights-grid,.desktop-activity-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start;
  }
  .desktop-insights-panel,.desktop-activity-grid>div { min-width:0; }
  .desktop-insights-panel { display:flex; flex-direction:column; }
  .desktop-insights-panel>.card { flex:1; }
  .desktop-insights-grid .section-title,.desktop-activity-grid .section-title { margin-top:22px; }
  #insights .thirty-day-card { padding:24px; }
  #nutrition .suggestion-card { flex-basis:300px; }
  dialog { width:min(calc(100vw - 48px),640px); max-width:calc(100vw - 48px); }
  #photoMealDialog,#searchDialog { width:min(calc(100vw - 48px),720px); }
  .toast { bottom:26px; }
}

/* Inzichten: macro's naast de coach op desktop, micronutriënten in twee groepen. */
.desktop-macro-panel { display:none; }
.micro-group { display:grid; gap:14px; align-content:start; min-width:0; }
.micro-group + .micro-group .insight-nutrient:first-child { border-top:1px solid var(--line); }
@media (min-width:1100px) {
  .desktop-macro-panel { display:flex; }
  .mobile-macro-panel { display:none; }
  #microFull { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
  .micro-group + .micro-group .insight-nutrient:first-child { border-top:0; }
}

/* Subtiele lijnen en punten op desktop, zonder de kaartbreedte te beperken. */
@media (min-width:1100px) {
  .thirty-day-line { stroke-width:2.5; }
  .thirty-day-point { stroke-width:2.2; }
  .thirty-day-point.today,.thirty-day-point.today:hover,.thirty-day-point.today:focus,.thirty-day-point.today.selected { stroke-width:2.5; }
}

@media (min-width:1100px) {
  .thirty-day-tooltip.compact rect { stroke-width:1.5; }
  .thirty-day-tooltip.compact .thirty-day-tooltip-date { font-size:8px; font-weight:700; }
  .thirty-day-tooltip.compact .thirty-day-tooltip-value { font-size:13px; font-weight:750; }
  .thirty-day-tooltip.compact .thirty-day-tooltip-percent { font-size:12px; font-weight:750; }
}

/* Instellingen gebruikt op desktop één rustig, consistent inhoudsraster. */
@media (min-width:1100px) {
  #settings.content-narrow { max-width:960px; }
  .settings-screen .placeholder-list { max-width:none; }
}

/* Leg geselecteerde bron in taartdiagrammen duidelijker naast de overige ingrediënten. */
.nutrient-source.selected {
  margin-block:6px;
  padding-left:2ch;
}
.nutrient-source.selected span b {
  font-size:13px;
  font-weight:900;
}
.nutrient-source.selected > strong {
  font-weight:800;
}

/* Eén vaste kleur per voedingsstof in dashboard, inzichten en grafieken. */
:root {
  --nutrient-kcal:#43c4d4;
  --nutrient-kcal-outline:#9aafbb;
  --nutrient-protein:#54d6ad;
  --nutrient-carbs:#f6b36b;
  --nutrient-fat:#83a9ff;
  --nutrient-slot-four:#f4dc91;
  --nutrient-slot-five:#d6b9ec;
  --nutrient-default:#22a47f;
}
.hero .bar > i, .daybar i { background:var(--nutrient-kcal); }
.thirty-day-line { stroke:var(--metric-color,var(--green)); }
.thirty-day-point { stroke:var(--metric-color,var(--green)); }
.thirty-day-point:hover,.thirty-day-point:focus,.thirty-day-point.selected {
  fill:var(--metric-color,var(--green));
  stroke:var(--metric-color,var(--green));
}
.thirty-day-point.today,.thirty-day-point.today:hover,.thirty-day-point.today:focus,.thirty-day-point.today.selected {
  stroke:var(--metric-color,var(--green));
}
.thirty-day-target-line { stroke:#73847e; }
.thirty-day-target-label { fill:#62746d; }
.thirty-day-tooltip rect { stroke:var(--metric-color,var(--green)); }
.thirty-day-today-note { color:var(--muted); }
.thirty-day-tooltip-percent { fill:#fff; }
.hero-settings-add {
  position:absolute;
  z-index:1;
  top:18px;
  right:18px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#bfe4d8;
  font-family:inherit;
  font-size:23px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.hero-settings-add:hover { color:#fff; }
.hero-settings-add:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.favorite-edit-name { margin-bottom:14px; }
.favorite-nutrient-grid { margin-top:16px; }
.hero .dashboard-nutrient-link {
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
.hero .dashboard-energy-link { display:block; color:inherit; }
.hero .dashboard-energy-link .eyebrow,.hero .dashboard-energy-link .bar { display:block; }
.hero .dashboard-nutrient-link:focus-visible { outline:2px solid #bfe4d8; outline-offset:5px; border-radius:3px; }
#insights .insight-nutrient { scroll-margin-top:88px; }
#dashboardRecommendationCard {
  position:relative;
  isolation:isolate;
  display:grid;
  touch-action:pan-y;
  outline:none;
}
#dashboardRecommendationCard:focus-visible { outline:2px solid var(--green); outline-offset:5px; border-radius:16px; }
#dashboardRecommendationCard.dragging { user-select:none; }
#dashboardRecommendationCard .dashboard-deck-card {
  position:relative;
  grid-area:1/1;
  width:82%;
  justify-self:center;
  opacity:0;
  pointer-events:none;
  transform:translateX(0) scale(.84);
  transition:transform .48s cubic-bezier(.2,.85,.24,1.08),opacity .32s ease,filter .48s ease;
  will-change:transform;
}
#dashboardRecommendationCard .dashboard-deck-card .suggestion-card { height:100%; }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="-2"] { z-index:1;transform:translateX(-26%) scale(.84) rotate(-4deg); }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="2"] { z-index:1;transform:translateX(26%) scale(.84) rotate(4deg); }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="-1"] { z-index:3;opacity:.86;filter:brightness(.97);transform:translateX(-13%) scale(.93) rotate(-2deg); }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="1"] { z-index:3;opacity:.86;filter:brightness(.97);transform:translateX(13%) scale(.93) rotate(2deg); }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="0"] { z-index:5;opacity:1;pointer-events:auto;transform:translateX(var(--deck-drag,0px)) scale(1) rotate(var(--deck-tilt,0deg)); }
#dashboardRecommendationCard .dashboard-deck-card[data-offset="0"] .suggestion-card { cursor:grab; }
#dashboardRecommendationCard.dragging .dashboard-deck-card[data-offset="0"] { transition:none;cursor:grabbing; }
#dashboardRecommendationCard.dragging .dashboard-deck-card[data-offset="0"] .suggestion-card { cursor:grabbing; }
#dashboardRecommendationCard .dashboard-deck-nav {
  position:absolute;
  top:50%;
  z-index:6;
  display:grid;
  place-items:center;
  width:34px;
  height:44px;
  transform:translateY(-50%);
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.65);
  color:var(--green);
  font-size:29px;
  line-height:1;
  box-shadow:0 4px 14px rgba(23,57,49,.12);
}
#dashboardRecommendationCard .dashboard-deck-nav:hover { background:#fff; }
#dashboardRecommendationCard .dashboard-deck-nav:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
#dashboardRecommendationCard .dashboard-deck-nav.previous { left:0; }
#dashboardRecommendationCard .dashboard-deck-nav.next { right:0; }
@media(max-width:520px) {
  #dashboardRecommendationCard .dashboard-deck-card { width:80%; }
  #dashboardRecommendationCard .dashboard-deck-nav { width:26px;height:40px;font-size:24px; }
}
@media(prefers-reduced-motion:reduce) {
  #dashboardRecommendationCard .dashboard-deck-card { transition:none; }
}
/* Lichte kcal-balken blijven leesbaar op een witte kaart. */
.daybar i { box-shadow:inset 0 0 0 1px var(--nutrient-kcal-outline); }
.insight-nutrient[data-nutrient-key="kcal"] .track { background:#d9e3e7; }
.insight-nutrient[data-nutrient-key="kcal"] .track i { box-shadow:inset 0 0 0 1px var(--nutrient-kcal-outline); }
#dashboardRecommendationCard .dashboard-suggestion>.advice-label { padding-right:80px; }
@media(max-width:520px){#dashboardRecommendationCard .dashboard-suggestion>.advice-label { padding-right:74px; }}

.recipe-goal-values{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;gap:5px 10px;grid-area:goals;align-self:start;min-width:0}
.recipe-goal-values[hidden]{display:none}
.recipe-goal-heading,.recipe-goal-value{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center;padding:6px 8px;font-size:11px;line-height:1.3}
.recipe-goal-heading{padding-block:0 2px;color:var(--muted);font-size:10px}
.recipe-goal-heading>span:nth-child(2){grid-column:2}
.recipe-goal-heading>span:nth-child(3){grid-column:3}
.recipe-goal-heading>span:not(.sr-only){white-space:nowrap;text-align:right}
.recipe-goal-value{border-radius:9px;background:#edf6f1;color:var(--green)}
.recipe-goal-value strong{color:var(--ink);font-weight:750;text-align:right;white-space:nowrap}
.recipe-goal-value small{color:var(--muted);font-size:11px;text-align:right;white-space:nowrap}
#recipeDialog{width:min(calc(100vw - 24px),760px)}
.recipe-overview{grid-template-columns:310px minmax(0,1fr);grid-template-areas:"visual details" "goals details";gap:12px 24px}
.recipe-visual{grid-area:visual}
.recipe-details{grid-area:details}
.recipe-visual .recipe-dialog-image{width:min(100%,240px);margin-inline:auto}
@media(max-width:600px){
  .recipe-overview{grid-template-columns:126px minmax(0,1fr);grid-template-areas:"visual details" "goals goals";gap:12px 14px}
  .recipe-goal-values{gap:5px 8px}
  .recipe-goal-heading,.recipe-goal-value{padding-inline:8px}
}
@media(max-width:350px){.recipe-overview{grid-template-columns:108px minmax(0,1fr);column-gap:10px}}


/* De aanbevelingskaarten volgen hun inhoud, ook met extra voedingsstoffen. */
#dashboardRecommendationCard .dashboard-suggestion{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:repeat(4,auto);align-content:center;gap:2px 14px;padding:16px 14px}
#dashboardRecommendationCard .dashboard-suggestion>.dashboard-recipe-thumb{position:static;transform:none;align-self:center}
#dashboardRecommendationCard .dashboard-suggestion>.advice-label{min-height:28px}
#dashboardRecommendationCard .dashboard-suggestion>h3{margin:0 0 2px}
#dashboardRecommendationCard .dashboard-suggestion>.recommendation-reason{margin:0;line-height:1.35}
#dashboardRecommendationCard .dashboard-suggestion>.chips{margin-top:5px;padding-top:0;gap:4px}
#dashboardRecommendationCard .dashboard-suggestion .chip{padding:4px 7px}
@media(max-width:520px){
  #dashboardRecommendationCard .dashboard-suggestion{grid-template-columns:72px minmax(0,1fr);grid-template-rows:repeat(4,auto);gap:2px 10px;padding:14px 10px}
  #dashboardRecommendationCard .dashboard-suggestion>.dashboard-recipe-thumb{width:72px;grid-row:2/4}
  #dashboardRecommendationCard .dashboard-suggestion>.chips{grid-column:1/-1;grid-row:4;margin-top:5px}
  #dashboardRecommendationCard .dashboard-suggestion>.advice-label{grid-column:1/-1;font-size:10px}
  #dashboardRecommendationCard .dashboard-suggestion>h3{font-size:15px}
}

/* Percentage-as blijft staan terwijl de datums horizontaal scrollen. */
.thirty-day-y-axis{grid-area:1/1;position:sticky;left:0;z-index:2;width:6.388889%;height:100%;align-self:stretch;display:block;background:linear-gradient(180deg,#fff,#fbfdfc);pointer-events:none}

/* Het merk brengt je terug naar het dashboard. */
.topbar a.brand{color:inherit;text-decoration:none;border-radius:12px}
.topbar a.brand:focus-visible{outline:2px solid var(--green);outline-offset:4px}

/* Alle instellingen delen dezelfde rijopmaak binnen één kaart. */
.settings-list{padding:5px 18px}
.settings-list>.settings-disclosure{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.settings-list>.settings-row,.settings-list>.settings-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:12px;min-height:48px;padding:12px 0;font-size:12px;font-weight:750}
.settings-list>.settings-row{border-bottom:1px solid var(--line)}
.settings-list>.settings-row:last-child{border-bottom:0}
.settings-list>.settings-row::after{content:''}
.settings-list>.settings-disclosure>summary b{font-size:inherit;font-weight:inherit}
.settings-list>.settings-disclosure>summary::after{justify-self:end;font-size:20px}
.settings-list .settings-status{display:inline-block;margin:0;padding:5px 8px;border:0;border-radius:999px;background:#eef3f1;color:var(--muted);font-size:9px;font-weight:750;line-height:1.4;text-align:right}
.settings-list .settings-disclosure-body{padding:14px 0 18px;gap:12px}
.settings-list .dashboard-nutrient-settings fieldset{margin-top:0}
.settings-list .settings-row>.link{padding:0;color:var(--green);font-size:12px;font-weight:750}
@media(max-width:620px){.settings-list{padding-inline:14px}.settings-list>.settings-row,.settings-list>.settings-disclosure>summary{gap:8px}.settings-list .settings-status{max-width:130px;white-space:normal}}

/* Keep scrolling inside modal dialogs, including on iOS Safari. */
html.dialog-scroll-locked{overflow:hidden;overscroll-behavior:none}
#photoMealDialog{max-height:calc(100svh - 24px)}
#photoMealDialog .dialog-body{overflow-x:clip}


.search-kind{display:flex;gap:8px;margin-bottom:16px}.search-kind button{flex:1}.search-kind .active{background:var(--green,#176b4b);color:#fff;border-color:var(--green,#176b4b)}#mealSearchResults{margin-top:12px}#mealNutritionSummary{font-weight:600;margin:12px 0}.meal-search-note{font-size:.85rem;color:var(--muted,#667568)}

/* Premium-weekplanner */
.week-toolbar,.week-navigation,.week-main-actions,.week-tabs,.week-source-tabs,.week-check-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.week-toolbar{justify-content:space-between;margin:18px 0}.week-navigation{flex-wrap:nowrap}.week-navigation>div{display:grid;text-align:center;min-width:165px;gap:3px}.week-navigation .secondary{font-size:23px;line-height:1;padding:9px 14px}.week-navigation .link{font-size:12px}.week-date-label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.week-date-label input{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;color:var(--ink);max-width:150px}.week-tabs{margin:16px 0}.week-tabs button{flex:1}.week-tabs .active,.week-source-tabs .active{background:var(--green);color:#fff;border-color:var(--green)}.week-main-actions{margin:15px 0}.week-explanation{font-size:12px;line-height:1.6;color:var(--muted)}.week-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}.week-day{background:var(--paper,#fff);border:1px solid var(--line);border-radius:22px;padding:17px;min-width:0}.week-day-today{border-color:var(--green);box-shadow:0 0 0 2px var(--mint)}.week-day-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.week-day-header h2{font-size:17px;margin:0;text-transform:capitalize}.week-day-header>span{font-size:11px;font-weight:800;background:var(--mint);padding:5px 8px;border-radius:8px;color:var(--green)}.week-meal{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:#fff;min-width:0}.week-meal-heading{display:flex;justify-content:space-between;gap:6px;margin-bottom:8px;font-size:10px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.03em}.week-meal-heading small{font-size:10px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted);text-align:right}.week-meal>b{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.week-meal p{font-size:11px;line-height:1.65;color:var(--muted);margin:7px 0}.week-meal-actions{display:flex;flex-wrap:wrap;gap:5px 13px;border-top:1px solid var(--line);padding-top:7px}.week-meal .link{font-size:11px}.week-meal-registration{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}.week-meal-registration .primary,.week-meal-registration .secondary{font-size:11px;padding:9px 10px}.week-meal-handled{background:#f7faf8}.week-open-slots{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.week-open-slot{border:1px dashed #b7cfc4;background:#f5faf7;color:var(--green);border-radius:11px;text-align:left;font-weight:750;font-size:12px;padding:10px}.week-open-slots>small{grid-column:1/-1;color:var(--muted);font-size:11px}.week-day-prognosis{padding-top:12px;border-top:1px solid var(--line);margin-top:13px}.week-day-prognosis-label{font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.week-day-prognosis-label small{font-size:10px;font-weight:500;color:var(--muted);text-align:right}.week-nutrient{display:grid;grid-template-columns:68px minmax(30px,1fr) auto;align-items:center;gap:7px;margin:6px 0;font-size:10px}.week-nutrient progress{appearance:none;border:0;background:#e7eee9;width:100%;height:6px;border-radius:20px;overflow:hidden;accent-color:var(--green)}.week-nutrient progress::-webkit-progress-bar{background:#e7eee9}.week-nutrient progress::-webkit-progress-value{background:var(--green);border-radius:20px}.week-nutrient progress::-moz-progress-bar{background:var(--green)}.week-nutrient small{font-size:10px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.week-prognosis-note{font-size:9px;color:var(--muted);line-height:1.4;display:block;margin-top:8px}.week-repeat-rules{margin:20px 0}.week-repeat-rule{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.week-repeat-rule span{display:grid;gap:4px}.week-repeat-rule small{color:var(--muted)}.week-repeat-rule .link{font-size:11px;flex-shrink:0}.week-existing-planning{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.week-existing-planning>summary{font-size:16px;font-weight:800;color:var(--green);cursor:pointer}.week-existing-planning>p{font-size:12px;color:var(--muted);line-height:1.5}.week-preview{grid-column:1/-1;width:100%;display:grid;gap:10px;margin-top:12px}.week-preview>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;display:grid;gap:5px;font-size:12px}.week-preview span{font-size:11px;color:var(--muted)}.week-source-tabs{gap:6px}.week-source-tabs button{flex:1;font-size:11px;padding:9px 5px}.week-meal-choices{display:grid;gap:7px;max-height:245px;overflow:auto}.week-meal-choices .search-result{text-align:left;padding:10px}.week-meal-choices small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.week-meal-choices strong{font-size:11px;white-space:nowrap}.week-selected-meal{border-radius:15px;border:1px solid #bad5c8;background:#f0f8f3;padding:14px}.week-selected-meal h3{margin:0;font-size:15px}.week-selected-meal p{font-size:12px}.week-selected-meal button{font-size:12px}.week-check{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5}.week-check input,.week-check-row input,.week-shopping-days input{accent-color:var(--green);flex-shrink:0;width:17px;height:17px}.week-fieldset{border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}.week-fieldset legend{font-size:12px;font-weight:750;padding:0 5px}.week-check-row{font-size:12px;gap:12px}.week-check-row label,.week-shopping-days label{display:flex;align-items:center;gap:6px}.week-shopping-days{display:flex;flex-wrap:wrap;gap:9px 15px;font-size:11px;margin:10px 0}.week-proposal-list{display:grid;gap:10px}.week-proposal{border:1px solid var(--line);border-radius:14px;padding:13px}.week-proposal small{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.week-proposal b{font-size:14px}.week-proposal p{font-size:11px;color:var(--muted)}.week-proposal>div:last-child{display:flex;gap:15px}.week-proposal .link{font-size:12px}.week-grocery-group{margin-top:15px}.week-grocery-group h3{margin:0 0 12px;font-size:16px}.week-grocery-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);min-width:0}.week-grocery-row input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0}.week-grocery-row span{flex:1;min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.week-grocery-row span>b{font-size:13px}.week-grocery-row small{font-size:10px;color:var(--muted);line-height:1.4}.week-grocery-row>strong{font-size:12px;white-space:nowrap}.week-grocery-row.checked span>b{text-decoration:line-through;color:var(--muted)}.week-grocery-row.checked{opacity:.65}.week-extra-form{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-extra-form label{display:grid;gap:7px;font-size:11px}.week-extra-form label:first-child{grid-column:1/-1}.week-extra-form input,.week-extra-form select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;color:var(--ink)}.week-extra-form button{grid-column:1/-1}.week-dashboard-plan{margin:15px 0}.week-dashboard-plan>h3{margin:0 0 7px}.week-dashboard-plan>p{font-size:12px;color:var(--muted);line-height:1.5}.week-dashboard-plan .week-meal:last-child{margin-bottom:0}#weekPlannerApp[aria-busy="true"] .week-main-actions button{opacity:.55;pointer-events:none}#weekPlannerStatus.error{color:#a23b36}#weekMealDialog,#weekGeneratorDialog,#weekMoveDialog{max-width:650px}.week-tabs button:focus-visible,.week-open-slot:focus-visible{outline:3px solid #8abca5;outline-offset:2px}
@media(min-width:900px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-toolbar{flex-wrap:nowrap}.week-extra-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.week-extra-form label:first-child,.week-extra-form button{grid-column:auto}}
@media(max-width:420px){.week-toolbar{align-items:flex-start;gap:12px}.week-navigation{flex:1;justify-content:space-between}.week-navigation>div{min-width:140px}.week-date-label{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:10px}.week-date-label input{padding:6px 9px}.week-main-actions{gap:7px}.week-main-actions .primary,.week-main-actions .secondary{font-size:11px;padding:10px 11px}.week-day{padding:13px}.week-nutrient{grid-template-columns:64px minmax(25px,1fr) auto;gap:5px}.week-day-prognosis-label{font-size:11px}.week-source-tabs button{font-size:10px}.week-repeat-rule{align-items:flex-start}}

.week-grocery-amount{border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;white-space:nowrap;padding:7px 0 7px 6px}.week-grocery-amount:hover{text-decoration:underline}

/* A calm day timeline, using the existing foodori palette and controls. */
.week-grid{grid-template-columns:minmax(0,1fr);margin-top:15px}.week-day-chips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0}.week-day-chip{display:grid;justify-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fff);color:var(--ink);padding:10px 2px;cursor:pointer;min-width:0}.week-day-chip span{font-size:11px}.week-day-chip b{font-size:17px}.week-day-chip i{width:4px;height:4px;border-radius:50%;background:transparent}.week-day-chip.is-today i{background:var(--green)}.week-day-chip.active{background:var(--mint);border-color:var(--green);color:var(--green)}.week-day-chip:focus-visible,.week-meal-preview:focus-visible,.week-placement:focus-visible,.week-day-heading-button:focus-visible{outline:3px solid var(--green2);outline-offset:3px}.week-timeline-day{padding:20px}.week-day-heading-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:0 0 15px;cursor:pointer;gap:10px}.week-day-heading-button b{display:block;font-size:19px;text-transform:capitalize;line-height:1.4}.week-day-heading-button small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.week-day-heading-button>span:last-child{font-size:26px;color:var(--green)}.week-nutrient-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}.week-nutrient-card{display:grid;gap:7px;align-content:start;background:#eff7f2;border:1px solid #e0eee6;border-radius:12px;padding:11px;min-width:0}.week-nutrient-card>span{font-size:11px;font-weight:750;overflow-wrap:anywhere}.week-nutrient-card>strong{font-size:15px;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.4}.week-nutrient-card small{font-size:10px;font-weight:500;color:var(--muted);display:block}.week-nutrient-card progress{appearance:none;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:#dcebe2;accent-color:var(--green)}.week-nutrient-card progress::-webkit-progress-bar{background:#dcebe2}.week-nutrient-card progress::-webkit-progress-value{background:var(--green);border-radius:10px}.week-nutrient-card progress::-moz-progress-bar{background:var(--green)}.week-summary-note{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin:-6px 0 15px}.week-timeline{margin:24px 0 0 7px}.week-timeline-slot{position:relative;padding:0 0 24px 23px;border-left:1px solid #bfd5ca}.week-timeline-slot:before{content:'';position:absolute;left:-6px;top:3px;border:2px solid var(--green);border-radius:50%;width:8px;height:8px;background:var(--paper,#fff)}.week-timeline-slot:has(.week-timeline-meal):before,.week-timeline-slot.selected:before{background:var(--green)}.week-timeline-slot h3{font-size:13px;margin:0 0 9px;line-height:1.3}.week-timeline-slot:last-of-type{padding-bottom:5px}.week-meal-preview{width:100%;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px;text-align:left;color:var(--ink);cursor:pointer}.week-meal-preview>span:nth-last-child(2){flex:1;min-width:0}.week-meal-preview b{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.week-meal-preview small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.week-meal-preview>span:last-child{color:var(--green);font-size:22px}.week-food-thumb,.week-food-placeholder{width:52px;height:52px;border-radius:10px;object-fit:cover;flex:0 0 52px}.week-food-placeholder{display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:24px}.week-timeline-meal+.week-timeline-meal{margin-top:8px}.week-quick-eaten{display:block;margin:7px 0 0 auto;border:1px solid var(--line);background:var(--mint);color:var(--green);border-radius:9px;padding:7px 14px;font-size:11px;font-weight:750;cursor:pointer}.week-timeline .week-open-slot,.week-placement{display:flex;align-items:center;gap:11px;width:100%;padding:15px;border:1px dashed #b7cfc4;border-radius:12px;background:#f5faf7;color:var(--green);text-align:left;font-size:12px;cursor:pointer}.week-timeline .week-open-slot>span,.week-placement>span:first-child{font-size:22px}.week-placement.active{background:var(--mint);border-color:var(--green);border-style:solid}.week-placement small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.week-snack-add{padding:5px 0 0 23px}.week-snack-add .link{font-size:12px}.week-more{margin-left:auto;font-size:12px;color:var(--green)}.week-more summary{cursor:pointer;padding:10px 0}.week-more .link{display:block;padding:10px 0;font-size:12px}.week-micro-details,.week-schedule-options{border-top:1px solid var(--line);padding-top:16px;margin:20px 0}.week-micro-details>summary,.week-schedule-options>summary{font-size:13px;font-weight:750;color:var(--green);cursor:pointer;margin-bottom:14px}.week-micro-details .week-nutrient{grid-template-columns:95px minmax(20px,1fr) auto;font-size:12px;margin:14px 0}.week-micro-details .week-nutrient small{font-size:11px}#weekDayDialog,#weekRecipeScheduleDialog{width:min(calc(100vw - 24px),640px)}#weekDayTitle{text-transform:capitalize}.week-recipe-selected{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.week-recipe-selected b{font-size:14px;line-height:1.45;display:block}.week-recipe-selected small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.week-schedule-navigation{justify-content:space-between;margin:20px 0 5px}.week-schedule-navigation strong{font-size:13px}.week-schedule-date{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:11px;color:var(--muted);margin:5px 0 15px}.week-schedule-date input{max-width:150px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px;color:var(--ink)}.week-schedule-footer{position:sticky;bottom:-24px;background:var(--paper,#fff);border-top:1px solid var(--line);padding:12px 0 8px;margin-top:18px;z-index:2}.week-schedule-footer>small{display:block;text-align:center;line-height:1.5;font-size:11px;color:var(--muted);padding-top:7px}.week-schedule-footer .planning-status:empty{display:none}#weekRecipeScheduleDialog .week-day-heading-button small{display:none}.recipe-plan-button{margin-top:18px}.week-existing-planning{margin-top:22px}
@media(min-width:900px){#weekPlannerGrid{max-width:720px;margin-left:auto;margin-right:auto}#weekPlannerDays{max-width:720px;margin-left:auto;margin-right:auto}.week-nutrient-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.week-day-chips{gap:5px}.week-day-chip{padding:9px 1px}.week-day-chip span{font-size:10px}.week-day-chip b{font-size:15px}.week-timeline-day{padding:14px}.week-day-heading-button b{font-size:17px}.week-nutrient-cards{gap:6px}.week-nutrient-card{padding:9px 7px}.week-nutrient-card>span{font-size:10px}.week-nutrient-card>strong{font-size:13px}.week-nutrient-card small{font-size:9px}.week-timeline{margin-left:5px}.week-timeline-slot{padding-left:18px}.week-meal-preview{padding:9px;gap:9px}.week-meal-preview b{font-size:12px}.week-food-thumb,.week-food-placeholder{width:42px;height:42px;flex-basis:42px}.week-micro-details .week-nutrient{grid-template-columns:83px minmax(18px,1fr) auto;gap:5px;font-size:11px}.week-micro-details .week-nutrient small{font-size:10px}.week-schedule-footer{bottom:-18px}}

#planning .planning-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}#planning .planning-heading .eyebrow{display:none}#planning .planning-heading .lead{font-size:13px;margin:5px 0 8px}#planning .planning-heading .premium-chip{white-space:nowrap;margin-top:8px;font-size:10px}#planning .planning-back{display:none}#planningStatus:empty,#weekPlannerStatus:empty{display:none}#planning .week-toolbar{margin:12px 0;justify-content:center}#planning .week-navigation{width:100%;justify-content:space-between}#planning .week-tabs{margin:12px 0}#planning .week-main-actions{margin:10px 0}#planning .week-more{position:relative}#planning .week-more[open]{flex-basis:100%;margin:0;border:1px solid var(--line);padding:0 12px 10px;border-radius:12px;background:#fff}#planning .week-more .week-date-label{display:flex;width:auto;align-items:center;justify-content:space-between;gap:10px;margin:5px 0}#planning .week-more .week-date-label input{max-width:155px}#planning .week-more .week-refresh{display:block}#planning .week-more .week-date-label input:focus{outline-color:var(--green)}.week-day-chip:disabled{opacity:.4;cursor:default}

#weekRecipeScheduleDialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 24px);padding:0}#weekRecipeScheduleDialog>.dialog-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}#weekRecipeScheduleDialog>.week-schedule-footer{position:static;flex-shrink:0;margin:0;padding:12px 20px;background:var(--card,#fff);border-top:1px solid var(--line)}.week-day-meal-actions{border:1px solid var(--line);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}.week-day-meal-actions>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:12px;cursor:pointer}.week-day-meal-actions>summary::-webkit-details-marker{display:none}.week-day-meal-actions>summary>span:nth-last-child(2){flex:1;min-width:0}.week-day-meal-actions>summary b{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.week-day-meal-actions>summary small{display:block;font-size:10px;color:var(--muted);margin:3px 0;line-height:1.4}.week-day-meal-actions>summary>span:last-child{color:var(--green);font-size:23px}.week-day-meal-actions[open]>summary>span:last-child{transform:rotate(90deg)}.week-day-meal-actions>.week-meal{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.week-day-meal-actions>summary:focus-visible{outline:3px solid var(--green2);outline-offset:-3px}

/* Compact progress rows match the green homepage card. */
.week-nutrient-cards.week-kpi-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px;border:0;border-radius:16px;background:linear-gradient(145deg,#123f35,#176c57);color:#fff;margin:0 0 15px}
.week-kpi-panel .week-nutrient-card{display:grid;grid-template-columns:86px minmax(30px,1fr) auto;align-items:center;gap:10px;padding:0;border:0;border-radius:0;background:none}
.week-kpi-panel .week-nutrient-card>span{font-size:12px;color:#fff;font-weight:600}.week-kpi-panel .week-nutrient-card>strong{font-size:12px;color:#fff;white-space:nowrap;text-align:right;line-height:1.5}.week-kpi-panel .week-nutrient-card small{display:inline;color:#d5ede5;font-size:11px}.week-kpi-panel .week-nutrient-card progress{height:6px;background:rgba(255,255,255,.18)}.week-kpi-panel .week-nutrient-card progress::-webkit-progress-bar{background:rgba(255,255,255,.18)}.week-kpi-panel .week-nutrient-card progress::-webkit-progress-value{background:#fff}.week-kpi-panel .week-nutrient-card progress::-moz-progress-bar{background:#fff}
#planning .week-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#planning .week-tabs button{font-size:12px;padding:11px 8px;line-height:1.4}#planning .week-tabs #weekTabFixed{font-size:11px}#weekPlannerFixedView .week-existing-planning{margin-top:20px;padding-top:0;border:0}#weekPlannerFixedView .week-existing-planning>summary{font-size:19px;list-style:none;pointer-events:none;color:var(--ink)}
.week-catalog-banner{border:1px solid #bdd8cb;border-radius:16px;background:var(--mint);padding:15px;margin:0 0 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.week-catalog-banner[hidden]{display:none}.week-catalog-banner small,.week-catalog-banner b{display:block}.week-catalog-banner small{font-size:11px;color:var(--muted);margin-bottom:5px}.week-catalog-banner b{font-size:14px;color:var(--green)}.week-catalog-banner>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.week-catalog-banner .link{font-size:12px}
#weekProposalDialog{width:min(calc(100vw - 24px),760px)}#weekProposalDialog .week-proposal-list{margin-top:18px;gap:12px}#weekProposalDialog .week-proposal{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 15px;padding:13px;background:#fff}#weekProposalDialog .week-proposal>.week-food-thumb,#weekProposalDialog .week-proposal>.week-food-placeholder{width:92px;height:92px;grid-row:span 2;object-fit:cover;border-radius:12px}#weekProposalDialog .week-proposal-content{display:block}#weekProposalDialog .week-proposal-content b{font-size:16px;line-height:1.4;display:block}#weekProposalDialog .week-proposal-content p{margin:6px 0;font-size:12px}#weekProposalDialog .week-proposal>div:last-child{grid-column:2;gap:14px;flex-wrap:wrap}#weekProposalDialog .dialog-actions{position:sticky;bottom:-24px;background:var(--card,#fff);padding:14px 0 5px;border-top:1px solid var(--line);z-index:2}
.week-chart-card{margin:20px 0}.week-chart-card .card-head{gap:10px;flex-wrap:wrap}.week-chart-card .card-head h2{font-size:19px}.week-chart-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.week-chart-tabs button{padding:8px 12px;font-size:11px}.week-chart-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.week-kpi-chart{display:block;width:100%;height:auto;overflow:visible}.week-chart-grid line{stroke:var(--line);stroke-width:1}.week-kpi-chart text{font-size:12px;fill:var(--muted);font-family:inherit}.week-chart-goal{fill:none;stroke:#9aada6;stroke-width:2;stroke-dasharray:6 6}.week-chart-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.week-chart-points circle{fill:var(--green);stroke:#fff;stroke-width:2}.week-chart-points circle.incomplete{fill:#fff;stroke:var(--green)}.week-chart-values{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:5px}.week-chart-values button{display:grid;gap:4px;justify-items:center;padding:8px 2px;background:#f3f8f5;color:var(--ink);border:1px solid var(--line);border-radius:9px;cursor:pointer;min-width:0}.week-chart-values b{font-size:12px;font-variant-numeric:tabular-nums}.week-chart-values small{font-size:10px;color:var(--muted)}.week-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.week-overview-heading h2{font-size:20px}.week-overview-heading p{font-size:12px;line-height:1.6;margin:6px 0 15px}.week-overview-heading .link{font-size:12px}.week-meal-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.week-board-day{padding:13px;border:1px solid var(--line);border-radius:17px;background:#f5f8f5;min-width:0;transition:background .15s,border-color .15s}.week-board-day.drop-active{background:var(--mint);border-color:var(--green);outline:2px solid var(--green)}.week-board-past{opacity:.65}.week-board-day-title{display:flex;align-items:center;justify-content:space-between;border:0;padding:0 0 12px;width:100%;background:none;color:var(--ink);font-weight:800;font-size:14px;text-align:left;cursor:pointer;text-transform:capitalize}.week-board-meal{display:flex;align-items:flex-start;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px}.week-board-meal[draggable=true]{cursor:grab}.week-board-meal.dragging{opacity:.4}.week-board-meal>.week-food-thumb,.week-board-meal>.week-food-placeholder{width:42px;height:42px;flex-basis:42px}.week-board-meal>div{flex:1;min-width:0}.week-board-meal b{font-size:12px;line-height:1.4;display:block;overflow-wrap:anywhere}.week-board-meal small{display:block;font-size:10px;color:var(--muted);line-height:1.4;margin:1px 0 4px}.week-board-meal .link{font-size:10px;margin-top:2px}.week-board-drag{border:0;padding:5px;color:var(--green);background:#f0f7f3;border-radius:7px;font-size:23px;line-height:1;cursor:grab;touch-action:none;flex-shrink:0;min-width:28px;min-height:34px}.week-board-add{font-size:11px;margin-top:5px}.week-board-empty{font-size:11px;color:var(--muted);margin:8px 0 16px}.week-board-day button:focus-visible,.week-chart-tabs button:focus-visible,.week-chart-values button:focus-visible{outline:3px solid var(--green2);outline-offset:3px}#weekDragGhost{pointer-events:none;position:fixed;z-index:1000;transform:translate(-50%,-130%);background:var(--green);color:#fff;padding:10px 14px;font-size:12px;border-radius:10px;max-width:230px;box-shadow:var(--shadow)}
@media(min-width:1100px){.week-meal-board{grid-template-columns:repeat(3,minmax(0,1fr))}#planning .week-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.week-kpi-panel .week-nutrient-card{grid-template-columns:70px minmax(22px,1fr) auto;gap:8px}.week-kpi-panel .week-nutrient-card>span{font-size:11px}.week-kpi-panel .week-nutrient-card>strong{font-size:10px}.week-kpi-panel .week-nutrient-card small{font-size:10px}.week-nutrient-cards.week-kpi-panel{padding:14px;gap:9px}.week-catalog-banner{display:block}.week-catalog-banner>div:last-child{margin-top:12px}.week-meal-board{grid-template-columns:minmax(0,1fr)}.week-overview-heading{display:block}.week-chart-card{padding:14px}.week-chart-values b{font-size:10px}.week-chart-values small{font-size:9px}.week-chart-values{gap:3px}#weekProposalDialog .week-proposal{grid-template-columns:70px minmax(0,1fr);gap:5px 11px;padding:11px}#weekProposalDialog .week-proposal>.week-food-thumb,#weekProposalDialog .week-proposal>.week-food-placeholder{width:70px;height:70px}#weekProposalDialog .week-proposal-content b{font-size:14px}#weekProposalDialog .week-proposal-content p{font-size:11px}#weekProposalDialog .week-proposal .link{font-size:11px}#weekProposalDialog .dialog-actions{bottom:-18px;display:grid;grid-template-columns:1fr;gap:8px}.week-chart-card .chip{font-size:9px}}
.week-kpi-panel .week-nutrient-card{grid-template-columns:86px minmax(30px,1fr) 140px}
@media(max-width:540px){.week-kpi-panel .week-nutrient-card{grid-template-columns:66px minmax(20px,1fr) 108px}.week-kpi-chart text{font-size:20px}}

.week-timeline-meal .week-delete-meal{display:block;width:max-content;margin:6px 0 12px auto;font-size:11px;color:var(--muted);padding:7px 0 7px 10px}.week-delete-meal:hover{color:#a23b36}.week-delete-meal:focus-visible{outline:3px solid var(--green2);outline-offset:2px}.week-board-meal{flex-wrap:wrap}.week-board-meal>.week-delete-meal{order:4;font-size:10px;flex-basis:100%;text-align:right;padding:4px 0;color:var(--muted)}.week-catalog-banner{flex-wrap:wrap}#weekCatalogStatus{flex-basis:100%;font-size:12px;margin:0;color:var(--green)}#weekCatalogStatus:empty{display:none}#weekPlannerGrid{scroll-margin-top:90px}
.week-catalog-banner>div:nth-child(2){display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:540px){.week-catalog-banner>div:nth-child(2){margin-top:12px}}

/* Share the dashboard nutrient palette across planning and day details. */
.week-kpi-panel .week-nutrient-card progress{accent-color:var(--week-nutrient-color,var(--green))}.week-kpi-panel .week-nutrient-card progress::-webkit-progress-value{background:var(--week-nutrient-color,var(--green))}.week-kpi-panel .week-nutrient-card progress::-moz-progress-bar{background:var(--week-nutrient-color,var(--green))}.week-kpi-chart .week-chart-line{stroke:var(--week-nutrient-color,var(--green))}.week-kpi-chart .week-chart-points circle{fill:var(--week-nutrient-color,var(--green))}.week-kpi-chart .week-chart-points circle.incomplete{fill:#fff;stroke:var(--week-nutrient-color,var(--green))}

/* Keep all four meal periods in place, aligned across each row of days. */
.week-board-day{display:grid;grid-template-rows:auto repeat(4,auto);gap:8px;align-content:start}.week-board-day-title{padding-bottom:0;min-height:24px}.week-board-slot{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:0}.week-board-slot>h3{font-size:11px;color:var(--green);margin:0;font-weight:750}.week-board-slot>.week-board-meal{margin:0;flex:1;align-content:flex-start}.week-board-empty-slot{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:1px dashed #b7cfc4;border-radius:12px;color:var(--green);font:inherit;font-size:11px;cursor:pointer;min-height:44px}.week-board-empty-slot>span:first-child{font-size:21px}.week-board-empty-slot:hover{background:var(--mint);border-color:var(--green)}.week-board-empty-past{color:var(--muted);cursor:default}.week-board-empty-past:hover{background:transparent;border-color:#b7cfc4}.week-board-empty-slot:disabled{cursor:default;opacity:.6}
@supports(grid-template-rows:subgrid){.week-board-day{grid-row:span 5;grid-template-rows:subgrid}}

/* Compact day cards while keeping empty slots easy to tap. */
.week-board-day{padding:11px}.week-board-day-title{min-height:22px}.week-board-slot>.week-board-meal{padding:8px;gap:6px 8px}.week-board-meal>.week-delete-meal{padding:3px 0;min-height:30px}.week-board-empty-slot{font-size:12px}.week-board-empty-slot>span:first-child{font-size:18px}
@media(max-width:540px){.week-board-day{padding:10px;gap:8px}.week-board-slot>.week-board-meal{flex:none}.week-board-empty-slot{flex:none;min-height:44px}.week-board-meal>.week-food-thumb,.week-board-meal>.week-food-placeholder{width:36px;height:36px;flex-basis:36px}.week-board-meal .link{min-height:32px;display:inline-flex;align-items:center}.week-board-meal>.week-delete-meal{display:block;text-align:right}.week-board-drag{min-width:36px;min-height:36px}}

.week-board-meal>.week-board-meal-controls{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:50px}.week-board-meal-controls .link{min-height:32px;padding:2px 0;display:inline-flex;align-items:center;margin:0;font-size:10px}.week-board-meal-controls .week-delete-meal{margin-left:auto;color:var(--muted)}
@media(max-width:540px){.week-board-meal>.week-board-meal-controls{padding-left:44px}}

.week-date-picker{margin-left:auto;position:relative;display:block}.week-date-button{box-sizing:border-box;min-height:44px;width:155px;max-width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--green);padding:9px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.week-date-button:focus-visible{outline:3px solid var(--green2);outline-offset:2px}.week-date-button::-webkit-calendar-picker-indicator{cursor:pointer}
@media(max-width:540px){.week-date-button{width:145px;font-size:12px}.week-main-actions>.primary{min-height:44px}}

.week-concept-notice{background:var(--mint);border:1px solid var(--green);border-radius:14px;padding:14px;margin:14px 0;color:var(--green);scroll-margin-top:90px}.week-concept-notice p{font-size:12px;line-height:1.5;margin:6px 0}.week-concept-notice small{display:block;font-size:11px}.week-concept-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:10px;background:#fff;padding:12px 16px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);max-width:calc(100vw - 24px)}.week-concept-bar>span{font-size:12px;font-weight:700;white-space:nowrap}.week-board-recipe-open{display:block;border:0;background:none;padding:0;text-align:left;font:inherit;font-size:12px;line-height:1.4;font-weight:750;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.week-board-recipe-open:hover{text-decoration:underline}.week-board-recipe-open:focus-visible{outline:2px solid var(--green);outline-offset:3px}.week-generate-day{position:relative;display:block;cursor:pointer}.week-generate-day input{position:absolute;opacity:0;inset:0}.week-generate-day span{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}.week-generate-day input:checked+span{background:var(--mint);border-color:var(--green);color:var(--green);font-weight:700}.week-generate-day input:focus-visible+span{outline:3px solid var(--green2);outline-offset:2px}.week-generate-day input:disabled+span{opacity:.4;cursor:default}body:has(#weekConceptBar:not([hidden])) #planning{padding-bottom:110px}
@media(max-width:800px){.week-concept-bar{bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 24px);flex-wrap:wrap;padding:10px;gap:8px}.week-concept-bar>span{flex-basis:100%;text-align:center}.week-concept-bar button{flex:1;min-height:44px}.week-concept-notice{scroll-margin-top:80px}body:has(#weekConceptBar:not([hidden])) #planning{padding-bottom:180px}}

/* Meal cards use one content row and one compact action row. */
#weekBoardStatus:empty{display:none}.week-overview-heading{margin-top:18px}.week-overview-heading p{margin:5px 0 8px}.week-meal-board{margin-top:8px;gap:10px}.week-board-day{padding:10px;row-gap:6px}.week-board-slot{gap:3px}.week-board-slot>.week-board-meal{padding:7px 8px;gap:3px 8px;align-items:center}.week-board-meal>.week-food-thumb,.week-board-meal>.week-food-placeholder{width:36px;height:36px;flex-basis:36px}.week-board-meal-info small{margin:2px 0 0;font-size:10px;line-height:1.35}.week-board-meal>.week-board-meal-controls{padding-left:44px;gap:6px;justify-content:flex-start}.week-board-meal-controls .link{min-height:28px;margin:0;padding:2px 3px;font-size:10px;white-space:nowrap}.week-board-meal-controls .week-delete-meal{margin-left:auto}.week-board-drag{min-width:30px;min-height:32px;font-size:20px;padding:4px}.week-board-empty-slot{padding:6px 10px}
@media(max-width:540px){.week-board-day{row-gap:6px}.week-board-meal>.week-board-meal-controls{padding-left:0;justify-content:space-between;gap:4px}.week-board-meal-controls .link{min-height:44px;padding:3px 5px}.week-board-meal-controls .week-delete-meal{margin-left:0}.week-board-drag{min-width:44px;min-height:44px}.week-board-slot>.week-board-meal{gap:0 7px}.week-board-meal-info small{font-size:10px}}

/* Grocery removal stays distinct from the checkbox and quantity control. */
.week-grocery-remove{flex:0 0 36px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:23px;line-height:1;display:grid;place-items:center;padding:0}.week-grocery-remove:hover{background:var(--mint);color:var(--ink)}.week-shopping-restore{min-height:44px;margin:0 0 10px}
@media(max-width:600px){.week-grocery-remove{flex-basis:44px;width:44px;height:44px}.week-grocery-row{gap:7px;padding:8px 0}}

/* One week view: a quiet chart and photos that fill the meal card height. */
.week-chart-card{margin:12px 0;padding:14px 18px}.week-chart-card .card-head{margin-bottom:8px}.week-chart-card .week-explanation{margin:8px 0 0}.week-chart-tabs{margin-bottom:4px}.week-kpi-chart{width:100%;height:142px;overflow:hidden}
.week-board-slot>.week-board-meal{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-rows:minmax(36px,auto) auto;padding:3px;gap:3px 8px;align-items:center}
.week-board-meal>.week-food-thumb,.week-board-meal>.week-food-placeholder{grid-column:1;grid-row:1 / span 2;width:76px;height:100%;min-height:0;align-self:stretch;object-fit:cover;border-radius:9px}
.week-board-meal>.week-board-meal-info{grid-column:2;grid-row:1;padding:3px 0}.week-board-meal>.week-board-drag{grid-column:3;grid-row:1;margin-right:4px}
.week-board-meal>.week-board-meal-controls{grid-column:2 / -1;grid-row:2;padding-left:0;padding-right:4px;flex-wrap:wrap}.week-board-day{scroll-margin-top:90px}
@media(max-width:540px){.week-chart-card{padding:12px}.week-board-slot>.week-board-meal{grid-template-columns:76px minmax(0,1fr) auto;gap:0 7px}}

.favorite-photo-editor{display:flex;align-items:center;gap:14px;margin:12px 0}.favorite-photo-editor>img{width:88px;height:88px;border-radius:12px;object-fit:cover}.favorite-photo-editor>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.favorite-photo-editor .link{min-height:44px}.favorite-item>.favorite-own-photo{width:48px;height:48px;object-fit:cover;border-radius:9px;flex-shrink:0}.catalog-saved-edit{margin:0 12px 12px}.favorite-photo-editor~.planning-status:empty{display:none}

/* Keep brand and preparation visible in product search, also on narrow screens. */
#searchDialog .search-result b{white-space:normal;overflow-wrap:anywhere;line-height:1.35}


/* Keep the foodori name visible on the login card, including narrow phones. */
.auth-card>.brand{font-size:22px;gap:10px}


/* Planning feedback and reachable series controls on narrow phones. */
.planning-confirmation{width:min(440px,calc(100vw - 24px));box-sizing:border-box;color:var(--ink)}
.planning-confirmation .dialog-body{padding:24px}.planning-confirmation h2{margin:14px 0 10px}.planning-confirmation p{line-height:1.6;overflow-wrap:anywhere;margin:0 0 22px}
.planning-confirmation-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-size:28px}
.planning-actions button{min-height:44px}.planning-remove-series{color:#a22c36;border-color:#dca6ab}.planning-row>div{min-width:0}.planning-row b{overflow-wrap:anywhere}
@media(max-width:560px){.planning-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;width:100%}.planning-actions button{flex:1 1 130px;font-size:13px;white-space:normal}.planning-row{scroll-margin-block:90px}.week-repeat-rule{flex-wrap:wrap;gap:10px}.week-repeat-rule button{min-height:44px}}
