:root{font-family:'DM Sans',system-ui,sans-serif;color:#dfe9ef;background:#09111b;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #7fdcca;outline-offset:3px}button:disabled{cursor:not-allowed}button:disabled:not(.nav button){opacity:.5}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;background:#0d1925;border-right:1px solid #203040;padding:30px 16px;display:flex;flex-direction:column;gap:30px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;color:white;font:700 25px Outfit,system-ui;text-decoration:none}.mark{width:36px;height:36px;display:grid;place-items:center;background:#b9f36b;color:#10241a;border-radius:11px;font-size:26px}.tagline{font-size:10px;letter-spacing:2px;color:#8ca1ac;text-transform:uppercase;padding:0 14px;margin-top:-22px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#a1b4c0;text-align:left;padding:13px 16px;border-radius:11px;font-weight:600;display:flex;gap:13px;align-items:center}.nav button span{width:19px;font-size:20px;text-align:center;line-height:1}.nav button.active{color:#cff7bd;background:#22392f}.nav button:hover:enabled{background:#1a2a35}.nav button:disabled{color:#6e8593}.nav small{font-size:9px;margin-left:auto;border:1px solid #30424e;border-radius:5px;padding:2px 4px}.sidefoot{margin-top:auto;background:#122734;border:1px solid #24404a;border-radius:14px;padding:15px}.sidefoot strong{display:block;font-size:13px}.sidefoot p{font-size:12px;line-height:1.5;color:#a1b4bd}.sidefoot span{display:inline-block;background:#284538;color:#bff0cd;border-radius:20px;padding:5px 9px;font-size:11px}.main{flex:1;min-width:0;padding:32px 48px 55px;max-width:1600px;margin:0 auto}.top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:32px}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;color:#8dadac;font-size:11px;font-weight:700;margin:0}.top h1{font:700 clamp(28px,4vw,39px) Outfit,system-ui;margin:8px 0 5px;color:#f2fafb}.muted{color:#a1b5c1;font-size:13px;line-height:1.5}.top .muted{margin:0}.topright{display:flex;align-items:center;gap:10px}.profile,.date{background:#152431;border:1px solid #2b3a49;border-radius:12px;color:#d7e7e9;padding:10px 13px;font-size:13px}.profile{font-weight:700;white-space:nowrap}.avatar{background:#b9f36b;color:#162a1c;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-right:8px}.date input{background:none;border:0;color:#b0c1cb;width:125px;font-size:12px;min-height:26px}.kpis{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:16px}.panel,.card{background:#111f2d;border:1px solid #253849;border-radius:18px;padding:22px;min-width:0}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.panelhead h2{margin:0;font:600 19px Outfit,system-ui;color:#e6f0f1}.panelhead small{color:#9bb2be;font-size:12px}.kpilabel{font-size:12px;color:#a7bcc5;font-weight:600;text-transform:uppercase}.big{font:700 36px Outfit,system-ui;color:#f4f8f7;letter-spacing:-1px;margin:28px 0 5px;white-space:nowrap}.big span{font:500 14px 'DM Sans',system-ui;color:#9bb1bd;letter-spacing:0}.card:not(.calories) .big{font-size:26px;margin-top:35px}.card:not(.calories) .big span{font-size:13px}.micro{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#a0b7c3;margin-top:12px}.bar{height:7px;background:#293c45;border-radius:10px;overflow:hidden;margin-top:15px}.fill{height:100%;background:var(--accent,#b7f36e);border-radius:10px;transition:width .3s}.card.calories{--accent:#b7f36e}.card.protein{--accent:#69bce4}.card.carbs{--accent:#e6bc65}.card.fat{--accent:#b89bdc}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:18px;margin-top:19px}.stack{display:grid;gap:18px;align-content:start}.meal{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid #233745}.meal:last-child{border-bottom:0;padding-bottom:0}.foodthumb{flex:none;width:54px;height:54px;border-radius:12px;background:linear-gradient(140deg,#335b45,#1b3545);display:grid;place-items:center;color:#c3e8a6;font-size:24px}.mealinfo{min-width:0}.mealname{font-weight:700;font-size:14px;overflow-wrap:anywhere}.mealdesc{color:#a1b5c2;font-size:12px;margin-top:5px;line-height:1.5}.mealcal{margin-left:auto;font:700 15px Outfit,system-ui;white-space:nowrap}.mealcal span{font:400 11px 'DM Sans',system-ui;color:#a1b6c3}.meal-actions{display:flex;gap:12px;margin-top:6px}.repeat,.delete{border:0;background:none;font-size:11px;font-weight:700;padding:4px 0;color:#b9f36b}.delete{color:#dca5a5}.repeat:hover,.delete:hover{text-decoration:underline}.ghost{background:#1d3439;color:#c6f2de;border:1px solid #385850;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}.primary{background:#b9f36b;color:#1a311d;border:0;border-radius:10px;padding:12px 17px;font-weight:800}.primary:hover{background:#d0ff91}.chart{height:155px;display:flex;align-items:end;justify-content:space-between;gap:13px;border-bottom:1px solid #334854;padding:10px 4px 0}.column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:8px;min-width:0}.barcol{width:100%;max-width:33px;border-radius:6px 6px 0 0;background:#41635b;min-height:2px}.column:last-child .barcol{background:#b9f36b}.column small{font-size:10px;color:#a0b7c3}.chart-caption{font-size:11px;margin-bottom:0}.recipelist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe{border:1px solid #2a3e4c;border-radius:14px;overflow:hidden;background:#142635}.recipeimg{height:125px;width:100%;object-fit:cover;display:block}.recipebody{padding:13px}.recipebody b{font:600 14px Outfit,system-ui}.recipebody p{color:#a4b8c2;font-size:11px;line-height:1.5;margin:6px 0}.preview-note{color:#8ea7b4;font-size:11px;line-height:1.5;margin-bottom:0}.soon{font-size:10px;background:#253c36;color:#c0e9ae;border-radius:20px;padding:5px 8px}.activity-dot{width:8px;height:8px;background:#b9f36b;border-radius:50%}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid #283d4b}.activity-row:first-child{border-top:0}.workicon{background:#263d3d;color:#c5f4bc;padding:12px;border-radius:12px;font-size:21px}.activity-row b{display:block;font-size:13px}.activity-row small{color:#a0b8c4;font-size:11px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.sectionhead h2{font:700 24px Outfit,system-ui;margin:0}.view[hidden]{display:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field{display:grid;gap:8px;margin:12px 0}.field label{font-size:12px;color:#bbced6}.field input{width:100%;background:#0c1b27;border:1px solid #36505b;color:white;border-radius:10px;padding:12px;min-width:0}dialog{border:1px solid #36515c;border-radius:20px;background:#152635;color:#edf7f4;width:min(460px,calc(100vw - 30px));padding:25px;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#061016c9;backdrop-filter:blur(4px)}dialog h2{font:700 24px Outfit,system-ui;margin:0}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:8px}.close{border:0;background:none;color:#afc6d1;font-size:27px;padding:0 5px}.dlgactions{display:flex;justify-content:end;gap:9px;margin-top:20px}.empty{color:#a0b6c3;font-size:13px;padding:28px 5px;text-align:center;line-height:1.8}.empty-icon{display:block;font-size:28px;color:#5c8274;margin-bottom:8px}.goal{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid #2b4050;font-size:13px}.goal:first-child{border:0}.goal b{color:#d5e6e9}.footnote{font-size:11px;color:#90a9b7;margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#status:empty,.form-error:empty{display:none}#status,.form-error{color:#f1b8a7;background:#3b2527;border:1px solid #674049;border-radius:10px;padding:12px;font-size:13px}.progress-layout{grid-template-columns:1.4fr 1fr}.progress-layout .chart{height:230px}
@media(min-width:1500px){.main{padding-top:40px}.recipeimg{height:155px}}
@media(max-width:1150px){.kpis{grid-template-columns:repeat(2,1fr)}.main{padding:28px}.layout{grid-template-columns:1fr 1fr}.topright{flex-wrap:wrap;justify-content:end}.big{margin-top:22px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;z-index:5;width:100%;height:72px;padding:6px;background:#0e1b29;border-top:1px solid #2c4050;border-right:0}.brand,.tagline,.sidefoot{display:none}.nav{display:flex;justify-content:space-around;gap:2px}.nav button{display:grid;justify-items:center;font-size:10px;gap:5px;padding:6px 9px}.nav small{display:none}.nav button span{font-size:20px}.main{padding:22px 16px 98px}.top{align-items:start;margin-bottom:22px}.top h1{font-size:28px}.topright{flex-direction:column;align-items:end;gap:7px}.profile{font-size:11px;padding:8px}.avatar{width:20px;height:20px;margin-right:3px}.date{padding:5px 7px}.date input{width:113px;font-size:11px}.kpis{gap:9px}.panel,.card{padding:17px}.big{font-size:29px}.card:not(.calories) .big{font-size:25px}.layout,.progress-layout{grid-template-columns:1fr}.panelhead h2{font-size:19px}.mealcal{font-size:14px}.top .muted{max-width:230px;font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.7px}.sectionhead h2{font-size:21px}.recipelist{gap:12px}.recipeimg{height:150px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.archive-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #465d3a;background:#1c2b25;color:#cde4b2;border-radius:12px;padding:12px 16px;margin:-8px 0 24px;font-size:12px;line-height:1.6}.archive-notice[hidden]{display:none}.archive-notice button{flex:none}.history-summary{padding:16px;background:#152b30;border:1px solid #2c454a;border-radius:12px;color:#c1e6c8;font-size:13px}.history-filter{max-width:270px;margin:20px 0}.field select{width:100%;background:#0c1b27;border:1px solid #36505b;color:white;border-radius:10px;padding:12px}.archive-row{padding:16px 0;border-top:1px solid #2b4050}.archive-row:first-child{border:0;padding-top:0}.archive-row>strong{font-size:14px}.archive-row p{line-height:1.7}.archive-macros{font-size:12px;color:#c9deca}.archive-row details{font-size:11px;color:#9cb7c4}.archive-row summary{cursor:pointer}.archive-row pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:330px;overflow-y:auto;background:#0b1822;padding:12px;border-radius:9px;line-height:1.6}.archive-goal{border-top:1px solid #2b4050;padding:14px 0;font-size:12px}.archive-goal:first-child{border:0}#history-error{color:#efbba7;font-size:13px}@media(max-width:760px){.nav button{padding:6px 5px;font-size:9px}.archive-notice{display:block}.archive-notice button{margin-top:8px}}

.recipe-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:20px}.recipe-toolbar .field{flex:1;min-width:190px;margin:0}.recipe-toolbar .check-label{margin:0;padding:10px 0}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#b8ced5;margin:16px 0}.check-label input{accent-color:#b9f36b}.wide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.recipe-card{border:1px solid #2a3e4c;border-radius:15px;background:#142635;overflow:hidden;min-width:0}.recipe-card img{width:100%;height:180px;object-fit:cover;display:block}.recipe-card .placeholder-photo{height:120px;display:grid;place-items:center;background:linear-gradient(135deg,#29483f,#172b3d);font-size:40px;color:#b9f36b}.recipe-card .recipebody h3{margin:0 0 10px;font:600 19px Outfit}.recipe-card .recipebody p{line-height:1.7}.recipe-card .recipe-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.recipe-card button{font-size:11px}.recipe-badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.recipe-badges span{font-size:10px;border:1px solid #38554a;border-radius:12px;padding:3px 8px;color:#c7ddac}.recipe-dialog{width:min(700px,calc(100vw - 30px))}.field textarea{width:100%;font:inherit;background:#0c1b27;border:1px solid #36505b;color:white;border-radius:10px;padding:12px;resize:vertical}.nutrition-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.recipe-detail-photo{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin:12px 0}.recipe-ingredients li,.recipe-steps li{font-size:13px;color:#b9ced8;line-height:1.8;margin-bottom:8px}.recipe-metrics{font-size:13px;line-height:1.9;color:#cde0b7}.recipe-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#recipe-status{font-size:13px;color:#c4dfac}#recipe-status:empty{display:none}.recipe-warning{font-size:12px;color:#e4c18b;line-height:1.6;background:#302a20;padding:12px;border-radius:9px}#recipe-calculation{margin-top:16px}.recipe-photo-error{color:#efbba7;font-size:12px}@media(max-width:1100px){.wide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.wide-grid{grid-template-columns:1fr}.recipe-card img{height:190px}.recipe-toolbar{gap:10px}.recipe-toolbar button{flex:1}.recipe-toolbar .field{flex-basis:100%}}

.product-preview{white-space:pre-wrap;line-height:1.8;color:#cde0b7}.field select{font:inherit;padding:12px;border:1px solid #36505b;background:#0c1b27;color:white;border-radius:10px}#product-error,#product-consume-error{color:#efbba7}#product-library .panel button{margin:6px 8px 0 0}

.recipe-times{border:1px solid #36505b;border-radius:12px;margin:12px 0 20px;padding:12px}.recipe-times legend{font-size:13px;color:#cde0b7}#recipe-times{display:flex;gap:12px;flex-wrap:wrap}.recipe-times .check-label{margin:8px 0}.recipe-times button{margin:6px 8px 0 0}

#live-status{font-size:11px;min-height:15px}.live-toast{position:fixed;right:24px;bottom:24px;z-index:100;background:#b9f36b;color:#102020;padding:14px 20px;border-radius:12px;box-shadow:0 5px 24px #0005;max-width:calc(100vw - 48px);animation:live-arrive .25s ease-out}@keyframes live-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.live-toast{animation:none!important}}

.meal-suggestions{display:grid;gap:12px;margin:12px 0}.meal-suggestion{border:1px solid var(--border,#ddd);border-radius:14px;padding:14px}.meal-suggestion p{margin:6px 0 12px}#meal-manual{margin-top:24px}#meal-manual summary{cursor:pointer;font-weight:600}#meal-time{width:100%}

.recipe-product-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.recipe-product-row select{flex:1;min-width:160px}.recipe-product-row input{width:100px}

.recipe-product-row{align-items:center}.recipe-product-row select,.recipe-product-row input{font:inherit;background:#0c1b27;border:1px solid #36505b;color:white;border-radius:10px;padding:12px;min-width:0}.recipe-product-row select{min-width:160px}.recipe-product-row span{color:#a1b5c1}#habit-dialog fieldset{border:1px solid #36505b;border-radius:12px;padding:16px;margin:20px 0}#habit-dialog legend{color:#cde0b7;font-size:13px}#habit-error{color:#efbba7}

[data-auth-pending] .shell{visibility:hidden}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(ellipse at top,#1b3b36 0,transparent 65%),#09111b}.login-card{width:min(460px,100%);background:#111f2d;border:1px solid #2a4350;border-radius:22px;padding:32px}.login-card .brand{padding:0;margin-bottom:28px}.login-card h1{font:700 29px Outfit,system-ui;margin:12px 0}.login-card .primary{width:100%;margin:12px 0}.login-card .eyebrow{font-size:10px}.login-card .field{margin-top:18px}#login-error,#account-error{color:#efc6ab;line-height:1.6}#session-status:empty{display:none}#session-status{padding:12px;text-align:center}.account-session{border-top:1px solid #2b4050;padding:12px 0;overflow-wrap:anywhere}.account-session p{margin:5px 0}#account-password-form{padding-bottom:18px;border-bottom:1px solid #2b4050}

#pending-nutrition,#plan-nutrition{border:1px solid #36505b;border-radius:12px;padding:12px;margin:15px 0}.review-day{border-top:1px solid #2a4350;padding-top:16px}#plans-error,#trend-error,#quantity-error,#pending-error,#plan-error{color:#efc6ab}.nutrition-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.nutrition-calendar>b{text-align:center;color:#a1b5c1}.calendar-day{background:#122431;border:1px solid #36505b;border-radius:10px;color:#e5f0e7;padding:12px 2px;cursor:pointer}.calendar-day.selected{outline:2px solid #b9f46b}.trend-chart{display:grid;gap:10px;max-height:480px;overflow:auto}.trend-row{display:grid;grid-template-columns:95px minmax(40px,1fr) 100px;gap:10px;align-items:center;font-size:12px}.trend-track{position:relative;height:16px;background:#172d39;border-radius:4px}.trend-value{height:100%;background:#b9f46b;border-radius:4px}.trend-goal{position:absolute;top:-3px;bottom:-3px;width:2px;background:#f4b391}#quantity-amount{width:100%}#quantity-save{margin-top:16px}@media(max-width:520px){.trend-row{grid-template-columns:78px minmax(35px,1fr) 68px;gap:6px}.calendar-day{font-size:12px;padding:10px 1px}.nutrition-calendar{gap:4px}}

.trend-row>small{grid-column:2 / -1;margin-top:-6px}#goals-history{max-height:280px;overflow:auto}#goals-effective{width:100%}

#workout-status,#workout-day-status,#workout-error{color:#efc6ab}@media(max-width:700px){.nav{overflow-x:auto;justify-content:flex-start}.nav button{flex:0 0 auto;min-width:46px}}

.product-with-photo{border-color:#669654}.product-without-photo .photo-badge{color:#a1b5c1}.product-with-photo .photo-badge{color:#c5f49a}.product-label-thumb{width:100%;height:160px;object-fit:contain;background:#09111b;border-radius:12px}.product-label-preview{max-width:100%;max-height:280px;object-fit:contain}#product-photo-error{color:#efc6ab}

/* Focused review when a favorite combo is selected in Add meal. */
#habit-dialog.combo-review > label:first-of-type,
#habit-dialog.combo-review > #review-copy-day,
#habit-dialog.combo-review > fieldset {display:none}

#family-invite-result[hidden] {display:none}

#product-photo-dialog{width:min(620px,calc(100vw - 32px))}.photo-web-search{display:grid;gap:10px}.photo-web-search p{margin:0}.photo-web-search summary,.photo-upload-option summary{cursor:pointer;color:#b2cec8}.photo-upload-option{margin:16px 0}#product-photo-preview{display:block;margin:16px auto;max-height:220px}#product-photo-preview[hidden]{display:none}#product-photo-review{overflow-wrap:anywhere}

/* Alimentación navigation group: the parent opens and closes; only the child is a destination. */
.sidebar{overflow-y:auto}.nav-group{display:grid;gap:4px}.nav .nav-group-toggle{width:100%}.nav .nav-caret{margin-left:auto;font-size:14px;transition:transform .2s}.nav-group-toggle[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}.nav .nav-group-toggle[data-active="true"]{color:#cff7bd}.nav .nav-group-toggle[data-active="true"][aria-expanded="false"]{background:#22392f}.nav-sub{display:grid;gap:4px;margin-left:24px;padding-left:10px;border-left:1px solid #2b4050}.nav-sub[hidden]{display:none}.nav .nav-sub button{padding:9px 12px;font-size:14px}.nav .nav-sub button span{font-size:16px}
@media(max-width:760px){.sidebar{overflow:visible}.nav-group{display:block;flex:0 0 auto}.nav .nav-caret{display:none}.nav .nav-group-toggle[aria-expanded="true"]{background:#1a2a35}.nav-sub{position:fixed;left:0;right:0;bottom:72px;z-index:6;display:flex;gap:2px;margin:0;padding:6px;border:0;border-top:1px solid #2c4050;background:#0e1b29;overflow-x:auto}.nav .nav-sub button{flex:0 0 auto;font-size:10px;padding:6px 9px}body:has(.nav-sub:not([hidden])) .main{padding-bottom:160px}}
