:root{--ink:#20251f;--muted:#858a82;--line:#eceee7;--paper:#fff;--ground:#f7f7f1;--green:#406d4f;--green-dark:#315b40;--mint:#e7f0e4;--yellow:#e9cb73;--shadow:0 8px 30px #22291b08;--radius:22px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--ground);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:31px 19px 17px;display:flex;flex-direction:column;z-index:5}.brand,.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:800 23px Manrope,sans-serif;letter-spacing:-1.3px;padding:0 7px 50px}.brand-mark{width:33px;height:33px;border-radius:12px;background:var(--green);color:white;display:grid;place-items:center;font:800 22px Manrope;letter-spacing:-2px}.side-label,.eyebrow{font-size:10px;line-height:1.3;letter-spacing:1.35px;font-weight:700;color:#899188}.side-label{padding:0 10px 15px}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 12px;border:0;background:none;border-radius:12px;text-align:left;color:#686f66;font-size:14px;font-weight:600}.nav-item.active{background:#edf4eb;color:var(--green-dark)}.nav-icon{width:19px;text-align:center;font-size:19px}.sidebar-spacer{flex:1}.premium-card{background:#f6f4e9;border-radius:17px;padding:15px;margin-bottom:17px;position:relative;overflow:hidden}.premium-card h3{font:700 14px/1.4 Manrope,sans-serif;max-width:165px;margin:7px 0}.premium-card p{color:#6e7569;font-size:11px;line-height:1.5;margin:0 0 11px}.sparkle{color:#b29339;font-size:20px}.text-button,.link-button{border:0;padding:0;background:transparent;color:var(--green);font-size:12px;font-weight:700}.text-button span,.link-button span{font-size:17px;margin-left:5px}.profile-mini{display:flex;align-items:center;gap:10px;background:none;border:0;border-top:1px solid var(--line);padding:16px 4px 0;text-align:left}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8dfcf;color:#5e4f3f;font-size:13px;font-weight:700}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:12px}.profile-mini small{font-size:10px;color:var(--muted);margin-top:3px}.dots{margin-left:auto;font-size:20px;color:#8f958d}.main-area{margin-left:244px;width:calc(100% - 244px);min-height:100vh}.topbar{height:75px;padding:0 clamp(28px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9ebe4;background:#f7f7f1e8}.topbar-date{font-size:12px;color:#778076}.top-actions{display:flex;align-items:center;gap:22px}.icon-button{position:relative;background:none;border:0;font-size:20px;color:#70766d}.icon-button i{position:absolute;width:6px;height:6px;background:#cf805d;border-radius:50%;right:2px;top:2px}.profile-button{border:0;background:none;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600}.profile-button .avatar{width:30px;height:30px}.chevron{color:#889086}.mobile-brand{display:none}.view-container{max-width:1240px;margin:0 auto;padding:37px clamp(28px,5vw,76px) 80px}.view{display:none;animation:enter .25s ease}.view.active{display:block}@keyframes enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.8px}h1{font-size:30px;line-height:1.22;margin:7px 0 7px;font-weight:700}h1 em{font-style:normal;color:var(--green)}h2{font-size:17px;margin:6px 0 0;font-weight:700}.subheading{color:#7f857b;font-size:13px;margin:0}.welcome-row,.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.welcome-row .eyebrow,.page-heading .eyebrow{margin-bottom:4px}.streak-pill{border:1px solid #e8e9df;border-radius:100px;background:#fff;padding:10px 14px;font-size:11px;color:#73796f}.streak-pill span{color:#ba9b4e;margin-right:4px}.streak-pill strong{color:#393e37;margin-right:3px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.88fr);gap:17px}.card{background:var(--paper);border:1px solid #eeefe9;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between}.card-heading .eyebrow{margin:0 0 2px}.more-button{border:0;background:none;color:#888;font-size:20px;letter-spacing:2px}.calorie-card{grid-row:span 2;padding:22px 25px 20px}.calorie-content{display:flex;align-items:center;justify-content:space-evenly;padding:13px 0 16px}.ring-wrap{width:180px;height:180px;position:relative;display:grid;place-items:center}.calorie-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-track,.ring-progress{fill:none;stroke-width:10}.ring-track{stroke:#edf0e9}.ring-progress{stroke:#78a57b;stroke-linecap:round;stroke-dasharray:477.5;stroke-dashoffset:179}.ring-label{position:absolute;text-align:center;display:flex;flex-direction:column;align-items:center}.ring-label strong{font:800 27px Manrope;letter-spacing:-1px}.ring-label span{font-size:11px;color:#888f84}.calorie-stats{min-width:165px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.muted{font-size:11px;color:#888f84}.calorie-stats>strong{font:700 22px Manrope;letter-spacing:-.6px}.target-line{display:flex;justify-content:space-between;gap:24px;width:100%;font-size:10px;color:#858a82;margin-top:7px}.target-line span:last-child{color:#545a51}.mini-bar{height:6px;border-radius:8px;background:#eff1ec;overflow:hidden;width:100%;margin:2px 0}.mini-bar>span{height:100%;width:62%;display:block;background:#78a57b;border-radius:inherit;transition:width .3s}.calorie-stats .link-button{margin-top:10px}.macro-row{border-top:1px solid var(--line);padding-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.macro-title{display:flex;align-items:center;gap:6px;font-size:10px;color:#73796f;white-space:nowrap;margin-bottom:8px}.macro-value{margin-left:auto;font-size:10px;color:#3f453d;font-weight:700}.macro-dot{width:7px;height:7px;border-radius:50%;background:#6d9a70;flex-shrink:0}.macro-dot.carbs{background:#dfbd62}.macro-dot.fat{background:#d68e6d}.protein-fill{background:#6d9a70!important;width:53%!important}.carbs-fill{background:#dfbd62!important;width:57%!important}.fat-fill{background:#d68e6d!important;width:60%!important}.water-card{padding:22px 22px 17px;min-height:218px}.water-icon{font-size:22px;color:#7babc0}.water-count{margin:18px 0 14px}.water-count strong{font:700 28px Manrope;letter-spacing:-1px}.water-count span{color:#858a82;font-size:12px}.water-glasses{display:flex;gap:7px}.water-glass{width:20px;height:27px;border:1.5px solid #c5d9de;border-radius:4px 4px 7px 7px;position:relative;overflow:hidden;transform:perspective(15px) rotateX(-2deg)}.water-glass.filled:after{content:'';position:absolute;background:#9dc4d0;left:1px;right:1px;bottom:1px;height:65%;border-radius:2px 2px 5px 5px}.water-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#80877d;font-size:10px}.add-water{border:0;border-radius:50%;width:27px;height:27px;color:var(--green);background:#edf4eb;font-size:20px;line-height:1}.meals-card{grid-column:1;padding:22px 25px 17px}.meals-card .card-heading{align-items:center}.meal-list{margin-top:13px}.meal-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:10px 0;border-top:1px solid #f1f2ed}.meal-emoji{width:38px;height:38px;border-radius:12px;background:#f5f3eb;display:grid;place-items:center;font-size:19px}.meal-detail strong{font-size:12px;display:block}.meal-detail small{color:#8b9088;font-size:10px;display:block;margin-top:4px}.meal-kcal{font-size:11px;font-weight:700}.add-meal-button{border:1px dashed #d5dfd1;border-radius:10px;background:#f9fbf7;color:var(--green);font-size:11px;font-weight:700;width:100%;padding:11px;margin-top:9px}.add-meal-button span{font-size:16px;vertical-align:-1px;margin-right:4px}.insight-card{grid-column:2;grid-row:3 / span 2;position:relative;overflow:hidden;background:#edf4e9;border-color:#e5eddf;padding:20px 22px;min-height:194px}.insight-top{display:flex;align-items:center;gap:8px}.insight-icon{color:#628363;font-size:17px}.insight-card h2{font-size:15px;line-height:1.45;max-width:230px;margin:14px 0 7px}.insight-card p{font-size:11px;color:#777e72;line-height:1.55;max-width:255px;margin:0 0 12px}.insight-card .link-button{position:relative;z-index:1}.insight-leaf{position:absolute;right:15px;bottom:-21px;font-size:90px;color:#dce9d6;transform:rotate(-20deg)}.week-card{grid-column:1;grid-row:3 / span 2;padding:22px 25px 16px}.week-chart{height:115px;display:flex;align-items:end;justify-content:space-around;gap:16px;padding:13px 12px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 37px,#f0f2ed 38px,#f0f2ed 39px);border-bottom:1px solid #e8ebe4}.week-column{height:100%;width:30px;display:flex;align-items:end;justify-content:center;position:relative}.week-column:before{content:'';width:22px;height:var(--bar);background:#a6c5a0;border-radius:6px 6px 0 0}.week-column.today:before{background:#487453}.week-column small{position:absolute;bottom:-19px;font-size:9px;color:#848b81}.week-caption{display:flex;justify-content:space-between;margin-top:27px;color:#8a8f86;font-size:9px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#78a57b;margin-right:5px}.page-heading{align-items:center}.page-heading h1{margin-top:4px}.primary-button,.secondary-button{border:0;border-radius:11px;padding:12px 17px;background:var(--green);color:#fff;font-size:12px;font-weight:700;box-shadow:0 4px 10px #406d4f20}.primary-button:hover{background:var(--green-dark)}.secondary-button{background:#edf4eb;color:var(--green-dark);box-shadow:none}.day-switcher{display:flex;align-items:center;justify-content:center;gap:19px;padding:10px;margin-bottom:14px}.day-switcher button{border:0;background:none;color:#768075;font-size:16px}.day-switcher strong{font-size:12px;min-width:145px;text-align:center}.day-switcher .today-button{font-size:10px;border:1px solid #e7eae2;border-radius:8px;padding:7px 12px;background:#fff}.diary-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:19px;padding:18px 24px}.diary-summary>div{display:grid;gap:6px;border-right:1px solid var(--line);padding-left:15px}.diary-summary>div:first-child{padding-left:0}.diary-summary>div:last-child{border:0}.diary-summary strong{font:700 20px Manrope}.diary-summary small,.progress-stats small{font:500 11px 'DM Sans';color:#878e84}.diary-meal-group{background:#fff;border:1px solid #eeefe9;border-radius:18px;margin-bottom:13px;padding:19px 22px}.meal-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.meal-group-head h2{font-size:14px}.meal-group-head span{font-size:10px;color:#92978f}.meal-group-empty{font-size:11px;color:#a0a49d;padding:12px 0}.meal-group-head button{border:0;background:none;color:var(--green);font-size:11px;font-weight:700}.select-pill{border:1px solid #e6e8e0;border-radius:10px;background:white;padding:10px 12px;color:#636a61;font-size:11px}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px}.progress-stats .card{padding:19px}.stat-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center}.stat-icon.green{background:#e9f2e6;color:#5a815e}.stat-icon.yellow{background:#f7f1dc;color:#ad9451}.stat-icon.blue{background:#e9f2f5;color:#739ca7}.progress-stats p{font-size:11px;color:#848a81;margin:13px 0 4px}.progress-stats strong{font:700 22px Manrope}.stat-note{display:block;font-size:10px;color:#9a9f97;margin-top:6px}.progress-chart-card{padding:23px;margin-bottom:15px}.chart-legend{font-size:10px;color:#858b82}.chart-legend i,.chart-legend b{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8eaf86;margin:0 5px 0 10px}.chart-legend b{background:#e5cd82}.large-chart{height:235px;display:flex;align-items:end;justify-content:space-around;gap:3%;padding:25px 5% 0;margin-top:20px;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#f0f2ed 49px,#f0f2ed 50px);border-bottom:1px solid #e8ebe4}.large-bar-group{height:100%;width:9%;display:flex;align-items:end;gap:4px;position:relative}.large-bar-group i,.large-bar-group b{display:block;width:45%;height:var(--bar);background:#94b58d;border-radius:5px 5px 0 0}.large-bar-group b{height:85%;background:#f0dfaa}.large-bar-group small{position:absolute;bottom:-21px;left:0;right:0;text-align:center;color:#878e84;font-size:9px}.progress-note{display:flex;gap:13px;align-items:flex-start;background:#f5f3e9;border-color:#eeecdf;box-shadow:none}.progress-note>span{color:#a98e40;font-size:19px}.progress-note strong{font-size:12px}.progress-note p{font-size:11px;color:#878b80;margin:5px 0 0}.recipe-filters{display:flex;gap:8px;margin:-7px 0 18px;overflow:auto}.filter-chip{border:1px solid #e8eae3;background:white;border-radius:99px;padding:8px 14px;font-size:10px;color:#73796f;white-space:nowrap}.filter-chip.selected{background:#eaf2e7;border-color:#eaf2e7;color:#41684a;font-weight:700}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.recipe-card{border:1px solid #eeefe9;border-radius:18px;background:white;overflow:hidden;box-shadow:var(--shadow)}.recipe-art{height:125px;display:grid;place-items:center;font-size:46px;background:linear-gradient(140deg,#f2eadb,#e5efdf)}.recipe-card:nth-child(3n+2) .recipe-art{background:linear-gradient(140deg,#f5ead7,#f4e6d4)}.recipe-card:nth-child(3n) .recipe-art{background:linear-gradient(140deg,#e6f0e3,#d8e7d7)}.recipe-copy{padding:14px}.recipe-copy .eyebrow{font-size:9px}.recipe-copy h3{font-size:13px;margin:7px 0}.recipe-copy p{font-size:10px;color:#888f84;margin:0}.recipe-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;margin-top:11px;font-size:10px;color:#60675d}.assistant-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:37px;max-width:950px;margin:16px auto}.assistant-intro{padding-top:27px}.assistant-orb{width:51px;height:51px;border-radius:17px;background:#e9f2e5;color:var(--green);display:grid;place-items:center;font-size:25px;margin-bottom:25px}.assistant-intro h1{font-size:34px}.assistant-intro .subheading{line-height:1.7;max-width:300px}.assistant-disclaimer{max-width:300px;margin-top:28px;background:#f0efe5;color:#838476;border-radius:12px;padding:12px;font-size:10px;line-height:1.5}.chat-card{padding:18px;display:flex;flex-direction:column;min-height:475px}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:13px;padding:6px 2px 17px}.chat-message{display:flex;align-items:flex-start;gap:8px;max-width:92%;font-size:11px;line-height:1.6}.chat-message.user{align-self:flex-end;background:#edf4eb;padding:10px 12px;border-radius:13px 13px 3px 13px}.chat-message.ai{color:#535a51}.chat-avatar{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#eaf2e6;color:var(--green)}.suggestion-row{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0}.suggestion-row button{border:1px solid #e9ebe4;border-radius:99px;background:white;color:#73796f;padding:7px 9px;font-size:9px}.chat-form{display:flex;align-items:center;border:1px solid #e6e9e1;border-radius:12px;padding:5px 6px 5px 12px}.chat-form input{border:0;outline:0;flex:1;font-size:11px;min-width:0}.chat-form button{border:0;background:var(--green);color:white;width:31px;height:31px;border-radius:9px;font-size:17px}.chat-footnote{text-align:center;color:#a2a69e;font-size:9px;margin-top:10px}.bottom-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#22281f60;z-index:20;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.modal-backdrop.open{display:flex;animation:fade .18s}@keyframes fade{from{opacity:0}to{opacity:1}}.modal{width:min(100%,480px);max-height:min(92vh,800px);overflow:auto;background:#fff;border-radius:24px;padding:25px;position:relative;box-shadow:0 22px 90px #171d1740}.modal-close{position:absolute;right:16px;top:14px;width:31px;height:31px;border:0;border-radius:50%;background:#f1f3ed;color:#62695f;font-size:21px}.modal-header{text-align:center;padding:6px 0 14px}.modal-icon{display:grid;place-items:center;margin:0 auto 11px;width:39px;height:39px;background:#edf4e9;border-radius:13px;color:var(--green);font-size:19px}.modal-header .eyebrow{margin:0 0 5px}.modal-header h2{font-size:22px;margin:0 0 5px}.modal-header>p:last-child{font-size:11px;color:#858b82;margin:0}.photo-drop{height:128px;border:1px dashed #cbd9c7;background:#f8faf6;border-radius:15px;display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden}.photo-preview{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--green)}.camera-icon{font-size:23px}.photo-preview strong{font-size:11px}.photo-preview small{font-size:9px;color:#90968d}.photo-preview img{width:100%;height:128px;object-fit:cover}.text-entry-toggle{display:block;margin:11px auto;border:0;background:none;color:var(--green);font-size:10px;font-weight:700}.text-entry{display:none;gap:7px}.text-entry.open{display:flex}.text-entry input{flex:1;min-width:0;border:1px solid #e5e8e0;border-radius:9px;padding:9px;font-size:10px}.text-entry .secondary-button{font-size:10px;padding:9px}.meal-result{display:none;margin-top:13px;border-top:1px solid var(--line);padding-top:13px}.meal-result.show{display:block}.result-top{display:flex;justify-content:space-between;align-items:center}.result-top .eyebrow{font-size:8px}.result-top h3{font-size:14px;margin:5px 0}.result-top>strong{font:700 17px Manrope;color:var(--green)}.portion-row{display:grid;grid-template-columns:1fr 130px auto;align-items:center;gap:9px;font-size:9px;color:#73796f}.portion-row input{width:100%;accent-color:var(--green)}.portion-row span{font-weight:700;color:#41473f;min-width:42px}.result-macros{display:flex;justify-content:space-between;background:#f7f8f4;padding:10px;border-radius:9px;font-size:9px;margin-top:10px}.estimate-note{font-size:9px;color:#8e938a;line-height:1.5;margin:9px 0}.full-button{width:100%;margin-top:4px}.modal-meal-types{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.modal-meal-types .eyebrow{margin-bottom:10px}.modal-meal-types>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.modal-meal-types button{border:1px solid #e9ebe5;background:white;border-radius:9px;padding:10px 4px;color:#696f66;font-size:9px}.premium-modal{width:min(100%,410px);padding:0 26px 24px}.premium-hero{margin:0 -26px;padding:32px 27px 23px;background:#f5f2e4;border-radius:24px 24px 0 0}.premium-hero>span{color:#b39a51;font-size:23px}.premium-hero .eyebrow{margin:7px 0}.premium-hero h2{font-size:24px;line-height:1.3;margin:0 0 8px}.premium-hero p:last-child{font-size:11px;color:#797c70;line-height:1.5;margin:0;max-width:310px}.premium-features{display:grid;gap:12px;padding:21px 0;font-size:11px;color:#51584e}.premium-features div:first-letter{color:var(--green)}.premium-price{border-top:1px solid var(--line);padding:14px 0 8px;display:flex;flex-direction:column;gap:4px}.premium-price strong{font:700 14px Manrope}.premium-price span,.premium-terms{font-size:9px;color:#91968e}.premium-terms{display:block;text-align:center;margin-top:10px;line-height:1.5}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#273b2d;color:white;border-radius:10px;padding:11px 17px;font-size:11px;z-index:30;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.sidebar{width:210px;padding-inline:14px}.main-area{margin-left:210px;width:calc(100% - 210px)}.view-container{padding-inline:30px}.macro-row{gap:10px}.macro-title{font-size:9px}.macro-value{font-size:9px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr)}}
@media(max-width:760px){.sidebar{display:none}.main-area{width:100%;margin:0}.topbar{height:58px;padding:0 20px}.mobile-brand{display:flex;padding:0;font-size:19px}.mobile-brand .brand-mark{width:28px;height:28px;font-size:19px;border-radius:10px}.topbar-date,.top-actions .icon-button,.profile-button>span:not(.avatar){display:none}.top-actions{gap:0}.view-container{padding:27px 20px 100px}.welcome-row{align-items:flex-start;gap:9px}.welcome-row h1{font-size:24px}.welcome-row .subheading{font-size:11px;max-width:240px;line-height:1.5}.streak-pill{font-size:9px;padding:8px 9px;white-space:nowrap;margin-top:9px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.calorie-card{grid-row:auto;padding:19px}.calorie-content{justify-content:space-around}.ring-wrap{width:145px;height:145px}.ring-label strong{font-size:24px}.calorie-stats{min-width:140px}.macro-row{gap:8px}.macro-title{font-size:8px;flex-wrap:wrap;white-space:normal}.macro-value{width:100%;margin-left:13px}.water-card{min-height:0}.water-count{margin:12px 0}.water-glasses{gap:9px}.meals-card,.insight-card,.week-card{grid-column:1;grid-row:auto;padding:19px}.meals-card .card-heading h2{font-size:15px}.insight-card{min-height:175px}.week-chart{height:100px}.page-heading{align-items:flex-start;gap:8px}.page-heading h1{font-size:25px}.page-heading .subheading{font-size:11px;line-height:1.5;max-width:265px}.page-heading>.primary-button,.page-heading>.secondary-button{font-size:10px;padding:10px 11px;white-space:nowrap;margin-top:15px}.diary-summary{padding:14px 9px}.diary-summary>div{padding-left:9px}.diary-summary .eyebrow{font-size:7px;letter-spacing:.8px}.diary-summary strong{font-size:15px}.diary-summary small{font-size:9px}.diary-meal-group{padding:16px}.progress-stats{gap:7px}.progress-stats .card{padding:12px}.progress-stats p{font-size:9px;min-height:23px}.progress-stats strong{font-size:16px}.progress-stats small{font-size:9px}.stat-note{font-size:8px;line-height:1.4}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:9px}.recipe-art{height:95px}.recipe-copy{padding:11px}.recipe-copy h3{font-size:11px}.recipe-copy p,.recipe-meta{font-size:9px}.assistant-layout{grid-template-columns:1fr;gap:14px;margin:0}.assistant-intro{padding-top:0}.assistant-orb{margin-bottom:13px;width:40px;height:40px}.assistant-intro h1{font-size:28px}.assistant-intro .subheading{font-size:11px}.assistant-disclaimer{margin-top:12px;padding:9px}.chat-card{min-height:430px;padding:13px}.bottom-nav{display:flex;position:fixed;z-index:8;bottom:0;left:0;right:0;height:67px;padding:5px 13px max(5px,env(safe-area-inset-bottom));justify-content:space-around;align-items:center;background:#fff;border-top:1px solid #ebede6}.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px;color:#90968d;min-width:45px}.bottom-nav button span{font-size:19px;line-height:1}.bottom-nav button.active{color:var(--green);font-weight:700}.bottom-nav .camera-nav{width:43px;height:43px;min-width:43px;border-radius:15px;background:var(--green);color:#fff;margin-top:-17px;box-shadow:0 5px 12px #406d4f42}.bottom-nav .camera-nav span{font-size:24px}.modal{padding:20px}.premium-modal{padding:0 22px 20px}.premium-hero{margin:0 -22px;padding:27px 23px 19px}.modal-meal-types>div{grid-template-columns:repeat(2,1fr)}.top-actions .avatar{width:29px;height:29px}}
@media(min-width:761px) and (max-width:920px){.dashboard-grid{grid-template-columns:1fr}.calorie-card{grid-row:auto}.meals-card,.week-card,.insight-card{grid-column:1;grid-row:auto}.water-card{min-height:205px}.insight-card{min-height:160px}}
.recipe-card{text-align:left;color:var(--ink);font:inherit;cursor:pointer;transition:transform .18s,box-shadow .18s}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #22291b12}.recipe-open{display:block;color:var(--green);font-size:9px;font-weight:700;margin-top:12px}.recipe-detail-modal{width:min(100%,700px)}.recipe-detail-hero{display:flex;align-items:center;gap:17px;padding:8px 35px 17px 0;border-bottom:1px solid var(--line)}.recipe-detail-hero>span{width:64px;height:64px;border-radius:18px;background:#eff3e9;display:grid;place-items:center;font-size:32px;flex-shrink:0}.recipe-detail-hero .eyebrow{margin:0 0 5px}.recipe-detail-hero h2{font-size:21px;margin:0 0 5px}.recipe-detail-hero p:last-child{font-size:10px;color:#81877e;margin:0}.recipe-detail-columns{display:grid;grid-template-columns:.78fr 1.22fr;gap:26px;padding:19px 0 5px}.recipe-detail-columns h3{font:700 13px Manrope,sans-serif;margin:0 0 10px}.recipe-detail-columns ul,.recipe-detail-columns ol{margin:0;padding-left:18px;color:#61685e;font-size:11px;line-height:1.55}.recipe-detail-columns li{padding:0 0 8px 3px}.recipe-detail-columns li::marker{color:var(--green);font-weight:700}@media(max-width:600px){.recipe-detail-modal{padding:19px}.recipe-detail-columns{grid-template-columns:1fr;gap:14px}.recipe-detail-hero>span{width:51px;height:51px;font-size:27px}.recipe-detail-hero h2{font-size:18px}}
.food-catalog-panel{margin-top:15px;padding:22px}.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.catalog-heading h2{font-size:17px;margin:4px 0}.catalog-heading p:last-child{font-size:10px;color:#858b82;margin:5px 0 0}.catalog-type-label{display:flex;align-items:center;gap:8px;color:#7e857a;font-size:10px;white-space:nowrap}.catalog-type-label select{border:1px solid #e7eae2;background:#fff;border-radius:9px;padding:9px;color:#434a40;font-size:10px}.catalog-search{display:flex;align-items:center;gap:9px;margin-top:17px;padding:0 12px;background:#f7f8f4;border:1px solid #ecefe8;border-radius:10px}.catalog-search span{font-size:20px;color:#7c8679}.catalog-search input{width:100%;border:0;outline:0;background:transparent;padding:11px 0;font-size:11px}.catalog-filters{display:flex;gap:7px;overflow:auto;margin:12px 0}.catalog-filters button{border:1px solid #e9ebe5;background:#fff;border-radius:99px;padding:7px 11px;color:#7c8279;font-size:9px;white-space:nowrap}.catalog-filters button.selected{color:var(--green-dark);background:#eaf2e7;border-color:#eaf2e7;font-weight:700}.food-list{border-top:1px solid var(--line)}.food-row{width:100%;display:flex;align-items:center;gap:11px;padding:10px 7px;border:0;border-bottom:1px solid #f0f1ec;background:#fff;text-align:left;transition:background .15s}.food-row:hover{background:#f9fbf7}.food-emoji{width:36px;height:36px;display:grid;place-items:center;background:#f6f4eb;border-radius:11px;font-size:18px;flex-shrink:0}.food-name{flex:1;min-width:0}.food-name strong{display:block;font-size:11px}.food-name small{display:block;color:#8a9087;font-size:9px;margin-top:4px;line-height:1.4}.food-kcal{font-size:12px;font-weight:700;white-space:nowrap}.food-kcal small{font-size:8px;color:#888f84;font-weight:500}.food-add{width:27px;height:27px;border-radius:9px;background:#edf4eb;color:var(--green);display:grid;place-items:center;font-size:18px}.catalog-empty{font-size:11px;color:#888f84;padding:10px 4px}.catalog-custom-button{width:100%;border:1px dashed #d2ddcf;border-radius:10px;background:#f9fbf7;color:var(--green);font-size:10px;font-weight:700;padding:11px;margin-top:12px}@media(max-width:600px){.food-catalog-panel{padding:16px}.catalog-heading{align-items:flex-start;flex-direction:column}.catalog-type-label{width:100%;justify-content:space-between}.catalog-type-label select{flex:1}.food-name small{max-width:225px}}
.recipe-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px}.recipe-toolbar span{font-size:10px;color:#848b80}.recipe-toolbar input{width:min(100%,330px);border:1px solid #e6e9e1;background:#fff;border-radius:10px;padding:10px 12px;font-size:10px;outline-color:#9db49b}.load-more-recipes{display:block;margin:18px auto 0;border:1px solid #dce5d8;border-radius:10px;background:#fff;color:var(--green);padding:10px 17px;font-size:10px;font-weight:700}.load-more-recipes[hidden]{display:none}@media(max-width:600px){.recipe-toolbar{align-items:stretch;flex-direction:column}.recipe-toolbar input{width:100%}}
/* Estado del chat de nutrición conectado al servidor */
.chat-pending{opacity:.72}.chat-error{border:1px solid #e8b8a9;color:#8b3f2c}.chat-form button:disabled{opacity:.55;cursor:wait}
.meal-row{grid-template-columns:38px minmax(0,1fr) auto 30px}.meal-repeat{width:28px;height:28px;border:1px solid #e8ece4;border-radius:9px;background:#fff;color:#406d4f;font-size:19px;line-height:1}.meal-repeat:active{background:#edf4eb}

/* NutriDía: paleta cálida, formas suaves y datos reales del diario */
:root{--ink:#302723;--muted:#81756f;--line:#f0e6dc;--paper:#fffdf9;--ground:#fff8f0;--green:#34765c;--green-dark:#235d46;--mint:#e4f4e8;--yellow:#f5c567;--shadow:0 12px 34px #8d624014;--radius:22px}
body{color:var(--ink);background:radial-gradient(ellipse at 87% 5%,#fce0cb 0,transparent 27%),radial-gradient(ellipse at 4% 32%,#e5eedc 0,transparent 25%),#fff8f0}
.app-shell{background:transparent}
.sidebar{background:#fffdf9eF;border-color:#f2e6da;backdrop-filter:blur(16px)}
.brand-mark{background:linear-gradient(145deg,#f29d63,#cf5e4a);box-shadow:0 6px 15px #d8704b45}
.nav-item.active{background:#eaf4e8;color:#235d46}
.premium-card{background:linear-gradient(145deg,#f8e1c8,#efe6ff);border:1px solid #f4ddc6}
.premium-card .sparkle{color:#bd6e49}
.main-area{position:relative;isolation:isolate;background:transparent}
.main-area:before{content:"";position:fixed;z-index:-1;inset:0 0 auto auto;width:min(44vw,580px);height:320px;pointer-events:none;background:radial-gradient(ellipse at 80% 8%,#ffd8bb95,transparent 62%),radial-gradient(ellipse at 40% 30%,#ebdafc70,transparent 60%)}
.topbar{background:#fffaf4d9;border-color:#f1e5da;backdrop-filter:blur(14px)}
.view-container{position:relative}
.welcome-row{position:relative;padding:5px 0 3px}
.welcome-row:after{content:"🥑  🍊";position:absolute;right:3%;top:-2px;font-size:clamp(32px,4vw,51px);letter-spacing:7px;transform:rotate(-8deg);filter:drop-shadow(0 8px 8px #bd704022);pointer-events:none}
.welcome-row h1 em{color:#cc7254;font-style:normal}
.eyebrow{color:#8c756c}
.card{border-color:#f1e6dc;box-shadow:0 13px 34px #8b5f3b12}
.calorie-card{background:linear-gradient(145deg,#fff1dc 0%,#fffaf0 50%,#ffe6de 100%);border-color:#f4dfcc;overflow:hidden;position:relative}
.calorie-card:after{content:"";position:absolute;right:-55px;top:85px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#f9c88b50,#f9c88b00 70%);pointer-events:none}
.calorie-card>*{position:relative;z-index:1}
.ring-progress{stroke:#e88658}
.ring-track{stroke:#eadbca}
.calorie-stats>strong{color:#c66046}
.calorie-stats .mini-bar span{background:linear-gradient(90deg,#f4b451,#e77956)}
.water-card{background:linear-gradient(145deg,#dff3ed,#f5f8e5);border-color:#d9e9d9}
.water-icon{background:#ffffffa8;color:#277e80}
.water-glass{background:#ffffffa8;border-color:#cee0dc}
.water-glass.filled{background:linear-gradient(180deg,#58c2c2,#3b92a6);border-color:#3b92a6}
.water-count strong{color:#287c7e}
.meals-card{background:#fffdf9}
.insight-card{background:linear-gradient(135deg,#f5e7ff,#fee4df 70%,#ffe8c5);border-color:#efdded}
.insight-icon{background:#fff9;color:#804c83}
.insight-card h2{max-width:320px}
.insight-leaf{color:#a870ae33}
.week-card{background:linear-gradient(145deg,#f2f0ff,#fffdf9 72%);border-color:#e7e1f1}
.week-column:before{background:linear-gradient(180deg,#98d2a0,#62ad80)}
.week-column.today:before{background:linear-gradient(180deg,#f8bd70,#e87d55)}
.week-caption .legend-dot{background:#77ba87}
.primary-button,.bottom-nav .camera-nav{background:linear-gradient(135deg,#438b69,#276649);box-shadow:0 7px 16px #34765c2b}
.primary-button:hover,.bottom-nav .camera-nav:hover{background:linear-gradient(135deg,#4c9973,#276649)}
.secondary-button{border-color:#ead8c7;background:#fff8f0;color:#a05d43}
.link-button,.recipe-open{color:#2e7759}
.add-meal-button{border-color:#efd8c4;background:#fff9f2;color:#a35b43}
.add-meal-button span{background:#f8e1d1;color:#aa5f44}
.bottom-nav{background:#fffdf9f2;border-color:#f0e3d9;backdrop-filter:blur(18px)}
.bottom-nav button.active{color:#b95845}
.bottom-nav .camera-nav{color:white}
.page-heading h1{letter-spacing:-.6px}
.day-switcher,.diary-summary{border-color:#f1e5da}
.diary-summary{background:linear-gradient(110deg,#fff2df,#f6f0ff,#eaf5e8)}
.diary-summary>div+div{border-color:#eadfd5}
.food-catalog-panel{background:#fffdfa}
.barcode-panel{margin:17px 0;padding:14px;border:1px solid #f0dfcf;border-radius:15px;background:linear-gradient(110deg,#fff4e7,#f2f7e9)}
.barcode-panel>div:first-child strong,.barcode-panel>div:first-child small{display:block}
.barcode-panel>div:first-child strong{font-size:12px}
.barcode-panel>div:first-child small{font-size:10px;color:#80746c;margin-top:4px}
.barcode-row{display:flex;align-items:center;gap:7px;margin-top:10px}
.barcode-row input{min-width:0;border:1px solid #eadbcd;border-radius:9px;background:#fff;padding:10px;font-size:11px}
.barcode-row input:first-child{flex:1}
.barcode-row input:nth-child(2){width:62px}
.barcode-row>span{font-size:10px;color:#887b71;margin-left:-5px}
.barcode-row .secondary-button{padding:10px}
.barcode-panel>.primary-button{margin-top:8px}
.form-status{min-height:16px;margin:7px 0 0;color:#806457;font-size:10px;line-height:1.45}
.food-result-count{color:#938479}
.food-row{border-color:#f3ebe4}
.food-emoji{background:linear-gradient(145deg,#fff0da,#f2e9ff)}
.food-add{background:#e9f4e9;color:#34765c}
.catalog-filters button.selected,.filter-chip.selected{background:#e7f2e6;border-color:#dcebd9;color:#27664b}
.progress-stats .card{background:linear-gradient(145deg,#fffdf8,#f8eddd)}
.progress-stats .card:nth-child(2){background:linear-gradient(145deg,#f5edff,#fffdf9)}
.progress-stats .card:nth-child(3){background:linear-gradient(145deg,#e7f5f1,#fffdf9)}
.progress-chart-card{overflow:hidden}
.large-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;overflow-x:auto;overflow-y:hidden}
.large-chart.month-chart{grid-template-columns:repeat(28,minmax(22px,1fr));min-width:700px}
.month-chart .large-bar-group:nth-child(odd) small{opacity:.55}
.large-bar-group i{background:linear-gradient(180deg,#96c9a0,#61a77e)}
.large-bar-group.today i{background:linear-gradient(180deg,#f7be70,#e67a56)}
.recipe-card{position:relative;border-color:#f1e4d7;background:#fffdfa}
.recipe-card:nth-child(3n+1) .recipe-visual{background:linear-gradient(145deg,#ffe2ba,#f8b58f)}
.recipe-card:nth-child(3n+2) .recipe-visual{background:linear-gradient(145deg,#e0edd7,#c3dfc8)}
.recipe-card:nth-child(3n) .recipe-visual{background:linear-gradient(145deg,#eaddff,#efcce3)}
.recipe-visual{width:100%;height:122px;border:0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.recipe-visual:before,.recipe-visual:after{content:"";position:absolute;border-radius:50%;background:#ffffff62}
.recipe-visual:before{width:120px;height:120px;right:-25px;top:-45px}
.recipe-visual:after{width:80px;height:80px;left:-16px;bottom:-45px}
.recipe-visual span{position:relative;z-index:1;font-size:47px;filter:drop-shadow(0 8px 8px #78492b25)}
.recipe-visual small{position:absolute;z-index:1;left:12px;top:11px;border-radius:999px;padding:5px 8px;background:#fff9;color:#58483e;font-size:9px}
.recipe-favorite{position:absolute;z-index:2;right:10px;top:10px;width:33px;height:33px;border:1px solid #ffffff8a;border-radius:50%;background:#fffdf2d9;color:#c26b5b;font-size:19px}
.recipe-favorite.selected{background:#d86659;color:white}
.recipe-copy{padding:14px}
.recipe-copy h3{font-size:13px;line-height:1.4}
.recipe-meta{display:flex;justify-content:space-between;gap:5px;color:#82756b;font-size:9px}
.recipe-open{border:0;background:none;padding:0;text-align:left}
.recipe-disclaimer{max-width:750px;margin:15px auto 0;line-height:1.55}
.recipe-detail-hero>span{background:linear-gradient(145deg,#ffe2ba,#e6eff3)}
.assistant-orb{background:linear-gradient(145deg,#f9d8bf,#dfd1ff);color:#8a567d;box-shadow:0 8px 20px #ab748926}
.assistant-intro .eyebrow{color:#a86956}
.assistant-disclaimer{background:#fff0df;color:#816559;border:1px solid #f2ddc7}
.chat-card{border-color:#ebdfeb;background:linear-gradient(145deg,#fffdfa,#f8f1ff)}
.chat-message.user{background:#e8f2e5}
.chat-avatar{background:linear-gradient(145deg,#ffe1d0,#ebddff);color:#885a87}
.chat-context-toggle{display:flex;align-items:center;gap:8px;color:#7b6c69;font-size:10px;margin:0 0 5px}
.chat-context-toggle input,.consent-check input{accent-color:#34765c}
.suggestion-row button{border-color:#eadfe9;background:#fffdfb;color:#76667a}
.chat-form{border-color:#ebdfeb;background:#fff}
.chat-form button{background:linear-gradient(135deg,#478968,#2c6649)}
.photo-drop{background:linear-gradient(145deg,#fff1dd,#f5ebff);border-color:#e4c9ad}
.photo-preview{padding:8px;color:#a15e45}
.photo-preview small{color:#8c7b72}
.photo-preview img{width:100%;height:180px;object-fit:cover;border-radius:13px}
.photo-drop:has(img){height:auto;min-height:150px;padding:8px}
.modal{border:1px solid #f0e3d8;background:#fffdf9}
.modal-icon{background:linear-gradient(145deg,#ffe2c1,#eadbff);color:#a55c46}
.meal-result{border-color:#f0e3d8}
.result-macros{background:#f7f1e9}
.modal-meal-types button{border-color:#efe3d8;background:#fff8ef}
.modal-type-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:11px;color:#776a61}
.modal-type-label select{min-width:145px;border:1px solid #ebddcf;border-radius:9px;padding:9px;background:#fffaf4}
.manual-food{display:none;margin-top:12px;padding:13px;border:1px solid #f0e1d3;border-radius:12px;background:#fff8f0}
.manual-food.open{display:block}
.manual-food h3{font-size:12px;margin:0 0 10px}
.manual-food label,.settings-modal>label{display:grid;gap:5px;margin:9px 0;color:#746860;font-size:10px}
.manual-food input,.settings-modal input:not([type="checkbox"]):not([type="radio"]){width:100%;min-width:0;border:1px solid #e9dccc;border-radius:9px;background:#fff;padding:9px 10px;color:var(--ink);font-size:11px}
.manual-nutrients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.manual-nutrients label{display:grid;gap:5px;color:#746860;font-size:9px}
.manual-food .secondary-button{margin-top:10px}
.meal-delete{width:27px;height:27px;border:0;border-radius:9px;background:#fff0e8;color:#a65d4c;font-size:19px;line-height:1}
.meal-repeat{border-color:#e8d9ca;color:#34765c}
.meal-row{grid-template-columns:38px minmax(0,1fr) auto 28px 27px}
.meal-detail strong{overflow-wrap:anywhere}
.settings-modal{width:min(100%,510px)}
.settings-modal h2,.consent-modal h2{margin:4px 0 7px;font:700 22px Manrope,Arial,sans-serif}
.settings-note,.consent-modal>p{color:#796d66;font-size:11px;line-height:1.6}
.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.danger-button{border:1px solid #f0d1ca;border-radius:10px;background:#fff2ef;color:#a44237;padding:9px 13px;font-size:10px;font-weight:700}
.consent-modal{width:min(100%,420px)}
.consent-modal>.modal-icon{display:grid}
.consent-check{display:flex;align-items:flex-start;gap:9px;margin:16px 0;color:#6f625b;font-size:11px;line-height:1.5}
.consent-cancel{display:block;margin:12px auto 0}
.dashboard-note{margin:13px 0 0;line-height:1.45}
.chat-error{background:#fff1ec;color:#883d32;padding:8px;border-radius:10px}
.form-status:empty{display:none}
@media(max-width:760px){
  .main-area:before{position:absolute;width:88vw;height:230px}
  .topbar{background:#fffaf2eF}
  .view-container{padding-top:22px}
  .welcome-row:after{right:0;top:32px;font-size:29px;opacity:.85}
  .welcome-row>div{max-width:80%}
  .calorie-card{background:linear-gradient(145deg,#fff0da,#fff9ef 55%,#ffe4db)}
  .water-card{background:linear-gradient(145deg,#dff3ed,#f6f6df)}
  .recipe-visual{height:100px}
  .recipe-visual span{font-size:38px}
  .recipe-favorite{width:30px;height:30px}
  .barcode-row{flex-wrap:wrap}
  .barcode-row input:first-child{min-width:145px}
  .barcode-row input:nth-child(2){width:62px}
  .meal-row{grid-template-columns:34px minmax(0,1fr) auto 26px 26px;gap:6px}
  .meal-kcal{font-size:9px}
  .meal-repeat,.meal-delete{width:25px;height:25px}
  .large-chart.month-chart{min-width:700px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.mobile-brand{border:0;background:transparent;color:inherit;}

.onboarding-modal{width:min(100%,720px);max-height:94vh;padding:24px 28px}
.onboarding-brand{display:flex;align-items:center;gap:9px;margin-bottom:14px;font:800 18px Manrope,Arial,sans-serif;letter-spacing:-.7px}
.onboarding-brand .brand-mark{background:linear-gradient(145deg,#ec9867,#d9675a)}
.onboarding-modal h2{margin:4px 0 6px;font:700 25px Manrope,Arial,sans-serif}
.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.onboarding-grid label,.reminder-times label{display:grid;gap:5px;color:#746860;font-size:10px}
.onboarding-grid input,.onboarding-grid select,.reminder-times input{width:100%;min-width:0;border:1px solid #e9dccc;border-radius:10px;background:#fff;padding:10px;color:var(--ink);font:inherit}
.goal-choices{display:flex;flex-wrap:wrap;gap:8px 14px;border:0;padding:0;margin:14px 0}
.goal-choices legend{font-size:11px;font-weight:700;margin-bottom:8px}
.goal-choices label{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #ebdfd2;border-radius:12px;background:#fffaf4;font-size:10px}
.goal-choices input,.checkline input{accent-color:#378060}
.checkline{display:flex;align-items:flex-start;gap:9px;margin:12px 0;color:#746860;font-size:10px;line-height:1.55}
.checkline input{margin-top:2px;flex-shrink:0}
#onboard-target-preview{padding:10px 12px;border-radius:11px;background:#fff3e4;color:#755d4f}
.reminder-group{padding:13px 14px;border:1px solid #e9ddf0;border-radius:15px;background:linear-gradient(145deg,#fffaf3,#f7f0ff)}
.reminder-group summary{cursor:pointer;font-size:12px;font-weight:700;color:#695345}
.reminder-group>p{color:#877a71;font-size:9px;line-height:1.5}
.reminder-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 8px 25px}
.meal-reminder-times{grid-template-columns:repeat(3,minmax(0,1fr))}
.privacy-note{margin:12px 0;color:#867a71;font-size:9px;line-height:1.5}
.onboarding-actions{display:flex;align-items:center;gap:15px;margin-top:12px}
.onboarding-actions .primary-button{flex:1}
.settings-reminder-group{margin:14px 0}
#edit-profile-questionnaire{margin:10px 0}
@media(max-width:600px){.onboarding-modal{padding:18px 16px;max-height:96vh}.onboarding-modal h2{font-size:21px}.onboarding-grid{gap:8px}.goal-choices{gap:6px}.goal-choices label{padding:8px}.reminder-group{padding:11px}.onboarding-actions{align-items:stretch;flex-direction:column}.onboarding-actions .primary-button{flex:auto}.onboarding-actions .text-button{padding:8px}.reminder-times{margin-left:20px}}

.chat-voice{border:0;border-radius:10px;background:#f1e8fb;padding:0 11px;font-size:18px}.chat-voice-setting{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:10px;color:#766d7c}.chat-voice-setting input{accent-color:#704ab0}

.local-model-panel{margin:16px 0;padding:18px;border:1px solid #d8e9df;border-radius:18px;background:linear-gradient(145deg,#f1faf4,#fffaf1);color:var(--ink)}
.local-model-panel[hidden]{display:none}
.local-model-heading{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.local-model-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#e2f3e8;color:#2f7956;font-size:23px}
.local-model-heading .eyebrow{margin:0 0 3px;color:#59836a}
.local-model-heading h3{margin:0;font:700 16px Manrope,Arial,sans-serif}
.local-model-panel>p:not(.form-status){margin:9px 0;color:#716c63;font-size:11px;line-height:1.55}
.local-model-facts{display:grid;gap:7px;margin:12px 0;padding:12px;border-radius:12px;background:#ffffffb8;color:#605e55;font-size:10px;line-height:1.45}
.local-model-panel progress{display:block;width:100%;height:11px;margin:12px 0;border:0;border-radius:99px;overflow:hidden;accent-color:#4b9869}
.local-model-actions{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}
.local-model-actions button{margin:0}
.local-model-panel>small{display:block;color:#8a8073;font-size:9px;line-height:1.5}
@media(max-width:600px){.local-model-panel{padding:14px}.local-model-actions>*{width:100%}}

/* Historial local de pesajes */
[hidden]{display:none!important}
.meal-row{grid-template-columns:42px minmax(0,1fr) auto auto}
.meal-actions{display:flex;gap:3px;align-items:center}
.meal-actions button{min-width:36px;min-height:44px;border:0;border-radius:9px;background:#f3f5ed;color:#5b6756;font-size:18px;cursor:pointer}
.meal-emoji{overflow:hidden;border-radius:10px}
.meal-emoji img{width:42px;height:42px;object-fit:cover;display:block}
.meal-detail{min-width:0}
.meal-detail strong,.meal-detail small{overflow-wrap:anywhere}
.modal-type-label input{width:100%;min-height:44px;border:1px solid #e5e8e0;border-radius:10px;padding:9px;font:inherit;margin:6px 0 10px}
.meal-voice-button{margin:12px 0 5px;width:100%;min-height:44px}
.voice-service-note{display:block;font-size:11px;line-height:1.5;color:#756f65;margin-bottom:10px}
.aesan-catalog-results h3{font-size:13px;margin:18px 0 6px;color:#586d50}
.aesan-catalog-results .food-row{text-align:left;width:100%;background:transparent}
.import-preview{border:1px solid #dbe5d3;border-radius:12px;padding:14px;margin:12px 0;background:#f6f8f1}
.import-preview h3{font-size:15px;margin:0 0 8px}
.import-preview p{font-size:12px;line-height:1.5;color:#665f55}
.settings-privacy-link{font-size:12px;margin:14px 0}.settings-privacy-link a{color:#496d40}
@media(max-width:600px){.modal p,.modal label,.modal small{font-size:12px;line-height:1.5}.modal input,.modal select,.modal textarea{font-size:16px}.modal button{min-height:44px}.food-name strong{font-size:14px}.food-name small{font-size:12px;line-height:1.45}.food-kcal{font-size:14px}.chat-message{font-size:14px;line-height:1.6}.local-model-facts,.local-model-panel>small{font-size:12px}}
@media(max-width:600px){.meal-row{grid-template-columns:36px minmax(0,1fr) auto;gap:6px}.meal-actions{grid-column:2/-1;justify-content:flex-end}.meal-actions button{min-width:44px}.meal-emoji img{width:36px;height:36px}.meal-kcal{font-size:12px}.meal-detail strong{font-size:13px}.meal-detail small{font-size:11px;line-height:1.4}.settings-actions{flex-wrap:wrap}.settings-actions button{flex:1;min-width:130px;min-height:44px}}
.weight-entry-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:12px;margin:16px 0 7px}
.weight-entry-form label{display:grid;gap:6px;color:#73796f;font-size:10px}
.weight-entry-form input{width:100%;min-height:42px;border:1px solid #e5e8e0;border-radius:10px;background:#fff;padding:9px 11px;color:#41473f;font:inherit;font-size:12px}
.weight-entry-form button{min-height:42px;margin:0;white-space:nowrap}
.weight-entry-form input:focus{outline:2px solid #b8d0b2;outline-offset:1px}
.weight-entry-form button:focus-visible{outline:2px solid #41684a;outline-offset:2px}
.weight-history-note{margin:9px 0;color:#73796f;font-size:11px;line-height:1.5}
.weight-trend-chart{min-height:80px;margin-top:8px;overflow:hidden;border-radius:12px;background:#fafbf8}
.weight-trend-svg{display:block;width:100%;height:auto;min-height:150px}
.weight-grid-line{stroke:#e9ede6;stroke-width:1}
.weight-axis-label,.weight-date-label{fill:#858b82;font:10px Arial,sans-serif}
.weight-trend-line{fill:none;stroke:#668e68;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.weight-trend-point{fill:#fff;stroke:#4b7652;stroke-width:3}
.weight-empty-chart{padding:23px 18px;margin:0;color:#8b9188;font-size:11px;text-align:center}
.weight-history-heading{margin:16px 0 6px;font-size:12px}
.weight-history-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:0;list-style:none}
.weight-history-list li{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid #edf0e9;border-radius:10px;color:#858b82;font-size:9px}
.weight-history-list li strong{color:#41473f;font:700 12px Manrope,Arial,sans-serif}
@media(max-width:760px){.weight-entry-form{grid-template-columns:1fr 1fr;gap:9px}.weight-entry-form button{grid-column:1/-1;width:100%}.weight-trend-svg{min-height:130px}.weight-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Nutri, acceso al asistente dentro de la app */
.nutri-mascot-launcher{position:fixed;z-index:9;right:max(18px,env(safe-area-inset-right));bottom:calc(var(--nutri-mascot-bottom,24px) + env(safe-area-inset-bottom));width:56px;height:56px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:18px;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nutri-mascot-launcher:focus-visible{outline:3px solid #6749db;outline-offset:5px;background:#f3edff}
.nutri-mascot-launcher:hover .nutri-fork-visual{filter:brightness(1.04)}
.nutri-mascot-launcher:active .nutri-fork-visual{transform:scale(.94);animation:none}
.nutri-fork-visual{position:relative;display:block;width:100%;height:100%;pointer-events:none;user-select:none}
.nutri-fork-visual>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #61497724)}
.nutri-mascot-launcher>.nutri-fork-visual{animation:nutri-fork-float 5s ease-in-out infinite;transform-origin:50% 85%}
.assistant-intro .assistant-orb.assistant-mascot-avatar{width:72px;height:82px;margin-bottom:12px;border-radius:0;background:transparent;box-shadow:none}
.chat-avatar.assistant-mascot-avatar{width:28px;height:34px;display:block;border-radius:0;background:transparent;--nutri-fork-fallback-scale:.52}
.has-nutri-mascot .view-container{padding-bottom:100px}
.nutri-fork-fallback{position:absolute;left:50%;top:50%;width:44px;height:56px;transform:translate(-50%,-50%) scale(var(--nutri-fork-fallback-scale,1));filter:drop-shadow(0 3px 2px #61497724)}
.nutri-fork-fallback:before{content:"";position:absolute;left:12px;top:14px;width:20px;height:23px;border-radius:3px 3px 10px 10px;background:linear-gradient(90deg,#c4b7e2,#f0eafa 50%,#d8ceeb)}
.nutri-fork-fallback:after{content:"";position:absolute;left:19px;top:35px;width:6px;height:21px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#c4b7e2,#eee7f8)}
.nutri-fork-fallback-tines{position:absolute;left:12px;top:3px;width:20px;height:16px;border-radius:3px 3px 0 0;background:repeating-linear-gradient(90deg,#d6caea 0,#d6caea 3px,transparent 3px,transparent 5.6px)}
.nutri-fork-fallback-face{position:absolute;z-index:1;left:16px;top:23px;width:3px;height:3px;border-radius:50%;background:#4b3668;box-shadow:9px 0 #4b3668}
.nutri-fork-fallback-face:after{content:"";position:absolute;left:3px;top:4px;width:7px;height:4px;border-bottom:1.5px solid #4b3668;border-radius:0 0 8px 8px}
@keyframes nutri-fork-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:760px){.nutri-mascot-launcher{right:max(15px,env(safe-area-inset-right));bottom:var(--nutri-mascot-bottom,calc(92px + env(safe-area-inset-bottom)))}.has-nutri-mascot .view-container{padding-bottom:calc(168px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.nutri-mascot-launcher>.nutri-fork-visual{animation:none}}
