:root{--bg:#f5f8f4;--ink:#18382d;--muted:#758b7c;--green:#247755;--forest:#124b3b;--line:#e2ebe3;--mint:#eaf4eb;--white:#fff;--gold:#e8b767;--shadow:0 20px 60px rgba(32,71,51,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:radial-gradient(750px 460px at 90% 0,rgba(211,239,215,.45),transparent 65%),var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.dropzone:focus-visible{outline:3px solid #93d7a7;outline-offset:3px}input[type=number]{font-variant-numeric:tabular-nums}button,select{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}.app-wrap{width:min(1200px,calc(100% - 54px));margin:0 auto}.topbar{height:86px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:900;letter-spacing:-1.05px;white-space:nowrap}.brand-mark{background:var(--forest);color:#fff;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;box-shadow:0 6px 15px #194e392b}.brand-accent{color:#28845c}.brand small{font-size:9px;letter-spacing:1.6px;vertical-align:top;margin-left:5px;padding:3px 4px;border-radius:4px;background:#e8eee6;color:#758c7b}.top-nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:650;color:#61756a}.top-nav a:hover,.hero-secondary:hover{color:var(--green)}.nav-status{font-size:11px;white-space:nowrap;font-weight:750;color:#417054;background:#fff;border:1px solid #ddeade;border-radius:100px;padding:10px 13px;display:flex;align-items:center;gap:8px}.status-light{width:7px;height:7px;background:#38b978;border-radius:50%;box-shadow:0 0 0 4px #e5f8ea}
.hero{min-height:370px;display:grid;grid-template-columns:1.45fr 1fr;gap:25px;align-items:center;padding:20px 0 40px}.hero-copy{padding:9px 0 6px}.eyebrow,.overline{font-size:10px;letter-spacing:1.65px;font-weight:850;color:var(--green)}.eyebrow{display:flex;align-items:center;gap:9px}.spark{color:#66a86d;font-size:20px}.hero h1{font-size:clamp(39px,4.5vw,62px);line-height:1.08;font-weight:900;letter-spacing:-2.8px;margin:19px 0 14px}.hero h1 em{font-style:normal;color:#2a8860}.hero-copy>p{font-size:15px;line-height:1.75;max-width:610px;color:#6a8273;margin:0}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:26px}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border-radius:12px;font-size:13px;font-weight:750;transition:transform .18s,background .18s,color .18s;min-height:44px}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:var(--forest);box-shadow:0 6px 18px rgba(17,76,58,.14)}.btn-primary:not(:disabled):hover{background:#176249}.hero-actions .btn{padding:14px 23px}.hero-secondary{font-size:13px;font-weight:740;color:#5a7665;white-space:nowrap}.hero-secondary span{margin-left:6px}.hero-proof{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px;color:#678776;font-size:11px;font-weight:650}.hero-proof span:first-letter{color:#219461}
.hero-visual{height:315px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.hero-orb{position:absolute;border-radius:50%;background:#def0df;z-index:-1}.orb-one{width:300px;height:300px;transform:translate(0,-1px);opacity:.85}.orb-two{width:280px;height:280px;transform:translate(21px,2px);background:#e2efdf;opacity:.58}.food-plate{width:245px;height:245px;border-radius:50%;background:linear-gradient(145deg,#fff,#e6ede6);box-shadow:0 21px 33px rgba(34,77,54,.15),inset 0 -3px 8px rgba(29,73,46,.08);border:7px solid #fff;display:grid;place-items:center;transform:rotate(-13deg)}.plate-inside{width:205px;height:205px;border:5px solid #f0f2e9;border-radius:50%;background:#fafbf4;position:relative;overflow:hidden}.food{position:absolute;font-size:58px;line-height:1;filter:drop-shadow(0 3px 1px rgba(0,0,0,.08))}.rice{top:22px;left:14px;transform:rotate(-25deg)}.chicken{top:12px;right:17px;transform:rotate(22deg)}.salad{bottom:20px;right:21px;font-size:67px}.bean{bottom:24px;left:17px;font-size:57px}.hero-floating{z-index:1;position:absolute;display:flex;align-items:center;gap:8px;padding:11px 14px;background:#fff;border-radius:12px;color:#325d49;font-size:11px;font-weight:800;box-shadow:0 10px 29px rgba(26,77,45,.11);border:1px solid #eff5ed}.float-top{top:37px;left:0;transform:rotate(-5deg)}.float-top span{font-size:16px;color:#459c61}.float-bottom{right:0;bottom:31px;transform:rotate(4deg)}.green-circle{border-radius:50%;background:#e4f7e9;color:#188652;display:grid;place-items:center;width:20px;height:20px}
.workspace{display:grid;grid-template-columns:1fr 1fr;gap:21px;align-items:start;scroll-margin-top:18px}.panel{min-width:0;background:#fff;border:1px solid #e8eee6;border-radius:22px;padding:25px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:20px}.panel-header h2{font-size:22px;letter-spacing:-.65px;line-height:1.25;margin:9px 0 5px}.panel-header p{font-size:12px;color:#849587;margin:0;line-height:1.55}.corner-icon{font-size:22px;display:grid;place-items:center;min-width:43px;height:43px;background:#f0f6ef;border-radius:13px}.dropzone{position:relative;height:266px;border:1.5px dashed #caddc9;background:linear-gradient(147deg,#f7faf4,#eff6ef);border-radius:17px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;overflow:hidden;gap:8px;transition:background .2s,border-color .2s}.dropzone:hover,.dropzone.dragging{border-color:#57a977;background:#eff8ed}.upload-art{height:160px;width:240px;position:relative;display:grid;place-items:center}.upload-art-icon{font-size:10px;color:#8ab597;position:absolute;top:0;right:40px;transform:rotate(-20deg)}.upload-art-bowl{font-size:97px;filter:drop-shadow(0 14px 12px rgba(46,86,58,.12));line-height:1.45}.upload-art-ping{position:absolute;width:14px;height:14px;background:#e9b974;border-radius:50%;opacity:.7}.upload-art-ping.one{top:36px;left:29px}.upload-art-ping.two{bottom:16px;right:12px;background:#8dc7a3;width:9px;height:9px}.dropzone-copy{display:grid;gap:5px;margin-bottom:13px}.dropzone-copy strong{font-size:13px}.dropzone-copy span{font-size:11px;color:#819388}.dropzone.has-photo{background:#edf2ea;border-style:solid}.dropzone.has-photo .upload-art,.dropzone.has-photo .dropzone-copy{display:none}.photo-preview{width:100%;height:100%;object-fit:contain}.upload-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.btn-outline{border:1px solid #d5e5d8;background:#fff;color:#315e47}.btn-outline:not(:disabled):hover{background:#f0f7ee}.btn-subtle{background:#eef5ed;color:#3b7356}.btn-subtle:not(:disabled):hover{background:#e4f1e4}.btn-wide{display:flex;width:100%;margin-top:14px;height:49px}.analysis-status{font-size:11px;color:#779081;display:flex;align-items:start;gap:9px;line-height:1.6;min-height:32px;padding:12px 1px 0}.analysis-status.error{color:#ac4b38}.analysis-status.success{color:#2c8457}.analysis-status.loading{color:#78613b}.status-tick{font-size:16px;line-height:1}.privacy-flag{border-top:1px solid #edf2e9;padding:19px 3px 0;margin-top:7px;display:flex;align-items:flex-start;gap:9px;color:#829489}.privacy-flag>span{font-size:15px;flex:none}.privacy-flag p{font-size:10.5px;line-height:1.65;margin:0}.privacy-flag strong{color:#4e795b}.recognition-box{padding:14px;border:1px solid #d6e7d5;border-radius:14px;background:#f7faf5;margin:12px 0}.recognition-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.recognition-heading strong{font-size:12px}.recognition-heading span{font-size:10px;background:#e5f0e5;padding:5px 8px;border-radius:20px;color:#5b8366;font-weight:800}.recognition-hint{font-size:11px;color:#6b8471;line-height:1.55;margin:8px 0 11px}.candidates{display:grid;gap:7px}.candidate{border:1px solid #e0e9df;background:#fff;border-radius:11px;padding:11px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.candidate strong{font-size:12px}.candidate small{display:block;font-size:10px;color:#8da08f;margin-top:3px}.candidate button{border:0;border-radius:9px;background:#e5f2e6;color:#276a46;padding:8px 10px;font-size:11px;font-weight:800}.candidate button:disabled{background:#eff1ee;color:#88988c}.candidate .candidate-low{display:block;color:#a8793b}
.results-empty{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 18px 10px}.empty-graphic{width:118px;height:118px;border-radius:50%;background:#eaf4e8;display:grid;place-items:center;position:relative;margin-bottom:16px}.empty-graphic span{font-size:58px}.empty-graphic i{position:absolute;top:8px;right:-6px;font-size:25px;font-style:normal;color:#87ba8a}.results-empty h3{font-size:18px;letter-spacing:-.35px;margin:0 0 8px}.results-empty p{max-width:290px;color:#859789;font-size:12px;line-height:1.7;margin:0 0 18px}.nutrient-summary{background:#f1f8ee;border-radius:15px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-eyebrow{display:block;font-size:9px;font-weight:850;letter-spacing:1.25px;color:#538669}.kcal-number{display:flex;align-items:baseline;gap:6px;margin:4px 0}.kcal-number strong{font-size:41px;letter-spacing:-1.8px}.kcal-number span{font-size:14px;font-weight:750}.nutrient-summary small{font-size:11px;color:#789481}.summary-ring{width:75px;height:75px;border-radius:50%;background:conic-gradient(#67aa79 0%,#e5eedd 0);display:grid;place-items:center;flex:none}.summary-ring>div{width:58px;height:58px;background:#f9fcf8;border-radius:50%;display:grid;place-items:center;font-size:22px}.macro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.macro-card{min-width:0;background:#fafbf8;border:1px solid #edf0e9;border-radius:12px;min-height:81px;padding:12px;display:flex;flex-direction:column;gap:7px}.macro-mark{width:9px;height:9px;border-radius:50%;background:#67a6d0}.macro-card.carbs .macro-mark{background:#e8b86d}.macro-card.fats .macro-mark{background:#c59ade}.macro-card strong{font-size:16px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.macro-card small{font-size:10px;color:#8a9b8c}.list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 0 12px}.list-heading h3{margin:0;font-size:16px;letter-spacing:-.3px}.list-heading span{font-size:10px;color:#90a294}.plate-rows{display:grid;gap:10px}.plate-row{display:flex;align-items:center;gap:10px;border:1px solid #e8efe8;border-radius:12px;padding:9px 10px;min-width:0}.food-emoji{height:38px;width:38px;display:grid;place-items:center;background:#f0f6eb;border-radius:11px;font-size:21px;flex:none}.food-meta{flex:1;min-width:0}.food-meta strong{font-size:11.5px;display:block;line-height:1.3}.food-meta small{display:block;color:#899d8a;font-size:10px;line-height:1.5;margin-top:4px}.gram-control{display:flex;align-items:center;background:#f8faf6;border-radius:9px;padding:4px;flex:none;gap:3px}.gram-control input{width:48px;border:0;background:transparent;outline:none;text-align:right;font-size:12px;font-weight:750;color:#34533f;padding:3px 0}.gram-control label{font-size:10px;color:#95a496;padding-right:4px}.del-button{width:24px;height:25px;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;font-size:17px;color:#b28c84}.del-button:hover{background:#fff0ed;color:#bb5f54}.add-card{margin-top:19px;border:1px solid #e5eee4;border-radius:14px;padding:15px;background:#fbfdfb}.add-card>label{font-weight:800;font-size:12px}.add-card>p{font-size:10.5px;color:#849887;margin:5px 0 12px}.food-search-wrap{position:relative}.food-search-wrap input{width:100%;border:1px solid #dfe8df;border-radius:10px;padding:12px 13px;background:white;font-size:12px;outline:none;color:var(--ink)}.food-search-wrap input:focus{border-color:#8cc59b}.food-options{position:absolute;top:calc(100% + 5px);left:0;right:0;background:white;border:1px solid #d9e9d9;border-radius:11px;box-shadow:0 14px 28px rgba(35,69,43,.15);z-index:10;max-height:205px;overflow-y:auto;padding:5px}.food-option{border:0;display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:white;padding:10px 9px;border-radius:8px;gap:10px;font-size:11px;color:#315841}.food-option:hover{background:#f1f8f1}.food-option small{color:#91a396;white-space:nowrap}.food-option.empty{pointer-events:none;color:#8a9689}.add-row{display:flex;align-items:stretch;justify-content:space-between;gap:12px;margin-top:10px}.add-row label{display:flex;align-items:center;gap:7px;font-size:11px;color:#6c866c}.add-row input{border:1px solid #e0e9de;border-radius:9px;width:69px;height:37px;padding:5px 7px;text-align:right;color:#2e563f;outline:none;font-weight:700}.add-row label span{font-size:10px;color:#849783}.btn-add{background:#e2efe2;color:#2e754d;padding:9px 17px}.link-button{border:0;background:transparent;color:#4a8860;font-size:10.5px;font-weight:700;padding:10px 0 0;text-decoration:underline;text-underline-offset:2px}.custom-form{margin-top:12px;background:white;border:1px solid #e2e8e0;padding:11px;border-radius:10px;display:grid;gap:9px}.custom-form>label{display:grid;gap:4px;font-size:11px;font-weight:700}.custom-form input{height:36px;border:1px solid #dce7dc;border-radius:8px;padding:7px;font-size:12px;width:100%}.mini-hint{font-size:10px;color:#859987}.custom-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.custom-fields label{font-size:10px;color:#5e7966;display:grid;gap:4px;min-width:0}.estimate-note{display:flex;gap:10px;align-items:start;padding:11px 12px;background:#fffaf0;border:1px solid #f3ead8;border-radius:11px;margin-top:17px;color:#b98746}.estimate-note>span{font-size:15px}.estimate-note p{font-size:10.5px;line-height:1.7;color:#947b58;margin:0}.save-actions{margin-top:13px;display:flex;align-items:end;gap:8px;flex-wrap:wrap}.save-actions label{display:grid;gap:5px;font-size:9.5px;color:#77907d;margin-right:auto}.save-actions select{border:1px solid #dce9de;border-radius:10px;background:#fff;height:41px;color:#3a6148;font-size:11px;padding:0 7px;min-width:105px}.save-actions .btn{padding:11px 12px;font-size:11px}
.insights{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-top:22px;scroll-margin-top:17px}.compact{margin-bottom:17px}.compact h2{font-size:20px}.goal-row{display:flex;justify-content:space-between;align-items:end;gap:10px}.day-calories{display:flex;align-items:baseline;gap:7px}.day-calories strong{font-size:35px;letter-spacing:-1.4px}.day-calories>span{font-size:13px;color:#92a08e}.goal-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#79907e;white-space:nowrap}.goal-label input{width:63px;border:1px solid #e0ebe0;text-align:right;padding:7px 5px;border-radius:8px;color:#315842;font-weight:700}.goal-label span{font-size:9px}.progress-track{height:10px;border-radius:100px;background:#ebf2e9;overflow:hidden;margin:14px 0 9px}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,#6ab888,#2d8965);border-radius:99px;width:0;transition:width .25s}.progress-caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8d9d8d}.diary-panel{min-height:245px}.export-button{border:1px solid #dcebdc;background:#f9fcf8;padding:9px 11px;border-radius:9px;color:#4c805d;font-size:11px;font-weight:760}.diary-rows{display:grid;gap:9px}.diary-empty{text-align:center;border:1px dashed #dfe9df;border-radius:12px;padding:26px;color:#82978b;font-size:12px;background:#fafcf9}.diary-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ecf1ed;padding:7px 0;gap:12px}.diary-item:last-child{border:0}.diary-item strong{font-size:12px}.diary-item small{display:block;font-size:10px;color:#95a393;margin-top:4px}.diary-right{display:flex;align-items:center;gap:12px}.diary-right strong{font-size:12px;white-space:nowrap}.diary-remove{font-size:15px;background:none;border:0;color:#b38f8a;padding:5px;line-height:1}
.info-section{margin-top:67px}.info-title{text-align:center;max-width:570px;margin:auto}.info-title h2{font-size:33px;letter-spacing:-1.2px;margin:10px 0 8px}.info-title p{font-size:13px;color:#788e7e;line-height:1.65;margin:0}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:24px}.info-grid article{background:white;padding:23px;border-radius:17px;border:1px solid #e5eee4;box-shadow:0 8px 27px rgba(30,66,43,.035)}.info-grid article>span{display:grid;place-items:center;background:#eaf4e8;height:34px;width:34px;border-radius:10px;font-size:12px;font-weight:900;color:#38865c}.info-grid h3{font-size:15px;letter-spacing:-.2px;margin:15px 0 6px}.info-grid p{font-size:12px;color:#809185;line-height:1.65;margin:0}footer{border-top:1px solid #dfe9dd;margin-top:62px;padding:26px 0 39px;text-align:center;color:#93a093;font-size:10.5px}.footer-brand{font-size:19px;font-weight:900;letter-spacing:-1px;color:#25523b}.footer-brand>span:first-child{color:#399367}.footer-lab{font-size:9px;vertical-align:top;letter-spacing:1px}.footer-link{border:0;background:transparent;color:#598870;text-decoration:underline;font-size:10px;cursor:pointer}.footer-copyright{margin-bottom:0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,30px);min-width:170px;max-width:min(480px,calc(100% - 20px));background:#214d39;color:#fff;padding:12px 19px;border-radius:12px;box-shadow:0 12px 40px rgba(19,70,46,.24);z-index:50;font-size:12px;text-align:center;pointer-events:none;opacity:0;transition:all .22s}.toast.active{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.topbar{gap:20px}.top-nav{gap:15px}.hero-visual{transform:scale(.93)}.panel{padding:20px}.hero h1{font-size:48px}}
@media(max-width:830px){.top-nav{display:none}.nav-status{margin-left:auto}.hero{grid-template-columns:1fr;padding:28px 0 25px;min-height:unset}.hero-copy{max-width:670px}.hero-visual{display:none}.workspace,.insights{grid-template-columns:1fr}.app-wrap{width:min(720px,calc(100% - 38px))}.dropzone{height:300px}.results-empty{min-height:250px}}
@media(max-width:510px){.app-wrap{width:calc(100% - 26px)}.topbar{height:71px;gap:7px}.brand{font-size:19px}.brand-mark{height:38px;width:38px}.brand small{font-size:8px}.nav-status{padding:7px 9px;font-size:9px}.hero{padding:20px 0 24px}.eyebrow{font-size:9px;letter-spacing:1.25px}.hero h1{font-size:clamp(36px,10vw,47px);letter-spacing:-1.85px;margin:14px 0 11px}.hero-copy>p{font-size:13px}.hero-actions{margin-top:20px}.hero-proof{gap:7px 12px;font-size:10px;margin-top:17px}.workspace,.insights{gap:14px}.panel{padding:17px;border-radius:19px}.panel-header h2{font-size:20px}.corner-icon{height:38px;width:38px;min-width:38px}.dropzone{height:270px}.upload-art{height:145px}.upload-art-bowl{font-size:81px}.info-section{margin-top:49px}.info-title h2{font-size:27px}.info-grid{grid-template-columns:1fr;gap:11px}.info-grid article{padding:19px}.info-grid h3{margin:9px 0 4px}.custom-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.save-actions .btn{flex:1}.save-actions label{width:100%;margin:0}.save-actions select{width:100%}.day-calories strong{font-size:28px}.goal-label{font-size:9px}.progress-caption{font-size:9px}.footer-brand{margin-bottom:8px}}
@media(max-width:365px){.brand{font-size:17px}.nav-status{font-size:8px}.hero-actions{gap:12px}.hero-secondary{font-size:11px}.macro-card{padding:9px}.macro-card strong{font-size:13px}.gram-control input{width:34px}.food-emoji{width:31px;height:32px;font-size:17px}.food-meta strong{font-size:10px}.plate-row{gap:6px;padding:8px 6px}.goal-row{flex-wrap:wrap}.upload-row .btn{font-size:11px;padding:9px}}

/* v1.2 - Rechazo honesto ante baja confianza y recetas manuales */
.recipes-quick{margin-top:15px;border-radius:15px;border:1px solid #dceade;background:#f8fbf7;padding:15px}
.recipes-quick-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.recipes-quick-head strong{font-size:13px}.recipes-quick-head span{font-size:10px;font-weight:750;color:#4f8464;background:#e7f2e9;padding:5px 9px;border-radius:99px}
.recipes-quick p{margin:9px 0 13px;font-size:11px;color:#6c8473;line-height:1.65}
.recipes-buttons{display:grid;grid-template-columns:1fr;gap:8px}
.recipes-buttons button{display:block;text-align:left;background:#fff;border:1px solid #d8e8dc;border-radius:10px;padding:12px;font-size:12px;font-weight:730;color:#2c6346;min-height:43px}
.recipes-buttons button:active{background:#e9f6e9}
.recognition-warning{background:#fff8eb;border:1px solid #f2dbaa;color:#745c2b;border-radius:10px;padding:13px;font-size:11px;line-height:1.6}
.recognition-warning strong{display:block;margin-bottom:4px;font-size:12px}
@media(min-width:650px){.recipes-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.recipes-buttons button{font-size:11px;padding:10px}}

/* v2 Gemini: nota de resultados y contabilidad */
.confidence-flag{background:#fff7df;color:#7e5929;border:1px solid #f0ddb2;padding:10px 14px;border-radius:12px;font-size:13px;margin-top:10px;}
.usage-caption{font-size:12px;color:#718577;margin-top:10px;}
.privacy-flag p{overflow-wrap:anywhere;}
