:root{font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#243c4d;background:#f3f9fd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f3f9fd;--surface: #fff;--surface-2: #f1f8fc;--text: #243c4d;--muted: #5b7488;--line: #dce9f2;--line-strong: #adc9dc;--accent: #267398;--accent-soft: #e4f3fc;--accent-text: #24698e;--amber: #9b712c;--amber-soft: #fbf3e4;--danger: #b3544c;--shadow: 0 12px 40px #184c7014;--primary-bg: #b9e3f8;--primary-text: #184d6a;--primary-hover: #9ed6f2;--primary-border: #9acee8;--radius: 18px;font-size:14px}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1720;--surface: #172531;--surface-2: #1d2f3e;--text: #e1eef7;--muted: #a4bacb;--line: #2b4254;--line-strong: #64859e;--accent: #88d0f2;--accent-soft: #1c3b50;--accent-text: #b8e8fd;--amber: #e1bd7a;--amber-soft: #3c3221;--danger: #e49d94;--shadow: 0 12px 40px #0005;--primary-bg: #92d3f1;--primary-text: #14364b;--primary-hover: #b2e5fc;--primary-border: #a0dcf7;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:3px}p{line-height:1.8}h1,h2,h3,p{margin-top:0}h2{font-size:16px;letter-spacing:.025em;margin-bottom:0;font-weight:650}h3{font-size:14px;font-weight:650;line-height:1.6;margin-bottom:8px}small{font-size:11px;line-height:1.6}svg{flex-shrink:0}input,select,textarea{width:100%;min-height:43px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;min-width:0}input[type=checkbox]{width:17px;min-height:17px;height:17px;accent-color:var(--accent);flex-shrink:0}input[type=file]{font-size:12px}input[type=date]{font-size:13px}select{padding-right:24px}fieldset{border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0}legend{padding:0 8px;font-weight:650}hr{border:0;border-top:1px solid var(--line);margin:26px 0}details summary{cursor:pointer;color:var(--accent);padding:16px 0;font-size:13px}details[open]>summary{margin-bottom:8px}button{transition:background .16s,color .16s,border-color .16s}button:hover:not(:disabled){background:var(--surface-2)}.primary,.subtle,.eat-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-radius:9px;white-space:nowrap;padding:10px 15px;font-size:12px;font-weight:600}.primary{color:var(--primary-text);background:var(--primary-bg);border:1px solid var(--primary-border)}.primary:hover:not(:disabled){background:var(--primary-hover)}.subtle{background:var(--surface);border:1px solid var(--line)}.subtle:hover:not(:disabled){border-color:var(--line-strong)}.icon-button{padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;min-width:32px;min-height:32px}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;padding:0;text-decoration:none}.muted{color:var(--muted);font-size:12px}.danger{color:var(--danger)}.positive{color:var(--accent)}.spacious{padding:22px 0}.padded{padding:22px}.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);padding:35px 19px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;margin:0 6px 47px;color:var(--text);text-decoration:none;font-size:17px;font-weight:700;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.22em;margin-top:4px}.brand-mark{width:38px;height:41px;background:var(--primary-bg);color:var(--primary-text);display:grid;place-items:center;border-radius:12px 12px 16px 6px}.nav-caption{font-size:9px;letter-spacing:.16em;color:var(--muted);padding:0 17px 13px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{height:47px;display:flex;align-items:center;gap:14px;border-radius:9px;padding:0 16px;font-size:13px;color:var(--muted);text-align:left}.sidebar nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.active-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:auto}.nav-divider{height:1px;background:var(--line);margin:26px 14px 22px}.sidebar-foot{margin-top:auto;padding:50px 16px 0;color:var(--muted);font-size:11px;line-height:1.9}.mini-leaf{display:block;color:var(--line-strong);margin-bottom:10px}.main-shell{margin-left:224px;width:calc(100% - 224px);min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--bg)}.date-line{font-size:12px;color:var(--muted);font-weight:500}.top-actions{display:flex;align-items:center;gap:19px}.storage-status{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.avatar{width:33px;height:33px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:12px}main{max-width:1590px;margin:auto;padding:35px 42px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:.19em;color:var(--accent);margin-bottom:11px;font-weight:650}h1{font-size:28px;font-weight:650;letter-spacing:.055em;line-height:1.5;margin:0 0 6px}.page-heading p{font-size:12px;color:var(--muted);margin:0;letter-spacing:.025em}.preview-banner{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px 13px;font-size:10px;color:var(--muted);margin-bottom:27px;background:var(--surface-2)}.preview-banner span:last-child{border-left:1px solid var(--line-strong);padding-left:10px;margin-left:4px}.status-dot{width:5px;height:5px;background:var(--amber);border-radius:50%}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-line h2{display:flex;align-items:center;gap:15px}.small-caption{font-size:11px;font-weight:400;color:var(--muted)}.segmented{display:inline-flex;background:var(--line);border:3px solid var(--line);border-radius:8px;padding:0;gap:2px;flex-shrink:0}.segmented button{font-size:11px;min-height:28px;padding:5px 15px;border-radius:5px;color:var(--muted);white-space:nowrap}.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000009}.segmented.full{display:flex;margin-bottom:20px}.segmented.full button{flex:1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 21px}.metric-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:550;white-space:nowrap}.metric-label>.muted{margin-left:auto;font-size:9px;font-weight:400}.metric-symbol{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e6f5fd;color:#397fa5;font-size:11px;font-weight:650}.metric-p .metric-symbol{color:#8274ab;background:#f0edf9}.metric-f .metric-symbol{color:#b2a046;background:#f8f4dc}.metric-c .metric-symbol{color:#4e8dab;background:#e5f4fc}.metric-number{font-size:33px;letter-spacing:-.03em;font-weight:600;line-height:1.35;margin:18px 0 16px;font-variant-numeric:tabular-nums}.metric-number small{font-size:11px;color:var(--muted);font-weight:400;margin-left:7px;letter-spacing:0}.progress{height:4px;border-radius:9px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:9px}.metric-p .progress>span{background:#ab9bd3}.metric-f .progress>span{background:#cfbf72}.metric-c .progress>span{background:#79bfdf}.metric-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:10px}.inline-tip{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);padding:13px 0 22px}.inline-tip svg{color:var(--accent)}.inline-tip button{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:11px;margin-left:auto;white-space:nowrap}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:23px;margin-top:8px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;overflow:hidden;margin-bottom:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 19px;gap:10px}.panel-heading p{font-size:10px;color:var(--muted);margin:7px 0 0}.panel-heading>svg{color:var(--muted)}.meal-panel .panel-heading{border-bottom:1px solid var(--line);padding-bottom:21px}.meal-slot{padding:21px 25px;border-bottom:1px solid var(--line)}.meal-slot:last-child{border-bottom:0}.slot-label{display:flex;align-items:center;gap:9px;margin-bottom:10px}.slot-label h3{margin:0;font-size:12px}.slot-dot{width:7px;height:7px;border-radius:50%;background:#d5b76d}.slot-1{background:#8bc2de}.slot-2{background:#b7a6ce}.slot-3{background:#8aaac5}.slot-label .icon-button{margin-left:auto;color:var(--muted)}.unplanned{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;font-size:11px;color:var(--muted);padding-left:16px}.unplanned button{font-size:10px;color:var(--accent);padding:7px 10px;background:var(--surface-2);border-radius:6px}.meal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.meal-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-title strong{font-size:13px;font-weight:550}.meal-main{min-width:0}.meal-meta{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:7px}.meal-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.eat-button{background:var(--accent-soft);color:var(--accent);font-size:10px;padding:7px 10px;min-height:33px}.badge{display:inline-flex;gap:4px;align-items:center;font-size:9px;line-height:1.6;border-radius:5px;background:var(--surface-2);color:var(--muted);padding:3px 7px;font-weight:500;white-space:nowrap}.badge.green{background:var(--accent-soft);color:var(--accent-text)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.planned{background:var(--surface-2);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--line-strong)}.meal-state-guide{padding:15px 24px;background:var(--surface-2);border-bottom:1px solid var(--line)}.meal-state-steps{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--muted)}.meal-state-guide p{margin:9px 0 0;font-size:11px;line-height:1.8;color:var(--muted)}.meal-record-actions{display:flex;gap:7px;flex-wrap:wrap}.meal-record-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 11px;min-height:48px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:9px;text-align:left;color:var(--text)}.meal-record-button>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.meal-record-button>small{font-size:10px;color:var(--muted);line-height:1.5;white-space:normal}.meal-record-button.record-primary{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary-text)}.meal-record-button.record-primary>small{color:var(--primary-text)}.meal-record-button.record-primary:hover:not(:disabled){background:var(--primary-hover)}.meal-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.meal-impact>div{display:grid;grid-template-columns:20px 1fr;gap:6px;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.meal-impact svg{color:var(--accent)}.meal-impact span{font-size:11px;color:var(--muted)}.meal-impact strong{grid-column:1/-1;font-size:12px;line-height:1.6}.meal-edit-status{display:flex;align-items:center;gap:9px;margin:12px 0 18px;font-size:12px;color:var(--muted)}@media(max-width:700px){.meal-record-actions{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.meal-row:not(.compact) .meal-main{flex-basis:100%}.meal-row:not(.compact) .meal-actions{width:100%;min-width:0}.meal-record-button{padding:9px}.meal-record-button>span{font-size:11px;flex-wrap:wrap}.meal-record-button>small{font-size:10px}.meal-state-guide{padding:13px 20px}.meal-impact{gap:8px}.meal-impact>div{padding:10px}}@media(max-width:380px){.meal-record-actions{grid-template-columns:minmax(0,1fr)}}.green-panel{background:var(--accent-soft);border-color:transparent;padding-bottom:23px}.green-panel .panel-heading{padding-bottom:23px}.green-panel h2{font-size:13px}.green-panel .muted{padding:0 24px;margin:19px 0 16px}.green-panel .text-link{margin-left:24px;font-size:10px}.week-dots{display:flex;justify-content:space-between;padding:0 23px}.week-dots>div{display:grid;place-items:center;gap:12px;font-size:9px;color:var(--muted)}.day-circle{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:color-mix(in srgb,var(--surface) 55%,transparent)}.current .day-circle{border:1px solid var(--accent);color:var(--accent)}.day-circle.done{background:var(--accent);color:var(--surface)}.dashboard-aside>.panel:not(.green-panel){padding:0 24px 23px}.dashboard-aside>.panel:not(.green-panel) .panel-heading{padding:23px 0 8px}.dashboard-aside>.panel h2{font-size:13px}.notice-count{font-size:32px;margin:13px 0}.notice-count small{font-size:11px;font-weight:400;color:var(--muted);margin-left:7px}.expiry-mini{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.expiry-mini small{display:block;font-size:9px;color:var(--amber)}.dashboard-aside>.panel .text-link{margin-top:15px}.quiet-card{display:flex;gap:13px;color:var(--accent);padding:5px 8px}.quiet-card p{font-size:10px}.quiet-card p span{color:var(--muted);font-size:9px}.footer{max-width:1500px;margin:auto;padding:0 42px 25px;color:var(--muted);font-size:10px;display:flex;gap:20px}.footer span{font-size:9px}.mobile-nav{display:none}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.toolbar-actions{display:flex;gap:8px}.tabs{display:flex;align-items:center;gap:25px}.tabs>button{font-size:13px;min-height:45px;display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent;padding:8px 0;color:var(--muted);white-space:nowrap}.tabs>button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.tabs>button>span:not(.badge){font-size:10px;min-width:20px;height:20px;background:var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0 13px;max-width:450px;margin-bottom:20px;color:var(--muted);min-width:0}.search-box input{background:none;border:0;min-height:43px;padding-left:3px;font-size:12px}.toolbar .search-box{margin:0;flex:1}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.food-tile{text-align:left;background:var(--surface);border:1px solid var(--line);padding:21px;border-radius:13px;display:flex;align-items:center;gap:17px;min-width:0}.food-tile>div:not(.tile-icon){min-width:0;flex:1}.food-tile h3{margin:0 0 5px;overflow-wrap:anywhere}.food-tile p,.food-tile small{color:var(--muted);font-size:10px;margin:0}.tile-icon{position:relative;width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.cloud-sync-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 15px;margin-bottom:20px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-size:11px}.cloud-sync-note .text-link{margin:0;font-size:11px}.tile-icon.frozen{color:var(--accent);background:var(--accent-soft)}.food-icon{display:inline-block;flex-shrink:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.2em;font-style:normal;font-weight:400;line-height:1.2;margin-inline-end:.35em;vertical-align:-.08em}.tile-icon .food-icon{margin:0;font-size:27px}.food-frozen-mark{position:absolute;right:-4px;bottom:-3px;padding:2px;box-sizing:content-box;border:2px solid var(--surface);border-radius:50%;background:var(--accent-soft)}.food-form-identity{display:flex;align-items:center;gap:12px;margin:16px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--accent-soft)}.food-form-identity p{min-width:0;margin:0;overflow-wrap:anywhere}.food-form-identity strong{font-size:12px}.food-form-identity small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.empty{padding:45px 25px;text-align:center;grid-column:1/-1;min-width:0}.empty-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:20px;background:var(--accent-soft);color:var(--accent);margin:0 auto 20px}.empty h3{font-size:16px;font-weight:550}.empty p{font-size:12px;color:var(--muted);margin-bottom:23px}.empty .primary{margin-top:6px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line)}.recipe-image{width:100%;height:150px;display:grid;place-items:center;background:var(--accent-soft);color:var(--line-strong);padding:0}.recipe-image img{width:100%;height:100%;object-fit:cover}.recipe-content{padding:20px}.recipe-name{font-size:14px;font-weight:650;padding:0;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;gap:10px}.recipe-content>p{font-size:10px;color:var(--muted);margin:8px 0 15px}.recipe-numbers{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted);align-items:baseline}.recipe-numbers strong{font-size:19px;color:var(--text)}.recipe-numbers small{font-size:9px;margin-left:3px;font-weight:400}.recipe-content .text-link{margin-top:16px;font-size:10px}.week-control{display:flex;align-items:center;gap:10px}.week-control strong{font-size:16px}.week-control strong small{margin-left:10px;font-size:11px;color:var(--muted);font-weight:400}.section-tabs{margin-bottom:19px;border-bottom:1px solid var(--line)}.week-menu{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.day-column{border-right:1px solid var(--line);min-width:0}.day-column:last-child{border:0}.day-heading{display:flex;gap:7px;align-items:center;justify-content:center;height:60px;border-bottom:1px solid var(--line)}.day-heading>span{color:var(--muted);font-size:11px}.day-heading strong{font-size:20px;font-weight:500}.day-heading small{background:var(--accent);color:var(--bg);font-size:8px;padding:2px 4px;border-radius:4px}.is-today .day-heading{background:var(--accent-soft)}.day-energy{font-size:13px;text-align:center;padding:14px 5px;border-bottom:1px solid var(--line)}.day-energy small{font-size:9px;color:var(--muted)}.week-slot{padding:13px 10px;min-height:146px;border-bottom:1px solid var(--line)}.week-slot:last-child{border:0}.week-slot-name{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.empty-slot{font-size:9px;color:var(--line-strong);width:100%;margin-top:14px;border:1px dashed var(--line);border-radius:6px;padding:10px 3px}.meal-row.compact{background:var(--surface-2);border-radius:6px;padding:10px 6px;margin-top:8px;display:block;position:relative}.compact .meal-title strong{font-size:10px;padding-right:12px;overflow-wrap:anywhere}.compact .meal-title .badge{font-size:9px;padding:2px 4px}.compact .meal-meta{font-size:8px;gap:3px}.compact .meal-actions{position:absolute;right:0;top:3px}.compact .meal-actions .icon-button{padding:2px;min-width:18px}.template-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.template-preview>div{border:1px solid var(--line);border-radius:10px;padding:12px}.nutrition-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:22px 24px;border-bottom:1px solid var(--line)}.nutrition-toolbar>.muted{margin-left:auto;font-size:10px}.nutrition-table-wrap{overflow-x:auto}.nutrition-table{border-collapse:collapse;width:100%;font-size:10px;min-width:940px;text-align:right}.nutrition-table th,.nutrition-table td{padding:14px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.nutrition-table thead th{font-size:10px;font-weight:500;background:var(--surface-2);color:var(--muted)}.nutrition-table th:first-child{text-align:left;min-width:118px;padding-left:23px}.nutrition-table tbody th{font-weight:500}.nutrition-table td strong{font-weight:500;font-size:12px}.nutrition-table small{display:block;font-weight:400;color:var(--muted);font-size:8px;margin-top:5px}.nutrient-name{padding:0;font-size:11px;text-align:left}.nutrient-name small{font-size:9px}.nutrition-table .cell-good{background:color-mix(in srgb,var(--accent-soft) 40%,transparent)}.nutrition-table .cell-low{background:color-mix(in srgb,var(--amber-soft) 50%,transparent)}.nutrition-table .cell-missing{color:var(--muted)}.reference-cell{text-align:left;min-width:160px;font-size:9px}.table-progress{height:3px;background:var(--line);width:110px;margin:8px 0 4px}.table-progress span{height:100%;display:block;background:var(--accent)}.pfc-ratio{display:flex;gap:18px;padding:25px;flex-wrap:wrap}.pfc-ratio h3{width:100%;margin-bottom:0}.ratio-item{flex:1;min-width:140px;padding:15px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ratio-item strong{grid-column:1/-1;font-size:11px}.ratio-item span{font-size:15px}.ratio-item b{font-size:15px;text-align:right;color:var(--accent);font-weight:500}.ratio-item small{grid-column:1/-1;color:var(--muted);font-size:10px}.pfc-ratio>p{width:100%;margin:0;font-size:10px}.nutrition-notes{padding:20px 25px;background:var(--surface-2);border-top:1px solid var(--line)}.nutrition-notes p{font-size:9px;line-height:1.9;color:var(--muted);margin-bottom:7px}.nutrition-notes p:last-child{margin:0}.legend{width:7px;height:7px;display:inline-block;margin:0 4px 0 12px;border-radius:2px}.legend:first-child{margin-left:0}.legend.green{background:#81bddc}.legend.amber{background:#d3bb87}.legend.gray{background:#bdcdd9}.mobile-day-pick{display:none}.date-range{display:flex;align-items:center;gap:10px}.date-range .field{margin:0}.date-range>span{margin-top:18px;color:var(--muted)}.date-range .subtle{margin-top:20px}.shopping-summary{display:flex;gap:26px;align-items:center;background:var(--accent-soft);border-radius:15px;padding:25px;margin-bottom:24px}.shopping-summary>div{display:flex;align-items:center;gap:17px;color:var(--accent)}.shopping-summary>div>span{font-size:10px;color:var(--muted)}.shopping-summary strong{font-size:27px;display:block;color:var(--text);margin-top:7px}.shopping-summary strong small{font-size:11px;margin-left:7px;font-weight:400}.shopping-summary p{margin:0;padding-left:26px;border-left:1px solid var(--line-strong);font-size:11px}.shopping-summary p span{color:var(--muted);font-size:10px}.shopping-summary>.subtle{margin-left:auto}.shopping-group .panel-heading{padding-bottom:16px;border-bottom:1px solid var(--line)}.shopping-row{display:flex;gap:17px;padding:21px 25px;align-items:center;border-bottom:1px solid var(--line)}.shopping-row:last-child{border:0}.purchase-check{border:1px solid var(--line-strong);width:25px;height:25px;border-radius:7px;color:transparent;display:grid;place-items:center;flex-shrink:0}.purchase-check:hover{color:var(--accent)}.shopping-name{flex:1;min-width:0}.shopping-name h3{margin:0 0 7px;font-size:13px}.shopping-name p{margin:0;color:var(--muted);font-size:10px}.shopping-buy{text-align:right;min-width:75px}.shopping-buy strong{font-size:20px;font-weight:550}.shopping-buy small{font-size:11px;margin-left:3px}.shopping-buy span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.sufficient .shopping-buy strong{font-size:12px;color:var(--accent)}.stock-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stock-stats>div{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:20px}.stock-stats strong{display:block;font-size:25px;font-weight:500}.stock-stats span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stock-grid>.panel{grid-column:1/-1}.stock-card{background:var(--surface);padding:22px;border:1px solid var(--line);border-radius:14px;text-align:left;min-width:0}.stock-card-heading{display:flex;gap:12px;align-items:center}.stock-card-heading h3{margin:0 0 3px;font-size:12px}.stock-card-heading small{color:var(--muted);font-size:9px}.stock-card-heading>div:not(.tile-icon){flex:1;min-width:0}.stock-amount{font-size:29px;font-weight:550;margin:23px 0 12px}.stock-amount small{font-size:11px;color:var(--muted);margin-left:6px;font-weight:400}.stock-card>p{font-size:10px;color:var(--muted);margin-bottom:10px}.stock-original{display:block;color:var(--muted);font-size:9px;margin-top:10px}.stock-add{margin-top:20px;max-width:400px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line);font-size:12px}.list-row:last-child{border:0}.list-row p{font-size:10px;color:var(--muted);margin:5px 0 0}.body-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.body-summary .panel{padding:22px}.body-summary span{font-size:11px;color:var(--muted)}.body-summary strong{display:block;font-size:33px;font-weight:500;margin:15px 0 8px}.body-summary small{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.body-summary p{font-size:10px;margin:0;color:var(--muted)}.body-chart-panel{padding:23px}.body-chart-panel .toolbar .field{margin:0}.body-chart{width:100%;margin-top:20px;min-height:170px}.chart-legend{display:flex;gap:23px;justify-content:center;color:var(--muted);font-size:10px;margin:13px 0}.chart-legend>span{display:flex;gap:7px;align-items:center}.chart-legend i{display:inline-block;width:20px;height:2px;background:var(--line-strong)}.chart-legend i.mean{background:var(--accent);height:3px}.body-record{display:flex;align-items:center;gap:25px;width:100%;padding:18px 24px;border-top:1px solid var(--line);font-size:11px;text-align:left}.body-record strong{font-size:12px}.body-record span{color:var(--muted)}.body-record svg{margin-left:auto}.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 25px 25px}.comparison-grid>div>span{font-size:10px;color:var(--muted)}.comparison-grid strong{display:block;font-size:22px;margin-top:15px;font-weight:500}.comparison-grid small{font-size:10px;color:var(--muted);margin-left:4px}.history-filters{padding:23px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:end;flex-wrap:wrap}.history-filters .field{margin:0}.history-filters .search-box{margin:0;flex:1;min-width:180px}.history-meal{padding:20px 25px;border-bottom:1px solid var(--line)}.history-date{font-size:10px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.settings-grid .panel-heading{border-bottom:1px solid var(--line)}.current-target{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.current-target>strong{font-size:30px;font-weight:550}.current-target small{font-size:11px;margin-left:5px;color:var(--muted);font-weight:400}.notice{padding:17px 20px;background:var(--accent-soft);border-radius:10px;display:flex;gap:12px;margin:15px 0;font-size:12px;line-height:1.8}.notice p{margin:0;font-size:11px}.notice.error{background:var(--amber-soft);color:var(--amber)}.notice.error button{border:1px solid currentColor;padding:5px 9px;margin-top:9px;border-radius:6px;font-size:11px}.notice.error strong{font-size:12px}.restore-preview{display:block}.restore-preview button{margin-top:15px}.warning-text{color:var(--amber);font-size:10px;line-height:1.8}.loading,.login{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:var(--bg);color:var(--accent)}.login h1{margin-top:10px}.login p{font-size:13px}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#102b4070;backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:30px;overflow-y:auto}.modal{width:100%;max-width:530px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 28px;max-height:calc(100dvh - 60px);overflow-y:auto;box-shadow:var(--shadow);min-width:0;outline:0}.modal.wide{max-width:760px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.modal-heading h2{font-size:18px}.modal>p{font-size:12px}.modal>h3{font-size:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0;font-size:12px;line-height:1.6}.field>span{font-size:11px;font-weight:550}.field>small{font-weight:400;color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.form-grid .field{margin-bottom:17px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.check-line{display:flex;align-items:center;gap:10px;font-size:12px;margin:15px 0;line-height:1.8;cursor:pointer}.check-line small{display:block;font-size:10px;color:var(--muted)}.catalog-results{border:1px solid var(--line);border-radius:10px;max-height:240px;overflow-y:auto;margin-bottom:22px}.catalog-results button{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:4px 10px;width:100%;text-align:left;font-size:11px;line-height:1.6}.catalog-food-icon .food-icon{font-size:24px;margin:0}.catalog-food-icon{width:34px;flex-shrink:0;text-align:center}.catalog-food-text{flex:1;min-width:0;overflow-wrap:anywhere}.catalog-food-text small{display:block}.catalog-results button>svg{flex-shrink:0}.catalog-results button.chosen{background:var(--accent-soft);color:var(--accent)}.catalog-results small{color:var(--muted);font-size:9px}.catalog-results p{padding:15px;font-size:11px}.ingredient-builder{display:grid;grid-template-columns:2fr 1fr auto;gap:9px;align-items:end}.ingredient-builder .field{margin:0}.ingredient-builder button{margin-bottom:1px}.material-row{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.material-row>span{flex:1;min-width:0;overflow-wrap:anywhere}.material-row small{display:block;font-size:10px;color:var(--muted);font-weight:400}.material-row strong>small{display:inline}.recipe-preview{display:flex;align-items:center;gap:15px;padding:15px;background:var(--surface-2);border-radius:9px;margin:20px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.recipe-preview strong{font-size:17px;color:var(--text)}.photo-preview{margin:15px 0;display:flex;align-items:center;gap:18px}.photo-preview img{width:160px;height:120px;border-radius:12px;object-fit:cover}.secondary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}.secondary-actions button:not(.icon-button){display:flex;align-items:center;gap:6px;font-size:11px;padding:7px 0;color:var(--accent)}.secondary-actions .danger{color:var(--danger)!important}.nutrition-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.nutrition-list>div{display:grid;grid-template-columns:1fr 1fr;padding:12px 15px;border-bottom:1px solid var(--line);gap:4px;font-size:11px}.nutrition-list>div>strong{text-align:right;font-weight:500}.nutrition-list>div>small{grid-column:1/-1;font-size:9px;color:var(--muted);overflow-wrap:anywhere}.nutrient-details>p{font-size:10px;margin-top:15px}.nutrition-input{max-height:340px;overflow:auto;background:var(--surface-2);padding:15px;border-radius:10px;border:1px solid var(--line)}.nutrition-input .field>span{font-size:10px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.target-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.target-preview>div{background:var(--accent-soft);border-radius:9px;padding:13px}.target-preview strong{display:block;font-size:10px}.target-preview span{font-size:19px;display:block;margin-top:12px}.target-preview small{font-size:9px;color:var(--muted);display:block;margin-top:6px}.toast{position:fixed;bottom:27px;left:calc(50% + 112px);transform:translate(-50%);z-index:200;background:var(--text);color:var(--surface);box-shadow:var(--shadow);max-width:calc(100vw - 40px);padding:14px 17px;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:10px;line-height:1.7}.toast button{display:grid;place-items:center;color:inherit;margin-left:8px}.toast button:hover{background:transparent!important}.lot-picker{border:1px solid var(--line);border-radius:10px;padding:0 15px;max-height:200px;overflow-y:auto}@media(min-width:1600px){main{padding-top:45px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 330px}.metric-card{padding:24px}.metric-number{font-size:39px}.meal-slot{padding:23px 28px}}@media(max-width:1200px){.sidebar{width:195px;padding-left:14px;padding-right:14px}.brand{font-size:15px;margin-left:3px;gap:8px}.brand-mark{width:34px}.main-shell{margin-left:195px;width:calc(100% - 195px)}main{padding:30px 27px}.topbar{padding:0 27px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.metric-card{padding:17px 16px}.metric-label{font-size:10px;gap:5px}.metric-symbol{width:20px;height:20px}.metric-number{font-size:29px}.metric-foot{font-size:9px}.panel-heading{padding:20px}.day-heading{gap:4px}.week-slot{padding:10px 7px}.week-menu{overflow-x:auto;grid-template-columns:repeat(7,minmax(110px,1fr))}.week-control strong{font-size:13px}.week-control strong small{display:none}.toolbar-actions .subtle{padding:8px 11px;font-size:10px}.stock-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 97px)}.shopping-summary{gap:18px}.shopping-summary p{padding-left:18px}.shopping-summary p span{display:none}.date-range{gap:7px}.date-range input{font-size:11px}.shopping-toolbar{flex-wrap:wrap}.date-range .subtle{font-size:10px}}@media(max-width:1000px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quiet-card{display:none}.dashboard-aside>.panel{margin:0}.metric-grid{gap:10px}.metric-label>.muted{display:none}.settings-grid{grid-template-columns:1fr}.stock-stats{gap:10px}.stock-stats>div{padding:17px}.toolbar{flex-wrap:wrap}.body-summary{gap:12px}.body-summary .panel{padding:17px}.body-summary strong{font-size:27px}.library-grid{grid-template-columns:1fr}.body-record{gap:16px;flex-wrap:wrap}.body-record>strong{width:100%}.history-filters{gap:14px}.top-actions{gap:12px}.storage-status{font-size:9px}.food-tile{padding:17px}}@media(max-width:760px){:root{font-size:14px}.sidebar{display:none}.main-shell{margin:0;width:100%}.topbar{height:62px;padding:0 20px}.top-actions{gap:10px}.top-actions .icon-button{width:31px}.date-line{font-size:10px}.avatar{width:27px;height:27px;font-size:10px}.storage-status{font-size:8px;gap:4px}.storage-status svg{width:12px}.desktop{display:none!important}main{padding:25px 20px 105px}.page-heading{margin-bottom:21px}.eyebrow{font-size:8px;margin-bottom:9px}h1{font-size:25px}.page-heading p{font-size:10px}.preview-banner{font-size:9px;gap:6px;padding:9px 11px;line-height:1.7;flex-wrap:wrap;margin-bottom:22px}.preview-banner span:last-child{display:block;width:100%;border:0;padding:0 0 0 11px;margin:0;font-size:8px}.section-line h2{font-size:14px;gap:9px}.small-caption{font-size:9px}.segmented button{font-size:10px;min-height:26px;padding:4px 12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{padding:17px}.metric-label{font-size:10px;gap:7px}.metric-symbol{width:23px;height:23px}.metric-number{font-size:29px;margin:14px 0}.metric-foot{font-size:9px}.inline-tip{font-size:10px;line-height:1.8;flex-wrap:wrap;gap:8px;padding:10px 0 18px}.inline-tip>span{flex:1;min-width:200px}.inline-tip button{font-size:10px;min-height:30px}.dashboard-columns{margin-top:0;gap:20px}.panel{border-radius:14px;margin-bottom:18px}.panel-heading{padding:21px 20px 17px}.panel-heading h2{font-size:14px}.panel-heading .subtle{font-size:9px;padding:6px 9px;min-height:32px}.meal-panel .panel-heading{padding:21px 20px}.meal-slot{padding:17px 20px}.unplanned{padding-left:14px;font-size:10px;min-height:41px}.unplanned button{font-size:9px}.meal-row{flex-wrap:wrap;gap:8px}.meal-actions{margin-left:auto}.meal-title strong{font-size:12px}.meal-meta{font-size:9px;gap:7px}.eat-button{font-size:9px}.dashboard-aside{gap:13px}.green-panel .panel-heading{padding:20px 17px}.green-panel h2{font-size:11px}.green-panel .panel-heading svg{width:16px}.week-dots{padding:0 12px}.week-dots>div{font-size:8px;gap:9px}.day-circle{width:20px;height:20px;font-size:8px}.green-panel .muted{padding:0 17px;font-size:9px}.green-panel .text-link{margin-left:17px;font-size:8px;gap:3px}.green-panel .text-link svg{width:12px}.dashboard-aside>.panel:not(.green-panel){padding:0 16px 20px}.dashboard-aside>.panel:not(.green-panel) .panel-heading{padding:20px 0 8px}.dashboard-aside>.panel h2{font-size:11px}.dashboard-aside>.panel .muted{font-size:9px}.dashboard-aside>.panel svg{width:15px}.dashboard-aside>.panel .text-link{font-size:9px}.notice-count{font-size:25px}.notice-count small{font-size:9px;display:block;margin:3px 0}.expiry-mini{font-size:9px}.expiry-mini small{font-size:8px}.footer{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:7px 7px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);z-index:40;box-shadow:0 -5px 20px #00000003}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:45px;min-height:46px;color:var(--muted);padding:4px 5px;border-radius:7px}.mobile-nav button span{font-size:8px}.mobile-nav button.active{color:var(--accent);background:var(--accent-soft)}.toolbar{gap:12px;margin-bottom:19px}.tabs{gap:20px}.tabs>button{font-size:12px}.toolbar>.primary{font-size:10px;min-height:35px;padding:8px 11px}.library-grid,.food-tile{gap:12px}.food-tile h3{font-size:12px}.food-tile p,.food-tile small{font-size:9px}.recipe-grid{gap:13px}.recipe-image{height:110px}.recipe-content{padding:14px}.recipe-name{font-size:11px}.recipe-content>p{font-size:9px}.recipe-numbers{gap:7px;font-size:8px}.recipe-numbers strong{font-size:16px}.recipe-content .text-link{font-size:9px}.empty{padding:35px 19px}.empty h3{font-size:14px}.empty p{font-size:11px}.toolbar-actions{width:100%;justify-content:flex-end}.toolbar-actions .subtle{font-size:10px}.week-control{gap:6px}.week-control strong{font-size:15px}.week-control strong small{display:inline;font-size:10px}.week-control>.text-link{font-size:11px;margin-left:5px}.week-menu{grid-template-columns:repeat(7,minmax(135px,1fr));border-radius:11px}.day-heading strong{font-size:19px}.week-slot{min-height:140px;padding:10px}.week-slot-name{font-size:10px}.compact .meal-title strong{font-size:11px}.compact .meal-meta{font-size:9px}.nutrition-toolbar{padding:16px;gap:10px}.nutrition-toolbar>.muted{width:100%;font-size:9px}.nutrition-toolbar .segmented button{padding:4px 10px;font-size:9px}.mobile-day-pick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:13px 10px;border-bottom:1px solid var(--line);gap:3px}.mobile-day-pick button{border-radius:7px;padding:8px 1px;display:grid;gap:5px;text-align:center;color:var(--muted)}.mobile-day-pick span{font-size:9px}.mobile-day-pick strong{font-size:14px;font-weight:500}.mobile-day-pick small{font-size:7px;white-space:nowrap}.mobile-day-pick button.active{background:var(--accent-soft);color:var(--accent)}.nutrition-table{min-width:0;font-size:9px}.nutrition-table .daily-cell{display:none}.nutrition-table .daily-cell.selected-day{display:table-cell}.nutrition-table td:nth-last-child(2),.nutrition-table th:nth-last-child(2){display:none}.nutrition-table th,.nutrition-table td{padding:12px 8px;white-space:normal}.nutrition-table th:first-child{min-width:0;padding-left:13px;width:26%}.nutrition-table .reference-cell{min-width:0;width:29%;font-size:8px}.nutrition-table td strong{font-size:11px}.nutrient-name{font-size:10px}.nutrition-table small{font-size:7px}.table-progress{width:100%;max-width:90px}.pfc-ratio{padding:20px 15px;gap:9px}.ratio-item{padding:12px;min-width:90px;gap:7px}.ratio-item strong{font-size:9px}.ratio-item span,.ratio-item b{font-size:13px}.ratio-item small{font-size:8px}.nutrition-notes{padding:15px}.nutrition-notes p{font-size:8px}.date-range{width:100%;flex-wrap:wrap;gap:8px}.date-range .field{flex:1}.date-range>.subtle{margin-top:0;font-size:9px;min-height:30px}.date-range input{font-size:11px;min-height:39px;padding:7px}.date-range .field>span{font-size:10px}.shopping-summary{padding:20px;flex-wrap:wrap;gap:17px}.shopping-summary>div>svg{width:22px}.shopping-summary p{font-size:10px;border:0;padding:0}.shopping-summary>.subtle{font-size:10px}.shopping-row{padding:18px 17px;gap:12px}.purchase-check{width:23px;height:23px}.shopping-name h3{font-size:11px}.shopping-name p{font-size:8px;line-height:1.9}.shopping-name .warning-text{font-size:8px}.shopping-buy strong{font-size:17px}.shopping-buy{min-width:65px}.shopping-buy small{font-size:9px}.shopping-buy span{font-size:8px}.stock-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock-stats>div{padding:17px}.stock-stats strong{font-size:24px}.stock-stats span{font-size:9px}.stock-grid{gap:12px}.stock-card{padding:16px}.stock-card-heading{gap:7px;flex-wrap:wrap;position:relative}.stock-card-heading>div:not(.tile-icon){width:100%;flex:auto}.stock-card-heading>svg{position:absolute;top:8px;right:0}.stock-card-heading .tile-icon{width:32px;height:32px;border-radius:9px}.stock-card-heading .tile-icon .food-icon{font-size:23px}.stock-card-heading .tile-icon .food-frozen-mark{width:12px;height:12px}.stock-card-heading .tile-icon svg:not(.food-frozen-mark){width:18px}.stock-card-heading h3{font-size:10px;margin-top:7px}.stock-card-heading small{font-size:8px}.stock-amount{font-size:24px;margin:17px 0 10px}.stock-amount small{font-size:9px}.stock-card>p{font-size:8px}.stock-card .badge{font-size:8px;white-space:normal}.stock-original{font-size:7px}.list-row{padding:17px;font-size:11px}.list-row p{font-size:9px}.body-summary{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.body-summary .panel{padding:16px 12px}.body-summary span{font-size:9px}.body-summary strong{font-size:23px;margin:13px 0 8px}.body-summary strong small{font-size:9px;margin-left:3px}.body-summary p{font-size:8px}.body-chart-panel{padding:17px}.body-chart-panel .toolbar{align-items:flex-end;gap:15px}.body-chart-panel .segmented button{padding:5px 10px;font-size:9px}.body-chart-panel .field>span{font-size:9px}.body-chart-panel select{min-height:33px;font-size:10px}.body-chart-panel .field{max-width:120px}.chart-legend{gap:10px;font-size:8px;flex-wrap:wrap}.body-record{padding:16px 20px;gap:9px 14px;font-size:9px}.body-record strong{font-size:11px}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 20px 20px}.comparison-grid strong{font-size:23px;margin-top:9px}.history-filters{padding:17px}.history-filters>.field{width:100%}.history-filters .search-box{max-width:none}.history-meal{padding:17px}.settings-grid{display:block}.padded{padding:20px}.settings-grid .padded>p{font-size:11px}.current-target>strong{font-size:28px}.notice{padding:15px;font-size:11px;gap:9px}.notice p{font-size:10px}.notice>svg{width:17px}.modal-backdrop{padding:12px;align-items:center}.modal{padding:21px 20px;max-height:calc(100dvh - 24px);border-radius:14px}.modal-heading{margin-bottom:20px}.modal-heading h2{font-size:16px}.modal .form-grid{gap:0 12px}.field>span{font-size:10px}.field>small{font-size:9px}.form-actions{gap:8px;padding-top:17px}.form-actions .primary,.form-actions .subtle{font-size:11px}.ingredient-builder{grid-template-columns:1fr 1fr}.ingredient-builder>.field:first-child{grid-column:1/-1}.ingredient-builder>button{grid-column:1/-1;margin-top:5px}.material-row{font-size:11px}.template-preview{grid-template-columns:1fr}.target-preview{gap:7px}.target-preview>div{padding:11px}.target-preview strong{font-size:8px}.target-preview span{font-size:17px}.target-preview small{font-size:8px}.photo-preview img{width:130px;height:100px}.toast{bottom:85px;left:50%;padding:12px 14px;max-width:calc(100vw - 30px);width:max-content;font-size:10px}.body-chart{min-height:120px}.history-date{font-size:9px}.nutrition-list>div{padding:11px 12px;font-size:10px}.nutrition-list>div>small{font-size:8px}.modal .notice p{font-size:10px}}@media(max-width:370px){.material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.material-row>span,.material-row>strong{grid-column:1}.material-row>.icon-button{grid-column:2;grid-row:1 / 3}main{padding:22px 14px 100px}.topbar{padding:0 14px}.metric-card{padding:15px 13px}.metric-foot{font-size:8px}.metric-label{font-size:9px;gap:5px}.metric-number{font-size:27px}.dashboard-aside{grid-template-columns:1fr}.green-panel .week-dots{padding:0 20px}.green-panel .day-circle{width:27px;height:27px;font-size:10px}.green-panel .text-link{font-size:10px}.green-panel .muted{font-size:11px}.dashboard-aside>.panel h2{font-size:13px}.dashboard-aside>.panel .muted{font-size:11px}.storage-status span{max-width:78px;line-height:1.5}.top-actions{gap:6px}.tabs{gap:13px}.tabs>button{font-size:11px}.recipe-grid{grid-template-columns:1fr}.recipe-image{height:145px}.recipe-name{font-size:13px}.stock-card{padding:13px}.stock-amount{font-size:21px}.body-summary strong{font-size:20px}.body-summary strong small{font-size:8px}.body-summary .panel{padding:14px 10px}.target-preview{grid-template-columns:1fr}.target-preview>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.target-preview span,.target-preview small{margin:0}.date-range input{font-size:10px;padding:6px}.week-control strong{font-size:13px}.nutrition-toolbar .segmented button{padding:4px 8px}.ratio-item{min-width:74px;padding:9px}.ratio-item strong{font-size:8px}.ratio-item span,.ratio-item b{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.product-row{width:100%;text-align:left}.field small,.food-serving p,.storage-guide p{overflow-wrap:anywhere}.quantity-section{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.quantity-section>h3{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:15px}.quantity-section>.field,.quantity-section>.quantity-field{margin-top:16px}.step-dot{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--accent-soft);color:var(--text);font-size:13px}.quantity-preview,.quantity-summary{background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0 0;overflow-wrap:anywhere}.quantity-preview{display:flex;gap:12px;align-items:center}.quantity-preview>.food-icon{font-size:28px}.quantity-preview small,.quantity-summary>span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.quantity-summary>strong{display:block;font-size:23px;margin-top:8px}.quantity-summary>p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 0}.quantity-options{margin-top:4px}.quantity-options[open]{padding-bottom:14px}.quantity-options>summary{cursor:pointer;font-size:13px;font-weight:600}.quantity-options[open]>.field,.quantity-options[open]>.check-line{margin-top:18px}.quantity-field{min-width:0}.quantity-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.quantity-shortcuts>button{padding:6px 10px;font-size:12px;border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:34px}@media(max-width:600px){.quantity-section{padding:18px 0}.quantity-preview,.quantity-summary{padding:13px}.quantity-preview strong{font-size:13px}.quantity-section>h3{font-size:14px}.ingredient-builder{grid-template-columns:1fr 1fr}.ingredient-builder>.field:first-child{grid-column:1 / -1}.ingredient-builder>button{align-self:end;min-height:42px}}.selected-food{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.selected-food>strong{flex:1;min-width:120px;font-size:13px;overflow-wrap:anywhere}.consumption-quantities{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.consumption-quantities>strong{font-size:12px;color:var(--muted)}.consumption-quantities>div{display:flex;justify-content:space-between;gap:14px;margin-top:10px}.consumption-quantities>div>span{min-width:0;overflow-wrap:anywhere}.consumption-quantities b{white-space:nowrap}@media(max-width:600px){.ingredient-builder>.quantity-field{grid-column:1 / -1}}.nutrition-weight-settings{margin:1rem 0 0}.nutrition-weight-settings>p{line-height:1.7}.weight-source{padding:.75rem;border-radius:10px;background:var(--surface-soft, rgba(120, 190, 220, .08))}.weight-source small{display:block;overflow-wrap:anywhere;line-height:1.7}.weight-source-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:.75rem}.weight-source-links a{display:inline-flex;align-items:center;gap:.3rem}.nutrition-status{margin:.65rem 0;font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.uncomputed-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle;color:var(--amber);background:var(--amber-soft)}.metric-note{display:flex;flex-wrap:wrap;gap:2px 10px;margin:-6px 0 14px;font-size:10px;line-height:1.7;color:var(--muted)}.metric-note .warning-text{font-size:inherit}@media(max-width:760px){.page-heading{margin-bottom:14px}.page-heading .eyebrow,.page-heading p{display:none}.page-heading h1{font-size:22px;margin:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.metric-card{padding:10px 8px;border-radius:12px}.metric-label{font-size:10px}.metric-label>.metric-symbol,.metric-label>.muted{display:none}.metric-number{font-size:19px;margin:4px 0 6px;letter-spacing:-.02em;white-space:nowrap}.metric-number small{font-size:9px;margin-left:2px}.metric-foot{margin-top:5px;font-size:9px}.metric-foot>span:first-child,.metric-card.no-goal .metric-foot{display:none}.metric-note{margin:0 0 10px;font-size:9px}}@media(max-width:370px){.metric-card{padding:9px 6px}.metric-number{font-size:16px}}.mobile-only{display:none!important}@media(max-width:760px){.mobile-only{display:inline-flex!important}.week-menu{display:block;overflow:visible}.day-column{display:grid;grid-template-columns:minmax(0,1fr) auto;border-right:0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.day-column:last-child{border-bottom:0}.day-heading{justify-content:flex-start;height:auto;gap:8px;padding:12px 14px}.day-heading strong{font-size:17px}.day-energy{display:flex;align-items:center;gap:4px;padding:12px 14px;border-bottom:1px solid var(--line)}.is-today .day-energy{background:var(--accent-soft)}.week-slot{grid-column:1 / -1;min-height:0;padding:10px 14px}.empty-slot{margin-top:6px}.day-column.is-past:not(.open) .week-slot{display:none}.day-column.is-past:not(.open) .day-heading,.day-column.is-past:not(.open) .day-energy{border-bottom:0}.day-toggle{margin-left:auto;font-size:10px;color:var(--accent);padding:2px 4px}}.shopping-enough>summary{display:flex;align-items:center;gap:8px;padding:16px 24px;font-weight:600}.shopping-enough[open]>summary{border-bottom:1px solid var(--line);margin-bottom:0}@media(max-width:760px){.shopping-enough>summary{padding:14px 18px}}@media(max-width:760px){.registry-tabs{margin-bottom:18px}}.pending-panel{margin-bottom:20px;border-color:var(--amber)}.pending-panel .panel-heading p{font-size:11px;color:var(--muted);line-height:1.7;margin:4px 0 0}.pending-meal{padding:12px 24px 0}.pending-meal:last-child{padding-bottom:12px}.pending-meal>small{font-size:10px;color:var(--amber);font-weight:600}@media(max-width:760px){.pending-meal{padding:10px 16px 0}}.copy-days .muted{font-size:11px;line-height:1.7;margin:4px 0 10px}.copy-day-list{display:flex;flex-wrap:wrap;gap:8px 14px}.copy-day-list label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.copy-day-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}@media(max-width:760px){.date-range .field{flex:1 1 120px}.date-range>.subtle{flex:1 1 40%}}.fit-entrances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.fit-entrance{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--accent-text)}.fit-entrance:hover:not(:disabled){border-color:var(--line-strong)}.fit-entrance>span{display:grid;min-width:0}.fit-entrance small{font-size:10px;color:var(--muted)}.fit-entrance strong{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.fit-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.fit-span{font-size:12px;color:var(--accent-text);margin:0 0 12px}.fit-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.fit-choices>button{display:grid;gap:2px;padding:8px 2px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.fit-choices>button.selected{border-color:var(--accent);background:var(--accent-soft)}.fit-choices strong{font-size:15px}.fit-choices small{font-size:9px;color:var(--muted);white-space:nowrap}@media(max-width:760px){.fit-entrances{gap:8px;margin-bottom:12px}.fit-entrance{padding:10px 11px;gap:8px}.fit-entrance strong{font-size:12px;white-space:normal}.fit-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.fit-section{border-top:1px solid var(--line);padding:14px 0 6px;margin-top:6px}.fit-section>h3{font-size:14px;margin:0 0 10px}.fit-exercise{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}.fit-exercise-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fit-exercise-head>input{flex:1;min-width:0}.fit-previous{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;font-size:11px;color:var(--muted);margin:6px 0 8px}.fit-set{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr)) 30px;align-items:center;gap:6px;margin-bottom:6px}.fit-set>span{font-size:11px;color:var(--muted);text-align:center}.fit-set>input{min-width:0;width:100%}.fit-set-head>span{font-size:10px;text-align:left}.fit-list-row{display:flex;width:100%;justify-content:space-between;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);text-align:left}.fit-list-row span{color:var(--muted);font-size:12px}.fit-pick-group{margin:12px 0}.fit-pick-group>h4{font-size:11px;color:var(--muted);margin:0 0 6px}.fit-pick-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.fit-pick-row>input{flex:1;min-width:0}.fit-pick{flex:1;text-align:left;padding:11px 2px;font-size:14px}.text-link.danger{color:var(--danger)}@media(max-width:760px){.fit-set{grid-template-columns:18px repeat(3,minmax(0,1fr)) 26px;gap:4px}.fit-set>input{padding-left:6px;padding-right:4px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fit-calendar-panel{padding:16px 20px;margin-bottom:16px}.fit-month{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px}.fit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fit-weekday{text-align:center;font-size:10px;color:var(--muted)}.fit-day{display:grid;justify-items:center;align-content:start;gap:2px;min-height:52px;padding:4px 0;border:1px solid transparent;border-radius:8px;font-size:12px}.fit-day.is-today{border-color:var(--accent)}.fit-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.fit-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font-size:10px;font-weight:700}.fit-mark.strength{color:var(--primary-text);background:var(--primary-bg)}.fit-mark.cardio{color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber)}.fit-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin:10px 0 0}.fit-legend .fit-mark+.fit-mark,.fit-legend .fit-mark:not(:first-child){margin-left:8px}.fit-list-row>span{display:inline-flex;align-items:center;gap:8px}@media(max-width:760px){.fit-calendar-panel{padding:12px}.fit-day{min-height:44px}.fit-mark{width:16px;height:16px;font-size:9px}}.panel>.fit-list-row{padding:14px 20px}.panel>.fit-list-row:last-child{border-bottom:0}@media(max-width:760px){.panel>.fit-list-row{padding:12px 14px;flex-wrap:wrap}}.fit-period{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:11px;color:var(--muted)}.fit-charts{padding:16px 20px;margin-bottom:16px}.fit-chart{margin:0 0 18px}.fit-chart .body-chart{width:100%;height:auto}.fit-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:11px;color:var(--muted)}.fit-chart-legend strong{color:var(--text);font-size:12px}.fit-chart-legend span{display:inline-flex;align-items:center;gap:5px}.fit-chart-legend svg{width:24px;height:10px}.fit-chart-empty{font-size:11px;margin:0 0 12px}.fit-list-row small{font-size:11px;color:var(--muted)}@media(max-width:760px){.fit-charts{padding:12px}}
