.profile-switcher{display:flex;gap:.5rem;margin:1.5rem 0}.profile-button{border:1px solid #b9cec3;background:#fff;color:#18342d;border-radius:999px;padding:.65rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}.profile-button.active{background:#1e5e4f;color:#fff;border-color:#1e5e4f}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0 2rem}.home-card{min-height:115px;border:1px solid #d7e3dc;border-radius:.85rem;background:#fff;padding:1.2rem;display:flex;flex-direction:column;justify-content:space-between;gap:.7rem;color:#18342d;font:inherit;text-align:left;cursor:pointer;box-shadow:0 2px 8px #18342d0d}.home-card:hover{border-color:#1e5e4f;transform:translateY(-1px)}.home-card span{font-size:.9rem;color:#587069}.logout-button{margin-left:.5rem;border:1px solid #b9cec3;background:#fff;border-radius:.5rem;padding:.45rem .7rem;cursor:pointer}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#18342d;background:#f7faf7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{max-width:1440px;margin:auto;padding:clamp(1rem,3vw,3rem)}header,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}h1,h2,p{margin:0}h1{font-size:clamp(1.7rem,4vw,2.5rem)}h2{font-size:1.2rem}.eyebrow{font-size:.8rem;font-weight:700;color:#1e5e4f;letter-spacing:.08em;text-transform:uppercase}.sync-status{background:#fff1f1;border-radius:1rem;padding:.4rem .7rem;font-size:.85rem;white-space:nowrap}.intro{background:#e8f3ed;border-left:4px solid #1e5e4f;border-radius:.5rem;margin:2rem 0;padding:1rem;display:grid;gap:.4rem}.week-table-wrap{overflow-x:auto;margin-top:1rem;border:1px solid #d7e3dc;border-radius:.75rem}table{border-collapse:collapse;width:100%;min-width:650px;background:#fff}th,td{border-bottom:1px solid #e5ece8;padding:.85rem;text-align:center}thead th{background:#1e5e4f;color:#fff}tbody th{text-align:left}.total-row{font-weight:700;background:#edf6f1}.week-table-wrap thead small,.points-table tbody small{display:block;margin-top:.2rem;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap}.week-cell-button{font-size:1.125rem}.food-row>div:first-child>strong{font-size:1.125rem}.food-row>div:first-child>span:not(.food-category):not(.ww-source){font-size:1.0625rem}.food-category{font-size:.9rem}.ww-source{font-size:.85rem!important}.week-table-wrap thead small,.points-table tbody small{font-size:.85rem}.recipe-card>div:first-child>strong{font-size:1.125rem}.recipe-card>div:first-child>span:not(.food-category){font-size:1.0625rem}@media(min-width:768px){.intro{grid-template-columns:max-content 1fr;align-items:center}}.week-cell-button{width:100%;min-height:62px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.inventory-page,.inventory-hub{margin-top:2rem}.inventory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.5rem 0 1rem}.inventory-toolbar>button,.table-actions button,.form-actions button{border:1px solid #1e5e4f;border-radius:.5rem;background:#1e5e4f;color:#fff;padding:.6rem .85rem;font:inherit;cursor:pointer}.inventory-toolbar label,.inventory-form label{display:grid;gap:.35rem;font-weight:700}.inventory-toolbar select,.inventory-form input,.inventory-form select{border:1px solid #b9cec3;border-radius:.55rem;padding:.65rem;background:#fff;color:#18342d;font:inherit}.inventory-table-wrap{overflow-x:auto;border:1px solid #d7e3dc;border-radius:.75rem}.inventory-table{min-width:720px}.inventory-table th:first-child,.inventory-table td:first-child{text-align:left}.table-actions{white-space:nowrap}.table-actions button{margin:.15rem;background:#fff;color:#1e5e4f}.inventory-form{display:grid;gap:1rem;max-width:560px;margin:1rem 0 1.5rem;padding:1.25rem;background:#fff;border:1px solid #d7e3dc;border-radius:.85rem}.form-actions{display:flex;gap:.6rem;justify-content:flex-end}.form-actions button:last-child{background:#fff;color:#18342d;border-color:#b9cec3}.empty-message{margin-top:1.5rem;padding:1rem;background:#fff;border:1px solid #d7e3dc;border-radius:.75rem}.shopping-page{margin-top:2rem;display:grid;gap:1rem}.shopping-editor,.shopping-add,.shopping-list,.home-library{background:#fff;border:1px solid #d7e3dc;border-radius:.75rem;padding:1rem;display:grid;gap:.8rem}.shopping-row{display:grid;grid-template-columns:1.4fr 1fr repeat(3,minmax(110px,1fr)) auto;gap:.5rem;align-items:end;border-top:1px solid #e5ece8;padding-top:.7rem}.shopping-row label,.shopping-form label,.shopping-filters label{display:grid;gap:.25rem;font-weight:700}.shopping-row input,.shopping-form input,.shopping-filters input,.shopping-filters select,.home-library select{min-width:0;border:1px solid #b9cec3;border-radius:.5rem;padding:.55rem;font:inherit}.shopping-row button,.shopping-add>button,.shopping-add details button,.home-library>button,.home-product button,.shopping-form button{border:1px solid #1e5e4f;border-radius:.5rem;background:#1e5e4f;color:#fff;padding:.55rem .75rem;font:inherit;cursor:pointer}.shopping-add details{border-top:1px solid #e5ece8;padding-top:.7rem;display:grid;gap:.7rem}.shopping-filters{display:flex;gap:.7rem;flex-wrap:wrap}.shopping-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem;max-height:220px;overflow:auto}.shopping-picker label{padding:.4rem;border:1px solid #e5ece8;border-radius:.4rem}.shopping-form{display:grid;gap:.7rem;max-width:520px;padding:.8rem;background:#edf6f1;border-radius:.6rem}.home-product{display:flex;gap:.8rem;align-items:center;border-top:1px solid #e5ece8;padding-top:.6rem}.home-product span{flex:1;color:#587069}.shopping-list section{border-top:1px solid #e5ece8;padding-top:.5rem}.shopping-list p{padding:.4rem 0}.shopping-tabs{display:flex;gap:.7rem;flex-wrap:wrap;border-bottom:1px solid #d7e3dc;padding-bottom:.7rem}.shopping-tabs button,.finalize-shopping{min-height:46px;border:1px solid #1e5e4f;border-radius:.6rem;background:#fff;color:#1e5e4f;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer}.shopping-tabs button.active,.finalize-shopping{background:#1e5e4f;color:#fff}.shopping-tabs button:disabled{opacity:.5;cursor:not-allowed}.section-help{color:#587069}.save-confirmation{padding:.75rem 1rem;border:1px solid #8ac5a7;border-radius:.6rem;background:#edf8f1;color:#145c3d;font-weight:700}.finalize-shopping{justify-self:start;font-size:1rem}.secondary-action{background:#fff!important;color:#1e5e4f!important;border-color:#b9cec3!important}.shopping-list-screen{background:#fff;border:1px solid #d7e3dc;border-radius:.75rem;padding:clamp(1rem,3vw,2rem);display:grid;gap:1rem}.shopping-bag-reminder{margin:0;padding:.9rem 1.1rem;border-radius:.6rem;background:#fff7df;color:#6c4a12;font-size:1.05rem;font-weight:800}.store-group{border-top:2px solid #d7e3dc;padding-top:1rem;display:grid;gap:.4rem}.store-group h4{font-size:1.25rem;margin:0}.supermarket-item{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:.7rem;min-height:56px;padding:.65rem .4rem;border-bottom:1px solid #e5ece8;font-size:1.1rem;cursor:pointer}.supermarket-item input{width:24px;height:24px;accent-color:#1e5e4f}.supermarket-item small{color:#587069}.shopping-complete{padding:1.2rem;border-radius:.6rem;background:#edf8f1;color:#145c3d;font-size:1.3rem;font-weight:800}.manual-backup{margin-block:1.5rem;padding:1rem;border:1px solid #b9cec3;border-radius:.6rem}.manual-backup p{margin-block:.65rem}.manual-backup button,.manual-backup a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1rem;margin-right:.5rem;border:1px solid #1e5e4f;border-radius:.5rem;background:#fff;color:#1e5e4f;font:inherit;cursor:pointer}.manual-backup button:disabled{opacity:.6;cursor:wait}button:active{transform:translateY(1px);filter:brightness(.92)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e4a22a;outline-offset:2px}@media(max-width:800px){.shopping-row{grid-template-columns:1fr 1fr}.shopping-row strong,.shopping-row span{grid-column:1/-1}}@media(max-width:600px){.inventory-toolbar{align-items:stretch;flex-direction:column}.inventory-toolbar>button{width:100%}.inventory-table th,.inventory-table td{padding:.65rem}}.week-cell-button:hover{background:#edf6f1}.week-cell-button span{display:block}.week-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;padding:1rem;z-index:1000}.week-editor{width:min(520px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;background:#fff;border-radius:1rem;padding:1.4rem;box-shadow:0 16px 50px #0003;display:grid;gap:1rem}.week-editor textarea{width:100%;resize:vertical;border:1px solid #b9cec3;border-radius:.6rem;padding:.8rem;font:inherit}.week-editor-actions{display:flex;justify-content:flex-end;gap:.6rem}.week-editor-actions button{border:1px solid #b9cec3;border-radius:.5rem;background:#fff;padding:.55rem .85rem;font:inherit;cursor:pointer}.week-editor-actions button:last-child{background:#1e5e4f;border-color:#1e5e4f;color:#fff}.week-item-inputs{display:grid;gap:.7rem}.week-item-input{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:.65rem}.week-item-input>span{width:34px;height:34px;border-radius:50%;background:#dcebe4;color:#1e5e4f;display:grid;place-items:center;font-weight:700}.week-item-input input,.week-single-input{width:100%;border:1px solid #b9cec3;border-radius:.6rem;padding:.75rem;color:#18342d;background:#fff;font:inherit}.week-item-input input:focus,.week-single-input:focus{outline:2px solid #1e5e4f;outline-offset:1px}.week-cell-button span+span{border-top:1px solid #e5ece8;padding-top:.25rem;margin-top:.1rem}.foods-screen{margin-top:2rem}.food-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:1.5rem;margin-top:1.5rem;align-items:start}.food-form,.food-library{background:#fff;border:1px solid #d7e3dc;border-radius:.85rem;padding:1.25rem}.food-form{display:grid;gap:1rem}.food-form label{display:grid;gap:.35rem;font-weight:700}.food-form input,.food-form select{width:100%;border:1px solid #b9cec3;border-radius:.55rem;padding:.7rem;background:#fff;color:#18342d;font:inherit}.food-form-actions,.food-row-actions{display:flex;gap:.5rem;justify-content:flex-end}.food-form-actions button,.food-row-actions button{border:1px solid #b9cec3;border-radius:.5rem;background:#fff;padding:.5rem .75rem;cursor:pointer}.food-form-actions button:last-child{background:#1e5e4f;border-color:#1e5e4f;color:#fff}.food-equivalences{margin-top:.55rem;font-size:.9rem}.equivalence-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem}.equivalence-line button,.food-equivalences>button{border:1px solid #b9cec3;border-radius:.4rem;background:#fff;padding:.3rem .5rem;cursor:pointer}.equivalence-form,.equivalence-prompt{display:grid;gap:.55rem;margin-top:.6rem;padding:.75rem;border:1px solid #d7e3dc;border-radius:.55rem;background:#f7faf7}.equivalence-form label,.equivalence-prompt label{display:grid;gap:.25rem;font-weight:600}.equivalence-form input,.equivalence-prompt input{width:100%;border:1px solid #b9cec3;border-radius:.4rem;padding:.45rem;font:inherit}.food-list{display:grid;gap:.7rem;margin-top:1rem}.food-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #e5ece8;padding:.8rem 0}.food-row>div:first-child{display:grid;gap:.2rem}.food-category{font-size:.8rem;color:#587069;text-transform:uppercase;letter-spacing:.04em}.empty-message{margin-top:1rem;color:#587069}@media(max-width:800px){.food-layout{grid-template-columns:1fr}.food-row{align-items:flex-start;flex-direction:column}}.ww-source{display:inline-block;width:fit-content;margin-top:.15rem;padding:.15rem .4rem;border-radius:999px;background:#edf6f1;color:#1e5e4f!important;font-size:.75rem!important;font-weight:700}.pressure-screen{display:grid;gap:1rem;max-width:1180px;margin:1.5rem auto;color:#18342d}.pressure-header,.pressure-feature-heading,.pressure-session-heading,.pressure-reading-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.pressure-header{padding:0 .2rem;align-items:center}.pressure-header h2,.pressure-feature h3{color:#1e5e4f;margin:.15rem 0}.pressure-header h2{font-size:clamp(1.7rem,4vw,2.4rem)}.pressure-header p:not(.eyebrow){margin:.35rem 0 0;color:#587069}.pressure-header button,.pressure-draft button{border:1px solid #b9cec3;border-radius:.55rem;background:#fff;color:#18342d;padding:.65rem .9rem;font:inherit;cursor:pointer}.pressure-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:.3rem;border:1px solid #d5e5dc;border-radius:.8rem;background:#f4f8f5}.pressure-tabs button{border:0;border-radius:.55rem;background:transparent;color:#496b5c;padding:.75rem 1rem;font:inherit;font-weight:800;letter-spacing:.04em;cursor:pointer}.pressure-tabs button.active{background:#1e5e4f;color:#fff;box-shadow:0 2px 6px #1e5e4f2e}.pressure-feature{border:1px solid #d5e5dc;border-radius:18px;padding:clamp(1rem,3vw,1.7rem);box-shadow:0 8px 26px #1e5e4f12}.pressure-today{background:linear-gradient(135deg,#e7f2ec,#fbfcf8 68%)}.pressure-week{background:linear-gradient(135deg,#fffaf0,#eef7f1)}.pressure-feature-heading{align-items:end;margin-bottom:1rem}.pressure-feature-heading h3{font-size:clamp(1.6rem,4vw,2.6rem)}.pressure-feature-heading h3:first-letter{text-transform:uppercase}.pressure-feature-heading label{display:grid;gap:.3rem;color:#587069;font-size:.85rem;font-weight:800}.pressure-feature-heading input{width:12rem;border:1px solid #b9cec3;border-radius:.55rem;padding:.6rem;background:#fff;font:inherit;color:#18342d}.pressure-day-grid,.pressure-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pressure-session,.pressure-week-card{border:1px solid #d5e5dc;border-radius:15px;background:#ffffffd1;padding:1rem}.pressure-enter-session{margin-top:.8rem;border:1px solid #1e5e4f;border-radius:.55rem;padding:.65rem .9rem;background:#1e5e4f;color:#fff;font:inherit;font-weight:700;cursor:pointer}.pressure-session-detail{display:grid;gap:1rem}.pressure-back-today{justify-self:start;border:1px solid #b9cec3;border-radius:.55rem;background:#fff;color:#18342d;padding:.6rem .8rem;font:inherit;cursor:pointer}.pressure-session-measurements{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.pressure-session-measurements .pressure-draft>div{grid-template-columns:repeat(4,minmax(0,1fr))}.pressure-session-measurements .pressure-draft button{align-self:end}.pressure-session-choice .pressure-empty{margin:.25rem 0}.pressure-session-heading>span{border-radius:999px;background:#edf6f1;color:#1e5e4f;padding:.35rem .6rem;font-size:.8rem;font-weight:800}.pressure-readings{display:grid;gap:.55rem}.pressure-reading,.pressure-draft,.pressure-saved{border:1px solid #e0eae4;border-radius:11px;background:#fff;padding:.7rem}.pressure-reading-top{align-items:center;color:#587069;font-size:.8rem}.pressure-reading-top strong{color:#214e40;font-size:1.1rem}.pressure-reading-values,.pressure-average,.pressure-extremes article>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-items:start}.pressure-number{display:grid;gap:.2rem;min-width:0;text-align:center;align-content:start}.pressure-metric-label{color:#496b5c;font-size:.8rem;font-weight:800;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.pressure-number strong{color:#214e40;font-size:clamp(1.35rem,3vw,1.95rem);line-height:1.05}.pressure-verdict{color:#214e40;font-size:.88rem;font-weight:800;line-height:1.2;text-transform:uppercase}.pressure-number.pressure-band-low,.pressure-number.pressure-band-low strong,.pressure-number.pressure-band-low small,.pressure-number.pressure-band-low .pressure-verdict,.pressure-number.pressure-band-elevated,.pressure-number.pressure-band-elevated strong,.pressure-number.pressure-band-elevated small,.pressure-number.pressure-band-elevated .pressure-verdict{color:#a85d16}.pressure-number.pressure-band-threshold{color:#861b24}.pressure-number.pressure-band-threshold strong,.pressure-number.pressure-band-threshold small,.pressure-number.pressure-band-threshold .pressure-verdict{color:#861b24;font-weight:800}.pressure-average{align-items:end;margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e0eae4}.pressure-average>small{grid-column:1/-1;color:#587069;font-weight:700}.pressure-empty{margin:1rem 0;color:#587069;font-weight:700}.pressure-legend{display:grid;gap:.18rem;margin-top:1rem;padding:.75rem .9rem;border-left:3px solid #b9cec3;color:#587069;font-size:.8rem}.pressure-legend strong{color:#496b5c}.pressure-legend small{margin-top:.25rem;color:#668273}.pressure-extremes{margin-top:1rem;border-top:1px solid #e0eae4;padding-top:.8rem}.pressure-extremes h4{margin:.1rem 0 .55rem;color:#496b5c}.pressure-extremes article{display:grid;gap:.35rem;border-top:1px solid #edf2ef;padding:.55rem 0}.pressure-extremes article>div{grid-template-columns:repeat(3,1fr)}.pressure-extremes article>small{color:#668273}.pressure-draft{margin:0}.pressure-draft legend{color:#496b5c;font-size:.9rem;font-weight:800}.pressure-draft>div{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:.45rem;align-items:end}.pressure-draft label{display:grid;gap:.25rem;color:#587069;font-size:.78rem;font-weight:800}.pressure-draft input{width:100%;min-width:0;border:1px solid #b9cec3;border-radius:.45rem;padding:.5rem;background:#fff;font:inherit}.pressure-draft button:disabled{opacity:.45;cursor:not-allowed}.pressure-saved>span{display:block;margin-bottom:.35rem;color:#496b5c;font-size:.8rem;font-weight:800}.pressure-saved .pressure-reading{padding:.55rem}.pressure-notice{margin:0;border-radius:.7rem;background:#edf6f1;color:#1e5e4f;padding:.7rem 1rem;font-weight:700}.pressure-export{border:1px solid #1e5e4f;border-radius:.55rem;background:#1e5e4f;color:#fff;padding:.7rem .9rem;font:inherit;font-weight:800;cursor:pointer}.pressure-history-table-wrap{overflow-x:auto}.pressure-history-table{width:100%;border-collapse:collapse;color:#214e40}.pressure-history-table th,.pressure-history-table td{border-bottom:1px solid #d5e5dc;padding:.75rem .65rem;text-align:left;vertical-align:middle}.pressure-history-table th{background:#edf6f1;color:#214e40;font-size:.82rem;letter-spacing:.02em}.pressure-history-table td:nth-child(n+3){font-variant-numeric:tabular-nums;font-weight:800}.pressure-history-table tbody tr:nth-child(2n){background:#edf6f16b}@media(max-width:800px){.pressure-draft>div{grid-template-columns:repeat(2,minmax(0,1fr))}.pressure-draft button{grid-column:1/-1}}@media(max-width:700px){.pressure-session-measurements .pressure-draft>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.pressure-screen{margin:.8rem auto}.pressure-header,.pressure-feature-heading{flex-direction:column;align-items:stretch}.pressure-header button{align-self:flex-start}.pressure-feature-heading input{width:100%}.pressure-day-grid,.pressure-week-grid{grid-template-columns:1fr}.pressure-feature{border-radius:14px;padding:.85rem}.pressure-number strong{font-size:1.35rem}.pressure-verdict{font-size:.8rem}.pressure-tabs{gap:.25rem}.pressure-tabs button{padding:.65rem .25rem;font-size:.8rem}.pressure-export{width:100%}.pressure-history-table,.pressure-history-table thead,.pressure-history-table tbody,.pressure-history-table tr,.pressure-history-table th,.pressure-history-table td{display:block}.pressure-history-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pressure-history-table tr{border:1px solid #d5e5dc;border-radius:12px;margin-bottom:.7rem;padding:.45rem .7rem;background:#ffffffdb}.pressure-history-table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.4rem 0;text-align:right}.pressure-history-table td:before{content:attr(data-label);color:#587069;font-weight:700;text-align:left}}.food-library-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem}.food-library-heading label{display:grid;gap:.3rem;font-size:.9rem;font-weight:700}.food-library-heading select,.week-library-picker select{border:1px solid #b9cec3;border-radius:.55rem;padding:.6rem;background:#fff;color:#18342d;font:inherit}.week-source-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.week-source-buttons button{border:1px solid #b9cec3;border-radius:.65rem;background:#fff;padding:.75rem;font:inherit;font-weight:700;cursor:pointer}.week-source-buttons button.active{background:#1e5e4f;color:#fff;border-color:#1e5e4f}.week-library-picker{display:grid;gap:.75rem}.week-library-picker label{display:grid;gap:.35rem;font-weight:700}.week-library-list{max-height:280px;overflow:auto;display:grid;gap:.4rem;border:1px solid #e5ece8;border-radius:.65rem;padding:.5rem}.week-library-item{display:flex;justify-content:space-between;gap:1rem;text-align:left;border:1px solid #e5ece8;border-radius:.55rem;background:#fff;padding:.65rem;cursor:pointer;color:#18342d}.week-library-item:hover:not(:disabled){background:#edf6f1;border-color:#1e5e4f}.week-library-item:disabled{opacity:.45;cursor:not-allowed}.week-library-item span{color:#587069;font-size:.87rem}.week-selected-items{display:grid;gap:.5rem;border-top:1px solid #e5ece8;padding-top:.8rem}.week-selected-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#f7faf7;border-radius:.55rem;padding:.55rem .65rem}.week-selected-item button{border:1px solid #b9cec3;background:#fff;border-radius:.45rem;padding:.35rem .55rem;cursor:pointer}.empty-library-note{border:1px dashed #b9cec3;border-radius:.65rem;padding:1rem;background:#f7faf7;display:grid;gap:.35rem}@media(max-width:700px){.food-library-heading{align-items:stretch;flex-direction:column}.week-source-buttons{grid-template-columns:1fr}}.week-quantity-box{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid #b9cec3;border-radius:.75rem;background:#f7faf7}.week-quantity-box label{display:grid;gap:.35rem;font-weight:700}.week-quantity-box input{width:100%;border:1px solid #b9cec3;border-radius:.55rem;padding:.7rem;background:#fff;color:#18342d;font:inherit}.week-quantity-box>span{color:#587069;font-size:.9rem}.recipes-screen{margin-top:2rem}.recipe-layout{display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:1.5rem;margin-top:1.5rem;align-items:start}.recipe-form,.recipe-library{background:#fff;border:1px solid #d7e3dc;border-radius:.85rem;padding:1.25rem}.recipe-form{display:grid;gap:1rem}.recipe-form label{display:grid;gap:.35rem;font-weight:700}.recipe-form input,.recipe-form select{width:100%;border:1px solid #b9cec3;border-radius:.55rem;padding:.7rem;background:#fff;color:#18342d;font:inherit}.recipe-ingredient-picker{display:grid;gap:.75rem;padding:1rem;border:1px solid #d7e3dc;border-radius:.75rem;background:#f7faf7}.recipe-ingredient-picker h3,.recipe-selected h3{margin:0;font-size:1rem}.recipe-reference,.recipe-totals span{color:#587069;font-size:.9rem}.recipe-add-button{border:1px solid #1e5e4f;border-radius:.5rem;background:#1e5e4f;color:#fff;padding:.6rem .8rem;font:inherit;cursor:pointer}.recipe-selected{display:grid;gap:.55rem}.recipe-ingredient-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border-bottom:1px solid #e5ece8;padding:.55rem 0}.recipe-ingredient-row button{border:1px solid #b9cec3;border-radius:.45rem;background:#fff;padding:.4rem .6rem;cursor:pointer}.recipe-totals{display:grid;gap:.25rem;padding:.85rem;border-radius:.65rem;background:#edf6f1}.recipe-list{display:grid;gap:.7rem;margin-top:1rem}.recipe-card{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5ece8;padding:.8rem 0}.recipe-card>div:first-child{display:grid;gap:.2rem}.recipe-photo{flex:0 0 180px;display:grid;justify-items:start;gap:.35rem;min-width:0}.recipe-photo-open{width:168px;height:116px;padding:0;border:1px solid #d7e3dc;border-radius:.65rem;overflow:hidden;background:#edf6f1;cursor:zoom-in}.recipe-photo-open img{display:block;width:100%;height:100%;object-fit:cover}.recipe-photo-actions{display:flex;flex-wrap:wrap;gap:.35rem}.recipe-photo-actions button,.recipe-photo-select{border:1px solid #b9cec3;border-radius:.45rem;padding:.35rem .5rem;background:#fff;color:#18342d;font:inherit;font-size:.85rem;cursor:pointer}.recipe-photo-select input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.recipe-photo-actions button:disabled,.recipe-photo-select:has(input:disabled){opacity:.55;cursor:not-allowed}.recipe-photo>small{color:#587069;font-size:.82rem}.recipe-photo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#0a1913c7}.recipe-photo-dialog{position:relative;max-width:min(1100px,96vw);max-height:92vh;padding:.5rem;border-radius:.8rem;background:#fff}.recipe-photo-dialog>button{position:absolute;top:.65rem;right:.65rem;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:#fffffff0;font-size:1.5rem;cursor:pointer}.recipe-photo-dialog>img{display:block;max-width:calc(96vw - 1rem);max-height:calc(92vh - 1rem);object-fit:contain}@media(max-width:900px){.recipe-layout{grid-template-columns:1fr}.recipe-card,.recipe-ingredient-row{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.recipe-photo{flex:1 1 100%;width:100%}.recipe-photo-open{width:100%;height:clamp(150px,48vw,230px)}}.week-controls,.sync-conflict{background:#fff;border:1px solid #c9ded6;border-radius:14px;padding:18px;margin:18px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;min-width:0}.week-controls>p,.week-controls>details,.sync-conflict>h2,.sync-conflict>p,.sync-conflict>details{width:100%}.week-controls>p:first-child,.week-header-controls>p:first-child{font-weight:700}.week-header-controls,.week-library{width:100%;min-width:0}.week-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.week-actions>label{flex:1 1 240px}.week-rating{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;border:1px solid #d6b773;border-radius:10px;padding:12px}.week-rating legend{font-weight:700}.week-rating label{display:flex;align-items:center;gap:6px}.week-rating input{width:auto}.week-library-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.week-actions .week-next-primary-action{background:#285d45;border-color:#285d45;color:#fff;font-weight:750}.week-actions .week-next-primary-action:disabled{background:#f4faf7;border-color:#aac6bc;color:#164b40}.week-library{margin-top:1rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid #c9ded6;border-radius:14px;background:#f8fbf9}.week-library-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.week-library-heading h2{margin:0}.week-library-heading p{margin:.25rem 0 0;color:#587069}.week-library-net-filter{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.5rem!important;margin:.75rem 0}.week-library-net-filter input{width:auto}.week-library-results{display:grid;gap:.65rem}.week-library-result{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;border:1px solid #dce8e2;border-radius:10px;background:#fff}.week-library-result p{margin:.3rem 0 0;color:#587069}.week-library-result-actions{display:flex;flex-wrap:wrap;gap:.5rem}.week-library-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#0a18138c}.week-library-confirm{width:min(100%,32rem);padding:1.25rem;border-radius:14px;background:#fff;box-shadow:0 20px 60px #00000040}.week-library-confirm h2{margin-top:0}.week-library-confirm>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.week-controls label{display:grid;gap:8px;max-width:100%}.week-controls select,.week-controls input,.week-controls button,.sync-conflict button{font:inherit;padding:10px 12px;border:1px solid #aac6bc;border-radius:8px;background:#f4faf7;color:#164b40;max-width:100%;min-width:0}.week-controls button,.sync-conflict button,.week-controls summary,.sync-conflict summary{cursor:pointer}.week-controls button:disabled{opacity:.55;cursor:default}.week-controls details label,.week-controls details div{margin-top:14px}.week-controls details div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sync-conflict{border-color:#bb8840;background:#fffaf1}.sync-conflict ul{padding-left:24px;overflow-wrap:anywhere}@media(max-width:600px){.week-controls label,.week-controls button,.sync-conflict button{width:100%}.week-actions,.week-library-nav{align-items:stretch}.week-library-heading,.week-library-result{align-items:stretch;flex-direction:column}.week-library-result-actions{display:grid}}.week-controls{overflow:hidden}.week-space-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 18px}.week-space-tabs button{min-height:48px;border:1px solid #bacbc0;border-radius:12px;background:#f6faf7;color:#214b39;font-weight:750}.week-space-tabs button[aria-pressed=true]{background:#285d45;border-color:#285d45;color:#fff}.week-table-heading{margin:20px 0 8px}.week-table-heading h2{margin:0;font-size:1.2rem;letter-spacing:.035em}.week-table-heading p{margin:5px 0 0;color:#42554a;font-weight:600}.week-table-wrap{margin-top:0}.week-controls label{min-width:0;grid-template-columns:minmax(0,1fr)}.week-controls select{width:100%}.week-controls details{min-width:0}@media(max-width:600px){header{flex-wrap:wrap}header>div{min-width:0}.sync-status{white-space:normal;display:inline-block}}.points-dashboard{display:grid;gap:1rem;min-width:0;margin:1rem 0}.points-summary,.points-budget,.points-sport{min-width:0;padding:1rem;border:1px solid #c9ded6;border-radius:12px;background:#fff}.points-summary label,.points-budget label,.points-sport label{display:grid;gap:.45rem;min-width:0}.points-summary select,.points-budget input,.points-sport input,.points-sport select{box-sizing:border-box;width:100%;min-width:0;padding:.65rem;border:1px solid #aac6bc;border-radius:8px;font:inherit}.points-budget,.points-sport{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem}.points-budget label{flex:1 1 220px}.points-week-heading{margin:0 0 .5rem}.points-week-heading h2{margin:0;font-size:1.15rem}.points-week-heading p{margin:.2rem 0 0;color:#587069}.points-budget-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0 0 .65rem}.points-budget-edit{padding:.55rem .75rem}.points-budget-edit label{flex:0 1 180px}.points-budget-edit input{max-width:180px}.points-sport label{flex:1 1 180px}.points-sport h3,.points-sport p,.points-sport ul{flex-basis:100%;margin:.25rem 0}.points-sport li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0}.points-table-wrap{max-width:100%;min-width:0;overflow-x:auto;border:1px solid #d7e3dc;border-radius:10px}.points-table{width:100%;min-width:850px;border-collapse:collapse;background:#fff}.points-table th,.points-table td{padding:.65rem;text-align:left;border-bottom:1px solid #e3ece7;vertical-align:top}.points-table thead{background:#edf6f1}.points-table th small,.points-table td strong{display:block}.points-table td strong{max-width:250px;margin-top:.35rem;color:#8a3a27;font-size:.9rem}.bank-alert-row{background:#fff7ef}.weekly-bank-total{font-weight:700}.weekly-failure{color:#9b2c20;font-weight:700}.weekly-success{color:#1c604c}@media(max-width:600px){.points-dashboard>form,.points-dashboard>form button{width:100%}.points-table{min-width:850px}}.change-screen{display:grid;gap:1rem;max-width:1100px;margin:1.5rem auto}.change-screen>section,.change-screen>details{background:#f4f8f5;border:1px solid #d5e5dc;border-radius:14px;padding:1rem 1.25rem}.change-screen h2,.change-screen h3{color:#1e5e4f}.change-screen [aria-label=Recorrido]{background:linear-gradient(135deg,#e7f2ec,#f6f8f4);padding:clamp(1.25rem,4vw,2.5rem)}.change-screen [aria-label=Recorrido] h3{font-size:clamp(1.25rem,3vw,2rem);margin:0}.change-screen .change-day-count{font-size:clamp(2.6rem,9vw,5rem);line-height:1;font-weight:800;margin:.3rem 0;color:#214e40}.change-screen .change-date-code{font-size:clamp(1.4rem,4vw,2rem);font-weight:800;letter-spacing:.22em;color:#668273;margin:0 0 1.5rem}.change-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1.25rem 0}.change-stats>div{background:#ffffffc7;border:1px solid #d5e5dc;border-radius:12px;padding:.8rem .7rem}.change-stats strong,.change-stats span{display:block}.change-stats strong{color:#214e40;font-size:clamp(1.15rem,2.5vw,1.55rem);line-height:1.1}.change-stats span,.distinction-label{color:#668273;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-top:.35rem}.change-encouragement,.change-weeks{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.3;font-weight:800;color:#214e40}.change-encouragement{position:relative;margin:1rem 0 .5rem}.change-opening-quote{position:absolute;left:-.55em;top:0}.change-weeks{margin:.7rem 0}.change-weight-layout{display:block}.change-weight-layout h3{margin:0 0 .35rem;font-size:1.35rem}.change-weight-fields{display:grid;grid-template-columns:minmax(12.5rem,auto) minmax(9rem,auto) auto;justify-content:start;gap:.25rem 1rem;align-items:end}.change-screen .change-weight-fields label{margin:.55rem 0;font-size:1.08rem}.change-screen .change-weight-fields input{min-height:3rem;font-size:1.08rem}.change-history-button{align-self:end;white-space:nowrap}.change-admin-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}.change-subview{min-height:50vh}.change-history{list-style:none;padding:0}.change-history li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.75rem;border-bottom:1px solid #d5e5dc}.change-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#12241dbb}.change-dialog{width:min(100%,36rem);max-height:90vh;overflow-y:auto;padding:1.25rem;border-radius:14px;background:#fff;box-shadow:0 12px 48px #0005}.distinction-highlight{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem;margin-top:1.2rem;padding:1rem;border-radius:16px;background:linear-gradient(120deg,#fffaf0,#eef7f1);border:1px solid #dddfc7}.distinction-current,.distinction-next{display:flex;align-items:center;gap:.85rem}.distinction-next{display:grid;gap:.15rem;align-content:center}.distinction-current strong,.distinction-next strong{display:block;color:#214e40;font-size:1.25rem}.distinction-current small,.distinction-next small{color:#496b5c;font-size:.9rem}.distinction-medal{display:grid;place-items:center;flex:0 0 3.6rem;height:3.6rem;border-radius:50%;color:#9a6b18;background:radial-gradient(circle at 35% 30%,#fff5b5,#d7a83d 62%,#a36b18);box-shadow:0 3px 8px #66460f33;font-size:1.8rem}.change-screen label{display:grid;gap:.45rem;margin:.8rem 0;font-size:1rem;font-weight:700;color:#294d40}.change-screen input,.change-screen select,.change-screen textarea{width:min(100%,34rem);min-height:2.8rem;font-size:1rem;padding:.55rem .65rem}.change-screen .change-form-grid{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:end}.change-screen .change-form-grid label{margin:.4rem 0}.change-screen .date-control{width:12.5rem}.change-screen .time-control{width:9.5rem}.change-screen .weight-control{width:9rem}.change-screen textarea{min-height:6rem;width:min(100%,42rem)}.change-screen textarea{min-height:5rem}.change-screen button{margin:.6rem .6rem .6rem 0;padding:.65rem 1rem;font-size:.98rem}.change-form-notice{margin:.2rem 0 .8rem;color:#8a4b20;font-weight:700}.change-form-notice[role=status]{color:#1e5e4f}.change-screen article{padding:.75rem;border-top:1px solid #d5e5dc}.change-screen article h4{margin:.2rem 0}@media(max-width:760px){.change-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.change-stats>div:last-child{grid-column:span 2}.distinction-highlight{grid-template-columns:1fr}}@media(max-width:700px){.change-weight-fields{grid-template-columns:minmax(0,1fr);align-items:stretch}.change-history-button{justify-self:start}}@media(max-width:600px){.change-screen>header{align-items:flex-start;flex-direction:column}.change-screen>section,.change-screen>details{padding:.85rem}.change-stats strong{font-size:1.2rem}.change-screen input,.change-screen select{max-width:100%}}.food-layout,.recipe-layout{display:flex;flex-direction:column;gap:1rem}.food-form,.recipe-form,.food-library,.recipe-library{width:100%;min-width:0}.food-form,.recipe-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:end}.food-form>h2,.recipe-form>h2,.recipe-form>[role=alert],.recipe-ingredient-picker,.recipe-selected,.recipe-totals,.food-form-actions,.recipe-form>.form-actions{grid-column:1 / -1}.food-form label,.recipe-form label{min-width:0}.food-form label:has(input[type=checkbox]){display:flex;align-items:center}.food-form label:has(input[type=checkbox]) input{width:auto}.recipe-ingredient-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.recipe-ingredient-picker h3,.recipe-ingredient-picker .recipe-reference,.recipe-ingredient-picker>p[role=alert],.recipe-ingredient-picker>button{grid-column:1 / -1}.recipe-card-copy{display:grid;align-content:center;gap:.2rem;flex:1 1 16rem;min-width:0}.week-cell-button{font:inherit;font-size:1.125rem}.week-cell-button span{font-size:1.125rem;overflow-wrap:anywhere}.food-row>div:first-child>strong,.recipe-card-copy>strong{font-size:1.125rem}.food-row>div:first-child>span:not(.food-category):not(.ww-source),.recipe-card-copy>span:not(.food-category){font-size:1.0625rem}.food-list .food-category,.recipe-list .food-category{font-size:.9rem}.food-list .ww-source{font-size:.9rem!important}.inventory-table td:first-child{font-size:1.0625rem}.inventory-hub{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),24rem));justify-content:start;gap:1rem}.inventory-hub .freezer-hub-card{min-height:0;padding:1rem 1.15rem;align-items:flex-start;justify-content:flex-start;gap:.45rem;text-align:left}.freezer-hub-card strong{font-size:1.25rem;line-height:1.25}.freezer-hub-card span{font-size:1.05rem;line-height:1.4}.tupper-name,.week-tupper-label{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.tupper-name{flex-wrap:wrap}.tupper-name small{color:#587069;font-size:.95rem}.tupper-color-swatch{display:inline-block;flex:0 0 1.35rem;width:1.35rem;height:1.35rem;border:1px solid #60766d;border-radius:50%;box-shadow:inset 0 0 0 1px #fff5}.week-tupper-label>span{min-width:0;overflow-wrap:anywhere}.tupper-color-create{grid-column:1 / -1;padding:.65rem .8rem;border:1px solid #d7e3dc;border-radius:.55rem}.tupper-color-create-fields{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;padding-top:.6rem}.tupper-color-create-fields label{flex:1 1 10rem}.tupper-color-create-fields input[type=color]{height:2.7rem;padding:.2rem}.tupper-color-picker{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem;min-width:0;margin:0;padding:.7rem;border:1px solid #b9cec3;border-radius:.6rem}.tupper-color-picker legend{padding:0 .35rem;font-weight:700}.tupper-color-picker label{display:inline-flex;grid-template-columns:auto auto auto;align-items:center;gap:.35rem;margin:0;padding:.45rem .55rem;border:1px solid #d7e3dc;border-radius:999px;cursor:pointer}.tupper-color-picker label:has(input:checked){outline:2px solid #1e5e4f;outline-offset:1px}.tupper-color-picker input{width:auto;margin:0}@media(max-width:700px){.food-form,.recipe-form,.recipe-ingredient-picker{grid-template-columns:minmax(0,1fr)}.food-row,.recipe-card{align-items:flex-start;flex-wrap:wrap}.inventory-hub{grid-template-columns:1fr}}.food-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.food-row-actions,.record-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem}.food-row-actions button,.record-actions button{white-space:nowrap}.food-row-actions .basic-toggle.active,.recipe-record-actions .favorite-toggle.active{background:#e4f1e9;border-color:#43866d;color:#174b3c;font-weight:700}.library-action-error{margin:.5rem 0;color:#8a1c24;font-weight:700}.recipe-library-filters{display:grid;grid-template-columns:minmax(12rem,1.5fr) minmax(10rem,1fr) auto;align-items:end;gap:.7rem;margin:.8rem 0 1rem;padding:.75rem;border:1px solid #d7e3dc;border-radius:.7rem;background:#f7faf7}.recipe-library-filters label{display:grid;gap:.3rem;min-width:0;font-weight:700}.recipe-library-filters input,.recipe-library-filters select{width:100%;min-width:0;padding:.6rem;border:1px solid #b9cec3;border-radius:.5rem;background:#fff;color:#18342d;font:inherit}.recipe-library-filters [role=group]{display:flex;gap:.35rem}.recipe-library-filters button{border:1px solid #b9cec3;border-radius:.5rem;padding:.6rem .75rem;background:#fff;color:#18342d;font:inherit;cursor:pointer}.recipe-library-filters button.active{border-color:#1e5e4f;background:#1e5e4f;color:#fff}.recipe-card{display:flex;justify-content:flex-start;align-items:flex-start}.recipe-card-copy{flex:1 1 18rem}.recipe-record-actions{margin-top:.45rem}@media(max-width:700px){.food-row{grid-template-columns:minmax(0,1fr)}.food-row-actions{justify-content:flex-start}.recipe-library-filters{grid-template-columns:minmax(0,1fr)}.recipe-library-filters [role=group]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-record-actions{width:100%}}.pressure-header>div>p:not(.eyebrow){font-size:1.05rem;line-height:1.45}.pressure-tabs button,.pressure-feature-heading label,.pressure-feature-heading input{font-size:1rem}.pressure-session-heading h3{font-size:1.35rem}.pressure-session-heading .eyebrow{font-size:1rem}.pressure-session-heading>span{font-size:1rem}.pressure-enter-session,.pressure-back-today,.pressure-header button,.pressure-draft button,.pressure-export,.pressure-reading-top{font-size:1rem}.pressure-reading-top strong,.pressure-draft legend{font-size:1.1rem}.pressure-draft label{font-size:1rem;line-height:1.3}.pressure-draft input{font-size:1rem}.pressure-saved>span{font-size:1rem}.pressure-metric-label{font-size:.95rem;letter-spacing:.025em}.pressure-verdict{font-size:.95rem}.pressure-empty,.pressure-legend,.pressure-feature-heading>div>.eyebrow,.pressure-session-heading>div>.eyebrow{font-size:.95rem}.pressure-legend small,.pressure-extremes article>small{font-size:.88rem;line-height:1.4}.pressure-history-table th{font-size:.95rem}.pressure-history-table td{font-size:1rem}.pressure-count{font-size:.95rem}@media(max-width:620px){.pressure-tabs button{padding:.65rem .2rem;font-size:.92rem;letter-spacing:.015em}.pressure-session-heading h3{font-size:1.2rem}.pressure-draft label,.pressure-draft input,.pressure-draft button,.pressure-back-today,.pressure-enter-session{font-size:.98rem}.pressure-metric-label,.pressure-verdict{font-size:.86rem}.pressure-reading-top{font-size:.95rem}}.pressure-feature-heading>div>.eyebrow,.pressure-session-heading>div>.eyebrow,.pressure-session-heading .eyebrow,.pressure-session-heading>span,.pressure-count,.pressure-metric-label,.pressure-verdict{font-size:1rem}@media(max-width:620px){.pressure-tabs button{font-size:.96rem}.pressure-reading-top,.pressure-metric-label,.pressure-verdict{font-size:1rem}}.food-reference-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.food-row-actions{margin-left:auto;flex-shrink:0}@media(max-width:480px){.food-reference-fields{grid-template-columns:1fr}}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f7f5;--surface: #ffffff;--surface-soft: #f0f5f2;--border: #e1e8e4;--border-strong: #c9d6cf;--text: #1c2b26;--muted: #5b6d66;--brand: #2f7d5a;--brand-strong: #1f6146;--brand-soft: #e6f2eb;--info: #2563c9;--info-soft: #e8effb;--danger: #b3362f;--danger-soft: #fdecea;--warning: #8f520c;--warning-soft: #fdf1e2;--radius-card: 16px;--radius-control: 12px;--shadow-card: 0 1px 2px rgba(28, 43, 38, .05), 0 6px 18px rgba(28, 43, 38, .06);--shadow-raised: 0 10px 30px rgba(28, 43, 38, .12);--sidebar-width: 248px;--sidebar-compact: 76px;--bottom-nav-height: 68px;font-family:Inter,Segoe UI,ui-sans-serif,system-ui,-apple-system,Roboto,sans-serif;font-size:17px;line-height:1.45;color:var(--text);background:var(--bg)}body{background:var(--bg);color:var(--text)}h1,h2,h3,h4{color:var(--text);letter-spacing:-.01em}h2{font-size:1.35rem}h3{font-size:1.15rem}.eyebrow{color:var(--brand)}button,input,select,textarea,summary{font:inherit}button{min-height:44px;border-radius:var(--radius-control)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text)}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--brand)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}.home-card,.recipe-card,.food-row,.inventory-form,.empty-message,.shopping-editor,.shopping-add,.shopping-list,.home-library,.pressure-feature,.pressure-session,.pressure-week-card,.week-controls,.manual-backup,.recipe-form,.recipe-library,.food-form,.food-library,.intro,.sync-conflict,.week-editor{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.intro{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand)}.home-card{border:1px solid var(--border)}.home-card:hover{border-color:var(--brand);box-shadow:var(--shadow-raised)}.week-table-wrap,.inventory-table-wrap,.pressure-history-table-wrap{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--surface)}thead th{background:var(--brand-soft);color:var(--brand-strong);font-weight:700}th,td{border-bottom-color:var(--border)}.total-row{background:var(--surface-soft)}.inventory-toolbar>button,.form-actions button,.shopping-row button,.shopping-add>button,.shopping-add details button,.home-library>button,.home-product button,.shopping-form button,.recipe-add-button{background:var(--brand);border-color:var(--brand);border-radius:var(--radius-control)}.table-actions button,.form-actions button:last-child{background:var(--surface);color:var(--brand-strong);border-color:var(--border-strong)}.logout-button{min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);padding:.5rem .9rem;font-weight:600}.logout-button:hover{border-color:var(--brand);color:var(--brand-strong)}.sync-status{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:999px;font-weight:600}.layout{min-height:100vh}.sidebar,.bottom-nav{display:none}.app-shell{max-width:1320px}.layout>.app-shell{margin:0;width:100%;min-width:0}.brand{display:flex;align-items:center;gap:.65rem;color:var(--text);text-decoration:none;font-weight:800;line-height:1.1}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}.nav-link{display:flex;align-items:center;gap:.8rem;min-height:46px;padding:.55rem .8rem;border-radius:12px;color:var(--text);text-decoration:none;font-weight:600}.nav-link:hover{background:var(--surface-soft)}.nav-link[aria-current=page]{background:var(--info-soft);color:var(--info)}.nav-link svg,.bottom-nav-link svg{flex:none}.topbar{margin-bottom:1.5rem}.topbar .topbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}@media(min-width:900px){.layout{display:grid;grid-template-columns:var(--sidebar-compact) 1fr}.sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:0;height:100vh;overflow-y:auto;padding:1.1rem .7rem;background:var(--surface);border-right:1px solid var(--border)}.sidebar .brand-text,.sidebar .nav-label,.sidebar .sidebar-profile-text{display:none}.sidebar .nav-link{justify-content:center;padding:.55rem}.sidebar nav{display:grid;gap:.25rem}.sidebar-footer{margin-top:auto;display:grid;gap:.4rem;justify-items:center}}@media(min-width:1200px){.layout{grid-template-columns:var(--sidebar-width) 1fr}.sidebar{padding:1.4rem 1rem}.sidebar .brand-text,.sidebar .nav-label,.sidebar .sidebar-profile-text{display:inline}.sidebar .nav-link{justify-content:flex-start;padding:.55rem .8rem}.sidebar-footer{justify-items:stretch}}.sidebar-profile{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:12px;background:var(--surface-soft);font-weight:700}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;flex:none}@media(max-width:899px){.app-shell{padding-bottom:calc(var(--bottom-nav-height) + 1.5rem + env(safe-area-inset-bottom))}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0 0;z-index:40;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 18px #1c2b260f}.bottom-nav-link{display:grid;justify-items:center;align-content:center;gap:.15rem;min-height:44px;color:var(--muted);text-decoration:none;font-size:.78rem;font-weight:600;border:0;background:none;padding:0}.bottom-nav-link[aria-current=page],.bottom-nav-link[aria-expanded=true]{color:var(--info)}}.more-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c2b2659;display:flex;align-items:flex-end}.more-sheet{width:100%;max-height:80vh;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:var(--shadow-raised)}.more-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.more-sheet nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.more-sheet .nav-link{border:1px solid var(--border)}.icon-button{min-width:44px;display:inline-grid;place-items:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.home-dashboard{display:grid;gap:1.25rem;margin-bottom:1.5rem}.home-greeting h2{font-size:clamp(1.6rem,3vw,2.1rem)}.home-date{color:var(--muted);font-size:1.05rem}.home-date:first-letter{text-transform:uppercase}.indicator-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.indicator-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.1rem 1.2rem;display:grid;gap:.6rem;align-content:start}.indicator-card header{display:flex;align-items:center;justify-content:flex-start;gap:.6rem}.indicator-card h3{font-size:1.05rem}.indicator-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}.indicator-pressure .indicator-icon{background:var(--danger-soft);color:var(--danger)}.indicator-sport .indicator-icon{background:var(--warning-soft);color:var(--warning)}.indicator-value{font-size:1.75rem;font-weight:800;line-height:1.1;display:grid;gap:.2rem}.indicator-value small{font-size:.9rem;font-weight:600;color:var(--muted)}.indicator-empty{color:var(--muted)}.indicator-link{color:var(--info);font-weight:700;text-decoration:none;justify-self:start;min-height:44px;display:inline-flex;align-items:center;gap:.3rem}.indicator-link:hover{text-decoration:underline}.indicator-points{grid-column:span 2}@media(max-width:640px){.indicator-points{grid-column:auto}}.today-points{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.today-points dl{margin:0;display:grid;gap:.45rem}.today-points dl div{display:flex;gap:.5rem;align-items:baseline}.today-points dt{color:var(--muted);font-weight:600}.today-points dd{margin:0;font-weight:800}.points-ring{width:120px;height:120px;flex:none}.points-ring-track{fill:none;stroke:var(--brand-soft);stroke-width:10}.points-ring-value{fill:none;stroke:var(--brand);stroke-width:10;stroke-linecap:round}.points-ring-value.over{stroke:var(--danger)}.points-ring-number{font-size:26px;font-weight:800;fill:var(--text)}.points-ring-caption{font-size:11px;fill:var(--muted)}.plan-today{display:grid;gap:.8rem}.plan-today-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.plan-today-heading h3{font-size:1.2rem}.plan-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;display:grid}.plan-photo{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.plan-card-body{padding:.9rem 1rem;display:grid;gap:.4rem}.plan-card-body header{display:flex;justify-content:space-between;gap:.5rem}.plan-card-body header span{color:var(--brand-strong);font-weight:800;white-space:nowrap}.plan-card-body ul{margin:0;padding-left:1.1rem;color:var(--muted)}.indicator-alert{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-control);padding:.6rem .8rem;font-weight:700}.topbar{align-items:center}.topbar h1{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:800}.topbar .eyebrow{font-size:.7rem}.section-heading{margin:.25rem 0 1.25rem;align-items:center;flex-wrap:wrap}.section-heading h2{font-size:clamp(1.6rem,3vw,2.1rem)}.week-table-heading h2,.points-week-heading h2{font-size:1.1rem;letter-spacing:.02em}.app-shell button:not([class]){background:var(--surface);color:var(--brand-strong);border:1px solid var(--border-strong);border-radius:var(--radius-control);padding:.5rem .95rem;font-weight:600;cursor:pointer}.app-shell button:not([class]):hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.app-shell button:not([class])[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.app-shell button:disabled{opacity:.55;cursor:not-allowed}.app-shell [role=group]{display:inline-flex;flex-wrap:wrap;gap:.4rem}.app-shell fieldset{border:1px solid var(--border);border-radius:var(--radius-control);padding:.75rem .9rem;margin:0;min-width:0}.app-shell legend{font-weight:700;padding:0 .35rem}.recipe-form .recipe-meal-moments{display:flex;flex-wrap:wrap;gap:.5rem}.recipe-form .recipe-meal-moments{grid-column:1 / -1}.recipe-form .recipe-meal-moments legend{width:auto}.recipe-form .recipe-meal-moments label{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;min-height:44px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-weight:600;cursor:pointer}.recipe-form .recipe-meal-moments label:has(input:checked){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}.week-table-wrap table{min-width:1040px}.week-table-wrap th[scope=row],.week-table-wrap thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border)}.week-table-wrap thead th:first-child{background:var(--brand-soft)}.week-table-wrap .total-row th[scope=row]{background:var(--surface-soft)}.week-cell-button span{overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.week-cell-button:not(:disabled):hover{background:var(--surface-soft);border-radius:10px}.app-shell .week-cell-button:disabled{opacity:1;cursor:default}.week-table-wrap table{table-layout:fixed}.week-table-wrap thead th:first-child{width:132px}.app-shell form button:not([type=button]):not([class]){background:var(--brand);border-color:var(--brand);color:#fff}.app-shell form button:not([type=button]):not([class]):hover:not(:disabled){background:var(--brand-strong)}.home-card strong{display:flex;align-items:center;gap:.55rem}.home-card-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}.recipe-list,.food-list{gap:.85rem}.recipe-card,.food-row{background:var(--surface);border:1px solid var(--border);padding:1rem 1.1rem;gap:1.1rem}.recipe-card:hover,.food-row:hover{border-color:var(--border-strong)}.recipe-list .food-category,.food-list .food-category{color:var(--brand);font-weight:700;letter-spacing:.05em}.recipe-card-copy>strong,.food-row>div:first-child>strong{color:var(--text)}.food-list .ww-source{background:var(--brand-soft);color:var(--brand-strong)!important;border-radius:999px;padding:.15rem .55rem}.recipe-photo-open{border-color:var(--border);border-radius:12px;background:var(--surface-soft)}.recipe-photo-actions button,.recipe-photo-select{min-height:40px;display:inline-flex;align-items:center;border-color:var(--border-strong);border-radius:10px;color:var(--brand-strong);font-weight:600}.recipe-photo-actions button:hover:not(:disabled),.recipe-photo-select:hover{border-color:var(--brand);background:var(--brand-soft)}.food-row-actions button,.record-actions button,.equivalence-line button,.food-equivalences>button{min-height:40px;border-color:var(--border-strong);border-radius:10px;background:var(--surface);color:var(--brand-strong);font-weight:600}.food-row-actions button:hover:not(:disabled),.record-actions button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.food-row-actions .basic-toggle.active,.recipe-record-actions .favorite-toggle.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}.food-equivalences summary{color:var(--brand-strong);font-weight:600;cursor:pointer;min-height:32px}.equivalence-form,.equivalence-prompt{background:var(--surface-soft);border-color:var(--border);border-radius:var(--radius-control)}.recipe-library-filters{background:var(--surface-soft);border-color:var(--border);border-radius:var(--radius-card);padding:.9rem}.recipe-library-filters input,.recipe-library-filters select,.food-library-heading select,.week-library-picker select{border-color:var(--border-strong);border-radius:var(--radius-control);min-height:44px}.recipe-library-filters button{min-height:44px;border-color:var(--border-strong);border-radius:var(--radius-control);color:var(--brand-strong);font-weight:600}.recipe-library-filters button.active{background:var(--brand);border-color:var(--brand);color:#fff}.empty-message{background:var(--surface);border:1px dashed var(--border-strong);color:var(--muted)}.shopping-tabs{border-bottom:0;padding:.3rem;background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;gap:.3rem}.shopping-tabs button{border-color:transparent;background:transparent;color:var(--muted);font-weight:700;border-radius:10px}.shopping-tabs button.active{background:var(--surface);color:var(--brand-strong);border-color:var(--border);box-shadow:var(--shadow-card)}.finalize-shopping{background:var(--brand);border-color:var(--brand);border-radius:var(--radius-control);font-weight:700}.shopping-editor,.shopping-add,.shopping-list,.home-library,.shopping-list-screen{background:var(--surface);border-color:var(--border)}.shopping-row{border-top-color:var(--border)}.shopping-row input,.shopping-form input,.shopping-filters input,.shopping-filters select,.home-library select{border-color:var(--border-strong);border-radius:var(--radius-control);min-height:44px}.shopping-form{background:var(--surface-soft);border-radius:var(--radius-control)}.shopping-picker label{border-color:var(--border);border-radius:10px;background:var(--surface)}.shopping-picker label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.shopping-bag-reminder{background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-control)}.shopping-complete{background:var(--brand-soft);color:var(--brand-strong);border-radius:var(--radius-control)}.pressure-header h2,.pressure-feature h3{color:var(--text)}.pressure-tabs{background:var(--surface-soft);border-color:var(--border);border-radius:14px}.pressure-tabs button{color:var(--muted);border-radius:10px;min-height:44px}.pressure-tabs button.active{background:var(--surface);color:var(--brand-strong);box-shadow:var(--shadow-card)}.pressure-feature{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.pressure-today,.pressure-week{background:var(--surface)}.pressure-session,.pressure-week-card{border-color:var(--border);border-radius:14px;background:var(--surface-soft)}.pressure-reading,.pressure-draft,.pressure-saved{border-color:var(--border);border-radius:12px}.pressure-enter-session{background:var(--brand);border-color:var(--brand);border-radius:var(--radius-control);min-height:44px}.pressure-header button,.pressure-draft button,.pressure-back-today{min-height:44px;border-color:var(--border-strong);border-radius:var(--radius-control);color:var(--brand-strong);font-weight:600}.pressure-session-heading>span{background:var(--brand-soft);color:var(--brand-strong)}.inventory-table-wrap{border-color:var(--border)}.inventory-table tbody tr:hover{background:var(--surface-soft)}.inventory-hub .freezer-hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.inventory-hub .freezer-hub-card:hover{border-color:var(--brand);box-shadow:var(--shadow-raised)}.change-screen>section,.change-screen>details{background:var(--surface);border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.change-screen [aria-label=Recorrido]{background:linear-gradient(135deg,var(--brand-soft),var(--surface) 70%)}.change-screen h2,.change-screen h3{color:var(--text)}.change-screen .change-day-count{color:var(--brand-strong)}.change-stats>div{background:var(--surface);border-color:var(--border);border-radius:14px}.change-stats strong{color:var(--text)}.change-stats span,.distinction-label{color:var(--muted)}.change-encouragement,.change-weeks{color:var(--brand-strong)}.change-screen label{color:var(--text)}.change-screen button{min-height:44px}.change-history li{border-bottom-color:var(--border)}.change-screen article{border-top-color:var(--border)}.change-dialog{border-radius:var(--radius-card);box-shadow:var(--shadow-raised)}.distinction-highlight{border-color:var(--border);border-radius:var(--radius-card)}.distinction-current strong,.distinction-next strong{color:var(--text)}.points-summary,.points-budget,.points-sport{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.points-summary select,.points-budget input,.points-sport input,.points-sport select{min-height:44px;border-color:var(--border-strong);border-radius:var(--radius-control)}.points-table-wrap{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--surface)}.points-table thead{background:var(--brand-soft)}.points-table thead th{color:var(--brand-strong)}.points-table th,.points-table td{border-bottom-color:var(--border)}.points-table td strong{color:var(--danger)}.week-space-tabs{padding:.3rem;background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;gap:.3rem}.week-space-tabs button{border-color:transparent;background:transparent;color:var(--muted);border-radius:10px}.week-space-tabs button[aria-pressed=true]{background:var(--surface);border-color:var(--border);color:var(--brand-strong);box-shadow:var(--shadow-card)}.week-actions .week-next-primary-action{background:var(--brand);border-color:var(--brand);border-radius:var(--radius-control)}.week-actions .week-next-primary-action:disabled{background:var(--surface-soft);border-color:var(--border-strong);color:var(--brand-strong)}.week-rating{border-color:var(--border);border-radius:var(--radius-control)}.week-library{background:var(--surface-soft);border-color:var(--border);border-radius:var(--radius-card)}.week-library-result,.week-library-item{border-color:var(--border);border-radius:12px}.week-library-item:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.week-library-confirm{border-radius:var(--radius-card);box-shadow:var(--shadow-raised)}.week-library-list{border-color:var(--border);border-radius:var(--radius-control)}.inventory-form{background:var(--surface);border-color:var(--border);border-radius:var(--radius-card)}.inventory-toolbar select,.inventory-form input,.inventory-form select{min-height:44px;border-color:var(--border-strong);border-radius:var(--radius-control)}.inventory-toolbar>button,.table-actions button,.form-actions button{min-height:44px}.tupper-color-picker,.tupper-color-create{border-color:var(--border);border-radius:var(--radius-control)}.tupper-color-picker label{border-color:var(--border)}.tupper-color-picker label:has(input:checked){outline-color:var(--brand);background:var(--brand-soft)}.food-form label:has(input[type=checkbox]),.shopping-add summary,.app-shell details>summary{min-height:44px;display:flex;align-items:center;gap:.5rem;cursor:pointer}.app-shell details>summary{display:list-item;line-height:44px}:root{--bg: #f4f6f3;--surface: #ffffff;--surface-soft: #eef3f0;--border: #e1e9e4;--border-strong: #c6d4cd;--text: #14231e;--muted: #55665f;--brand: #1e5e4f;--brand-strong: #17463b;--brand-soft: #e3f0ea;--accent: #b4561a;--accent-soft: #fbeadb;--info: #2f5d8a;--info-soft: #e6eef8;--radius-card: 24px;--radius-control: 14px;--shadow-card: 0 1px 2px rgba(20, 35, 30, .04), 0 8px 24px rgba(20, 60, 48, .07);--shadow-raised: 0 14px 34px rgba(20, 60, 48, .14);font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,Segoe UI,ui-sans-serif,system-ui,sans-serif;font-size:17px}h1,h2,h3,h4{letter-spacing:-.015em}strong,b{font-weight:750}.app-shell{max-width:1480px}.layout>.app-shell{padding:1.6rem clamp(1rem,2.6vw,2.6rem) 2.5rem}.sidebar .brand-mark{background:var(--brand);color:#fff}.nav-link{color:#33443e}.nav-link[aria-current=page],.bottom-nav-link[aria-current=page],.bottom-nav-link[aria-expanded=true]{background:var(--brand-soft);color:var(--brand-strong);font-weight:800}.bottom-nav-link[aria-current=page],.bottom-nav-link[aria-expanded=true]{background:none;color:var(--brand)}.avatar{background:var(--brand)}.topbar{margin-bottom:1.1rem}.topbar h1{font-size:1.05rem;color:var(--muted);font-weight:700}.topbar .eyebrow{display:inline-block;background:var(--accent-soft);color:#7a4307;border-radius:999px;padding:.15rem .6rem;font-size:.68rem}.sync-status{padding:.45rem .9rem;background:var(--brand-soft);border-color:transparent;color:var(--brand-strong);font-weight:700;font-size:.9rem}.section-heading h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.025em}.section-heading .eyebrow{color:var(--muted)}.app-shell button:not([class]){border-radius:var(--radius-control);font-weight:700}.app-shell form button:not([type=button]):not([class]),.week-actions .week-next-primary-action,.finalize-shopping,.pressure-enter-session{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:750;box-shadow:0 4px 12px #1e5e4f38}.intro{border-left:1px solid var(--border);background:var(--surface)}.entry-screen{min-height:100vh;display:grid;grid-template-columns:minmax(380px,44%) 1fr;background:var(--bg);color:var(--text)}.entry-brand{background:var(--brand);color:#fff;padding:clamp(2rem,5vw,3.6rem);display:flex;flex-direction:column;gap:2.2rem}.entry-logo{display:flex;align-items:center;gap:.9rem;font-size:.85rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#d5e8e1}.entry-logo-mark{width:54px;height:54px;border-radius:16px;background:#fff;color:var(--brand);display:grid;place-items:center}.entry-title h1{margin:0;color:#fff;font-size:clamp(2.8rem,5.4vw,4.2rem);line-height:1.02;font-weight:800;letter-spacing:-.03em}.entry-title p{margin:1rem 0 0;font-size:1.15rem;line-height:1.55;color:#d5e8e1;max-width:28rem}.entry-mosaic{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.entry-tile{aspect-ratio:16 / 10;border-radius:22px;display:grid;place-items:center}.entry-tile-warm{background:#e9a15b;color:#4a2a0c}.entry-tile-green{background:#7fb89e;color:#123c30}.entry-tile-lime{background:#c9d98a;color:#34420e}.entry-tile-terracotta{background:#d9785a;color:#4a1a0c}.entry-panel{padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,5vw,4.5rem);display:flex;flex-direction:column}.entry-status{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.entry-env{padding:.45rem .9rem;border-radius:999px;background:var(--accent-soft);color:#7a4307;font-size:.85rem;font-weight:800}.entry-choose{margin:auto 0;display:grid;gap:1.1rem;max-width:640px;width:100%}.entry-question h2{margin:0;font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;letter-spacing:-.025em}.entry-question p{margin:.3rem 0 .4rem;color:var(--muted);font-size:1.05rem}.entry-profile{background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow-card);overflow:hidden}.entry-profile.open{border:2px solid var(--brand);box-shadow:var(--shadow-raised)}.entry-profile-button{width:100%;display:flex;align-items:center;gap:1.1rem;padding:1.4rem 1.5rem;border:0;background:none;text-align:left;color:var(--text);cursor:pointer;min-height:96px}.entry-profile-button:hover{background:var(--surface-soft)}.entry-avatar{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;font-size:1.6rem;font-weight:800;display:grid;place-items:center;flex:none}.entry-avatar-cris{background:#f2c6a8;color:#6b2e0e}.entry-profile-text{display:grid;gap:.15rem;flex:1}.entry-profile-text strong{font-size:1.5rem;font-weight:800}.entry-profile-text span{color:var(--muted);font-size:1rem}.entry-chevron{font-size:2rem;color:var(--brand);line-height:1}.entry-login{padding:0 1.5rem 1.5rem;display:grid;gap:.6rem}.entry-login>p{margin:0;color:var(--muted)}.entry-login form{display:grid;gap:.45rem}.entry-login label{font-weight:800}.entry-login-row{display:flex;gap:.7rem;flex-wrap:wrap}.entry-login-row input{flex:1 1 220px;min-height:54px;font-size:1.15rem;padding:0 1rem;background:#f8faf9;border-width:1.5px}.entry-login-row button{min-height:54px;padding:0 1.8rem;border:0;border-radius:var(--radius-control);background:var(--brand);color:#fff;font-weight:800;font-size:1.05rem;cursor:pointer}.entry-login [role=alert]{margin:.2rem 0 0;color:var(--danger);font-weight:700}@media(max-width:899px){.entry-screen{grid-template-columns:1fr}.entry-brand{border-radius:0 0 32px 32px;padding:3rem 1.4rem 1.6rem;gap:1.2rem}.entry-title h1{font-size:2.6rem}.entry-title p{font-size:1rem}.entry-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.entry-tile{aspect-ratio:1;border-radius:16px}.entry-tile svg{width:26px;height:26px}.entry-panel{padding:1.4rem 1.1rem 2rem}.entry-status{order:2;justify-content:flex-start;margin-top:1rem}.entry-choose{margin:0}.entry-profile-button{padding:1.1rem;min-height:80px}.entry-avatar{width:52px;height:52px;font-size:1.3rem}.entry-login{padding:0 1.1rem 1.1rem}}.home-greeting h2{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:800;letter-spacing:-.025em}.indicator-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}.indicator-card{border-radius:var(--radius-card);padding:1.4rem 1.5rem;gap:.8rem}.indicator-card h3{font-size:1.1rem;font-weight:800}.indicator-value{font-size:2.3rem}.indicator-link{color:var(--brand)}.indicator-weight .indicator-icon{background:var(--info-soft);color:var(--info)}.indicator-sport .indicator-icon{background:var(--accent-soft);color:var(--accent)}.indicator-points{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 16px 34px #1e5e4f47}.indicator-points h3,.indicator-points .today-points dd{color:#fff}.indicator-points .indicator-icon{background:#ffffff24;color:#fff}.indicator-points .today-points dt{color:#cfe5dc}.indicator-points .today-points dl{grid-template-columns:repeat(3,minmax(0,auto));gap:.7rem}.indicator-points .today-points dl div{flex-direction:column;gap:.1rem;background:#ffffff1a;border-radius:16px;padding:.7rem .9rem}.indicator-points .today-points dd{font-size:1.45rem}.indicator-points .indicator-link{color:#f2c38a}.indicator-points .indicator-empty{color:#cfe5dc}.indicator-points .indicator-alert{background:#fff1ee}.points-ring{width:150px;height:150px}.indicator-points .points-ring-track{stroke:#ffffff2e}.indicator-points .points-ring-value{stroke:#f2b66d}.indicator-points .points-ring-value.over{stroke:#ff9c8f}.indicator-points .points-ring-number{fill:#fff}.indicator-points .points-ring-caption{fill:#cfe5dc}@media(max-width:640px){.indicator-points .today-points dl{grid-template-columns:1fr}.points-ring{width:120px;height:120px}}.plan-today-heading h3{font-size:1.45rem;font-weight:800}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.plan-card{border-radius:22px}.plan-photo,.plan-photo-placeholder{aspect-ratio:4 / 3}.plan-photo-placeholder{display:grid;place-items:center;background:#f3e3c8;color:#8a5a1b}.plan-card:nth-child(3n+2) .plan-photo-placeholder{background:#e4efd7;color:#3c5a1b}.plan-card:nth-child(3n) .plan-photo-placeholder{background:#f6e3d8;color:#8a3b17}.plan-card-body header strong{font-size:1rem}.plan-card-body header span{color:var(--accent)}.plan-card-body ul{color:var(--text);font-weight:600;font-size:.95rem}.plan-card-empty{box-shadow:none;border-style:dashed;background:transparent}.plan-card-empty .plan-photo-placeholder{background:var(--surface-soft);color:#8a9a94}.plan-card-empty p{margin:0;color:var(--muted)}.home-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}.home-card{border-radius:20px;padding:1.1rem 1.2rem;gap:.35rem}.home-card strong{font-size:1.05rem}.home-card-icon{background:var(--brand-soft);color:var(--brand);border-radius:12px}.manual-backup{border-radius:var(--radius-card)}.week-table-heading h2{font-size:1rem;color:var(--muted);letter-spacing:.06em}.week-table-wrap{border-radius:var(--radius-card);padding:.6rem;border:1px solid var(--border)}.week-table-wrap table{border-collapse:separate;border-spacing:5px;min-width:900px}.week-table-wrap thead th:first-child{width:112px}.week-table-wrap th,.week-table-wrap td{border:0}.week-table-wrap thead th{background:var(--surface-soft);color:#33443e;border-radius:14px;font-size:.95rem;padding:.7rem .4rem}.week-table-wrap thead th:first-child{background:var(--surface)}.week-table-wrap thead th.week-day-today{background:var(--brand);color:#fff}.week-table-wrap thead th.week-day-planned{background:#f7f1e6;color:#7a4307}.week-table-wrap tbody th[scope=row]{font-weight:800;color:#33443e;font-size:.92rem}.week-table-wrap td{padding:0;vertical-align:stretch}.week-table-wrap td.week-day-today .week-cell-button{background:#f2f8f5;border-color:#cfe3d9}.week-cell-button{width:100%;min-height:78px;height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.35rem;padding:.5rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;color:var(--text)}.app-shell .week-cell-button:not(:disabled):hover{background:var(--brand-soft);border-color:var(--brand);border-radius:14px}.week-cell-button.week-cell-empty{align-items:center;justify-content:center;border:1.5px dashed #d3ddd8;background:#fafbfa;color:#8a9a94;font-size:1.3rem;font-weight:700}.week-table-wrap td.week-day-closed .week-cell-button{background:#f7f9f8}.app-shell .week-cell-button.week-cell-empty:disabled{border:1px solid #e6ece9;background:#f4f6f5;color:transparent}.week-empty-notice,.week-readonly-notice{margin:.4rem 0 .8rem;padding:.7rem .9rem;border-left:4px solid var(--accent);border-radius:12px;background:#fbf3ec;color:#6b3610;font-weight:700}.week-cell-photo{width:100%;height:54px;object-fit:cover;border-radius:10px;display:block}.week-item{display:block;line-height:1.25}.week-item b{display:block;font-size:.86rem;font-weight:750}.week-item small{font-size:.76rem;color:var(--accent);font-weight:700}.week-table-wrap .sport-row td{background:var(--info-soft);color:var(--info);border-radius:12px;font-size:.8rem;font-weight:700;text-align:center}.week-table-wrap .total-row td,.week-table-wrap .total-row th{background:var(--surface-soft);border-radius:12px;font-weight:800}.week-day-view{display:grid;gap:.8rem}.week-day-picker{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.app-shell .week-day-chip{min-height:62px;padding:.3rem 0;display:grid;justify-items:center;align-content:center;gap:.1rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:#33443e}.week-day-chip span{font-size:.72rem;font-weight:700}.week-day-chip strong{font-size:1.1rem}.app-shell .week-day-chip.week-day-closed{background:var(--surface-soft)}.app-shell .week-day-chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.week-day-total{display:flex;justify-content:space-between;align-items:center;background:var(--brand);color:#fff;border-radius:18px;padding:.8rem 1rem;font-weight:700}.week-day-total strong{font-size:1.3rem}.week-day-meals{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.week-day-meals li{display:grid;gap:.3rem}.week-day-meal{font-size:.82rem;font-weight:800;color:var(--muted);padding-left:.3rem}.week-day-meals .week-cell-button{min-height:64px}.week-day-meals .week-cell-photo{height:90px}.week-day-sport{background:var(--info-soft);color:var(--info);border-radius:14px;padding:.75rem .9rem;font-weight:700;font-size:.9rem}@media(min-width:1100px){.recipe-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:1.4rem;align-items:start}.recipe-layout>.recipe-form{order:2;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.recipe-layout>.recipe-library{order:1}}.recipe-library{background:transparent;border:0;box-shadow:none;padding:0}.recipe-library>h2{font-size:1.4rem;font-weight:800}.recipe-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.recipe-list .recipe-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:22px;gap:0}.recipe-card .recipe-photo{width:100%;flex:none;justify-items:stretch;gap:0}.recipe-card .recipe-photo-open{width:100%;height:auto;aspect-ratio:16 / 10;border:0;border-radius:0;padding:0;overflow:hidden;background:#f3e3c8}.recipe-card .recipe-photo-open img[alt="Imagen genérica de receta"]{object-fit:contain;padding:14%;box-sizing:border-box}.recipe-card .recipe-photo-open img{width:100%;height:100%;object-fit:cover;display:block}.recipe-card .recipe-photo-actions{padding:.6rem .9rem 0;display:flex;gap:.4rem;flex-wrap:wrap}.recipe-card-copy{padding:.8rem 1rem 1rem;display:grid;gap:.3rem}.recipe-card-copy>strong{font-size:1.2rem;font-weight:800;line-height:1.25}.recipe-list .food-category{font-size:.78rem;text-transform:uppercase}.recipe-card-copy>span:nth-of-type(3){color:var(--accent);font-weight:800;font-size:1.05rem}.recipe-record-actions{margin-top:.4rem}.recipe-form{border-radius:var(--radius-card)}.recipe-form>h2{font-size:1.35rem;font-weight:800}.pressure-header h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800}.pressure-feature{border-radius:var(--radius-card)}.pressure-number strong{font-size:2rem;font-weight:800}.pressure-average{gap:.7rem}.pressure-average .pressure-number{border-radius:16px;padding:.7rem .8rem;background:var(--surface-soft)}.pressure-tabs button.active{color:var(--brand-strong);font-weight:800}.points-summary,.points-budget,.points-sport,.points-table-wrap,.inventory-table-wrap,.shopping-editor,.shopping-add,.shopping-list,.home-library{border-radius:var(--radius-card)}.points-table thead{background:var(--surface-soft)}.points-table thead th{color:#33443e}.recipe-list .recipe-card{justify-content:flex-start}@media(max-width:640px){.indicator-points .today-points{flex-wrap:nowrap;gap:.9rem}.indicator-points .today-points dl{grid-template-columns:1fr;gap:.35rem}.indicator-points .today-points dl div{flex-direction:row;justify-content:space-between;padding:.45rem .7rem}.indicator-points .today-points dd{font-size:1.1rem}.points-ring{width:104px;height:104px}.plan-grid{grid-template-columns:1fr;gap:.6rem}.plan-card{grid-template-columns:72px 1fr;align-items:center;border-radius:18px;padding:.5rem;gap:.2rem}.plan-photo,.plan-photo-placeholder{width:64px;height:64px;aspect-ratio:auto;border-radius:14px;object-fit:cover}.plan-photo-placeholder svg{width:22px;height:22px}.plan-card-body{padding:.2rem .4rem;gap:.15rem}.plan-card-empty{padding:.5rem}.topbar h1{display:none}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.home-card{padding:.85rem}.home-card span:not(.home-card-icon){font-size:.82rem}}
