.photo-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.photo-picker{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.photo-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;padding:0}.photo-picker.disabled{opacity:.55;cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.camera-panel video{display:block;width:100%;max-height:430px;background:#14241a;border-radius:12px}.camera-panel .tools{margin:12px 0}.engine-status{flex-wrap:wrap}.engine-status button{font-size:12px;padding:5px 10px}.cloud-consent{color:var(--green);line-height:1.5}.quick-actions a{white-space:normal}.plan-summary{margin-top:20px}.plan-summary li{margin:8px 0}.photo-actions>button,.photo-actions>.photo-picker{min-height:46px}@media(max-width:700px){.photo-actions>button,.photo-actions>.photo-picker{flex:1 1 140px}.upload-box{min-height:180px;padding:18px}.cloud-consent{font-size:14px}}
.hero-action{display:inline-block;padding:10px 14px;background:var(--lime);color:var(--green);border-radius:9px;text-decoration:none;margin:0 0 18px;font-weight:600;font-size:13px}.scan-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.upload-box{min-height:245px;background:#f0f4e9;border:2px dashed #b6c8a5;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;position:relative;overflow:hidden}.upload-box img{max-width:100%;max-height:310px;border-radius:10px;object-fit:contain}.upload-box .camera-symbol{font-size:46px;color:#587d4c}.upload-box input{max-width:100%;font-size:12px;background:#fff;margin-top:15px}.upload-box p{font-size:12px;max-width:250px}.analysis-action{width:100%;margin-top:15px}.engine-status{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin:16px 0}.status-dot{width:8px;height:8px;background:#d4ad53;border-radius:50%}.status-dot.ready{background:#55936d}.explanation{font-size:12px;color:var(--muted);margin:15px 0}.food-editor{background:#f7f9f4;border-radius:12px;padding:15px;margin-top:14px}.food-editor .fields{grid-template-columns:repeat(3,1fr);gap:10px}.food-editor label{font-size:11px;margin:0}.food-editor input{padding:8px;min-width:0}.food-top{display:flex;gap:10px;margin-bottom:12px}.food-top input{flex:1;min-width:0}.food-top button{font-size:18px}.result-total{display:flex;gap:20px;flex-wrap:wrap;background:#eaf1df;padding:18px;border-radius:12px;margin:18px 0}.result-total strong{display:block;font-size:21px}.result-total small{color:#65805b;font-size:11px}.request-error{padding:13px;border-radius:10px;background:#fff0e8;color:#8a4933;font-size:13px;margin:15px 0}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #a9bc9f;border-top-color:#245746;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.context-stats{display:flex;gap:30px;flex-wrap:wrap;margin:20px 0}.context-stats strong{font-size:25px;font-weight:500}.context-stats small{display:block;color:var(--muted)}.coach-answer{font-size:17px;line-height:1.7}.coach-options{padding-left:20px;color:#54704d}.recipe-generated{margin-top:20px;background:#f0f5e7;padding:20px;border-radius:14px}.recipe-generated li{margin-bottom:9px}.generated-tools{display:flex;gap:10px;flex-wrap:wrap}textarea{font:inherit;width:100%;resize:vertical;min-height:75px;border:1px solid #dce3d5;border-radius:9px;padding:12px;color:#20392d}.recipe-box{margin-top:22px}.form-inline{display:flex;gap:10px;align-items:end}.form-inline label{flex:1;margin:0}.form-inline button{flex-shrink:0}.photo-save-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.unconfirmed{font-size:12px;display:flex;gap:8px;align-items:start;margin:20px 0}.unconfirmed input{width:auto;margin:4px 0}.cloud-consent{font-size:13px;display:flex;gap:10px;align-items:flex-start;margin:12px 0;line-height:1.45}.cloud-consent input{flex:0 0 auto;width:auto;min-width:18px;margin:2px 0 0;padding:0}.estimate-badge{background:#fff1ce;color:#82682f;border-radius:5px;font-size:10px;letter-spacing:.8px;padding:5px 8px}button:disabled{cursor:default;opacity:.55}.scanning{padding:24px;background:#f0f5e7;border-radius:13px;text-align:center}.scan-title-input{font-size:20px;font-weight:600;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:10px 0}.preview-caption{font-size:11px;color:var(--muted);margin:10px 0}.side-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.food-empty{font-size:14px;padding:20px;text-align:center;color:var(--muted)}@media(max-width:1050px){.scan-grid{grid-template-columns:1fr}.food-editor .fields{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){nav{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain}nav a{display:grid;flex:0 0 64px;padding:6px 4px;font-size:17px}nav a span{font-size:8px;max-width:56px;line-height:1.15}.food-editor .fields{grid-template-columns:1fr 1fr}.result-total{gap:15px}.form-inline{align-items:stretch;flex-direction:column}.context-stats{gap:20px}.hero .hero-action{font-size:11px}.hero .pill{display:none}.hero-art{display:none}}
.simple-shortcuts{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 18px}.simple-shortcuts a{font-size:14px;color:var(--green);text-underline-offset:4px}.profile-options{display:flex;flex-direction:column;gap:12px}.pro-preview{margin-top:20px}.pro-preview>summary{cursor:pointer;font-weight:600}.meal-options{margin:16px 0}.meal-options .photo-save-fields{margin-top:14px}dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e5eadd}dd{margin:0;text-align:right}#profileForm .allergy-menu{margin-bottom:16px}@media(max-width:700px){nav{justify-content:space-around}nav a{flex:1 1 25%;max-width:100px}nav a span{font-size:11px;max-width:76px}.simple-shortcuts a{font-size:13px}}
.scan-empty{display:block;max-width:680px}.photo-hint{margin:0 0 12px;font-size:16px}.scan-empty .photo-actions{margin:20px 0}.scan-empty .photo-actions button,.scan-empty .photo-picker{min-height:52px}

/* Public navigation: six actions remain visible at phone widths. */
.personal-nav{background:#eef3dc;border:1px solid #d2dfb4;color:#245746;font-weight:650}
.personal-entry{margin:18px 0 24px}
.personal-cta{width:min(100%,680px);display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:18px;background:#245746;color:#fff!important;text-decoration:none!important;box-shadow:0 6px 18px #24574616;border:1px solid #245746;transition:transform .18s,box-shadow .18s}
.personal-cta:hover{transform:translateY(-2px);box-shadow:0 9px 22px #24574625}
.personal-cta strong{display:block;font-size:20px;line-height:1.3;letter-spacing:-.3px}
.personal-cta small{display:block;margin-top:5px;color:#e0ebd8;font-size:13px;line-height:1.4}
.personal-cta-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:#d9f095;color:#245746;font-size:30px}
.personal-cta-arrow{margin-left:auto;font-size:27px;color:#d9f095}
.personal-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#245746;color:#fff;padding:30px;border-radius:23px;margin-bottom:24px}
.personal-badge{display:inline-block;color:#d9f095;font-size:11px;letter-spacing:1.5px;margin-bottom:14px;font-weight:650}
.personal-hero h2{font-size:30px;margin:0 0 12px}.personal-hero p{color:#e0ebd8;max-width:580px;margin:0;font-size:15px}
.personal-hero-symbol{font-size:100px;color:#d9f095;line-height:1}
.personal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.personal-card{display:flex;flex-direction:column;text-decoration:none;color:#20392d;background:#fff;border:1px solid #e0e7d8;border-radius:18px;padding:24px;min-height:245px;transition:border-color .18s,transform .18s}
.personal-card:hover{border-color:#829f5c;transform:translateY(-2px)}.personal-card-icon{display:grid;place-items:center;width:44px;height:44px;background:#edf4e3;border-radius:13px;color:#245746;font-size:25px;margin-bottom:20px}
.personal-card h2{font-size:20px;margin:0 0 10px}.personal-card p{font-size:14px;margin:0 0 22px;line-height:1.55}.personal-card-open{margin-top:auto;color:#245746;font-size:14px;font-weight:650;display:flex;justify-content:space-between;gap:12px}.personal-footnote{font-size:13px;margin:24px 0}
@media(max-width:1050px){.personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){nav{display:flex;justify-content:space-between;overflow-x:visible;gap:0}nav a{flex:1 1 0;min-width:0;max-width:none;padding:5px 2px;min-height:52px;align-content:start}nav a span{font-size:9px;max-width:60px;line-height:1.2}nav .personal-nav{border-radius:10px}nav .personal-nav .personal-nav-icon{font-size:17px}.personal-cta{padding:18px 16px;gap:12px;border-radius:16px}.personal-cta strong{font-size:19px}.personal-cta small{font-size:12px}.personal-cta-icon{flex-basis:40px;height:40px}.personal-hero{padding:24px}.personal-hero h2{font-size:25px}.personal-hero-symbol{font-size:54px}.personal-grid{grid-template-columns:1fr}.personal-card{min-height:0;padding:22px}.personal-card-icon{margin-bottom:14px}.personal-card h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.personal-card,.personal-cta{transition:none;transform:none!important}}
