:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#01070d;--panel:#03101d;--panel-2:#061727;--text:#f7fbff;--muted:#87a6b8;--line:#16425b;--accent:#43d9ff;--accent-dark:#159ac2;--info:#6faee8;--warn:#f2c15f;--danger:#ff6f78;--paper:#fff;--font-body:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--font-mono:"Roboto Mono", "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--shadow:0 18px 45px #00000061}*{box-sizing:border-box}body{background:linear-gradient(145deg, #061624 0%, var(--bg) 45%, #04101a 100%);color:var(--text);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.55}body:before{content:none}button,input,select{font:inherit}button,.ghost-button{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;letter-spacing:0;background:#071725;border-radius:8px;padding:9px 14px;font-size:15px;font-weight:600}button:hover,.ghost-button:hover{border-color:var(--accent);color:var(--accent)}.ghost-button{background:#ffffff08;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.primary{background:var(--accent);border-color:var(--accent);color:#02101f;font-weight:700;box-shadow:0 6px 18px #43d9ff29}.primary:hover{background:var(--accent-dark);color:#02101f}.danger-button{color:#ff9aa3;border-color:#ff5d6873;justify-self:start}.danger-button:hover{border-color:var(--danger);color:var(--danger)}.app-header{background:linear-gradient(90deg,#43d9ff12,#0000 34%),#020b14;border-bottom:1px solid #174c68;justify-content:space-between;align-items:center;gap:24px;padding:20px clamp(22px,4vw,70px);display:flex;position:relative}.app-header:before{content:none}.app-header h1{font-family:var(--font-body);letter-spacing:-.025em;margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:750;line-height:1.15}.app-header p{color:var(--muted);letter-spacing:0;margin:6px 0 0;font-size:15px}.account-menu{justify-self:end;position:relative}.account-menu summary{border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:9px;min-width:220px;max-width:320px;min-height:52px;padding:8px 36px 8px 12px;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"v";color:var(--accent);position:absolute;top:11px;right:10px}.account-menu[open] summary:after{content:"^"}.account-menu span,.account-row span{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:700;display:block}.account-menu strong,.account-row strong{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;display:block;overflow:hidden}.account-menu-panel{z-index:20;border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow);background:#020b14;border-radius:10px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-row{border:1px solid #16425bbf;border-radius:4px;padding:7px 9px}.app-shell{width:min(1280px,100%);margin:0 auto;padding:20px clamp(22px,4vw,70px) 40px}.initial-load-shell{border:1px solid var(--line);background:var(--panel);width:min(720px,100% - 32px);box-shadow:var(--shadow);border-radius:16px;margin:32px auto;padding:24px}.initial-load-shell.error{border-color:var(--danger)}.account-activation-panel{border:1px solid #43d9ff80;border-left:4px solid var(--accent);width:min(760px,100% - 32px);box-shadow:var(--shadow);background:#02121ffa;border-radius:10px;margin:32px auto;padding:clamp(20px,4vw,32px)}.account-activation-panel.hidden{display:none}.account-activation-panel h2{margin:4px 0 10px}.account-activation-panel ul{color:var(--muted);gap:8px;margin:18px 0;padding-left:22px;display:grid}.account-activation-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=560px){.account-activation-actions>*{text-align:center;flex:100%}}.tabs{gap:6px;padding-bottom:14px;display:flex;overflow-x:auto}@media (width<=700px){.tabs{z-index:20;scrollbar-color:var(--accent) #16425b8c;scrollbar-width:thin;scroll-snap-type:x proximity;background:linear-gradient(90deg,#43d9ff38,#0000 24px) 0/32px 100% no-repeat,linear-gradient(270deg,#43d9ff38,#0000 24px) 100%/32px 100% no-repeat,#020b14f5;margin-inline:-10px;padding:10px 10px 12px;position:sticky;top:0}.tabs::-webkit-scrollbar{height:5px}.tabs::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}.tab{white-space:nowrap;scroll-snap-align:center;flex:none}}@media (pointer:coarse){button:not([disabled]),summary,.ghost-button,.shop-link{min-width:44px;min-height:44px}:is(label:has(input[type=checkbox]),label:has(input[type=radio])){min-height:44px}}.tab.active{background:var(--accent);color:#02101f;border-color:var(--accent)}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#03101da8;border-radius:14px;padding:clamp(16px,2vw,24px);display:none;position:relative}.panel:before{content:none}.panel.active{display:block}h2{font-family:var(--font-body);letter-spacing:-.015em;margin:0 0 24px;font-size:24px;font-weight:720;line-height:1.2}h2:before,h2:after{content:none}.onboarding-panel{border:1px solid #43d9ff61;border-left:4px solid var(--accent);background:#0617279e;border-radius:4px;gap:10px;margin:14px 0;padding:14px;display:grid}.onboarding-panel h2{margin-bottom:2px}.onboarding-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.onboarding-progress{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;padding:5px 9px}.onboarding-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.onboarding-actions button{text-align:left;width:100%;min-height:44px}.onboarding-actions button span{border:1px solid;border-radius:50%;place-items:center;width:23px;height:23px;margin-right:7px;display:inline-grid}.onboarding-actions li.completed button{border-color:var(--accent);color:var(--accent)}@media (width<=700px){.onboarding-actions{grid-template-columns:1fr}}.toolbar,.filters,.section-heading,.source-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar{margin:18px 0 22px}.form-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}label{color:var(--muted);gap:6px;font-size:15px;font-weight:500;display:grid}.form-grid .wide{grid-column:1/-1}.form-section{border:1px solid var(--line);grid-column:1/-1;margin:0;padding:16px}.form-section summary{cursor:pointer;color:var(--paper);font-weight:700}.form-section>p{color:var(--muted);margin:12px 0;font-size:15px}.health-fields{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}.health-review{border:1px solid var(--line);grid-column:1/-1;align-items:flex-start;gap:10px;padding:12px;display:flex}.health-review input{flex:none;margin-top:3px}.profile-confirmation{border:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.profile-confirmation p{margin:0}.training-day-context{grid-column:1/-1}.training-day-buttons{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.training-day-buttons button.active{border-color:var(--accent);background:#43d9ff24}input,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#020b14;border-radius:7px;padding:8px 10px;font-size:16px}input:focus,select:focus,button:focus-visible,.shop-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section-heading{justify-content:space-between;margin-bottom:14px}.filters{margin-bottom:14px}.filters input{max-width:280px}.filters select{max-width:220px}.source-actions input{width:min(420px,100%)}.source-actions select{width:170px}.section-heading.compact{margin-bottom:0}.section-heading.compact h3{color:var(--paper);margin:0;font-size:15px}td input,td select{min-width:86px;min-height:44px}td input[readonly]{color:#8fb9cf;background:#03101d}td .name-input,td .tag-input,td .note-input{min-width:160px}td .source-input{min-width:140px}.meal-fit-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-fit-options label{min-width:0;color:var(--text);letter-spacing:0;text-transform:none;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:800;display:inline-flex}.meal-fit-options input{width:16px;min-width:16px;height:16px;min-height:16px;accent-color:var(--accent)}.meal-fit-options.compact{gap:6px;min-width:190px}.meal-fit-options.compact label{background:#43d9ff0d;border:1px solid #43d9ff3d;border-radius:4px;padding:2px 4px;font-size:11px}.meal-fit-field{border:1px solid var(--line);border-radius:6px;margin:0;padding:10px 12px}.meal-fit-field legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 6px;font-size:11px;font-weight:800}.chart-toggle{min-height:34px;color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.chart-toggle input{width:16px;min-width:16px;height:16px;accent-color:var(--accent)}.modal-backdrop{z-index:20;background:#010a16d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop.hidden{display:none}.modal{border:1px solid var(--line);background:var(--panel);border-radius:2px;width:min(860px,100%);max-height:min(92vh,860px);overflow:auto;box-shadow:0 18px 54px #010a1694}.confirm-dialog{width:min(640px,100%);padding:20px}.confirm-dialog h2{margin-bottom:12px}.confirm-dialog p{margin:0}.confirm-dialog .modal-actions{margin-top:20px}.modal-header{z-index:1;border-bottom:1px solid var(--line);background:#020b14;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;position:sticky;top:0}.modal-header h2{margin:0}.modal-header button{width:38px;padding:0;font-size:24px;line-height:1}.modal-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 20px 20px;display:grid}.modal-form .wide{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=900px){.form-grid,.health-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.form-grid,.health-fields{grid-template-columns:1fr}.profile-confirmation{flex-direction:column;align-items:stretch}.section-heading,.source-actions,.filters{align-items:stretch}.section-heading{grid-template-columns:1fr;display:grid}.source-actions>*,.filters>*,.filters input,.filters select,.source-actions input,.source-actions select,.source-actions button{width:100%;max-width:none}.modal-form{grid-template-columns:1fr}}.sync-panel{gap:12px;display:grid}.sync-health{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sync-health-card{border:1px solid var(--line);border-left:4px solid var(--info);background:#020b14b8;border-radius:2px;padding:10px 12px}.sync-health-card.ok{border-left-color:var(--accent)}.sync-health-card.warn{border-left-color:var(--warn)}.sync-health-card.danger{border-left-color:var(--danger)}.sync-health-card span{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:700;display:block}.sync-health-card strong{color:var(--paper);margin-top:3px;font-size:15px;display:block}.sync-health-card small{color:var(--muted);margin-top:5px;font-size:14px;display:block}.operator-panel,.account-transfer-panel{border:1px solid var(--line);background:#020b1480;border-radius:2px;gap:10px;padding:12px;display:grid}.account-transfer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.account-lifecycle-actions{flex-wrap:wrap;gap:8px;display:flex}.sync-conflict-panel{border:1px solid #ff6f7880;border-left:4px solid var(--danger);background:#3c0b128c;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.sync-conflict-panel.hidden{display:none}.sync-recovery-panel{border-color:#ffc55c80;border-left-color:var(--warn);background:#3926088c}.sync-conflict-panel h3{color:var(--paper);margin:0 0 4px;font-size:15px}.sync-conflict-panel .source-note{margin:0}.sync-conflict-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.operator-token-result{background:#43d9ff14;border:1px solid #43d9ff59;gap:8px;padding:10px;display:grid}.operator-token-result code{overflow-wrap:anywhere;color:var(--paper);font-size:14px;display:block}.operator-token-result button{justify-self:start}.operator-tokens{gap:8px;display:grid}.operator-token-row{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.operator-token-row strong,.operator-token-row small{display:block}.operator-token-row small{color:var(--muted);font-size:14px}@media (width<=900px){.sync-conflict-panel{grid-template-columns:1fr}.sync-health{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.sync-conflict-actions{justify-content:stretch}.sync-conflict-actions button,.account-transfer-actions button{flex:100%}.sync-health{grid-template-columns:1fr}}.catalog-search-results{border:1px solid var(--line);background:#020b14eb;gap:6px;max-height:min(52vh,520px);margin:-6px 0 16px;padding:8px;display:grid;overflow:auto}.catalog-search-results.hidden{display:none}.catalog-search-result{background:#071927cc;border:1px solid #78abc733;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.catalog-search-result>div{gap:3px;min-width:0;display:grid}.catalog-result-select{width:max-content;color:var(--text);align-items:center;gap:6px;font-size:12px;display:inline-flex}.catalog-result-select input{width:16px;min-height:16px;margin:0}.catalog-bulk-actions{border:1px solid var(--accent);background:#082231f2;align-items:center;gap:10px;margin:-8px 0 16px;padding:10px 12px;display:flex}.catalog-bulk-actions.hidden{display:none}.catalog-search-result span{color:var(--muted);font-size:12px}.catalog-search-empty{color:var(--muted);margin:0;padding:10px}.food-quick-start{border:1px solid var(--line);background:#08223194;gap:12px;margin:0 0 16px;padding:14px;display:grid}.catalog-add-panel{border-top:1px solid var(--line);margin:14px 0;padding-top:14px}.food-quick-heading h3,.food-quick-heading p{margin:0 0 6px}.food-readiness{font-weight:700}.food-readiness.ready{color:var(--accent)}.food-readiness.warning{color:var(--warn)}.curated-food-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.curated-food-groups fieldset{border:1px solid #78abc740;align-content:start;gap:7px;min-width:0;margin:0;padding:10px;display:grid}.curated-food-groups legend{color:var(--accent);font-weight:700}.curated-food-groups p{min-height:32px;color:var(--muted);margin:0;font-size:12px}.curated-food-groups label{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;min-height:32px;font-size:13px;display:grid}.curated-food-groups input{width:18px;min-height:18px;margin:1px 0 0}.curated-food-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.curated-food-actions span{color:var(--muted);margin-right:auto}@media (width<=900px){.curated-food-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.catalog-search-result,.curated-food-groups{grid-template-columns:1fr}.curated-food-actions button{min-height:44px}}.food-review.hidden,.table-wrap.hidden{display:none}.table-wrap{border:1px solid var(--line);background:#020b1499;border-radius:2px;overflow:auto}.table-wrap.narrow{max-width:860px}.table-wrap.narrow table{min-width:620px}table{border-collapse:collapse;width:100%;min-width:1480px}.table-wrap.compact table{min-width:980px}.table-wrap.compact th:nth-child(2),.table-wrap.compact td:nth-child(2),.table-wrap.compact th:nth-child(3),.table-wrap.compact td:nth-child(3),.table-wrap.compact th:nth-child(4),.table-wrap.compact td:nth-child(4),.table-wrap.compact th:nth-child(8),.table-wrap.compact td:nth-child(8),.table-wrap.compact th:nth-child(10),.table-wrap.compact td:nth-child(10),.table-wrap.compact th:nth-child(11),.table-wrap.compact td:nth-child(11),.table-wrap.compact th:nth-child(13),.table-wrap.compact td:nth-child(13),.table-wrap.compact th:nth-child(14),.table-wrap.compact td:nth-child(14),.table-wrap.compact th:nth-child(16),.table-wrap.compact td:nth-child(16),.table-wrap.compact th:nth-child(17),.table-wrap.compact td:nth-child(17),.table-wrap.compact th:nth-child(18),.table-wrap.compact td:nth-child(18),.table-wrap.compact th:nth-child(20),.table-wrap.compact td:nth-child(20),.table-wrap.compact th:nth-child(21),.table-wrap.compact td:nth-child(21){display:none}.food-review{grid-template-columns:minmax(260px,.9fr) minmax(0,1.7fr);align-items:start;gap:14px;max-width:100%;display:grid}.food-review-list{border:1px solid var(--line);background:#020b1480;gap:8px;max-height:min(68vh,760px);padding:8px;display:grid;overflow:auto}.food-review-item{text-align:left;text-transform:none;letter-spacing:0;justify-items:start;gap:3px;width:100%;min-height:74px;display:grid}.food-review-item.active{border-color:var(--accent);background:#43d9ff1a}.food-review-item strong,.food-review-item span,.food-review-item small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.food-review-item span,.food-review-item small{color:var(--muted);font-size:11px}.food-detail-panel{border:1px solid var(--line);background:#020b1494;border-radius:2px;gap:12px;min-width:0;padding:12px;display:grid}.food-detail-heading h3{margin:0 0 6px;font-size:18px}.food-use-summary{color:var(--text);margin:0;font-size:14px}.food-detail-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;display:grid}.food-detail-grid.basic{grid-template-columns:repeat(2,minmax(180px,1fr))}.food-advanced-details{border:1px solid #78abc740;padding:10px}.food-advanced-details>summary{min-height:36px;color:var(--accent);cursor:pointer;font-weight:700}.food-advanced-details[open]>summary{margin-bottom:10px}.food-detail-grid label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;gap:5px;font-size:11px;font-weight:700;display:grid}.food-detail-grid .wide{grid-column:1/-1}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px;font-size:12px}th{z-index:1;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;background:#061727b8;font-size:10px;font-weight:600;position:sticky;top:0}.delete-button{color:var(--danger)}@media (width<=900px){.food-review{grid-template-columns:1fr}.food-review-list{max-height:260px}.food-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.food-review{gap:10px}.food-review-list{max-height:230px;padding:6px}.food-review-item{min-height:68px}.food-detail-panel{padding:10px}.food-detail-grid,.food-detail-grid.basic{grid-template-columns:1fr}.table-wrap{max-width:calc(100vw - 24px)}}.plan-quality{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.plan-quality-details{border:1px solid #43d9ff33;margin:0 0 18px;padding:10px}.plan-quality-details>summary,.meal-diagnostics>summary{min-height:34px;color:var(--accent);cursor:pointer;font-weight:700}.plan-quality-details[open]>summary,.meal-diagnostics[open]>summary{margin-bottom:10px}.plan-quality-details .plan-quality{margin-bottom:0}.plan-quality:empty{display:none}.quality-card{border:1px solid var(--line);border-left:4px solid var(--info);background:#020b14b8;border-radius:2px;padding:10px 12px}.quality-card.ok{border-left-color:var(--accent)}.quality-card.warn{border-left-color:var(--warn)}.quality-card.danger{border-left-color:var(--danger)}.quality-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.quality-card strong{color:var(--paper);margin-top:3px;font-size:16px;font-weight:700;display:block}.quality-card small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.meal-card{background:#020b149e;border:1px solid #16425b;border-radius:2px;margin-bottom:10px;padding:16px 12px 10px}.plan-preflight{border:1px solid var(--warn);background:#ffc24714;margin:12px 0;padding:14px}.plan-preflight h3,.plan-preflight p{margin-top:0}.plan-preflight ul{gap:8px;margin-bottom:0;padding-left:20px;display:grid}.plan-freshness{border:1px solid var(--warn);background:#ffc24714;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.plan-freshness p{margin:0}@media (width<=560px){.plan-freshness{flex-direction:column;align-items:stretch}}.meal-card.locked{border-color:#f2c15fc7}.meal-head{grid-template-columns:minmax(110px,.28fr) minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.lock-meal-button{color:#f2c15f;border-color:#f2c15f80;min-width:82px}.lock-meal-button.active{border-color:var(--warn);background:#f2c15f29}.meal-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.meal-swap-reasons{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.meal-swap-reasons span{width:100%;color:var(--muted);font-size:.9rem}.recipe-meal-button{min-width:72px}.refresh-meal-button{color:var(--accent);border-color:#43d9ff80}.meal-card h3{font-family:var(--font-mono);color:var(--paper);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:16px;font-weight:600;line-height:1}.meal-totals{justify-content:flex-end}.plan-day-summary{margin:8px 0 12px}.plan-day-summary h3{color:var(--muted);margin:0;font-size:12px}.totals{color:var(--muted);flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.totals span{min-height:21px;color:var(--paper);letter-spacing:.04em;background:#010b14;border:1px solid #16425b;border-radius:2px;align-items:center;padding:2px 6px;font-size:9px;font-weight:600;display:inline-flex}.meal-items{gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.meal-reason{color:var(--muted);margin:8px 0 0;font-size:11px}.meal-items li{border-top:1px solid #12374d;grid-template-columns:minmax(0,1fr) 58px auto;align-items:baseline;gap:10px;padding:4px 0;display:grid}.meal-items li:first-child{border-top:0;padding-top:0}.meal-items strong{font-size:13px;font-weight:500}.meal-items span{color:var(--accent);font-size:13px;font-weight:600}.meal-diagnostics{border-top:1px solid #43d9ff33;margin-top:12px;padding-top:8px}.meal-diagnostic-items{color:var(--muted);gap:5px;margin:8px 0;padding-left:18px;font-size:11px;display:grid}.generator-rules-panel,.plan-audit,.meal-audit{background:#010b1470;border:1px solid #43d9ff33;border-radius:2px;margin-top:14px}.generator-rules-panel{padding:14px}.generator-rules-panel h3{font-family:var(--font-mono);color:var(--paper);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.generator-rules{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;display:grid}.generator-rules article{border-left:3px solid var(--accent);padding-left:10px}.generator-rules h4{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;font-size:11px}.generator-rules ul,.plan-audit ul,.meal-audit ul{color:var(--muted);margin:0;padding-left:18px;font-size:11px}.plan-audit,.meal-audit{padding:8px 10px}.plan-audit summary,.meal-audit summary{cursor:pointer;color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}@media (width<=900px){.plan-quality{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.plan-quality,.generator-rules{grid-template-columns:1fr}.quality-card,.meal-card,.generator-rules-panel,.plan-quality-details,.plan-audit,.meal-audit{padding:10px}.meal-card{margin-bottom:8px}.generator-rules{gap:7px}.generator-rules article{padding-left:8px}.meal-head,.meal-items li{grid-template-columns:1fr;gap:2px}.meal-totals,.meal-actions{justify-content:flex-start}.local-food-replacement-controls{grid-template-columns:1fr}}.replace-food-button{justify-self:start;padding:4px 8px;font-size:11px}.plan-day-tabs{gap:7px;margin-bottom:10px;padding-bottom:4px;display:flex;overflow-x:auto}.plan-day-tabs button{flex:none;min-height:36px}.plan-day-tabs button.active{border-color:var(--accent);color:var(--paper);background:#43d9ff24}@media (width<=700px){.plan-day-tabs{z-index:15;scroll-snap-type:x proximity;background:#020b14f5;margin-inline:-8px;padding:8px;position:sticky;top:64px}.plan-day-tabs button{scroll-snap-align:center}}.batch-cooking-card{background:#43d9ff0f;border:1px solid #43d9ff38;margin-top:12px;padding:12px}.batch-cooking-card h3{margin:0 0 7px}.batch-cooking-card ul{color:var(--muted);gap:4px;margin:0;padding-left:18px;font-size:11px;display:grid}.local-food-replacement{border-top:1px solid var(--line);grid-column:1/-1;gap:8px;width:100%;margin-top:8px;padding-top:8px;display:grid}.local-food-replacement-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.local-food-replacement-head h4{margin:0}.local-food-replacement-controls{grid-template-columns:minmax(180px,1fr) minmax(130px,220px);gap:8px;display:grid}.local-food-replacement .pattern-food-card{margin-top:5px}.day-preparation-context{border:1px solid var(--line);border-radius:.7rem;margin:.75rem 0;padding:.8rem}.day-preparation-context h3,.day-preparation-context p{margin:0 0 .55rem}.day-preparation-actions{flex-wrap:wrap;gap:.45rem;display:flex}.day-preparation-actions button{min-height:2.75rem}.day-preparation-actions button.active{border-color:var(--accent);color:var(--accent)}.pattern-guided-start{background:linear-gradient(135deg,#43d9ff1a,#010b1480);border:1px solid #43d9ff3d;border-radius:2px;gap:12px;margin-bottom:14px;padding:14px;display:grid}.pattern-guided-start h3,.pattern-guided-start p{margin:0}.pattern-guided-start p{color:var(--muted);margin-top:4px;font-size:11px}.pattern-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pattern-preset-card{text-align:left;justify-items:start;gap:5px;min-height:66px;display:grid}.pattern-preset-card strong{color:var(--paper)}.pattern-preset-card span{color:var(--muted);font-size:10px}.pattern-workspace{grid-template-columns:minmax(190px,.22fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.pattern-sidebar,.pattern-editor,.food-picker,.pattern-slots{background:#010b1470;border:1px solid #43d9ff33;border-radius:2px}.pattern-sidebar{padding:8px}.pattern-list{gap:8px;display:grid}.pattern-list-item{text-align:left;justify-items:start;gap:4px;width:100%;min-height:58px;display:grid}.pattern-list-item.active{border-color:var(--accent);background:#43d9ff1f}.pattern-list-item strong{color:var(--paper);font-size:12px}.pattern-list-item span{color:var(--muted);font-size:10px}.pattern-editor{padding:14px}.pattern-advanced{border:1px solid #43d9ff29;margin-bottom:12px;padding:8px 10px}.pattern-advanced summary{cursor:pointer;color:var(--muted);font-size:11px}.pattern-advanced[open] summary{color:var(--paper);margin-bottom:10px}.pattern-editor:not(:has(.pattern-advanced[open])) .slot-head select{display:none}.pattern-editor:not(:has(.pattern-advanced[open])) .advanced-only{display:none}.pattern-editor:not(:has(.pattern-advanced[open])) .slot-head{grid-template-columns:minmax(0,1fr) auto auto}.pattern-editor-head{grid-template-columns:minmax(0,1fr) 160px;gap:12px;margin-bottom:12px;display:grid}.pattern-builder{grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);gap:12px;margin-top:14px;display:grid}.food-picker,.pattern-slots{padding:10px}.food-picker h3{color:var(--paper);margin:0 0 9px;font-size:13px}.food-picker-controls{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:10px;display:grid}.pattern-food-list{gap:7px;max-height:560px;padding-right:3px;display:grid;overflow:auto}.pattern-food-card{text-align:left;justify-items:start;gap:3px;width:100%;min-height:48px;display:grid}.pattern-food-card strong{color:var(--paper);font-size:11px}.pattern-food-card span{color:var(--muted);font-size:10px}.slot-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.slot-grid{gap:10px;display:grid}.pattern-quality-preview{margin-bottom:10px}.pattern-quality-card{background:#43d9ff0f;border:1px solid #43d9ff2e;border-radius:2px;gap:9px;padding:10px;display:grid}.pattern-quality-card h3{color:var(--paper);margin:0;font-size:13px}.pattern-quality-metrics{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;display:grid}.pattern-quality-warnings{color:var(--warn);gap:4px;margin:0;padding-left:18px;font-size:11px;display:grid}.slot-card{background:#020b149e;border:1px solid #16425b;border-radius:2px;padding:10px}.slot-card.active,.slot-card.drop-target{border-color:var(--accent);box-shadow:0 0 0 1px #43d9ff2e}.slot-head{grid-template-columns:minmax(0,1fr) 150px auto auto auto;align-items:center;gap:8px;display:grid}.choose-slot-foods{white-space:nowrap}.slot-status{color:var(--muted);white-space:nowrap;font-size:10px}.slot-status.complete{color:var(--accent)}.slot-foods{flex-wrap:wrap;gap:7px;min-height:42px;margin-top:10px;display:flex}.slot-food-chip{min-height:28px;color:var(--paper);border-color:#43d9ff52;padding:4px 8px;font-size:10px}.slot-empty{color:var(--muted);margin:0;font-size:11px}@media (width<=900px){.pattern-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-workspace,.pattern-builder{grid-template-columns:1fr}.food-picker{scroll-margin-top:72px}}@media (width<=560px){.pattern-guided-start{padding:10px}.pattern-preset-grid{grid-template-columns:1fr 1fr}.slot-card,.pattern-sidebar,.pattern-editor,.food-picker,.pattern-slots{padding:8px}.pattern-list,.pattern-food-list,.slot-grid{gap:7px}.pattern-builder{gap:8px;margin-top:10px}.pattern-food-list{max-height:260px}.pattern-editor-head,.slot-head{grid-template-columns:1fr;gap:2px}}.favorite-assembly-card{border:1px solid var(--line);border-radius:.7rem;gap:.5rem;padding:.6rem;display:grid}.favorite-assembly-card .pattern-list-item{width:100%}.favorite-assembly-actions{flex-wrap:wrap;gap:.35rem;display:flex}.favorite-assembly-actions button,.favorite-assembly-repairs select{min-height:2.75rem}.favorite-assembly-repairs label{color:var(--warn);gap:.35rem;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.target-summary-heading,.plan-setup-heading{justify-content:space-between;align-items:end;gap:16px;margin:18px 0 10px;display:flex}.target-summary-heading h2,.plan-setup-heading h2,.target-summary-heading p,.plan-setup-heading p{margin:0}.target-summary-heading>p{max-width:390px;color:var(--muted);text-align:right}.plan-setup-summary{background:#06172761;border:1px solid #43d9ff47;border-radius:4px;margin:14px 0;padding:14px}.plan-setup-heading{align-items:start;margin-top:0}.plan-setup-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.plan-setup-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;display:grid}.plan-setup-grid>div{border-left:3px solid var(--accent);background:#010b148c;padding:9px 10px}.plan-setup-grid dt{color:var(--muted);font-size:13px}.plan-setup-grid dd{color:var(--paper);margin:2px 0 0;font-weight:700}.plan-estimate-note{color:var(--text);margin:12px 0 6px}.plan-trust-list{color:var(--muted);gap:4px;margin:0;padding-left:20px;display:grid}.metric{background:#0617277a;border:1px solid #155171;border-radius:4px;padding:9px 12px;position:relative}.metric span,.metric small{color:var(--muted);letter-spacing:0;font-size:14px}.metric strong{color:var(--accent);margin-top:2px;font-size:19px;font-weight:500;display:block}.calculation-panel{border:1px solid var(--line);background:#020c16;border-radius:2px;margin-top:12px;padding:10px}.calculation-panel summary{cursor:pointer;color:var(--text);letter-spacing:.02em;font-size:15px;font-weight:600}.calculation-panel[open] summary{margin-bottom:10px}.calculation-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.calculation-details span{color:var(--muted);font-size:15px;display:block}.calculation-details strong{margin-top:2px;display:block}.status-text{color:var(--muted);margin:0;font-size:15px}.status-text.success{color:var(--accent)}.status-text.warning{color:var(--warn)}.status-text.error{color:var(--danger)}.toast{z-index:40;pointer-events:none;border:1px solid var(--line);border-left:5px solid var(--info);max-width:min(420px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);background:#020b14;border-radius:2px;padding:11px 14px;font-weight:700;position:fixed;bottom:16px;right:16px}.toast.success{border-left-color:var(--accent)}.toast.warning{border-left-color:var(--warn)}.toast.error{border-left-color:var(--danger)}.undo-action{z-index:40;box-shadow:var(--shadow);position:fixed;bottom:74px;right:16px}.two-column{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.hidden{display:none}.source-note{color:var(--muted);margin:-6px 0 14px}.empty-state{color:var(--muted);background:#43d9ff0e;border:1px dashed #43d9ff52;border-radius:2px;gap:4px;padding:12px;display:grid}.empty-state strong{color:var(--paper);font-size:16px}.empty-state p{margin:0;font-size:15px}.warning{color:var(--warn);border-left:3px solid var(--warn);padding-left:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.app-header,.two-column{grid-template-columns:1fr}.app-header{display:grid}.account-menu{justify-self:start}.summary-grid,.calculation-details,.plan-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.app-shell{padding:14px 10px 28px}.tabs{padding-bottom:10px}.panel{padding:12px 10px}h2{margin-bottom:16px;font-size:17px}.metric{padding:10px}.account-menu,.account-menu summary,.account-menu-panel,.account-menu .ghost-button,.account-menu button{width:100%;max-width:none}.account-menu-panel{margin-top:8px;position:static}.summary-grid,.calculation-details{grid-template-columns:1fr}.target-summary-heading,.plan-setup-heading{flex-direction:column;align-items:stretch}.target-summary-heading>p{text-align:left}.plan-setup-actions,.plan-setup-actions button{width:100%}.plan-setup-grid{grid-template-columns:1fr}.toast{max-width:calc(100vw - 20px);bottom:10px;right:10px}}.shopping-panel{border:1px solid var(--line);background:#020c16;border-radius:2px;margin-top:12px;padding:10px}.shopping-panel summary{cursor:pointer;color:var(--text);letter-spacing:.02em;font-size:13px;font-weight:600}.shopping-panel[open] summary{margin-bottom:10px}.trend-panel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.weight-current-status{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);margin:0 0 14px;padding:10px 12px}.calibration-lab{border:1px solid var(--line);background:var(--panel-2);margin-top:14px;padding:12px}.calibration-lab summary{cursor:pointer;font-weight:700}.calibration-lab>p{max-width:72ch}.trend-metric{border:1px solid var(--line);background:var(--panel-2);border-radius:2px;padding:10px 12px}.trend-metric span{color:var(--muted);font-size:13px;display:block}.trend-metric strong{color:var(--paper);margin-top:2px;font-size:18px;display:block}.weight-chart{border:1px solid var(--line);min-height:240px;color:var(--muted);background:linear-gradient(135deg,#43d9ff0f,#0000 42%),repeating-linear-gradient(0deg,#f7fbff05 0 1px,#0000 1px 5px),repeating-linear-gradient(90deg,#43d9ff06 0 1px,#0000 1px 42px),#020b149e;border-radius:2px;margin:0 0 14px;padding:14px;box-shadow:inset 0 0 0 1px #43d9ff0a,inset 0 0 42px #43d9ff09}.weight-chart svg{width:100%;height:min(340px,42vw);min-height:250px;display:block}.chart-grid line,.chart-axis line{stroke:#43d9ff2e;stroke-width:1px}.chart-grid .chart-time-grid{stroke:#43d9ff14}.chart-grid text,.chart-axis text,.chart-points text,.chart-title text{fill:var(--muted);font-family:var(--font-mono);font-size:11px}.chart-title text{fill:var(--accent);letter-spacing:.08em;font-weight:700}.chart-title line{stroke:#43d9ff52}.chart-area{fill:url(#weightChartArea);stroke:none}.chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:url(#weightChartGlow)}.chart-projection{fill:none;stroke:#43d9ffad;stroke-width:2px;stroke-dasharray:8 7;stroke-linecap:round}.chart-goal line{stroke:#ff6f789e;stroke-width:2px;stroke-dasharray:4 5}.chart-goal text{fill:#ff9b9f;font-family:var(--font-mono);letter-spacing:.05em;font-size:11px;font-weight:700}.chart-points circle{fill:var(--accent);stroke:#01070d;stroke-width:3px;filter:url(#weightChartGlow)}.chart-points text{fill:var(--paper);font-weight:700}.chart-projection-point circle{fill:#0000;stroke:#43d9ffb8;stroke-width:2px}.chart-projection-point text{fill:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;font-size:11px}.chart-goal-point circle{fill:#01070d;stroke:#ff9b9f;filter:url(#weightChartGlow)}.chart-goal-point text{fill:#ffb7ba;font-weight:700}#weightTable th:last-child,#weightTable td:last-child{text-align:right;width:132px}.weight-current-button{min-width:154px}.weight-delete-button{color:#ff9b9f;border-color:#ff5d686b;min-width:112px}.weight-delete-button:hover{border-color:var(--danger);color:#ff5d68}.shopping-list ul{margin:0;padding-left:0;list-style:none}.shop-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.shop-actions .source-note{flex-basis:100%;margin:0}.shopping-items{gap:8px;display:grid}.shopping-sections{gap:18px;display:grid}.shopping-sections h3{color:var(--paper);margin:0 0 7px;font-size:15px}.shopping-items li{border:1px solid var(--line);background:#020b14;border-radius:2px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;display:grid}.shopping-checklist,.shopping-pantry-item,.shopping-pantry-filter{align-items:center;gap:8px;display:inline-flex}.shopping-checklist input,.shopping-pantry-item input,.shopping-pantry-filter input{width:20px;height:20px;accent-color:var(--accent);margin:0}.shopping-pantry-item{color:var(--muted);white-space:nowrap;font-size:13px}.shopping-items li.is-checked .shopping-item-main{opacity:.62;text-decoration:line-through}.shopping-list.hide-pantry-items .shopping-items li.is-pantry{display:none}.shopping-item-main{gap:2px;display:grid}.shopping-item-main strong{color:var(--paper);font-weight:600}.shopping-item-main span{color:var(--accent);font-weight:600}.shopping-item-main small{color:var(--muted)}.shop-links{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.shop-link{border:1px solid var(--line);min-height:44px;color:var(--text);letter-spacing:.02em;background:#020b14;border-radius:2px;align-items:center;padding:6px 9px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.shop-link:hover{border-color:var(--accent)}@media (width<=900px){.trend-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.trend-panel{grid-template-columns:1fr}.trend-metric{padding:10px}.shopping-items li{grid-template-columns:1fr;gap:8px}.shop-links{justify-content:flex-start}}@media print{@page{size:A4;margin:8mm}body{background:#fff;font-size:10px;line-height:1.2}.app-header,.tabs,.summary-grid,.calculation-panel,.toolbar,#shoppingList,#overview>.two-column>section:nth-child(2),.panel:not(#overview),.modal-backdrop{display:none!important}.app-shell,.panel{width:100%;box-shadow:none;border:0;margin:0;padding:0}#overview,.two-column{display:block}.meal-card{break-inside:avoid;border-color:#cfd8d1;border-radius:5px;margin-bottom:2.2mm;padding:2.2mm 3mm}h2{margin-bottom:3mm;font-size:14px}.meal-card h3{font-size:13px}.meal-head{grid-template-columns:minmax(60px,.22fr) minmax(0,1fr);gap:5px}.totals{gap:4px 6px;margin:0}.totals span:nth-child(4),.totals span:nth-child(6){display:none}.meal-items{gap:1mm;margin-top:1.5mm}.meal-items li{grid-template-columns:minmax(0,1fr) 38px 64px;gap:4px;padding-top:1mm}.meal-items small{white-space:nowrap}.meal-items em,.plan-audit,.meal-audit,.generator-rules-panel{display:none}.table-wrap{overflow:visible}}
