:root{--canvas-cream: #fbfbf5;--canvas-light: #ffffff;--ink: #18181b;--hairline-light: #e4e4e7;--aloe-10: #e2f5ec;--aloe-60: #3b8c66;--pistachio-10: #eef7f2;--sage-50: #f3faf6;--sage-100: #dbeee4;--sage-200: #b5dfcb;--sage-primary: #2d6e4f;--sage-dark: #1b4430;--shade-30: #e4e4e7;--shade-40: #a1a1aa;--shade-50: #71717a;--shade-60: #52525b;--shade-70: #27272a;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--spacing-huge: 64px;--radius-xs: 4px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 14px;--radius-pill: 9999px;--shadow-level-1: 0 1px 2px rgba(0, 0, 0, .05);--shadow-level-2: 0 1px 3px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-level-3: 0 8px 8px rgba(0, 0, 0, .015), 0 4px 4px rgba(0, 0, 0, .015), 0 2px 2px rgba(0, 0, 0, .015), 0 0 0 1px rgba(0, 0, 0, .035);--shadow-level-4: 0 25px 50px -12px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;overflow-x:hidden;background-color:var(--canvas-cream);color:var(--ink);font-family:var(--font-family-sans);font-feature-settings:"ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:16px;font-weight:420;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-sans);font-weight:400;letter-spacing:0;color:var(--ink)}.display-lg{font-size:55px;font-weight:330;line-height:1.16;letter-spacing:0}.display-md{font-size:48px;font-weight:330;line-height:1.14;letter-spacing:0}.heading-xl{font-size:28px;font-weight:500;line-height:1.28;letter-spacing:.42px}.heading-lg{font-size:24px;font-weight:400;line-height:1.14;letter-spacing:.36px}.heading-md{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:.3px}.heading-sm{font-size:18px;font-weight:500;line-height:1.25;letter-spacing:.72px}.body-lg{font-size:18px;font-weight:550;line-height:1.56}.body-md{font-size:16px;font-weight:420;line-height:1.5}.body-strong{font-size:16px;font-weight:550;line-height:1.5}.caption{font-size:14px;font-weight:500;line-height:1.49;letter-spacing:.28px}.micro{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0}.eyebrow-cap{font-size:12px;font-weight:400;line-height:1.2;letter-spacing:.72px;text-transform:uppercase}.code-text{font-family:var(--font-family-mono);font-size:16px;font-weight:400;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--canvas-cream)}::-webkit-scrollbar-thumb{background:var(--shade-30);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--shade-50)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-sans);font-size:14px;font-weight:500;padding:10px 20px;border-radius:var(--radius-pill);transition:all .15s ease-in-out;cursor:pointer;border:1px solid transparent;text-decoration:none;gap:8px}.btn-lg{padding:12px 24px;font-size:16px}.btn-sm{padding:6px 14px;font-size:13px}.btn-primary{background-color:var(--ink);color:var(--canvas-light)}.btn-primary:hover:not(:disabled){background-color:var(--shade-70)}.btn-primary:active:not(:disabled){background-color:var(--shade-60)}.btn-outline{background-color:var(--canvas-light);border-color:var(--ink);color:var(--ink)}.btn-outline:hover:not(:disabled){background-color:var(--canvas-cream)}.btn-aloe{background-color:var(--aloe-10);color:var(--ink);font-weight:550}.btn-aloe:hover:not(:disabled){background-color:#a4f5be}.btn-subtle{background-color:var(--shade-30);color:var(--ink)}.btn-subtle:hover:not(:disabled){background-color:#c4c4c9}.btn:disabled{opacity:.5;cursor:not-allowed}.np-card{background-color:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-3);padding:24px;transition:transform .15s ease,box-shadow .15s ease}.np-card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-4);cursor:pointer}.np-card-aloe{background-color:var(--aloe-10);border:1px solid transparent}.np-card-pistachio{background-color:var(--pistachio-10);border:1px solid transparent}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:550;text-transform:uppercase;letter-spacing:.5px;color:var(--shade-50)}.np-input,.np-select{background-color:var(--canvas-light);color:var(--ink);font-family:var(--font-family-sans);font-size:15px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--hairline-light);outline:none;width:100%;transition:border-color .15s ease}.np-input:focus,.np-select:focus{border-color:var(--ink)}.np-input:disabled,.np-select:disabled{background-color:var(--canvas-cream);color:var(--shade-50);cursor:not-allowed}.np-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:550;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);line-height:1}.np-badge-mint{background-color:var(--aloe-10);color:var(--sage-dark);border:1px solid var(--sage-200)}.np-badge-shade{background-color:var(--shade-30);color:var(--shade-60)}.np-badge-success{background-color:#e2f5ec;color:var(--sage-dark);border:1px solid var(--sage-200)}.np-badge-danger{background-color:#fef2f2;color:#b91c1c;border:1px solid #fee2e2}.np-badge-warning{background-color:#fffbeb;color:#b45309;border:1px solid #fef3c7}.np-shell-container:has(.np-feedback-state){max-width:1320px;margin-left:0;margin-right:auto}.np-feedback-state{max-width:600px;width:100%;margin:80px auto;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:36px 24px;text-align:center;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2)}.np-feedback-state__icon-wrapper{width:60px;height:60px;border-radius:50%;background:var(--aloe-10);border:1px solid var(--sage-200);color:var(--sage-primary);display:grid;place-items:center;margin-bottom:4px}.np-feedback-state__icon-wrapper.is-loading{background:var(--canvas-cream);border-color:var(--hairline-light);color:var(--shade-40)}.np-feedback-state--error .np-feedback-state__icon-wrapper{background:#fee2e2;border-color:#fecaca;color:#ef4444}.np-feedback-state__content h2{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--ink)}.np-feedback-state__content p{margin:0;max-width:480px;line-height:1.5;font-size:14px;color:var(--shade-50)}.np-feedback-state__spin{animation:np-spin .9s linear infinite}@keyframes np-spin{to{transform:rotate(360deg)}}.np-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.np-page-header__eyebrow{color:var(--shade-50);font-size:12px;font-weight:650;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.np-page-header h1{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.04;font-weight:360;letter-spacing:0}.np-page-header p{margin:10px 0 0;max-width:720px;color:var(--shade-60);line-height:1.55}.np-page-header__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.np-inline-notice{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--hairline-light);color:var(--shade-70);font-size:14px;line-height:1.45}.np-inline-notice strong{color:var(--ink)}.np-inline-notice--success{background:#effbea;border-color:#c7efbc}.np-inline-notice--warning{background:#fff8dd;border-color:#f4e4a8}.np-inline-notice--danger{background:#fff1f1;border-color:#ffd4d4}.np-inline-notice--info{background:var(--canvas-light)}.np-toast{position:fixed;right:18px;bottom:18px;z-index:140;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--hairline-light);background:var(--canvas-light);color:var(--ink);box-shadow:var(--shadow-level-4);font-size:14px;line-height:1.4}.np-toast--success{border-color:#bdebb6;background:#f0fbea}.np-toast--error{border-color:#ffc9c9;background:#fff1f1;color:#991b1b}.np-toast--info{background:var(--canvas-light)}.np-toast button{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:auto;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.np-toast button:hover{background:#0000000f}.np-confirm-dialog{width:min(420px,100%);padding:22px;display:flex;flex-direction:column;gap:14px}.np-confirm-dialog__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--aloe-10);color:var(--ink)}.np-confirm-dialog__icon.is-danger{background:#fee2e2;color:#b91c1c}.np-confirm-dialog h2{margin:0 0 6px;font-size:20px;font-weight:700}.np-confirm-dialog p{margin:0;color:var(--shade-60);line-height:1.5}.np-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.np-shell{min-height:100vh;background:var(--canvas-cream)}.np-shell-brand{display:inline-flex;align-items:center;gap:10px;color:var(--sage-dark);font-weight:600;font-size:19px;text-decoration:none;letter-spacing:-.01em}.np-shell-brand svg{color:var(--sage-primary);filter:drop-shadow(0 1px 2px rgba(45,110,79,.15))}.np-shell-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:270px;display:flex;flex-direction:column;background:var(--canvas-light);border-right:1px solid var(--hairline-light);box-shadow:1px 0 3px #00000003}.np-shell-sidebar-top{padding:24px;border-bottom:1px solid var(--hairline-light);display:flex;align-items:center}.np-shell-brand--desktop{padding:0}.np-shell-nav{display:flex;flex:1;flex-direction:column;gap:24px;padding:24px;overflow-y:auto}.np-shell-nav__group{display:flex;flex-direction:column;gap:6px}.np-shell-nav__group--admin{margin-top:4px;padding-top:16px;border-top:1px dashed var(--hairline-light)}.np-shell-nav__group-title{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--shade-50);padding:0 12px 4px}.np-shell-nav__link{display:flex;align-items:center;gap:12px;min-height:42px;padding:8px 12px;border-radius:8px;color:var(--shade-60);font-size:14px;font-weight:500;text-decoration:none;transition:all .18s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent}.np-shell-nav__link svg{color:var(--shade-40);transition:color .18s ease;flex-shrink:0}.np-shell-nav__link:hover{color:var(--sage-dark);background:var(--sage-50)}.np-shell-nav__link:hover svg{color:var(--sage-primary)}.np-shell-nav__link.is-active{color:var(--sage-dark);background:var(--sage-100);font-weight:600;border-left:3px solid var(--sage-primary);padding-left:9px}.np-shell-nav__link.is-active svg{color:var(--sage-primary)}.np-shell-nav__link.is-compact{min-height:38px;font-size:13.5px}.np-shell-sidebar-footer{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px;border-top:1px solid var(--hairline-light);background:var(--canvas-light)}.np-shell-status-bar{display:flex;align-items:center;gap:8px;padding:0 4px}.np-shell-health-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0;box-shadow:0 0 0 2px #ef444426;transition:all .2s ease}.np-shell-health-dot.is-healthy{background:var(--sage-primary);box-shadow:0 0 0 2px #2d6e4f26}.np-shell-health-dot.is-mock{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.np-shell-container:has(.today-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.today-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:flex;flex-direction:column;gap:20px}.today-empty-centered{width:min(760px,100%);margin:clamp(48px,8vh,88px) auto 0;padding:0}.today-empty-card-simple{max-width:none;width:100%;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);box-shadow:var(--shadow-level-2)}.today-empty-card-simple.is-quota-blocked{border-color:#b4701c47}.today-empty-card-simple h2{font-size:18px;font-weight:700;margin:0;color:var(--ink)}.today-empty-card-simple p{font-size:13.5px;color:var(--shade-60);line-height:1.5;margin:0}.badge-center{margin-bottom:2px}.today-empty-profile-box{background:var(--canvas-cream);border:1px solid var(--hairline-light);border-radius:var(--radius-sm);padding:10px 12px;width:100%;text-align:left}.profile-box-title{display:block;font-size:11px;font-weight:700;color:var(--sage-dark);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.today-empty-profile-box p{font-size:12.5px;color:var(--shade-60);line-height:1.45}.today-empty-quota-box{background:#fffaf0;border:1px solid rgba(180,112,28,.22);border-radius:var(--radius-sm);padding:10px 12px;width:100%;text-align:left}.today-empty-quota-box p{font-size:12.5px;color:var(--shade-60);line-height:1.45;margin:0}.today-empty-actions-simple{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%;margin-top:4px}.today-empty-tips-simple{font-size:11.5px;color:var(--shade-50);margin-top:8px;border-top:1px dashed var(--hairline-light);padding-top:8px;width:100%;line-height:1.35}.today-empty-tips-simple span{font-weight:600;color:var(--sage-primary)}.today-welcome-card{padding:14px 18px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px}.welcome-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.welcome-title-row h3{font-size:16px;font-weight:700;margin:0;color:var(--ink)}.welcome-summary-text{font-size:13px;color:var(--shade-60);line-height:1.45;margin:0}.today-metrics-section{width:100%}.today-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%}.metric-card{padding:10px 14px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;min-height:56px}.metric-card.is-primary{border-color:var(--sage-200);background:var(--aloe-5)}.metric-card__icon{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--aloe-10);color:var(--sage-primary);display:grid;place-items:center;flex-shrink:0;border:1px solid var(--sage-100)}.metric-card.is-primary .metric-card__icon{background:var(--sage-primary);color:#fff;border-color:var(--sage-primary)}.metric-card__content{display:flex;flex-direction:column;gap:1px;min-width:0}.metric-card__label{display:block;font-size:11px;font-weight:600;color:var(--shade-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card__value{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:1.2}.metric-card__value small{font-size:11px;font-weight:550;color:var(--shade-50);margin-left:2px}.today-meals-section{display:flex;flex-direction:column;gap:12px}.section-title-compact{font-size:16px;font-weight:700;color:var(--ink);margin:0}.today-meals-list{display:flex;flex-direction:column;gap:16px}.today-meal-block{display:flex;width:100%}.today-meal-combo-card{width:100%;padding:16px 20px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-md);position:relative;transition:all .2s ease}.today-meal-combo-card.is-next-meal{border-color:var(--sage-300);box-shadow:0 4px 12px #77ac900a}.next-meal-badge{position:absolute;top:-9px;right:16px;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:#fff;background:var(--sage-primary);padding:1.5px 6.5px;border-radius:var(--radius-pill);box-shadow:0 1.5px 4px #77ac9033;z-index:2}.meal-combo-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--hairline-light);padding-bottom:10px;margin-bottom:12px;width:100%}.meal-combo-title-row{display:flex;align-items:center;gap:8px}.meal-combo-title-row h2{font-size:15px;font-weight:700;margin:0;color:var(--ink)}.meal-combo-title-row .meal-time{font-size:11px;font-weight:700;color:var(--sage-primary);background:var(--aloe-10);padding:2px 6px;border-radius:var(--radius-pill)}.meal-total-calories{font-size:13.5px;font-weight:700;color:var(--sage-dark)}.meal-combo-dishes{display:flex;flex-direction:column;gap:10px}.meal-combo-dish-row{display:flex;flex-direction:column;gap:6px}.dish-row-divider{height:1px;border-bottom:1px dashed var(--hairline-light);margin-bottom:2px}.dish-row-content{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%}.dish-row-details{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;gap:16px}.dish-thumbnail{width:56px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid var(--hairline-light);background-color:var(--canvas-cream);display:flex;align-items:center;justify-content:center}.dish-thumbnail.fallback{background-color:var(--aloe-5);border-color:var(--hairline-light)}.dish-thumbnail__img{width:100%;height:100%;object-fit:cover;display:block}.dish-info-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dish-title-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dish-title-badge-row h3{font-size:13.5px;font-weight:600;color:var(--ink);margin:0}.dish-why-tag-inline{font-size:11.5px;color:var(--shade-50);font-style:italic;line-height:1.35}.dish-info-middle{flex-shrink:0;font-size:12.5px;color:var(--shade-60);font-weight:600;min-width:130px;text-align:right}.dish-actions-right{display:flex;gap:6px;align-items:center;flex-shrink:0;min-width:140px;justify-content:flex-end}@media (max-width: 640px){.dish-thumbnail{width:48px;height:48px;border-radius:6px}.dish-row-content{display:flex;flex-direction:row;align-items:flex-start;gap:12px}.dish-row-details{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.dish-info-left{width:100%}.dish-info-middle{text-align:left;min-width:unset;font-size:12px;color:var(--shade-50)}.dish-actions-right{min-width:unset;width:100%;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:4px}}.dish-action-link{background:none;border:none;font-size:12px;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:var(--radius-pill);transition:all .15s ease}.dish-action-link.primary{color:var(--sage-primary);background:var(--aloe-10)}.dish-action-link.primary:hover{background:var(--sage-primary);color:#fff}.dish-action-link.secondary{color:var(--shade-50);background:transparent;border:1px solid var(--hairline-light)}.dish-action-link.secondary:hover{background:var(--canvas-cream);color:var(--ink)}@media (max-width: 768px){.today-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.today-welcome-grid{grid-template-columns:1fr;gap:12px}}.today-page .np-page-header{margin-bottom:4px;padding-top:0;display:flex;justify-content:space-between;align-items:flex-end}.today-page .np-page-header h1{font-size:clamp(28px,4vw,36px);font-weight:700;line-height:1.1;color:var(--ink);margin:0}.today-page .np-page-header p{margin-top:4px;margin-bottom:0;font-size:13.5px;color:var(--shade-50)}.today-page .today-ai-summary-card{padding:16px;gap:10px;border-radius:var(--radius-md)}.today-page .today-ai-summary__body{padding:10px 14px;font-size:13px}.today-page .today-ai-chips-wrapper{padding-top:10px}.np-shell-status-text{font-size:11.5px;color:var(--shade-50);font-weight:550}.np-shell-user-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--hairline-light);border-radius:var(--radius-lg);padding:12px;background:var(--canvas-cream);box-shadow:var(--shadow-level-1)}.np-shell-user-avatar{position:relative;width:36px;height:36px;border-radius:50%;background:var(--aloe-10);border:1px solid var(--sage-200);color:var(--sage-dark);display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}.np-shell-user-avatar__premium-badge{position:absolute;right:-3px;bottom:-3px;background:#f59e0b;color:#fff;border-radius:50%;width:14px;height:14px;display:grid;place-items:center;border:1px solid white;box-shadow:0 1px 2px #0000001a}.np-shell-user-meta{display:flex;flex-direction:column;min-width:0;flex:1;margin-left:10px}.np-shell-user-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.np-shell-user-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.np-shell-user-email{font-size:11px;color:var(--shade-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.np-shell-badge{font-size:9px;font-weight:700;padding:1.5px 5px;border-radius:4px;letter-spacing:.02em}.np-shell-badge--premium{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.np-shell-badge--free{background:var(--shade-30);color:var(--shade-60)}.np-shell-logout-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--shade-40);cursor:pointer;transition:all .15s ease;flex-shrink:0;margin-left:4px}.np-shell-logout-btn:hover{background:#fee2e2;color:#b91c1c}.np-shell-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--shade-60);cursor:pointer;transition:background .15s ease}.np-shell-mobile-toggle:hover{background:var(--canvas-cream);color:var(--ink)}.np-shell-main{width:auto;max-width:calc(100vw - 270px);min-width:0;min-height:100vh;margin-left:270px;padding:40px 48px 100px;box-sizing:border-box;background:var(--canvas-cream);overflow-x:clip}.np-shell-container{max-width:min(1200px,100%);margin:0 auto;width:100%;min-width:0}.np-shell-mobile-header,.np-shell-bottom-nav{display:none}.np-shell-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0006;display:flex;justify-content:flex-start;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.np-shell-drawer{width:280px;height:100%;display:flex;flex-direction:column;background:var(--canvas-light);box-shadow:var(--shadow-level-4);animation:drawer-slide-in .25s cubic-bezier(.16,1,.3,1)}@keyframes drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.np-shell-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--hairline-light)}.np-shell-sidebar-footer.is-mobile{padding:20px 24px;border-top:1px solid var(--hairline-light)}.np-shell-user-card.is-mobile{border:1px solid var(--hairline-light);background:var(--canvas-cream);padding:12px}@media (max-width: 1024px){.np-shell-sidebar{width:240px}.np-shell-main{margin-left:240px;max-width:calc(100vw - 240px);padding:32px 36px 90px}}@media (max-width: 768px){.np-shell-sidebar{display:none}.np-shell-mobile-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:60px;padding:10px 16px;background:var(--canvas-light);border-bottom:1px solid var(--hairline-light);box-shadow:0 1px 3px #00000005}.np-shell-main{width:100%;max-width:100vw;margin-left:0;padding:24px 16px 100px;overflow-x:hidden}.np-shell-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:55;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,12px));background:var(--canvas-light);border-top:1px solid var(--hairline-light);box-shadow:0 -4px 12px #00000008}.np-shell-bottom-nav__item{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border-radius:var(--radius-md);color:var(--shade-50);font-size:10px;font-weight:600;text-decoration:none;transition:all .2s ease;min-height:48px}.np-shell-bottom-nav__item.is-active{color:var(--sage-dark);background:var(--sage-100);font-weight:700}}.meal-combo-title-row{display:flex;align-items:center;gap:10px}.meal-combo-title-row .meal-time{font-size:12px;font-weight:700;color:var(--sage-primary);background:var(--aloe-10);padding:2.5px 6px;border-radius:var(--radius-sm)}.meal-combo-title-row h2{font-size:16px;font-weight:700;margin:0;color:var(--ink)}.meal-total-calories{font-size:14.5px;font-weight:700;color:var(--sage-dark)}.dish-meta-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--shade-50)}.dish-meta-row .portion-weight{font-weight:550}.dish-meta-row .dish-calories{color:var(--sage-primary);font-weight:600}.dish-why-tag{font-size:12px;color:var(--shade-60);background:var(--canvas-cream);padding:6px 10px;border-radius:var(--radius-md);line-height:1.4;border-left:2px solid var(--sage-200)}.dish-why-tag strong{color:var(--sage-dark);font-weight:600}.today-ai-summary-card{padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2)}.today-ai-summary__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.today-ai-summary__title-block{display:flex;flex-direction:column;gap:4px}.today-ai-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sage-primary);background:var(--aloe-10);border:1px solid var(--sage-200);padding:2px 6px;border-radius:var(--radius-pill);align-self:flex-start}.today-ai-summary__title-block h2{font-size:15px;font-weight:700;margin:0;color:var(--ink)}.today-ai-summary__body{white-space:pre-line;border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);padding:12px 16px;line-height:1.5;font-size:13.5px;color:var(--sage-dark)}.today-ai-chips-wrapper{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--hairline-light);padding-top:12px;margin-top:2px}.today-ai-chips-wrapper .chips-title{font-size:12px;font-weight:600;color:var(--shade-50)}.ai-chips-list{display:flex;gap:6px;flex-wrap:wrap}.ai-prompt-chip{background:var(--canvas-cream);border:1px solid var(--hairline-light);border-radius:var(--radius-pill);padding:4px 10px;font-size:12px;color:var(--shade-60);cursor:pointer;transition:all .15s ease;font-weight:500}.ai-prompt-chip:hover{background:var(--aloe-10);border-color:var(--sage-200);color:var(--sage-dark)}.today-header-actions{display:flex;gap:8px;flex-wrap:wrap}.np-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000005c}.np-modal-card{position:relative;width:min(700px,100%);max-height:86vh;overflow-y:auto;padding:28px}.np-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--shade-50);cursor:pointer}.np-modal-close:hover{background:var(--canvas-cream);color:var(--ink)}.dish-detail{display:flex;flex-direction:column;gap:18px}.dish-detail__image{overflow:hidden;border:1px solid var(--hairline-light);border-radius:var(--radius-lg);background:var(--canvas-cream);aspect-ratio:16 / 7}.dish-detail__image img{display:block;width:100%;height:100%;object-fit:cover}.dish-detail__header{display:flex;justify-content:space-between;gap:16px;padding-right:32px}.dish-detail__header h2{margin:4px 0 10px;font-size:26px;font-weight:650}.dish-detail__header div div{display:flex;gap:8px;flex-wrap:wrap}.dish-detail__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dish-detail__stats span{display:flex;align-items:center;gap:6px;padding:12px;border-radius:var(--radius-md);background:var(--canvas-cream);color:var(--shade-60);font-size:13px}.dish-detail h3{margin:0 0 10px;font-size:16px;font-weight:700}.ingredient-list,.recipe-step-list,.swap-list{display:flex;flex-direction:column;gap:8px}.ingredient-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--hairline-light);border-radius:var(--radius-md)}.ingredient-row small{display:block;color:var(--shade-50);margin-top:2px}.recipe-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}.recipe-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--canvas-light);font-size:13px;font-weight:700}.recipe-step p{margin:2px 0 0;line-height:1.5}.recipe-step small{display:block;color:var(--shade-50);margin-top:3px}.dish-empty-note{margin:0;padding:12px;border-radius:var(--radius-md);border:1px dashed var(--hairline-light);color:var(--shade-50)}.swap-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;margin:16px 0}.swap-search{position:relative}.swap-search svg{position:absolute;top:12px;left:12px;color:var(--shade-40)}.swap-search .np-input{padding-left:36px}.np-swap-row{display:flex;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);padding:12px 14px;text-align:left;cursor:pointer}.np-swap-row:hover{border-color:var(--ink);background:var(--canvas-cream)}.np-swap-row small{display:block;color:var(--shade-50);margin-top:3px}.ai-apply-list{display:grid;gap:10px;margin-top:14px}.ai-apply-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}.ai-apply-card p{margin:4px 0 0;color:var(--shade-60);line-height:1.45}.np-shell-container:has(.pricing-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.pricing-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:flex;flex-direction:column;gap:24px}.payment-result-page{display:flex;flex-direction:column;gap:24px}.pricing-current{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2)}.pricing-current span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--shade-50);display:block;margin-bottom:6px}.pricing-current strong{display:block;font-size:26px;font-weight:700;color:var(--ink);line-height:1.2}.pricing-current p{font-size:13.5px;color:var(--shade-60);margin-top:6px;line-height:1.5}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.pricing-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:28px;border-radius:var(--radius-lg);background:var(--canvas-light);border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2);position:relative;transition:all .2s ease}.pricing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-3)}.pricing-card.is-recommended{border-color:var(--sage-primary);box-shadow:0 14px 34px #174a3a14}.pricing-card__badge-top{position:absolute;top:-12px;left:28px;background:var(--ink);color:var(--canvas-light);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;border-radius:var(--radius-pill)}.pricing-card__header{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--hairline-light);padding-bottom:20px}.pricing-card__header h2{margin:10px 0 2px;font-size:32px;font-weight:700;color:var(--ink);letter-spacing:-.5px}.pricing-card__header h2 span{font-size:14px;font-weight:550;color:var(--shade-50)}.pricing-card p{font-size:13.5px;color:var(--shade-60);line-height:1.5;margin:0}.pricing-card ul{display:flex;flex-direction:column;gap:12px;padding:0;margin:8px 0 auto;list-style:none}.pricing-card li{display:flex;align-items:flex-start;gap:10px;color:var(--shade-70);font-size:13.5px;line-height:1.45}.pricing-card li svg{color:var(--sage-primary);flex-shrink:0;margin-top:2px}.pricing-reassurance{background:#fbfdfc;border:1px dashed rgba(22,163,74,.2);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:flex-start;gap:12px}.pricing-reassurance svg{color:var(--sage-primary);flex-shrink:0;margin-top:2px}.pricing-comparison-wrap{margin-top:12px;display:flex;flex-direction:column;gap:16px}.pricing-comparison-wrap h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.pricing-comparison-table{width:100%;border-collapse:collapse;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-level-2)}.pricing-comparison-table th,.pricing-comparison-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--hairline-light);font-size:14px}.pricing-comparison-table th{background:var(--canvas-cream);font-weight:700;color:var(--ink);text-transform:uppercase;font-size:12px;letter-spacing:.05em}.pricing-comparison-table td:nth-child(2),.pricing-comparison-table td:nth-child(3){text-align:center;width:25%}.pricing-comparison-table tr:last-child td{border-bottom:none}.pricing-comparison-table tr:hover td{background:#2d6e4f03}.pricing-value-section{display:grid;grid-template-columns:1fr 1.5fr;gap:32px;padding:32px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2);align-items:center}.pricing-value-intro h2{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px}.pricing-value-intro p{font-size:14px;color:var(--shade-60);line-height:1.55;margin:0}.pricing-value-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricing-value-item{display:flex;flex-direction:column;gap:6px}.pricing-value-item strong{font-size:14.5px;font-weight:650;color:var(--ink)}.pricing-value-item p{font-size:12.5px;color:var(--shade-60);line-height:1.45;margin:0}.pricing-faq-section{display:flex;flex-direction:column;gap:16px}.pricing-faq-section h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.pricing-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricing-faq-card{padding:20px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2);display:flex;flex-direction:column;gap:8px}.pricing-faq-card h3{font-size:14.5px;font-weight:700;color:var(--ink);margin:0;line-height:1.4}.pricing-faq-card p{font-size:13px;color:var(--shade-60);line-height:1.5;margin:0}.pricing-comparison-mobile{display:none;flex-direction:column;gap:14px}.pricing-comparison-mobile-card{padding:16px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2)}.pricing-comparison-mobile-card h3{font-size:14.5px;font-weight:700;color:var(--ink);margin:0 0 10px;border-bottom:1px solid var(--hairline-light);padding-bottom:6px}.pricing-comparison-mobile-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px dashed rgba(0,0,0,.05)}.pricing-comparison-mobile-row:last-child{border-bottom:none}.pricing-comparison-mobile-row span{color:var(--shade-60)}.pricing-comparison-mobile-row strong{color:var(--ink);font-weight:600}@media (max-width: 992px){.pricing-grid{grid-template-columns:1fr;gap:20px}.pricing-value-section{grid-template-columns:1fr;gap:20px;padding:24px}.pricing-faq-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 768px){.pricing-comparison-table{display:none}.pricing-comparison-mobile{display:flex}.pricing-current{flex-direction:column;align-items:flex-start}}.payment-result-card{display:flex;align-items:center;gap:18px;padding:26px}.payment-result-card.is-success>svg{color:var(--aloe-70)}.payment-result-card.is-failed>svg{color:#b91c1c}.payment-result-card h2{margin:0 0 6px}.payment-result-card__actions{display:flex;gap:10px;margin-left:auto}.np-shell-container:has(.meal-plan-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.meal-plan-page,.meal-plan-meals{display:flex;flex-direction:column;min-width:0}.meal-plan-page{gap:24px}.meal-plan-form-card{width:min(100%,620px);padding:26px;margin:0 auto}.meal-plan-form-card h2{margin:0 0 16px;font-size:22px;font-weight:680}.meal-plan-form-card form{display:flex;flex-direction:column;gap:16px;margin-top:18px}.meal-plan-control-card{padding:24px;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2)}.meal-plan-control-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--hairline-light);padding-bottom:20px;margin-bottom:18px;min-width:0}.meal-plan-selector-wrapper{display:flex;flex-direction:column;gap:6px;flex:1 1 420px;min-width:0}.meal-plan-selector-wrapper .control-label{font-size:12px;font-weight:600;color:var(--shade-50);text-transform:uppercase;letter-spacing:.05em}.meal-plan-dropdown{height:42px;width:100%;min-width:0;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--hairline-light)}.meal-plan-status-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.status-badge-lg{font-size:13px;font-weight:700;padding:6px 12px}.meal-plan-header-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.delete-plan-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #fee2e2;border-radius:50%;background:transparent;color:#b91c1c;cursor:pointer;transition:all .15s ease}.delete-plan-btn:hover{background:#fee2e2}.meal-plan-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.meal-plan-details-grid .detail-item{display:flex;flex-direction:column;gap:4px}.meal-plan-details-grid .detail-label{font-size:12px;color:var(--shade-50)}.meal-plan-details-grid .detail-value{font-size:14.5px;font-weight:600;color:var(--ink)}.personalization-chips-wrapper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:var(--canvas-cream);border:1px solid var(--hairline-light);border-radius:var(--radius-md)}.personalization-title{font-size:12.5px;font-weight:600;color:var(--shade-60)}.personalization-chips{display:flex;gap:6px;flex-wrap:wrap}.personalization-chip{font-size:12px;font-weight:600;color:var(--aloe-80);background:var(--aloe-10);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid rgba(39,115,91,.15)}.meal-plan-day-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}.meal-plan-day-tabs::-webkit-scrollbar{display:none}.day-tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;padding:10px 14px;border:1px solid var(--hairline-light);border-radius:var(--radius-lg);background:var(--canvas-light);color:var(--ink);cursor:pointer;transition:all .15s ease}.day-tab-btn:hover{border-color:var(--shade-40);background:var(--canvas-cream)}.day-tab-btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--canvas-light)}.day-tab-btn .day-name{font-size:14px;font-weight:700}.day-tab-btn .day-date{font-size:11px;font-weight:600;opacity:.75;margin-top:2px}.day-tab-btn.is-active .day-date{opacity:.9}.selected-day-nutrition-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;background:#fdfdf9;border:1px solid var(--hairline-light);border-radius:var(--radius-lg);flex-wrap:wrap;min-width:0}.summary-date-info{display:flex;flex-direction:column;gap:2px}.summary-date-info h3{font-size:16.5px;font-weight:700;color:var(--ink);margin:0}.summary-date-info .total-kcal{font-size:13px;color:var(--sage-primary);font-weight:600}.summary-macros-grid{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.macro-item{display:flex;align-items:center;gap:6px;font-size:13.5px;min-width:0}.macro-dot{width:7px;height:7px;border-radius:50%}.macro-dot.protein{background:#b91c1c}.macro-dot.carbs{background:#d97706}.macro-dot.fat{background:#059669}.macro-label{color:var(--shade-50)}.macro-val{font-weight:700;color:var(--ink)}.meal-plan-meals{display:flex;flex-direction:column;gap:20px}.meal-plan-meal-block{width:100%}.dish-title-btn{padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:14.5px;font-weight:600;text-align:left;text-decoration:none;line-height:1.2}.dish-title-btn:hover{text-decoration:underline;color:var(--sage-primary)}.portion-editor-inline{display:inline-flex;align-items:center;gap:5px;background:var(--canvas-cream);padding:3px 6px;border-radius:var(--radius-md);border:1px solid var(--hairline-light)}.portion-input-sm{width:60px!important;height:26px!important;padding:2px 4px!important;font-size:12.5px!important;text-align:center}.portion-unit{font-size:12px;font-weight:600;color:var(--shade-50)}.portion-save-btn,.portion-cancel-btn{display:inline-grid;place-items:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--shade-50);cursor:pointer;transition:all .15s ease}.portion-save-btn:hover{background:var(--aloe-10);color:var(--aloe-80)}.portion-cancel-btn:hover{background:#fee2e2;color:#b91c1c}.portion-display-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:transparent;border:1px dashed var(--hairline-light);border-radius:var(--radius-sm);color:var(--shade-70);font-size:12.5px;cursor:pointer;transition:all .15s ease}.portion-display-btn:hover{background:var(--canvas-cream);border-color:var(--shade-40);color:var(--ink)}.portion-display-btn .divider-dot{opacity:.5}.portion-display-btn .kcal-text{font-weight:600;color:var(--sage-primary)}.portion-display-btn .edit-icon-subtle{color:var(--shade-40);opacity:.7}.portion-display-btn:hover .edit-icon-subtle{color:var(--sage-primary);opacity:1}.meal-plan-empty-centered{display:grid;place-items:center;padding:48px 16px;width:100%}.meal-plan-empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:580px;width:100%;padding:40px 32px;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-3);background:var(--canvas-light)}.empty-icon-wrap{display:grid;place-items:center;width:56px;height:56px;background:var(--aloe-10);color:var(--aloe-80);border-radius:50%;margin-bottom:20px}.meal-plan-empty-card h2{font-size:20px;font-weight:700;color:var(--ink);margin:0 0 10px}.meal-plan-empty-card .empty-desc{font-size:14.5px;color:var(--shade-60);line-height:1.5;margin:0 0 24px}.entitlements-info-box{width:100%;display:flex;flex-direction:column;gap:12px;background:var(--canvas-cream);padding:16px;border-radius:var(--radius-lg);border:1px solid var(--hairline-light);text-align:left;margin-bottom:28px}.entitlements-info-box .info-row{display:flex;align-items:flex-start;gap:10px}.entitlements-info-box .badge-free,.entitlements-info-box .badge-premium{font-size:11px;font-weight:750;padding:3px 6px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;text-transform:uppercase}.entitlements-info-box .badge-free{background:var(--shade-30);color:var(--shade-70)}.entitlements-info-box .badge-premium{background:var(--aloe-10);color:var(--aloe-80);border:1px solid rgba(39,115,91,.2)}.entitlements-info-box .info-text{font-size:12.5px;color:var(--shade-75);line-height:1.4}.empty-actions{display:flex;gap:12px;justify-content:center}.meal-plan-form-card{border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2)}.meal-plan-form-card .form-label{display:block;font-size:13.5px;font-weight:600;color:var(--shade-70);margin-bottom:6px}.meal-plan-form-card select.np-select{width:100%;height:42px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);padding:0 12px;font-weight:600}.icon-danger{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;cursor:pointer;color:#b91c1c}.icon-danger:hover{background:var(--canvas-cream)}.ai-coach-page{display:flex;flex-direction:column;gap:22px}.ai-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.np-shell-container:has(.ai-coach-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.ai-coach-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:flex;flex-direction:column;gap:24px}.ai-chat-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}.ai-chat-card{height:min(720px,calc(100vh - 200px));min-height:560px;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2);background:var(--canvas-light)}.ai-chat-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--hairline-light);background:var(--canvas-light)}.ai-chat-card__header-info{display:flex;align-items:center;gap:10px}.ai-chat-card__header-info div{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--aloe-10);color:var(--sage-primary)}.ai-chat-card__header-info span{font-size:15px;font-weight:650;color:var(--ink)}.ai-chat-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--shade-50)}.ai-chat-status-dot{width:8px;height:8px;border-radius:50%;background:var(--sage-primary);box-shadow:0 0 0 2px #2d6e4f26;animation:ai-pulse 2s infinite ease-in-out}@keyframes ai-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.6}to{transform:scale(1);opacity:1}}.ai-chat-messages{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;background:var(--canvas-cream)}.ai-chat-message{max-width:min(85%,720px);display:flex;flex-direction:column;gap:6px;animation:ai-message-fade .22s cubic-bezier(.4,0,.2,1)}@keyframes ai-message-fade{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-chat-message--user{align-self:flex-end;align-items:flex-end}.ai-chat-message--ai{align-self:flex-start;align-items:flex-start}.ai-chat-message p{margin:0;padding:12px 16px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.ai-chat-message--user p{border-bottom-right-radius:4px;background:var(--ink);color:var(--canvas-light);box-shadow:var(--shadow-level-1)}.ai-chat-message--ai p{border:1px solid var(--hairline-light);border-bottom-left-radius:4px;background:var(--canvas-light);color:var(--ink);box-shadow:var(--shadow-level-1)}.ai-chat-message small{color:var(--shade-50);font-size:11px;margin-top:2px;display:block}.ai-answer-badge{align-self:flex-start;width:fit-content;border-radius:var(--radius-pill);border:1px solid var(--hairline-light);background:var(--canvas-light);color:var(--shade-70);font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.ai-answer-badge--meal_plan_context{background:var(--aloe-10);border-color:#16a34a33;color:#15803d}.ai-answer-badge--general_nutrition{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.ai-answer-badge--medical_sensitive{background:#fff8dd;border-color:#fef3c7;color:#b45309}.ai-answer-badge--unsupported{background:#f3f4f6;border-color:#e5e7eb;color:var(--shade-60)}.ai-chat-message__warnings{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:#fff8dd;border:1px solid #fef3c7;color:#b45309;font-size:12.5px;line-height:1.5;margin-top:4px;max-width:100%}.ai-chat-message__warnings svg{flex-shrink:0;margin-top:2px}.ai-chat-starter{display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);margin-block:auto;max-width:580px;align-self:center}.ai-chat-starter h2{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 4px;display:flex;align-items:center;gap:8px}.ai-chat-starter p{font-size:13.5px;color:var(--shade-60);line-height:1.55;margin:0}.ai-chat-starter__suggestions{display:flex;flex-direction:column;gap:8px}.ai-suggestion-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.ai-suggestion-list button{border:1px solid var(--hairline-light);border-radius:var(--radius-pill);background:var(--canvas-light);color:var(--ink);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;transition:all .15s ease}.ai-suggestion-list button:hover{border-color:var(--ink);background:var(--aloe-10);transform:translateY(-1px)}.ai-chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 20px;border-top:1px solid var(--hairline-light);background:var(--canvas-light)}.ai-coach-panel{padding:24px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-2);display:flex;flex-direction:column;gap:16px}.ai-coach-panel h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.ai-coach-context{display:flex;flex-direction:column;gap:10px}.ai-coach-context-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--hairline-light);background:var(--canvas-cream);font-size:13px}.ai-coach-context-row span{color:var(--shade-50);font-weight:500}.ai-coach-context-row strong{color:var(--ink);font-weight:650;text-align:right;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-coach-context span,.ai-coach-context strong{display:block}.ai-coach-context span{color:var(--shade-50);font-size:12px;margin-bottom:4px}.ai-coach-context strong{font-size:14px}.dishes-toolbar{display:flex;flex-direction:column;gap:14px}.dishes-search svg{position:absolute;top:12px;left:12px;color:var(--shade-40)}.dishes-search .np-input{padding-left:36px;height:42px}.dishes-category-tabs{display:flex;gap:7px;flex-wrap:wrap}.np-shell-container:has(.pantry-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.pantry-page{display:flex;flex-direction:column;gap:22px}.pantry-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}.pantry-builder,.pantry-context-card{padding:24px;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2)}.pantry-builder{display:flex;flex-direction:column;gap:20px}.pantry-builder__header{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--hairline-light);padding-bottom:16px;margin-bottom:4px}.pantry-builder__header h2,.pantry-context-card h2,.pantry-results h2{margin:0;font-size:19px;font-weight:700;color:var(--ink)}.pantry-builder__header p,.pantry-context-card p,.pantry-context-card__hint{margin:4px 0 0;color:var(--shade-60);font-size:13.5px;line-height:1.5}.pantry-builder__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--aloe-10);color:var(--aloe-80);flex:0 0 auto;border:1px solid rgba(39,115,91,.12)}.pantry-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.pantry-autocomplete{position:relative;width:100%}.pantry-autocomplete__menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow-y:auto;padding:6px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);box-shadow:var(--shadow-level-4)}.pantry-autocomplete__menu button{width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:10px;text-align:left}.pantry-autocomplete__menu button:hover{background:var(--canvas-cream)}.pantry-autocomplete__menu span{color:var(--shade-50);font-size:12px;white-space:nowrap}.pantry-chip-row{display:flex;flex-wrap:wrap;gap:8px;min-height:20px}.pantry-chip{border:1px solid var(--sage-200);border-radius:var(--radius-pill);background:var(--aloe-10);color:var(--sage-dark);cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;padding:6px 12px;transition:all .15s ease}.pantry-chip:hover{border-color:#f3a6a6;background:#fee2e2;color:#b91c1c}.remove-chip-icon{opacity:.7}.pantry-chip:hover .remove-chip-icon{color:#b91c1c;opacity:1}.pantry-chip--ghost{border:1px solid var(--hairline-light);background:var(--canvas-light);color:var(--shade-70)}.pantry-chip--ghost:hover{border-color:var(--aloe-70);background:var(--aloe-10);color:var(--aloe-80)}.pantry-chip--ghost.is-selected{border-color:var(--sage-primary);background:var(--aloe-10);color:var(--sage-dark);font-weight:700}.pantry-examples-wrapper{display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--hairline-light);padding-top:14px}.pantry-examples-wrapper .examples-title{font-size:12.5px;font-weight:600;color:var(--shade-50)}.pantry-meal-type-selector{display:flex;flex-direction:column;gap:8px}.pantry-meal-type-selector .selector-label{font-size:13.5px;font-weight:600;color:var(--shade-70)}.meal-type-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--canvas-cream);padding:4px;border-radius:var(--radius-md);border:1px solid var(--hairline-light)}.meal-type-btn{height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--shade-70);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.meal-type-btn:hover{color:var(--ink);background:#00000008}.meal-type-btn.is-active{background:var(--canvas-light);color:var(--ink);box-shadow:0 2px 5px #0000000d;font-weight:700}.pantry-calories-input-wrapper .np-field{display:flex;flex-direction:column;gap:6px}.form-label-secondary{font-size:13px;font-weight:600;color:var(--shade-60)}.target-calories-input{height:40px!important;font-weight:600}.pantry-empty-suggestions-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 24px;background:var(--canvas-light);border:1px dashed var(--hairline-light);border-radius:var(--radius-lg);color:var(--shade-50);margin-top:12px}.empty-hat-icon{color:var(--shade-30);margin-bottom:12px}.pantry-empty-suggestions-card h3{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 6px}.pantry-empty-suggestions-card p{font-size:13.5px;max-width:440px;line-height:1.5;margin:0}.pantry-context-card{display:flex;flex-direction:column;gap:16px;height:100%;box-sizing:border-box}.context-card-content,.context-card-empty{display:flex;flex-direction:column;gap:12px}.active-plan-info{margin:0;font-size:13.5px;color:var(--shade-65)}.active-plan-info strong{color:var(--ink)}.inline-link{color:var(--sage-primary);font-weight:600;text-decoration:underline}.inline-link:hover{color:var(--sage-dark)}.pantry-profile-summary{margin-top:auto;padding:12px 14px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-cream);display:flex;flex-direction:column;gap:4px}.pantry-profile-summary span{color:var(--shade-50);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.pantry-profile-summary strong{font-size:14px;color:var(--ink);font-weight:700}.pantry-results{display:flex;flex-direction:column;gap:16px;margin-top:16px}.section-title-compact{font-size:18px;font-weight:700;color:var(--ink);margin:0}.pantry-suggestion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.pantry-suggestion-card{padding:20px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2);transition:transform .2s ease,box-shadow .2s ease}.pantry-suggestion-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-3)}.pantry-suggestion-card__top{display:flex;align-items:flex-start;justify-content:space-between}.card-title-badge-block{display:flex;flex-direction:column;gap:6px;width:100%}.card-title-badge-block .badge-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.card-title-badge-block h3{margin:6px 0 2px;font-size:17px;font-weight:700}.suggestion-reason{margin:0;font-size:13px;color:var(--shade-55);line-height:1.45}.pantry-suggestion-card .pantry-category{background:var(--canvas-cream);color:var(--shade-70);font-size:11px;font-weight:700;padding:3px 6px}.pantry-suggestion-card .pantry-macro-row{display:flex;gap:12px;font-size:12.5px;color:var(--shade-60);border-top:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light);padding:8px 0}.pantry-suggestion-card .pantry-macro-row .macro-kcal{color:var(--sage-primary)}.pantry-suggestion-card .pantry-macro-row .macro-kcal strong{font-weight:700}.dish-ingredients-summary{display:flex;flex-direction:column;gap:10px;background:var(--canvas-cream);padding:12px;border-radius:var(--radius-md);border:1px solid var(--hairline-light)}.dish-ingredients-summary .ingredient-group{display:flex;flex-direction:column;gap:4px}.dish-ingredients-summary .group-label{font-size:11.5px;font-weight:700}.dish-ingredients-summary .text-success{color:var(--aloe-80)}.dish-ingredients-summary .text-warning{color:var(--sage-dark)}.ingredient-chips-mini{display:flex;flex-wrap:wrap;gap:4px}.mini-chip{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.mini-chip.matched{background:var(--aloe-10);color:var(--aloe-80);border:1px solid rgba(39,115,91,.15)}.mini-chip.missing{background:#fdf6e2;color:#c27803;border:1px solid rgba(194,120,3,.12)}.no-ingredients-text{font-size:11px;color:var(--shade-40);font-style:italic}.pantry-suggestion-card .pantry-card-meta{display:flex;gap:12px;font-size:12px;color:var(--shade-50)}.pantry-suggestion-card .pantry-card-meta .meta-item{display:flex;align-items:center;gap:4px}.pantry-suggestion-card .pantry-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;border-top:1px dashed var(--hairline-light);padding-top:12px}.btn-pill.btn-sm{font-size:12.5px;padding:8px 12px}.add-ingredient-btn{height:40px!important}.match-tag-badge{font-size:11px;font-weight:700;color:var(--aloe-80);background:var(--aloe-10);border:1px solid rgba(39,115,91,.18);padding:2.5px 6px;border-radius:var(--radius-sm)}.dish-desc{margin:8px 0 0;font-size:14px;color:var(--shade-60);line-height:1.5}.ingredient-row.has-ingredient{border-left:3px solid var(--aloe-70);background:var(--aloe-5)}.ingredient-row.missing-ingredient{border-left:3px solid var(--sage-200)}.np-shell-container:has(.dishes-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.dishes-page{display:flex;flex-direction:column;gap:24px}.dishes-toolbar{display:flex;flex-direction:column;gap:16px}.dishes-search{position:relative;width:min(100%,720px)}.dishes-search svg{position:absolute;top:13px;left:14px;color:var(--shade-40)}.dishes-search .np-input{padding-left:40px;height:42px;border-radius:var(--radius-md);font-weight:550;font-size:14px}.dishes-category-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.dishes-category-tabs::-webkit-scrollbar{display:none}.dishes-category-tabs button{white-space:nowrap;border:1px solid var(--hairline-light);border-radius:var(--radius-pill);background:var(--canvas-light);color:var(--shade-70);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.dishes-category-tabs button:hover{border-color:var(--shade-40);background:var(--canvas-cream);color:var(--ink)}.dishes-category-tabs button.is-active{border-color:var(--ink);background:var(--ink);color:var(--canvas-light);font-weight:700}.dishes-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:44px 24px;border:1px dashed var(--hairline-light);box-shadow:none}.empty-book-icon{color:var(--shade-30)}.dishes-empty h3{font-size:17px;font-weight:700;color:var(--ink);margin:0}.dishes-empty p{font-size:13.5px;color:var(--shade-60);max-width:460px;line-height:1.55;margin:0}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.dish-card{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--hairline-light);box-shadow:var(--shadow-level-2);transition:transform .2s ease,box-shadow .2s ease}.dish-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-3)}.dish-card__image{position:relative;height:140px;overflow:hidden}.dish-card__photo{display:block;width:100%;height:100%;object-fit:cover}.dish-card__image .np-badge{position:absolute;top:10px;right:10px;z-index:10;font-size:11px}.dish-card__body{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:12px;padding:16px}.dish-card h2{margin:0 0 4px;color:var(--ink);font-size:16px;font-weight:750;line-height:1.3}.dish-card p{display:-webkit-box;height:38px;margin:0;overflow:hidden;color:var(--shade-60);font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dish-card__macro{padding-top:10px;border-top:1px solid var(--hairline-light)}.dish-card__macro span{display:block;color:var(--shade-50);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.dish-card__macro strong{display:block;margin:3px 0;font-size:16px;font-weight:750;color:var(--sage-primary)}.dish-card__macro small{display:block;color:var(--shade-65);font-size:12px;line-height:1.4}.dish-card__meta{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--canvas-cream);color:var(--shade-65);font-size:11.5px;font-weight:600}.dish-card__meta span{display:inline-flex;align-items:center;gap:4px}.shopping-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:20px}.shopping-progress h2{margin:0 0 4px;font-size:18px;font-weight:700}.shopping-progress p,.shopping-progress span{margin:0;color:var(--shade-50);font-size:13px}.shopping-progress strong{display:block;font-size:24px;text-align:right}.shopping-progress i{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:var(--radius-pill);background:var(--canvas-cream)}.shopping-progress b{display:block;height:100%;border-radius:inherit;background:var(--aloe-60)}.shopping-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.shopping-controls>.np-select{width:auto;min-width:190px;height:38px;border-radius:var(--radius-pill);font-size:13px}.shopping-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--hairline-light);border-radius:var(--radius-pill);background:var(--canvas-light)}.shopping-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;font-size:13px;font-weight:620;padding:7px 12px}.shopping-tabs button.is-active{background:var(--aloe-10)}.shopping-add-form{width:min(100%,640px);padding:22px}.shopping-add-form h2{margin:0 0 14px;font-size:18px}.shopping-add-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shopping-add-form form>:first-child,.shopping-add-form form>:nth-child(5),.shopping-add-form form>button{grid-column:1 / -1}.np-shell-container:has(.shopping-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.shopping-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:flex;flex-direction:column;gap:24px}.shopping-groups{display:flex;flex-direction:column;gap:24px}.shopping-groups section{display:flex;flex-direction:column;gap:10px}.shopping-groups section>h2{margin:0;padding-bottom:6px;border-bottom:1px solid var(--hairline-light);color:var(--shade-70);font-size:15px;font-weight:700}.shopping-groups section>div{display:flex;flex-direction:column;gap:8px}@media (min-width: 768px){.shopping-groups section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.shopping-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px}.shopping-item.is-checked{background:#c1fbd426;opacity:.78}.shopping-item__main{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;cursor:pointer}.shopping-item__main input{width:18px;height:18px;margin-top:2px}.shopping-item__main span,.shopping-item__main small,.shopping-item__main em{display:block}.shopping-item__main strong{font-size:14px}.shopping-item.is-checked .shopping-item__main strong{color:var(--shade-50);text-decoration:line-through}.shopping-item__main small{color:var(--shade-50);font-size:12px;margin-top:2px}.shopping-item__main em{color:var(--shade-50);font-size:11px;font-style:normal;margin-top:4px}.shopping-item__actions{display:flex;align-items:center;gap:8px}.shopping-item__actions>strong{white-space:nowrap;font-size:14px}.shopping-item__actions button,.shopping-item__edit button{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--shade-50);cursor:pointer}.shopping-item__actions button:last-child{color:#b91c1c}.shopping-item__actions button:hover,.shopping-item__edit button:hover{background:var(--canvas-cream)}.shopping-item__edit{display:grid;grid-template-columns:minmax(160px,2fr) minmax(120px,1fr) 80px 70px 1fr 32px 32px;gap:8px;width:100%}.shopping-item__edit .np-input,.shopping-item__edit .np-select{height:34px;padding-block:4px;font-size:13px}.shopping-day-groups{display:flex;flex-direction:column;gap:16px}@media (min-width: 768px){.shopping-day-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;align-items:start}}.shopping-day-card{padding:20px}.shopping-day-card h2{margin:0 0 14px;font-size:18px}.shopping-day-card h3{margin:14px 0 8px;color:var(--shade-60);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.shopping-day-card span{display:block;color:var(--shade-40);font-size:12px;margin:8px 0 4px}.shopping-day-card p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:5px 0;font-size:13px}.shopping-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:44px 20px;color:var(--shade-50);text-align:center}.shopping-empty h2{margin:0;color:var(--ink);font-size:20px}.shopping-empty p{max-width:520px;margin:0;line-height:1.55}@media (max-width: 820px){.today-empty{grid-template-columns:1fr}.today-summary,.today-meal__header,.dish-detail__header{flex-direction:column;align-items:flex-start}.dish-detail__stats,.swap-filter-grid{grid-template-columns:1fr}.meal-plan-banner,.meal-plan-day-summary,.meal-plan-meal__header{flex-direction:column;align-items:flex-start}.ai-coach-grid,.ai-chat-layout{grid-template-columns:1fr}.ai-chat-card{height:70vh;min-height:460px}.ai-chat-message{max-width:92%}.pantry-layout,.pantry-controls,.pantry-ingredient-match,.pantry-recipe-grid,.pantry-input-row,.pricing-grid{grid-template-columns:1fr}.pricing-current,.payment-result-card{align-items:flex-start;flex-direction:column}.payment-result-card__actions{margin-left:0;flex-wrap:wrap}.shopping-progress,.shopping-add-form form,.shopping-item__edit{grid-template-columns:1fr}.shopping-progress strong{text-align:left}.shopping-tabs{width:100%;overflow-x:auto;border-radius:var(--radius-md)}.shopping-item{align-items:flex-start;flex-direction:column}.shopping-item__actions{width:100%;justify-content:space-between}}@media (max-width: 520px){.np-modal-card{padding:20px}.ingredient-row{flex-direction:column}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:var(--canvas-cream)}.auth-card,.onboarding-card{width:min(100%,440px);padding:28px;display:flex;flex-direction:column;gap:20px}.onboarding-card{width:min(100%,720px)}.onboarding-card--wide{width:min(100%,920px)}.onboarding-progress{display:grid;gap:14px}.onboarding-progress__track{height:8px;overflow:hidden;border-radius:999px;background:var(--shade-20)}.onboarding-progress__track span{display:block;height:100%;border-radius:inherit;background:var(--aloe-50);transition:width .18s ease}.auth-error{padding:10px 12px;border-radius:var(--radius-md);background:#fee2e2;color:#991b1b;font-size:13px}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-section{display:flex;flex-direction:column;gap:18px}.flashcard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flashcard-option{position:relative;min-height:112px;padding:16px 16px 16px 48px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.flashcard-option:hover{border-color:var(--shade-40);box-shadow:var(--shadow-level-2)}.flashcard-option.is-selected{border-color:var(--aloe-50);background:var(--aloe-10)}.flashcard-option strong,.flashcard-option span{display:block}.flashcard-option strong{margin-bottom:6px;font-size:15px}.flashcard-option span{font-size:13px;line-height:19px;color:var(--shade-60)}.flashcard-option__check{position:absolute;left:16px;top:16px;width:22px;height:22px;display:grid!important;place-items:center;border:1px solid var(--hairline-light);border-radius:50%;background:var(--canvas-light);color:var(--ink)!important}.flashcard-option.is-selected .flashcard-option__check{border-color:var(--ink);background:var(--ink);color:var(--canvas-light)!important}.checkbox-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light)}.checkbox-card input{margin-top:3px}.checkbox-card span,.checkbox-card small{display:block}.checkbox-card small{margin-top:3px;color:var(--shade-50)}.onboarding-review{display:grid;gap:10px}.onboarding-review div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--hairline-light)}.onboarding-review span{color:var(--shade-50)}.onboarding-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (max-width: 640px){.onboarding-grid,.flashcard-grid{grid-template-columns:1fr}.onboarding-review div{align-items:flex-start;flex-direction:column;gap:4px}}.np-shell-container:has(.admin-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.admin-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:grid;gap:24px}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 991px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 575px){.admin-stat-grid{grid-template-columns:1fr}}.admin-stat-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-1);transition:all .2s ease}.admin-stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-level-2)}.admin-stat-card__icon{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0}.admin-stat-card__content{display:flex;flex-direction:column;gap:3px}.admin-stat-card span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--shade-50)}.admin-stat-card strong{font-size:26px;font-weight:750;color:var(--ink);line-height:1.15}.admin-stat-card small{font-size:11.5px;color:var(--shade-50)}.admin-stat-card--dishes{border-left:4px solid var(--sage-primary)}.admin-stat-card--dishes .admin-stat-card__icon{background:var(--aloe-10);color:var(--sage-dark)}.admin-stat-card--issues{border-left:4px solid #f59e0b}.admin-stat-card--issues .admin-stat-card__icon{background:#fffbeb;color:#b45309}.admin-stat-card--error{border-left:4px solid #ef4444}.admin-stat-card--error .admin-stat-card__icon{background:#fee2e2;color:#b91c1c}.admin-stat-card--warning{border-left:4px solid #f97316}.admin-stat-card--warning .admin-stat-card__icon{background:#fff7ed;color:#c2410c}.admin-health-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#fbfdfc;border:1px dashed rgba(45,110,79,.25);border-radius:var(--radius-lg);margin-bottom:4px}@media (max-width: 767px){.admin-health-panel{flex-direction:column;align-items:stretch;gap:12px}}.admin-health-panel__info{display:flex;flex-direction:column;gap:3px}.admin-health-panel__info h3{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.admin-health-panel__info p{margin:0;font-size:12.5px;color:var(--shade-60)}.admin-health-panel__score{display:flex;align-items:center;gap:16px;flex:1;max-width:480px;justify-content:flex-end}@media (max-width: 767px){.admin-health-panel__score{max-width:100%;justify-content:space-between}}.admin-health-bar{flex:1;height:8px;background:var(--canvas-cream);border-radius:var(--radius-pill);overflow:hidden}.admin-health-bar-fill{height:100%;border-radius:var(--radius-pill);transition:width .6s cubic-bezier(.4,0,.2,1)}.admin-health-bar-fill.is-healthy{background:var(--sage-primary)}.admin-health-bar-fill.is-warning{background:#f59e0b}.admin-health-bar-fill.is-critical{background:#ef4444}.admin-qa-value{font-size:14px;font-weight:600}.admin-qa-value--healthy{color:var(--shade-40);font-weight:500}.admin-qa-value--critical{color:#ef4444;font-weight:700}.admin-qa-value--warning{color:#b45309;font-weight:600}.admin-panel{padding:20px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-1)}.admin-panel__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.admin-panel__header h2{margin:0 0 4px;font-size:20px}.admin-panel__header p{margin:0;color:var(--shade-50)}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-toolbar select,.admin-search input,.admin-field input,.admin-field select,.admin-field textarea{width:100%;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);color:var(--ink);font:inherit}.admin-toolbar select{min-height:42px;width:auto;min-width:160px;padding:0 12px}.admin-search{min-height:42px;min-width:min(420px,100%);flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light)}.admin-search input{min-width:0;border:0;outline:0}.admin-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th,.admin-table td{padding:13px 12px;border-bottom:1px solid var(--hairline-light);text-align:left;vertical-align:top}.admin-table th{color:var(--shade-50);font-size:12px;text-transform:uppercase;letter-spacing:0}.admin-table td small{display:block;margin-top:4px;color:var(--shade-50)}.admin-table code{padding:2px 6px;border-radius:var(--radius-xs);background:var(--canvas-cream);font-family:var(--font-family-mono);font-size:12px}.admin-table--dense th,.admin-table--dense td{padding:11px 10px}.admin-table__empty{padding:28px 12px!important;color:var(--shade-50);text-align:center!important}.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:12px;border-top:1px solid var(--hairline-light)}.admin-pagination p{margin:0;color:var(--shade-50)}.admin-pagination label{display:inline-flex;align-items:center;gap:8px;color:var(--shade-50);font-size:14px}.admin-pagination select{min-height:36px;padding:0 10px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light);color:var(--ink);font:inherit}.admin-pagination__controls{display:inline-flex;align-items:center;gap:10px}.admin-pagination__controls span{min-width:96px;color:var(--shade-70);font-weight:700;text-align:center}.admin-tag-list{display:flex;flex-wrap:wrap;gap:6px;max-width:260px}.admin-tag-list span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:var(--radius-pill);background:var(--canvas-cream);color:var(--shade-70);font-size:12px}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#00000052}.admin-modal{width:min(620px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;display:grid;gap:16px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--hairline-light);background:var(--canvas-light);box-shadow:var(--shadow-level-4)}.admin-modal--wide{width:min(860px,100%)}.admin-modal__header,.admin-modal__actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-modal__header h2,.admin-modal__header p{margin:0}.admin-modal__header p{margin-top:4px;color:var(--shade-50)}.admin-modal__header button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--canvas-cream);color:var(--ink);cursor:pointer}.admin-modal__actions{justify-content:flex-end;align-items:center}.admin-field{display:grid;gap:7px;color:var(--shade-60);font-size:13px}.admin-field input,.admin-field select{min-height:42px;padding:0 12px}.admin-field textarea{padding:12px;resize:vertical}.admin-codearea{font-family:var(--font-family-mono)!important;font-size:12px!important;line-height:18px;white-space:pre}.admin-help-text{margin:0;color:var(--shade-50);font-size:13px;line-height:20px}.admin-image-upload{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;padding:12px;border:1px solid var(--hairline-light);border-radius:8px;background:var(--canvas-cream)}.admin-image-upload img,.admin-image-upload__placeholder{width:132px;aspect-ratio:4 / 3;border-radius:8px;border:1px solid var(--hairline-light);object-fit:cover;background:var(--canvas-light)}.admin-image-upload__placeholder{display:grid;place-items:center;gap:6px;color:var(--shade-45);font-size:12px;text-align:center}.admin-image-upload__actions{display:grid;gap:8px}.admin-image-upload__actions strong{color:var(--ink);font-size:14px}.admin-image-upload__actions p{margin:0;color:var(--shade-50);font-size:12.5px;line-height:18px}.admin-image-upload__actions .btn{width:fit-content}@media (max-width: 575px){.admin-image-upload{grid-template-columns:1fr}.admin-image-upload img,.admin-image-upload__placeholder{width:100%}}.auth-page--split{padding:0;display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh;background:var(--canvas-light)}.auth-brand-panel{display:flex;flex-direction:column;justify-content:space-between;padding:56px 64px;background-color:#f3fbf7;border-right:1px solid var(--hairline-light);height:100vh;position:sticky;top:0;overflow-y:auto;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/auth/nutriplan-auth-meal-bg.jpg);background-size:cover;background-position:center;opacity:.14;pointer-events:none;z-index:0}.auth-brand-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f3fbf7d1;pointer-events:none;z-index:0}.auth-brand-panel>*{position:relative;z-index:1}.auth-brand-panel__top{display:flex;justify-content:space-between;align-items:center}.auth-brand-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:20px;color:var(--ink)}.auth-brand-logo svg{color:#16a34a}.auth-brand-pill{font-size:12px;font-weight:550;padding:4px 12px;border-radius:var(--radius-pill);background-color:var(--aloe-10);color:#15803d;border:1px solid rgba(22,163,74,.15)}.auth-brand-copy{margin:48px 0;display:flex;flex-direction:column;gap:16px}.auth-brand-copy .eyebrow-cap{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#15803d;font-weight:600;margin:0}.auth-brand-copy h2{font-size:32px;line-height:1.35;font-weight:350;color:var(--ink);margin:0;letter-spacing:-.5px}.auth-brand-copy p{font-size:15px;line-height:1.6;color:var(--shade-60);margin:0}.auth-benefit-list{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}.auth-benefit-item{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--shade-70)}.auth-benefit-item svg{color:#16a34a;flex-shrink:0}.auth-preview-card{background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:12px;padding:16px 20px;box-shadow:0 4px 20px -2px #0000000a,0 2px 8px -1px #00000005;display:flex;flex-direction:column;gap:12px;max-width:380px}.auth-preview-card__header{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--hairline-light);padding-bottom:8px}.auth-preview-card__header span{color:var(--shade-50)}.auth-preview-card__header strong{color:#15803d}.auth-preview-meal{display:flex;align-items:center;gap:12px}.auth-preview-meal svg{color:#16a34a;background:#e6f6ee;padding:8px;border-radius:8px;width:34px;height:34px;box-sizing:border-box}.auth-preview-meal div{display:flex;flex-direction:column}.auth-preview-meal strong{font-size:13.5px;color:var(--ink)}.auth-preview-meal span{font-size:11px;color:var(--shade-50)}.auth-preview-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.auth-preview-row span{color:var(--shade-50)}.auth-preview-row strong{display:flex;align-items:center;gap:4px;color:var(--ink)}.auth-preview-row strong svg{color:#16a34a}.auth-page--split .auth-card{align-self:center;justify-self:center;width:100%;max-width:420px;padding:40px;border:1px solid var(--hairline-light);border-radius:12px;background:var(--canvas-light);box-shadow:0 10px 30px -10px #0000000a}.auth-card__heading{margin-bottom:24px}.auth-card__heading .eyebrow-cap{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#15803d;font-weight:600;margin-bottom:6px}.auth-card__heading .heading-lg{font-size:24px;font-weight:350;color:var(--ink);margin:0 0 6px}.auth-card__heading .caption{font-size:13.5px;color:var(--shade-50);line-height:1.4}.auth-message{padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5;display:flex;flex-direction:column;gap:6px}.auth-message--error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.auth-message--success{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.auth-message--warning{background-color:#fffbeb;color:#92400e;border:1px solid #fef3c7}.auth-message--info{background-color:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.auth-success{padding:12px 14px;border:1px solid #bbf7d0;border-radius:var(--radius-md);background:#f0fdf4;color:#166534;font-size:14px;line-height:20px}.auth-state-icon{width:56px;height:56px;border-radius:50%;background:#f2f9f5;color:#16a34a;display:grid;place-items:center;margin:12px auto 24px;border:1px solid rgba(22,163,74,.15);animation:authPulse 2s infinite ease-in-out}@keyframes authPulse{0%{transform:scale(1);box-shadow:0 0 #16a34a33}70%{transform:scale(1.05);box-shadow:0 0 0 10px #16a34a00}to{transform:scale(1);box-shadow:0 0 #16a34a00}}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--shade-40);font-size:12px;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--hairline-light)}.auth-divider span{padding:0 12px}.google-signin-button{width:100%;min-height:42px;display:flex;justify-content:center}@media (max-width: 1024px){.auth-page--split{grid-template-columns:1fr;padding:40px 20px;background:var(--canvas-cream)}.auth-brand-panel{display:none}.auth-page--split .auth-card{box-shadow:var(--shadow-level-3)}}@media (max-width: 480px){.auth-page--split{padding:16px}.auth-page--split .auth-card{padding:24px;border-radius:8px}}.auth-brand-panel:before{background-position:center 42%;opacity:.34}.auth-brand-panel:after{background:#f3fbf7a8}.admin-form-grid{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:end}.admin-check-field{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--hairline-light);border-radius:var(--radius-md)}@media (max-width: 900px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid{grid-template-columns:1fr}}@media (max-width: 640px){.admin-stat-grid{grid-template-columns:1fr}.admin-panel__header,.admin-modal__actions{align-items:stretch;flex-direction:column}.admin-toolbar select,.admin-checkbox{width:100%}}.np-shell-container:has(.health-profile-page){max-width:min(1320px,100%);margin-left:0;margin-right:auto}.health-profile-page{width:100%;max-width:1320px;margin-left:0;margin-right:auto;padding:8px 0 40px;display:flex;flex-direction:column;gap:24px}.health-profile-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}.profile-form-column{display:flex;flex-direction:column;gap:24px}.profile-summary-column{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px}.profile-form-section{border-top:1px solid var(--hairline-light);padding-top:20px;margin-top:4px}.profile-form-section:first-child{border-top:none;padding-top:0;margin-top:0}.profile-section-title{font-size:15px;font-weight:650;color:var(--ink);margin-bottom:4px}.profile-section-desc{font-size:12.5px;color:var(--shade-50);margin-bottom:16px;line-height:1.45}.np-input-suffix-wrapper{position:relative;display:flex;align-items:center;width:100%}.np-input-suffix-wrapper .np-input{padding-right:52px}.np-input-suffix{position:absolute;right:14px;font-size:13px;font-weight:500;color:var(--shade-40);pointer-events:none;-webkit-user-select:none;user-select:none}.profile-tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px}.profile-tag-chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:12px 14px 12px 38px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .16s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.profile-tag-chip:hover{border-color:var(--shade-40);background-color:var(--canvas-cream)}.profile-tag-chip.is-selected{background-color:var(--aloe-10);border-color:var(--aloe-50)}.profile-tag-chip__indicator{position:absolute;left:12px;top:13px;width:16px;height:16px;border-radius:50%;border:1px solid var(--hairline-light);background:var(--canvas-light);display:grid;place-items:center;color:transparent;transition:all .16s ease}.profile-tag-chip.is-selected .profile-tag-chip__indicator{border-color:var(--ink);background:var(--ink);color:var(--canvas-light)}.profile-tag-chip strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}.profile-tag-chip span{display:block;font-size:11px;color:var(--shade-50);margin-top:4px;line-height:1.35}.profile-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:8px}.profile-checkbox-item{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--shade-70);cursor:pointer;padding:10px 12px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-md);transition:all .15s ease;-webkit-user-select:none;user-select:none}.profile-checkbox-item:hover{background-color:var(--canvas-cream);border-color:var(--shade-45)}.profile-checkbox-item.is-checked{background-color:var(--aloe-10);border-color:#16a34a40;color:var(--sage-dark)}.profile-checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--sage-primary);cursor:pointer}.bmi-gauge-container{margin-top:16px;display:flex;flex-direction:column;gap:6px}.bmi-gauge-bar{height:8px;border-radius:var(--radius-pill);background:linear-gradient(to right,#b45309,#15803d 40%,#b45309,#b91c1c);position:relative;overflow:visible}.bmi-gauge-pointer{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--canvas-light);box-shadow:0 1px 3px #0003;transform:translate(-50%);transition:left .3s ease}.bmi-gauge-labels{display:flex;justify-content:space-between;font-size:10.5px;color:var(--shade-40);font-weight:550;padding:0 2px}@media (max-width: 992px){.health-profile-layout{grid-template-columns:1fr;gap:24px}.profile-summary-column{position:static}}@media (max-width: 576px){.profile-tag-grid{grid-template-columns:1fr}.profile-checkbox-grid{grid-template-columns:repeat(2,1fr)}}.lp-container{background:var(--canvas-cream);min-height:100vh;font-family:var(--font-family);color:var(--ink);overflow-x:hidden}.lp-header{position:sticky;top:0;z-index:50;background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline-light)}.lp-header__wrap{max-width:1360px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.lp-header__brand{display:flex;align-items:center;gap:8px;cursor:pointer}.lp-header__logo-text{font-size:20.5px;font-weight:750;color:var(--ink);letter-spacing:-.01em}.lp-header__nav{display:flex;gap:32px}.lp-header__nav a{font-size:14.5px;font-weight:600;color:var(--shade-60);text-decoration:none;transition:color .15s ease}.lp-header__nav a:hover{color:var(--sage-primary)}.lp-header__actions{display:flex;align-items:center;gap:24px}.lp-header__login-link{font-size:14.5px;font-weight:600;color:var(--shade-60);text-decoration:none;transition:color .15s ease}.lp-header__login-link:hover{color:var(--ink)}@media (max-width: 767px){.lp-header__nav{display:none}.lp-header__wrap{padding:12px 16px}}.lp-hero{padding:80px 24px;background:var(--canvas-light);border-bottom:1px solid var(--hairline-light)}@media (min-width: 992px){.lp-hero{padding:100px 24px}}.lp-hero__wrap{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.lp-hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.lp-hero__eyebrow{font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-primary);background:var(--aloe-10);padding:4px 10px;border-radius:var(--radius-md)}.lp-hero__title{font-size:42px;font-weight:800;line-height:1.18;color:var(--ink);letter-spacing:-.02em;margin:0}@media (min-width: 992px){.lp-hero__title{font-size:52px;line-height:1.12}}.lp-hero__subtitle{font-size:16px;line-height:1.55;color:var(--shade-60);margin:0}@media (min-width: 992px){.lp-hero__subtitle{font-size:17.5px}}.lp-hero__ctas{display:flex;gap:14px;align-items:center;margin-top:8px}.lp-hero__trust{display:flex;gap:8px;font-size:11.5px;color:var(--shade-45);margin-top:8px;flex-wrap:wrap}.lp-hero__image-wrapper{display:flex;justify-content:center;align-items:center}.lp-hero__img{width:100%;max-width:440px;height:auto;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0000000a,0 1px 3px #00000005;border:1px solid var(--hairline-light);transition:transform .3s ease}@media (min-width: 992px){.lp-hero__img{max-width:540px}}.lp-hero__img:hover{transform:translateY(-2px)}@media (max-width: 991px){.lp-hero__wrap{grid-template-columns:1fr;gap:36px}.lp-hero{padding:48px 16px}.lp-hero__title{font-size:32px}.lp-hero__image-wrapper{margin-top:12px}.lp-hero__img{max-width:340px}}.lp-section-header{text-align:center;max-width:640px;margin:0 auto 44px;display:flex;flex-direction:column;gap:8px}.lp-section-eyebrow{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-primary)}.lp-section-header h2{font-size:28px;font-weight:800;margin:0;color:var(--ink);letter-spacing:-.01em}@media (min-width: 992px){.lp-section-header h2{font-size:32px}}.lp-section-header p{font-size:14.5px;color:var(--shade-55);margin:0;line-height:1.5}@media (max-width: 767px){.lp-section-header h2{font-size:23px}}.lp-problems{padding:80px 24px;max-width:1360px;margin:0 auto}@media (min-width: 992px){.lp-problems{padding:100px 24px}}.lp-problems-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.lp-problem-card{padding:28px;display:flex;flex-direction:column;gap:14px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:8px;box-shadow:var(--shadow-level-1);position:relative;transition:all .2s ease}.lp-problem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-2);border-color:var(--sage-primary)}.lp-problem-card__badge{width:24px;height:24px;border-radius:50%;background:var(--canvas-cream);color:var(--sage-primary);display:grid;place-items:center;font-size:12px;font-weight:800;border:1px solid var(--hairline-light)}.lp-problem-card h3{font-size:16.5px;font-weight:700;margin:0;color:var(--ink)}.lp-problem-card p{font-size:13.5px;line-height:1.52;color:var(--shade-60);margin:0}@media (max-width: 991px){.lp-problems-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 575px){.lp-problems-grid{grid-template-columns:1fr}.lp-problems{padding:48px 16px}}.lp-features{padding:80px 24px;background:var(--canvas-light);border-top:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light)}@media (min-width: 992px){.lp-features{padding:100px 24px}}.lp-features-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.lp-feature-item{display:flex;flex-direction:column;gap:12px}.lp-feature-item__icon{width:40px;height:40px;border-radius:8px;background:var(--aloe-10);color:var(--sage-primary);display:grid;place-items:center;flex-shrink:0}.lp-feature-item h3{font-size:16.5px;font-weight:700;margin:0;color:var(--ink)}.lp-feature-item p{font-size:13.5px;line-height:1.5;color:var(--shade-60);margin:0}@media (max-width: 991px){.lp-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 575px){.lp-features-grid{grid-template-columns:1fr}.lp-features{padding:48px 16px}}.lp-steps{padding:80px 24px;max-width:1360px;margin:0 auto}@media (min-width: 992px){.lp-steps{padding:100px 24px}}.lp-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.lp-step-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--canvas-light);border-left:2px solid var(--hairline-light)}.lp-step-card__num{font-size:22px;font-weight:850;color:var(--sage-primary);opacity:.8;font-family:monospace}.lp-step-card h4{font-size:15.5px;font-weight:700;margin:0;color:var(--ink)}.lp-step-card p{font-size:13px;line-height:1.48;color:var(--shade-60);margin:0}@media (max-width: 991px){.lp-steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 575px){.lp-steps-grid{grid-template-columns:1fr}.lp-steps{padding:48px 16px}}.lp-preview{padding:80px 24px;background:var(--canvas-cream);border-top:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light)}@media (min-width: 992px){.lp-preview{padding:100px 24px}}.lp-mockup{max-width:900px;margin:0 auto;background:var(--canvas-light);border-radius:8px;border:1px solid var(--hairline-light);box-shadow:0 15px 35px #00000008,0 1px 3px #00000003;overflow:hidden;display:flex;flex-direction:column}.lp-mockup__header{padding:10px 16px;background:var(--canvas-cream);border-bottom:1px solid var(--hairline-light);display:flex;align-items:center}.lp-mockup__dots{display:flex;gap:5px}.lp-mockup__dots span{width:7px;height:7px;border-radius:50%}.lp-mockup__dots span:nth-child(1){background:#fda4af}.lp-mockup__dots span:nth-child(2){background:#fde047}.lp-mockup__dots span:nth-child(3){background:#86efac}.lp-mockup__address{flex:1;text-align:center;font-size:10.5px;font-family:monospace;color:var(--shade-45);background:#fff;padding:3.5px 12px;border-radius:4px;border:1px solid var(--hairline-light);max-width:240px;margin:0 auto}.lp-mockup__body{padding:28px;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.lp-mockup__meals{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--hairline-light);border-radius:6px;padding:20px}.lp-mockup__meals-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--hairline-light);padding-bottom:10px;margin-bottom:2px}.lp-mockup__meal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f9fafb}.lp-mockup__metrics{background:#fff;border:1px solid var(--hairline-light);border-radius:6px;padding:20px}@media (max-width: 767px){.lp-mockup__body{grid-template-columns:1fr;gap:16px;padding:16px}.lp-preview{padding:48px 16px}}.lp-pricing{padding:80px 24px;max-width:1360px;margin:0 auto}@media (min-width: 992px){.lp-pricing{padding:100px 24px}}.lp-pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:880px;margin:0 auto;align-items:stretch}.lp-pricing-card{padding:36px;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:8px;box-shadow:var(--shadow-level-1);display:flex;flex-direction:column;gap:16px;position:relative;transition:all .2s ease}.lp-pricing-card--premium{border-color:var(--sage-primary);box-shadow:0 12px 30px #174a3a0f}.lp-pricing-card__badge-top{position:absolute;top:-12px;left:36px;background:var(--ink);color:var(--canvas-light);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3.5px 10px;border-radius:var(--radius-pill)}.lp-pricing-card h3{font-size:24px;font-weight:800;margin:0;color:var(--ink)}.lp-pricing-card ul{display:flex;flex-direction:column;gap:12px;padding:0;list-style:none;margin:8px 0 24px}.lp-pricing-card li{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--shade-60);line-height:1.45}.lp-pricing-card li svg{flex-shrink:0;margin-top:1.5px}@media (max-width: 767px){.lp-pricing-grid{grid-template-columns:1fr}.lp-pricing{padding:48px 16px}}.lp-disclaimer{max-width:900px;margin:0 auto 40px;padding:16px 20px;background:#fffbeb;border:1px dashed #fef3c7;border-radius:8px}.lp-disclaimer__wrap{display:flex;gap:10px;align-items:flex-start}.lp-disclaimer strong{display:block;font-size:13px;color:#b45309;margin-bottom:2px}.lp-disclaimer p{font-size:12px;line-height:1.48;color:#92400e;margin:0}@media (max-width: 575px){.lp-disclaimer{margin-inline:16px}}.lp-final-cta{padding:80px 24px;background:var(--aloe-10);border-top:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light);text-align:center}@media (min-width: 992px){.lp-final-cta{padding:100px 24px}}.lp-final-cta__wrap{max-width:580px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.lp-final-cta h2{font-size:34px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.01em}.lp-final-cta p{font-size:16.5px;line-height:1.55;color:var(--shade-60);margin:0}.lp-final-cta__actions{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:8px;flex-wrap:wrap}.lp-final-cta__secondary{font-size:14px;font-weight:600;color:var(--shade-60);text-decoration:none}.lp-final-cta__secondary:hover{color:var(--ink)}.lp-footer{padding:32px 24px;border-top:1px solid var(--hairline-light);background:var(--canvas-light)}.lp-footer__wrap{max-width:1360px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.lp-footer__links{display:flex;gap:24px}.lp-footer__links a{font-size:13.5px;color:var(--shade-50);text-decoration:none;transition:color .15s ease}.lp-footer__links a:hover{color:var(--sage-primary)}@media (max-width: 767px){.lp-footer__wrap{flex-direction:column;text-align:center;gap:12px}.lp-final-cta{padding:48px 16px}}.dish-thumbnail.clickable{cursor:pointer;padding:0;border:1px solid var(--hairline-light);background:none;position:relative;transition:all .2s ease}.dish-thumbnail.clickable:hover{border-color:var(--sage-primary);transform:scale(1.02)}.dish-thumbnail__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:6px}.dish-thumbnail.clickable:hover .dish-thumbnail__overlay{opacity:1}.dish-thumbnail__overlay .overlay-text{color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#0009;padding:2px 6px;border-radius:4px}.image-preview-backdrop{background-color:#121212d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.image-preview-wrapper{width:100%;max-width:800px;animation:modalEnter .25s cubic-bezier(.16,1,.3,1)}.image-preview-card{position:relative;overflow:hidden;padding:0!important;background:var(--canvas-light);border:1px solid var(--hairline-light);border-radius:var(--radius-lg);box-shadow:0 30px 60px #00000040}.image-preview-close{top:16px;right:16px;z-index:10;background:#ffffffe6;box-shadow:0 4px 12px #0000001a;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--ink);border:none;cursor:pointer;transition:all .15s ease}.image-preview-close:hover{background:var(--canvas-light);color:var(--sage-primary);transform:scale(1.05)}.image-preview-body{display:flex;flex-direction:column}.image-preview-large-img{width:100%;max-height:70vh;object-fit:contain;background:var(--canvas-cream);display:block}.image-preview-footer{padding:20px 24px;background:var(--canvas-light);border-top:1px solid var(--hairline-light)}.image-preview-footer .footer-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}.image-preview-footer h2{font-size:18px;font-weight:700;color:var(--ink);margin:0}.image-preview-footer .footer-caption{font-size:12px;color:var(--shade-45);font-weight:500}@media (max-width: 640px){.image-preview-backdrop{padding:12px}.image-preview-wrapper{max-width:100%}.image-preview-large-img{max-height:55vh}.image-preview-footer{padding:16px 18px}.image-preview-footer h2{font-size:16px}}.privacy-page{min-height:100vh;background:var(--canvas-cream);color:var(--ink)}.privacy-header{position:sticky;top:0;z-index:50;background:#ffffffe6;border-bottom:1px solid var(--hairline-light);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.privacy-header__wrap{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.privacy-brand{display:inline-flex;align-items:center;gap:9px;color:var(--sage-dark);font-size:19px;font-weight:750}.privacy-brand svg{color:var(--sage-primary)}.privacy-back-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid var(--hairline-light);border-radius:var(--radius-pill);background:var(--canvas-light);color:var(--shade-60);font-size:13.5px;font-weight:650}.privacy-back-link:hover{color:var(--sage-dark);border-color:var(--sage-200);background:var(--sage-50)}.privacy-main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:56px 0 72px}.privacy-hero{max-width:820px;margin-bottom:36px}.privacy-eyebrow{display:inline-flex;width:fit-content;margin-bottom:14px;padding:5px 11px;border:1px solid var(--sage-200);border-radius:var(--radius-pill);background:var(--aloe-10);color:var(--sage-dark);font-size:11.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.privacy-hero h1{max-width:760px;margin:0;color:var(--ink);font-size:clamp(32px,5vw,48px);font-weight:780;line-height:1.12;letter-spacing:0}.privacy-hero p{max-width:740px;margin:16px 0 0;color:var(--shade-60);font-size:16px;line-height:1.65}.privacy-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.privacy-meta span{display:inline-flex;min-height:30px;align-items:center;padding:6px 10px;border:1px solid var(--hairline-light);border-radius:var(--radius-pill);background:var(--canvas-light);color:var(--shade-60);font-size:12.5px;font-weight:600}.privacy-section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:26px 0;border-top:1px solid var(--hairline-light)}.privacy-section--highlight{margin-top:4px;padding:26px 24px;border:1px solid var(--sage-200);border-radius:var(--radius-lg);background:var(--sage-50)}.privacy-section__icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--aloe-10);color:var(--sage-primary)}.privacy-section__content{min-width:0}.privacy-section h2{margin:0 0 10px;color:var(--ink);font-size:22px;font-weight:760;line-height:1.25}.privacy-section h3{margin:0;color:var(--ink);font-size:15px;font-weight:720}.privacy-section p{margin:0 0 12px;color:var(--shade-60);font-size:15px;line-height:1.65}.privacy-section p:last-child{margin-bottom:0}.privacy-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.privacy-data-card{padding:16px;border:1px solid var(--hairline-light);border-radius:var(--radius-md);background:var(--canvas-light)}.privacy-data-card ul,.privacy-list{margin:10px 0 0;padding-left:18px;color:var(--shade-60)}.privacy-data-card li,.privacy-list li{margin:0 0 8px;font-size:14px;line-height:1.55}.privacy-data-card li:last-child,.privacy-list li:last-child{margin-bottom:0}.privacy-list a,.privacy-contact{color:var(--sage-dark);font-weight:720;text-decoration:underline;text-underline-offset:3px}.privacy-strong-note{padding:14px 16px;border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--aloe-10);color:var(--sage-dark)!important;font-weight:700}.privacy-contact{display:inline-flex;width:fit-content;margin-top:2px;padding:10px 13px;border:1px solid var(--sage-200);border-radius:var(--radius-pill);background:var(--canvas-light);text-decoration:none}@media (max-width: 900px){.privacy-data-grid{grid-template-columns:1fr}}@media (max-width: 640px){.privacy-header__wrap,.privacy-main{width:min(100% - 24px,1120px)}.privacy-header__wrap{min-height:58px}.privacy-main{padding:36px 0 52px}.privacy-hero{margin-bottom:24px}.privacy-hero h1{font-size:30px}.privacy-hero p{font-size:14.5px}.privacy-section,.privacy-section--highlight{grid-template-columns:1fr;gap:12px;padding:22px 0}.privacy-section--highlight{padding:20px}.privacy-section h2{font-size:20px}}
