:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#273a30;background:#f7f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #368368;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}#shell{max-width:680px;margin:0 auto;min-height:100%;background:#fff;box-shadow:0 1px 22px #25372b0a}.top{padding:20px 19px;border-bottom:1px solid #edf0ed;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:8px}.logo{display:flex;gap:10px;align-items:center}.logo-mark{width:39px;height:39px;background:#e6efe5;border-radius:13px;display:grid;place-items:center;font-size:23px;color:#396e52}.logo b{display:block;font-size:17px;letter-spacing:.2px}.logo small{display:block;font-size:9px;letter-spacing:1.2px;margin-top:3px;color:#9aa99c}.account-button{border:1px solid #e0e9df;background:#f6f9f4;border-radius:22px;padding:9px 13px;font-size:12px;color:#4c6654;max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-page{padding:19px}.auth-art{background:linear-gradient(138deg,#e3ece2,#f9f1dc);border-radius:23px;padding:35px 25px;min-height:245px}.art-leaf{font-size:38px;color:#59856b}.art-text{font-size:27px;font-weight:800;line-height:1.35;margin:20px 0 10px}.auth-art p{font-size:12px;line-height:1.7;color:#66806e}.auth-box{margin:20px auto;max-width:400px}.auth-tabs{display:flex;border-bottom:1px solid #e7ebe6;margin-bottom:19px}.auth-tabs button{background:none;border:0;min-height:45px;flex:1;font-size:14px;color:#819084}.auth-tabs button.active{border-bottom:2px solid #397f5f;color:#2c7852;font-weight:750}.auth-box label,.panel label,.sheet label{font-size:13px;font-weight:650;display:block;margin-bottom:13px}.auth-box input,.panel input:not([type=file]),.sheet input:not([type=file]),textarea,select{display:block;background:#fff;border:1px solid #dce5db;border-radius:10px;padding:12px;width:100%;font-size:16px;margin-top:8px;color:#273a30;min-height:45px}textarea{resize:vertical;min-height:85px}.btn{min-height:45px;border-radius:11px;border:1px solid #d1e0d4;padding:11px 13px;font-size:13px;font-weight:750;width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px}.primary{background:#307d5b;border-color:#307d5b;color:#fff}.outline{background:#fff;color:#2d7959}.pale{background:#eff5ee;color:#397554}.small{font-size:12px;color:#839186;line-height:1.65}.page{padding:24px 19px 25px}.page-eyebrow{color:#668c72;font-size:10px;font-weight:750;letter-spacing:1.4px}h1{font-size:27px;font-weight:800;line-height:1.25;letter-spacing:-1px;margin:7px 0 6px}.intro{font-size:13px;color:#829086;line-height:1.65;margin:8px 0 18px}.datebox{display:flex;align-items:center;justify-content:center;border:1px solid #e4eae3;border-radius:13px;padding:3px;gap:12px}.datebox button{font-size:24px;min-height:40px;width:50px;background:transparent;border:0;color:#597a62}.datebox input{flex:1;min-width:0;max-width:180px;border:0;font-size:14px;text-align:center;padding:6px}.profile-line{background:#eff5ed;border-radius:10px;font-size:12px;padding:11px;margin:14px 0;color:#5c7661;line-height:1.65}.meal-card{border:1px solid #e8ece7;border-radius:15px;margin-top:12px;overflow:hidden;background:#fff}.meal-head{padding:13px 15px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-head h3{margin:0;font-size:15px}.meal-head button,.tiny-link{border:0;background:transparent;color:#397f5c;font-size:12px;font-weight:700;min-height:35px}.meal-row{margin:0 15px;border-top:1px solid #eff1ec;padding:10px 0}.meal-row:first-of-type{border-top:0}.meal-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:650}.meal-title button{min-height:38px;background:transparent;border:0;font-size:12px;color:#54765c}.meal-desc{font-size:12px;line-height:1.75;color:#718577;padding:4px 0 2px}.note{font-size:11px;color:#8a9a8d;line-height:1.8;margin:17px 0}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:21px 0 27px}.two-actions button{border:1px solid #e4ebe3;border-radius:16px;min-height:139px;padding:17px 13px;text-align:left;background:#f7faf6;display:flex;flex-direction:column;justify-content:center;gap:5px}.two-actions button:nth-child(2){background:#faf8f3}.two-actions span{font-size:29px;color:#47775a}.two-actions b{font-size:15px}.two-actions small{color:#849387;font-size:11px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 12px}.section-row h2{font-size:16px;margin:0}.section-row input{border:1px solid #e1e8df;border-radius:10px;padding:7px;max-width:160px;font-size:13px}.record-list,.member-list,.history-list{display:grid;gap:10px}.item{border:1px solid #e6ebe3;background:#fff;border-radius:13px;padding:13px 14px}.item-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#839085}.item-title{font-size:14px;font-weight:680;margin:8px 0;line-height:1.6;overflow-wrap:anywhere}.order{font-size:12px;color:#55765e;background:#edf4ec;border-radius:9px;padding:10px;margin-top:10px;line-height:1.7}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce5dd;border-radius:12px;padding:0 11px;margin-top:12px}.search span{font-size:22px;color:#75a17e}.search input{border:0;min-height:47px;width:100%;font-size:16px;outline:0;background:none}.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 17px}.categories button{border:1px solid #e2e9e1;border-radius:10px;background:#fff;min-height:43px;padding:8px 3px;font-size:12px}.categories button.active{background:#edf4eb;border-color:#bcd7c3;color:#2d7553;font-weight:750}.food-items{border:1px solid #e8ebe7;border-radius:13px;overflow:hidden}.food-item{border:0;border-bottom:1px solid #eef2eb;background:white;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;font-size:14px;padding:14px}.food-item:last-child{border-bottom:0}.food-item small{font-size:11px;color:#839085}.panel{padding:16px;border:1px solid #e4eae3;border-radius:14px;background:#fff}.panel label+label{margin-top:16px}.chip{font-size:11px;color:#498065;background:#edf4ed;padding:6px 10px;border-radius:20px}.upload{border:1px dashed #adcbb5;border-radius:13px;background:#f9fcf8;min-height:130px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-align:center;padding:10px}.upload span{font-size:29px;color:#739b79}.upload small{color:#829387;font-size:11px}.history-list{margin-bottom:10px}#status-msg{font-size:12px;color:#2c7f56;margin-top:16px;line-height:1.6}.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e6ece6;background:#fff;padding:6px 5px 12px}.bottom-nav button{border:0;background:white;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:#8d9a90;border-radius:10px}.bottom-nav button.active{background:#eff5ed;color:#2f7b57;font-weight:750}.bottom-nav span{font-size:22px}.sheet{width:calc(100% - 20px);max-width:510px;border:1px solid #e0e9df;border-radius:18px;padding:18px 17px;max-height:85%;overflow:auto;color:#2b3d31}.sheet::backdrop{background:#25382c77}.sheet-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:15px}.sheet-head small{font-size:10px;color:#6f9a78;letter-spacing:1.2px}.sheet-head h2{font-size:21px;margin:5px 0 0}.close{border:0;background:#eff2ed;color:#5f7163;min-width:43px;min-height:43px;border-radius:50%;font-size:25px}.divider{height:1px;background:#e6ece5;margin:17px 0}.family-code{font-size:20px;font-weight:800;letter-spacing:2px;word-break:break-all;background:#f3f8f2;padding:13px;border-radius:10px;text-align:center;margin:12px 0}.family-member{font-size:13px;border-bottom:1px solid #ecefeb;padding:12px 0}.family-member:last-child{border-bottom:0}.recipe-row{padding:12px 0;border-bottom:1px solid #e9eee8}.recipe-row h3{font-size:14px;margin:3px 0 5px}.recipe-row p{font-size:12px;color:#6a7d6c;line-height:1.7;margin:5px 0}.recipe-row button{width:auto;min-height:39px;margin-top:6px;padding:7px 12px}.record-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.record-fields label{font-size:12px}.food-editor-row{display:grid;grid-template-columns:1.2fr 1fr;gap:7px;padding:8px 0;border-bottom:1px solid #e8eee8}.food-editor-row input{margin:0!important}.food-editor-row button{grid-column:1/-1;min-height:30px;border:0;background:none;color:#a16258;text-align:right;font-size:12px}.finding{padding:12px 0;border-top:1px solid #e6ede5;font-size:13px;line-height:1.7}.finding strong{font-size:14px}.finding p{margin:4px 0}.pill{display:inline-block;border-radius:10px;background:#f5eee6;color:#947451;padding:4px 7px;font-size:11px;margin-left:6px}#food-preview{width:100%;max-height:235px;object-fit:contain;margin:12px 0;border-radius:12px;background:#f4f4f0}@media(min-width:680px){#shell{margin:20px auto;border:1px solid #e4eae3;border-radius:22px;overflow:hidden}}@media(max-width:350px){.page{padding-left:13px;padding-right:13px}.top{padding-left:13px;padding-right:13px}.categories{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V3: compact mobile health profile & explainable updates */
.health-panel .form-section-heading{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:16px;line-height:1.5;margin:2px 0 14px;font-weight:750}
.health-panel .form-section-heading small{font-size:11px;font-weight:400;color:#819084}
.health-panel .form-section-heading.separated{margin-top:22px;padding-top:17px;border-top:1px solid #e9eee7}
.health-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}
.health-grid label{margin-bottom:0}
.health-grid .health-span{grid-column:1/-1}
.health-extra{margin-top:15px;border-top:1px dashed #e1e9df;padding-top:12px}
.health-extra summary{font-size:13px;color:#467356;cursor:pointer;min-height:36px}
.health-extra .health-grid{margin-top:8px}
.assessment-panel,.changes-panel{margin-top:13px}
.assessment-panel h3,.changes-panel h3{font-size:15px;font-weight:750;margin:0 0 8px}
.assessment-panel p,.changes-panel p{font-size:12px;line-height:1.7;color:#597161;margin:6px 0}
.change-item{padding:10px 0;border-top:1px solid #e9eee8;font-size:12px;line-height:1.65}
.change-item strong{display:block;margin-bottom:4px}
.change-item em{font-style:normal;color:#32704e}
.meal-flag{margin-left:7px;color:#986038;font-size:11px}
@media(max-width:355px){.health-grid{gap:8px}.health-grid label{font-size:12px}}

/* V3.1 体检报告：上传后自动保存、识别后核对 */
.review-intro{background:#f0f6f0;border:1px solid #dce9dc;border-radius:12px;padding:13px;font-size:13px;line-height:1.75;color:#3b6851}
.review-indicator{border:1px solid #e5ebe4;background:#fff;border-radius:12px;padding:13px;margin:11px 0}
.review-indicator-title{font-size:13px;font-weight:700;margin-bottom:10px}
.review-label{display:block;font-size:12px;color:#647369;margin:9px 0}
.review-input{display:block;width:100%;min-width:0;min-height:44px;font-size:16px;border:1px solid #dbe6dc;border-radius:9px;padding:9px 11px;background:#fff;color:#22352a;margin-top:5px}
.review-input:focus-visible{outline:2px solid #267151;outline-offset:2px}
.review-advice{padding-top:10px;border-top:1px solid #e4ebe3;margin-top:15px}
.review-success{background:#eaf5eb;border:1px solid #cbdccb;border-radius:12px;padding:12px;font-size:13px;line-height:1.7;color:#2e7150}
#report-choice,#report-flow-tip{line-height:1.65;overflow-wrap:anywhere}

/* V4 seven-day menu planning and dynamic recipe discovery */
.menu-ai-tools{display:flex;gap:10px;justify-content:space-between;align-items:center;border:1px solid #dfe9df;border-radius:13px;padding:12px;margin:12px 0;background:#f9fbf8}
.menu-ai-tools strong{font-size:13px}.menu-ai-tools .small{font-size:11px;margin-top:5px}
.menu-ai-btn{background:#e9f2e8;color:#256d4d;border:1px solid #c9ddca;border-radius:10px;min-height:44px;padding:10px 12px;font-size:12px;font-weight:750;white-space:nowrap}
.menu-ai-btn:disabled{opacity:.6}
.recipe-ai-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}
#recipe-ai-note{margin:6px 0;min-height:12px}
@media(max-width:350px){.recipe-ai-bar,.menu-ai-tools{flex-wrap:wrap}.menu-ai-btn{white-space:normal}}

/* V5 food lookup: calibrated, mobile-first nutrition detail */
.food-list-card{min-height:73px;padding:12px 14px;align-items:center}.food-list-left{display:grid;gap:5px;min-width:0}.food-list-left strong{font-size:14px}.food-list-left .small{font-size:11px;line-height:1.45}.food-chevron{flex-shrink:0}
#food-catalog-summary{margin:12px 0 -3px}.food-amount{border:1px solid #dce6dc;border-radius:12px;padding:13px 14px;background:#f7faf7;margin-top:12px}.food-amount label{display:flex;align-items:center;gap:9px;margin:0;font-size:13px;flex-wrap:wrap}.food-amount input{width:105px!important;max-width:48%;margin:0!important;text-align:center;font-weight:700}.food-amount span{font-size:12px;color:#718576}.nutrition-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.nutri-metric{min-height:82px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#f3f7f1;border:1px solid #e4ece2;border-radius:12px;padding:12px;gap:2px}.nutri-metric strong{font-size:22px;line-height:1.25;letter-spacing:-.3px;color:#2a5940}.food-gi-info{padding:13px;background:#fbf9f2;border:1px solid #ece6d6;border-radius:12px;margin:10px 0}.food-gi-info strong{font-size:13px}.food-gi-info p{margin:8px 0}.food-gi-info a{color:#3c7458;text-decoration:underline}.food-advice{padding:13px;background:#f3f7f2;border-radius:12px;color:#3b6350;font-size:13px;line-height:1.8}.food-warning{padding:13px;background:#faf7ed;border:1px solid #eee6d1;border-radius:12px;line-height:1.7;font-size:13px}.food-warning p{margin:8px 0}.food-ai-result:not(:empty){padding:12px;margin-top:12px;border-radius:12px;background:#f4f8f3;font-size:13px;line-height:1.8}.food-ai-result p{margin:8px 0}.food-source{font-size:11px;color:#809184;line-height:1.7;margin-top:14px;overflow-wrap:anywhere}
@media(min-width:420px){.nutrition-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V6: 内容优先，解释按需展开 */
.page h1{margin:0 0 17px;font-size:26px}
.two-actions{margin:14px 0 19px;gap:10px}
.two-actions button{min-height:100px;padding:15px}
.two-actions span{font-size:25px}
.menu-ai-tools{margin:10px 0}
.menu-ai-tools #menu-ai-status:empty{display:none}
.meal-row{padding:11px 0}
.meal-desc{line-height:1.55;padding:3px 0;font-size:12px}
.compact-details,.quiet-details{font-size:12px;color:#6a7e70;line-height:1.65}
.compact-details{margin-top:5px}
.compact-details summary,.quiet-details summary{cursor:pointer;color:#48775b;min-height:26px;list-style-position:inside}
.compact-details p,.quiet-details p{margin:7px 0 3px}
.quiet-details{border-top:1px solid #edf1ec;padding:12px 0;margin-top:14px}
.recipe-row p{margin:5px 0}
.recipe-ai-bar{justify-content:flex-end;margin:8px 0 4px}
.sheet-head{padding-bottom:9px}
.sheet-head h2{margin:0}
.food-gi-info{padding:11px 13px}
.nutri-metric{min-height:70px;padding:10px}
#food-catalog-summary{margin:9px 0 -5px}


/* V6.1: compact, labeled photo food editor */
#food-editor{display:grid;gap:10px;margin-top:12px}
.food-editor-card{padding:12px;background:#fbfcfa;border:1px solid #e1eae0;border-radius:14px;min-width:0}
.food-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}
.food-index{font-size:12px;font-weight:750;color:#4c795e}
.food-card-delete{border:0;background:transparent;color:#a06961;font-size:12px;padding:5px 4px;min-height:30px}
.sheet .food-editor-card .food-card-name{margin:0!important;min-height:45px;font-size:16px;font-weight:650;background:#fff}
.food-card-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px}
.sheet .food-editor-card .food-field{font-size:12px;font-weight:600;color:#7a897b;min-width:0;margin:0}
.food-field>span{display:block;margin-bottom:5px}
.sheet .food-card-fields input{min-width:0;margin:0!important;min-height:46px;padding:10px 11px}
.food-amount-control{display:flex;align-items:center;background:#fff;border:1px solid #dce5db;border-radius:10px;overflow:hidden;min-width:0}
.sheet .food-amount-control input{flex:1;min-width:0;border:0!important;border-radius:0!important;box-shadow:none;outline-offset:-3px;font-weight:650;padding:10px!important}
.sheet .food-amount-control select{width:55px;min-width:55px;min-height:43px;margin:0!important;padding:0 4px 0 6px;border:0;border-left:1px solid #e4ebe3;border-radius:0;font-size:13px;background:#f6faf6;color:#376d53}
.food-estimate-note{display:block;font-size:11px;color:#829185;margin-top:7px}
.record-foods{display:grid;gap:0;margin-top:10px}
.record-food-item{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef1ed;font-size:14px}
.record-food-item:last-child{border-bottom:0}
.record-food-name{font-weight:680;flex:1;min-width:0;overflow-wrap:anywhere}
.record-food-detail{font-size:12px;color:#61816b;text-align:right;max-width:50%;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:350px){.food-card-fields{gap:7px}.sheet .food-card-fields input{padding:8px!important}.record-food-detail{max-width:55%}}

/* V6.2: four navigation tabs remain visible while browsing long pages. */
#main-app{padding-bottom:calc(94px + env(safe-area-inset-bottom, 0px))}
.bottom-nav{
 position:fixed;left:50%;bottom:0;transform:translateX(-50%);
 width:100%;max-width:680px;z-index:70;
 padding:5px 6px calc(6px + env(safe-area-inset-bottom, 0px));
 border-top:1px solid #e1e9e0;background:#fff;
 box-shadow:0 -5px 18px rgba(20,45,28,.09);
}
.bottom-nav button{min-height:55px;touch-action:manipulation}
.bottom-nav button.active{background:#eaf3e9}
@media(min-width:680px){.bottom-nav{border-radius:15px 15px 0 0}}
@media(max-width:350px){.bottom-nav span{font-size:20px}}
