.ai-button{height:40px;border:1px solid #dce6d8;border-radius:10px;color:#315a3c;background:#edf3ea;font-size:11px;font-weight:700}.ai-button:disabled{opacity:.5;cursor:not-allowed}.ai-button:enabled:hover{background:#e3eddc}.meal-empty{padding:15px;border:1px dashed #dce3d9;border-radius:12px;color:#92998f;font-size:10px;text-align:center}.meal-modal-notice{font-size:10px;color:#a26449}.chart-targets{display:flex;align-items:center;justify-content:flex-end;gap:6px 13px;flex-wrap:wrap;max-width:58%;font-size:9px;color:#838c82}.chart-targets b{color:#465449;font-size:10px;font-weight:600}.chart-targets .text-button{padding:0 2px;font-size:10px}.chart-y-label{fill:#90998e;font:9px 'DM Sans','Noto Sans TC',sans-serif}.chart-empty-label{fill:#a1a8a0;font:12px 'DM Sans','Noto Sans TC',sans-serif}.chart-axis{margin:4px 23px 0}.legend{flex-wrap:wrap;row-gap:8px}.weight-target-legend,.fat-target-legend{width:10px;height:0;border-top:2px dashed #547b5e;border-radius:0}.fat-target-legend{border-color:#d19a68}@media(max-width:620px){.chart-targets{max-width:63%;gap:4px 8px;font-size:8px}.chart-targets b{font-size:9px}.chart-axis{margin-left:20px;margin-right:20px}.legend{gap:8px 12px;font-size:8px}}
.history-toolbar{display:flex;align-items:center;gap:6px;margin:0 0 9px}.history-toolbar button{min-height:32px;padding:0 10px;border:1px solid #e5e9e1;border-radius:9px;background:#fff;color:#55725b;font-size:10px}.history-toolbar input[type=date]{min-width:0;flex:1;height:34px;padding:0 8px;border:1px solid #e5e9e1;border-radius:9px;background:#fff;color:#485248;font:11px "DM Sans","Noto Sans TC",sans-serif}.history-toolbar button[data-import]{margin-left:auto}@media(max-width:390px){.history-toolbar{gap:4px}.history-toolbar button{padding:0 7px;font-size:9px}}

.favorite-save{min-height:38px;border:1px solid #dfe6da;border-radius:10px;background:#fff;color:#55725b;font-size:11px;font-weight:700}.favorite-save:hover{background:#f4f7f1}

.modal-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px}.modal-actions .primary-btn{width:100%;margin-top:0}.cancel-btn{min-height:45px;margin-top:3px;border:1px solid #dfe6da;border-radius:11px;background:#fff;color:#55725b;font-size:12px;font-weight:600}.cancel-btn:hover{background:#f4f7f1}

.read-only-tag{font-size:9px;color:#8e978e;letter-spacing:.2px}.rolling-badge{padding:6px 9px;border-radius:20px;background:#eef3e9;color:#55725b;font-size:9px}.calorie-chart-heading{display:flex;justify-content:space-between;color:#6f796f;font-size:10px}.calorie-chart-heading b{font-size:9px;color:#9aa198;font-weight:500}.calorie-trend-chart{height:205px;margin:10px 0 0}.calorie-trend-chart svg{width:100%;height:100%;overflow:visible}.calorie-chart-axis{margin:0 23px}.calorie-legend{gap:9px 16px}.calorie-legend-dot{background:#83a185}.goal-legend-dot{width:10px;height:0;border-top:2px dashed #d19a68;border-radius:0}.goal-card{padding:20px 22px}.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-item{padding:15px;border-radius:14px;background:#f4f7f1}.fat-goal-item{background:#fbf5ef}.goal-item-heading{display:flex;align-items:center;justify-content:space-between;color:#788177;font-size:10px}.goal-item-heading b{color:#445347;font-size:14px}.goal-item>strong{display:block;margin-top:15px;color:#315a3c;font-size:27px;letter-spacing:-.5px}.fat-goal-item>strong{color:#a56f4b}.goal-item p{margin-top:4px;color:#818a80;font-size:10px}.goal-estimate{display:grid;gap:5px;margin-top:16px;padding-top:12px;border-top:1px solid #e5eae2}.goal-estimate span{color:#8b9389;font-size:9px}.goal-estimate b{color:#35443a;font-size:12px}.goal-method{margin-top:13px;color:#8a9189;font-size:9px;line-height:1.6}.goal-card .plan-stats{grid-template-columns:1fr 1fr 1fr}.goal-card .plan-stats b{font-size:13px}.chart-footnote{margin-top:10px;color:#92998f;font-size:9px;line-height:1.5}@media(max-width:620px){.calorie-trend-chart{height:190px}.calorie-chart-axis{margin-left:20px;margin-right:20px}.goal-card{padding:15px 13px}.goal-grid{gap:8px}.goal-item{padding:12px 10px}.goal-item>strong{font-size:23px}.goal-item-heading b{font-size:12px}.goal-card .plan-stats{gap:7px}.goal-card .plan-stats b{font-size:11px}}

main.view-home #nutrition{display:none}main.view-nutrition>:not(#nutrition){display:none!important}main.view-nutrition #nutrition{margin-top:22px}

main.view-trend>:not(.summary-grid):not(#progress){display:none!important}main.view-trend .summary-grid{margin-top:22px}main.view-home .metric-edit{display:none}main.view-trend .read-only-tag,main.view-trend .sparkline,main.view-trend .fat-progress,main.view-trend .card-foot>span:first-child{display:none!important}main.view-trend .metric-edit{display:inline-block;border:0;background:transparent;color:var(--green);font-size:10px;font-weight:700;padding:4px}.trend-chart-data{display:none}

.portion-row{grid-template-columns:1fr 1fr}.portion-row input,.portion-row select{width:100%}.portion-hint{display:block;margin:-7px 2px 2px;color:#90998e;font-size:10px;line-height:1.5}.meal-group{display:grid;gap:7px}.meal-group-heading{display:flex;justify-content:space-between;align-items:center;padding:7px 3px 1px}.meal-group-heading h4{margin:0;color:#425747;font-size:12px}.meal-group-total{display:flex;align-items:baseline;gap:5px;padding:5px 10px;border:1px solid #dfe9dc;border-radius:10px;background:#edf4eb;color:#315a3c}.meal-group-total small{font-size:9px;color:#687b68}.meal-group-total b{font-size:16px;line-height:1;font-weight:700;letter-spacing:-.2px}.meal-group-total em{font-size:9px;font-style:normal;color:#687b68}.meal-group-items .meal-kcal{color:#315a3c;font-size:13px;font-variant-numeric:tabular-nums}.meal-group-items .meal-kcal small{margin-top:2px;font-size:9px}.meal-group-items{display:grid;gap:7px;margin:0;padding:0 0 0 24px;list-style:decimal}.meal-group-items li{padding-left:2px;color:#758073}.meal-group-items li::marker{font-size:11px;font-weight:700;color:#547b5e}.meal-group-items .meal-item{margin-left:0}.meal-group-empty{margin:0 0 0 26px;padding:9px 12px;border:1px dashed #e3e8e0;border-radius:10px;color:#a1a8a0;font-size:10px}

.water-card{margin-top:12px;padding:18px 20px}.water-head{display:flex;align-items:center;justify-content:space-between}.water-head h3{margin-top:5px;color:#35443a;font-size:15px}.water-date{display:block;margin-top:4px;color:#90998e;font-size:10px}.water-goal-control{display:grid;gap:4px;color:#818981;font-size:9px;text-align:right}.water-goal-control span{display:flex;align-items:center;gap:5px;color:#788177}.water-goal-control input{width:80px;height:32px;padding:0 7px;border:1px solid #e5e9e1;border-radius:8px;background:#fbfcfa;font-size:11px;text-align:right}.water-total-line{display:flex;align-items:baseline;gap:6px;margin-top:15px}.water-total-line>strong{font-size:29px;letter-spacing:-.5px;color:#315a3c}.water-total-line>span{font-size:11px;color:#92998f}.water-total-line>span b{color:#5b655b;font-weight:600}.water-gap{margin-left:auto;color:#547b5e;font-size:10px;font-weight:600}.water-track{height:7px;margin:10px 0 13px;border-radius:7px;background:#edf0e9;overflow:hidden}.water-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#77a88a,#4f8262);transition:width .3s}.water-entry-row{display:flex;gap:8px}.water-entry-row input{flex:1;min-width:0;height:40px;padding:0 11px;border:1px solid #e5e9e1;border-radius:10px;background:#fbfcfa;font-size:11px}.water-entry-row button{padding:0 14px;border:0;border-radius:10px;background:#315a3c;color:white;font-size:10px;font-weight:600}.water-entries{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.water-entry{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;background:#eff4ed;color:#55725b;font-size:9px}.water-entry button{border:0;padding:0;background:none;color:#89968a;font-size:13px;line-height:1}.water-empty,.water-note{color:#92998f;font-size:9px}.water-note{display:block;margin-top:9px;line-height:1.5}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:390px){.water-card{padding:16px 14px}.water-total-line>strong{font-size:26px}.water-gap{font-size:9px}.water-goal-control input{width:72px}}

.photo-picker{flex-wrap:wrap}.photo-picker .photo-copy{flex:1;min-width:130px}.photo-actions{display:flex;width:100%;gap:8px}.photo-action{display:flex!important;align-items:center;justify-content:center;min-height:38px!important;flex:1;padding:0 10px;border:1px solid #d7e2d4;border-radius:9px;background:#fff;color:#46694e!important;font-size:10px!important;font-weight:600!important;cursor:pointer}.photo-action:active{background:#edf4eb}.photo-action input{display:none!important}.photo-picker img{order:3}
.store-food-search{display:grid;gap:7px;padding:12px;border:1px solid #e2e9df;border-radius:12px;background:#f8faf6}.store-food-search>label{display:flex;justify-content:space-between;align-items:center;color:#435547;font-size:11px;font-weight:700}.store-food-search>label small{color:#879187;font-size:9px;font-weight:500}.store-food-search input{width:100%;min-height:40px;padding:0 11px;border:1px solid #dce4d9;border-radius:9px;background:#fff;color:#344137;font-size:12px}.store-food-results{display:grid;gap:5px;max-height:210px;overflow:auto}.store-food-result{display:grid;gap:3px;padding:9px 10px;border:1px solid #e5eae2;border-radius:9px;background:#fff;text-align:left;color:#3c4c3e}.store-food-result b{font-size:11px}.store-food-result small,.store-food-empty{font-size:10px;color:#7d897b}.store-food-empty{margin:0;padding:8px}.store-food-source{margin:0;color:#758174;font-size:9px;line-height:1.5}.store-food-source a{color:#4b7651;font-weight:700}
