:root{--primary: #ED4432;--primary-color: var(--primary);--bg-main: #F5F5F0;--text-primary: #443F3B;--text-secondary: #8A8075;--bg-input: #F3F0EA;--bg-card-green: #E8F5E9;--bg-card-pink: #FCE4EC;--bg-card-purple: #F3E5F5;--font-main: "Inter", system-ui, -apple-system, sans-serif;--h1-size: 33px;--h1-line: 1.2;--h2-size: 23px;--h3-size: 19px;--h4-size: 16px;--body-size: 16px;--body-line: 1.4;--caption-size: 14px;--primary-hover: #D63A2A;--primary-active: #C64535;--primary-subtle: rgba(237, 68, 50, .06);--primary-ring: rgba(237, 68, 50, .08);--text-disabled: #6E6861;--bg-card: #FFFFFF;--bg-hover: #FAF8F4;--border-default: #E5E1DA;--border-light: #F0ECE4;--border-strong: #DBD7D5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 999px;--z-dropdown: 100;--z-sticky: 200;--z-nav: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 600;--z-fab: 700}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-primary);line-height:var(--body-line);min-width:320px;min-height:100vh}h1{font-size:var(--h1-size);line-height:var(--h1-line)}h2{font-size:var(--h2-size)}h3{font-size:var(--h3-size)}h4{font-size:var(--h4-size)}@layer utilities{.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.5)}}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;min-width:110px;background:var(--primary);color:#fff;border:none;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;box-sizing:border-box;line-height:1.2}.btn-primary:hover:not(:disabled){background:#d63a2a}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.2)}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;min-width:110px;background:#fff;color:var(--text-primary);border:1px solid #e5e1da;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;box-sizing:border-box;line-height:1.2}.btn-secondary:hover:not(:disabled){background:#f8f6f2;border-color:#dcd7cc}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-fab{0%{box-shadow:0 0 #ed4432b3}70%{box-shadow:0 0 0 10px #ed443200}to{box-shadow:0 0 #ed443200}}@keyframes slide-up-fade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.ai-consent-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:#1e16129e}.ai-consent-dialog{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:32px;border-radius:18px;background:#fff;color:var(--text-primary);box-shadow:0 24px 70px #19100c4d}.ai-consent-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#f5f0eb;color:var(--text-primary);cursor:pointer}.ai-consent-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border-radius:14px;color:var(--primary);background:#fff2ec}.ai-consent-eyebrow{margin:0 0 6px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ai-consent-dialog h2{margin:0 40px 12px 0;font-size:24px}.ai-consent-dialog>p{line-height:1.6;color:var(--text-secondary)}.ai-consent-profile-notice{display:flex;gap:12px;margin:18px 0;padding:14px;border:1px solid #efc36d;border-radius:12px;background:#fff8e8;font-size:14px;line-height:1.5}.ai-consent-profile-notice svg{flex:0 0 auto;color:#996300}.ai-consent-points{display:grid;gap:8px;margin:18px 0;padding-left:22px;color:var(--text-secondary);font-size:14px;line-height:1.5}.ai-consent-check{display:flex;align-items:flex-start;gap:11px;margin:12px 0;font-size:14px;line-height:1.45;cursor:pointer}.ai-consent-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--primary)}.ai-consent-links{margin:16px 0 0;font-size:13px}.ai-consent-links a{color:var(--primary);font-weight:600}.ai-consent-error{margin-top:12px;padding:10px 12px;border-radius:9px;color:#a11919;background:#fff0f0;font-size:13px}.ai-consent-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ai-consent-actions button{min-height:44px;padding:0 18px;border-radius:999px;font-weight:600;cursor:pointer}.ai-consent-secondary{border:1px solid #d8d0c8;background:#fff;color:var(--text-primary)}.ai-consent-primary{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--primary);background:var(--primary);color:#fff}.ai-consent-actions button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:600px){.ai-consent-dialog{padding:26px 20px}.ai-consent-actions{flex-direction:column-reverse}.ai-consent-actions button{width:100%;justify-content:center}}.sidebar{background-color:var(--bg-main);border-right:1px solid #e5e1da;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;align-self:flex-start;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:visible;z-index:100;flex-shrink:0;--sidebar-nav-right-padding: 24px;--sidebar-nav-left-padding: 24px}.sidebar.expanded{width:260px}.sidebar.collapsed{width:75px;--sidebar-nav-right-padding: 0;--sidebar-nav-left-padding: 0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 24px 24px;position:relative;flex-shrink:0}.sidebar-logo{display:flex;align-items:center;cursor:pointer;overflow:hidden}.logo-image.full,.logo-image.small{height:40px;width:auto}.sidebar.collapsed .sidebar-logo{justify-content:center;width:100%}.sidebar-toggle-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;transition:opacity .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{opacity:.7}.sidebar-toggle-btn.external{position:absolute;top:44px;right:-28px;width:28px;height:28px;padding:0;background:var(--bg-main);border:1px solid transparent;border-top-color:#e5e1da;border-right-color:#e5e1da;border-radius:50%;transform:rotate(45deg) translate(-50%,-50%);transform-origin:top left;cursor:pointer;z-index:120}.sidebar-toggle-btn.external svg{margin:auto;transform:rotate(135deg)}.sidebar-toggle-btn.external:hover{background:#ebe7e0}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:12px var(--sidebar-nav-right-padding) 24px var(--sidebar-nav-left-padding);gap:0;overflow-y:auto;overflow-x:hidden}.nav-group{display:flex;flex-direction:column;gap:4px;align-items:center}.nav-action-group{margin-top:auto}.nav-item{display:flex;align-items:center;height:48px;padding:0 14px;gap:16px;width:min(100%,390px);color:var(--text-primary);border-radius:12px;cursor:pointer;transition:background-color .2s ease,color .2s ease;white-space:nowrap;overflow:hidden;font-size:15px;font-weight:500;text-decoration:none;position:relative}.sidebar.collapsed .nav-item{padding:0;justify-content:center}a.nav-item{text-decoration:none;color:inherit}button.nav-item{border:none;background:none;width:min(100%,390px);font-family:inherit;font-size:15px;font-weight:500;text-align:left}.nav-item.logout-btn{background:#4a150d;color:#fff;margin-top:auto;margin-bottom:12px;border-radius:12px;transition:background .2s ease,transform .1s ease}.nav-item.logout-btn .icon-wrapper{color:#fff}.nav-item.logout-btn:hover{background:#6d2114;background-color:#6d2114;transform:scale(.98);color:#fff}.sidebar.collapsed .nav-item.logout-btn{background:transparent;color:#4a150d}.sidebar.collapsed .nav-item.logout-btn .icon-wrapper{color:#4a150d}.sidebar.collapsed .nav-item.logout-btn:hover{background:#4a150d14;background-color:#4a150d14}.nav-item:hover{background-color:#fa3b140f}.nav-item.active{background-color:#fa3b141a;color:#fa3b14}.nav-item.nav-item-disabled{color:#6e6861;cursor:default}.nav-item.nav-item-disabled:hover{background-color:transparent}.nav-item .icon-wrapper{min-width:24px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.nav-badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-left:auto;flex-shrink:0}.nav-badge.collapsed{position:absolute;top:8px;right:8px;min-width:18px;height:18px;padding:0 5px;font-size:10px;margin-left:0}.nav-text{transition:opacity .2s ease}.nav-text.visible{opacity:1}.nav-text.hidden{opacity:0;width:0;overflow:hidden;position:absolute}.sidebar-profile{display:flex;flex-direction:column;align-items:center;padding:16px 0 8px;transition:padding .3s ease}.sidebar-profile.expanded .profile-image-container{width:100px;height:100px}.sidebar-profile.collapsed .profile-image-container{width:40px;height:40px}.profile-image-container{border-radius:50%;overflow:hidden;background:#dae3ef;transition:width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.profile-image-container.profile-shortcut-only{box-shadow:0 0 0 1.5px #443f3bc7}.profile-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.profile-name{margin-top:12px;font-size:16px;font-weight:500;color:#333;transition:opacity .2s ease;white-space:nowrap}.profile-name.visible{opacity:1}.profile-name.hidden{opacity:0;width:0;overflow:hidden;height:0;margin-top:0}.viewing-badge{position:absolute;bottom:0;left:-6px;background-color:#fff;border:1px solid #e0d9d0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);width:26px;height:26px;z-index:10;box-shadow:0 4px 12px #0000001a}.sidebar-profile.collapsed .viewing-badge{width:18px;height:18px;left:-4px;bottom:-2px}.profile-image-container{position:relative;cursor:pointer}.profile-image-container-wrapper{position:relative;display:inline-block}.switch-trigger-avatar{position:absolute;right:-6px;bottom:0;background-color:#fff;border:1px solid #e0d9d0;box-shadow:0 4px 12px #0000001a;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:width .2s cubic-bezier(.4,0,.2,1),height .2s cubic-bezier(.4,0,.2,1),right .2s cubic-bezier(.4,0,.2,1),bottom .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);z-index:10}.sidebar-profile.collapsed .switch-trigger-avatar{width:18px;height:18px;right:-4px;bottom:-2px}.switch-trigger-avatar:hover{color:var(--primary);border-color:#d6cfc5}.switch-chevron{transition:transform .2s}.switch-chevron.open{transform:rotate(180deg)}.profile-switcher-portal{background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:28px;border:1px solid #ebe4dd;box-shadow:0 10px 24px #443f3b1a,0 24px 48px #443f3b1f;width:332px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:0;animation:switcher-pop-down .25s cubic-bezier(.175,.885,.32,1.1);position:relative;max-width:calc(100vw - 32px);box-sizing:border-box}.profile-switcher-portal:before{content:"";position:absolute;top:-6px;left:var(--switcher-pointer-left, 50%);margin-left:-6px;width:12px;height:12px;background:#fffffff5;border-left:1px solid #ebe4dd;border-top:1px solid #ebe4dd;transform:rotate(45deg)}.profile-switcher-portal.mobile-sheet:before{display:none}@keyframes switcher-pop-down{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.switcher-header-label{padding:0 12px;margin-bottom:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a39d97}.switcher-actions{display:flex;flex-direction:column}.switcher-menu-action{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:14px;cursor:pointer;text-align:left;color:var(--text-secondary);transition:background-color .18s ease,color .18s ease}.switcher-menu-action+.switcher-menu-action{margin-top:18px}.switcher-menu-action:hover{background:#ed44320a}.switcher-menu-action-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.switcher-menu-action-divider{width:1px;height:18px;background:#ddd5cd;flex-shrink:0}.switcher-menu-action-label{display:block;flex:1;min-width:0;font-size:15px;font-weight:700;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-menu-action.switch-self{color:var(--primary)}.switcher-menu-action.switch-self:hover{background:#ed44320f}.switcher-profile-list{display:flex;flex-direction:column;gap:10px}.switcher-profile-pill{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;border:1px solid #D8D0C8;background:#fff;border-radius:18px;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.switcher-profile-pill:hover{border-color:#fa3b14;box-shadow:0 0 0 3px #fa3b1414}.switcher-avatar{width:38px;height:38px;border-radius:999px;overflow:hidden;flex-shrink:0;border:1px solid #E6DFD8}.switcher-profile-name{display:block;flex:1;min-width:0;font-weight:500;font-size:15px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-profile-link{border:2px solid rgba(237,68,50,.92)}.switcher-profile-link-icon{width:38px;height:38px;border-radius:999px;border:1px solid #D8D0C8;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-primary);background:#fff}.switcher-profile-link .switcher-profile-name{font-weight:700}.profile-switcher-divider{height:1px;background:#eee8e2;margin:14px 4px 12px}.sidebar-profile{position:relative}@media(max-width:767px){.profile-switcher-portal.mobile-sheet{width:auto!important;max-width:none;max-height:min(70vh,560px);overflow-y:auto;padding:18px 16px calc(env(safe-area-inset-bottom,0px) + 18px);border-radius:28px;box-shadow:0 16px 40px #0000002e,inset 0 0 0 1px #fff6}.profile-switcher-portal.mobile-sheet .switcher-menu-action{padding-left:8px;padding-right:8px}.profile-switcher-portal.mobile-sheet .switcher-profile-pill{min-height:56px;padding:10px 14px}}.mobile-bottom-nav-shell{display:none;position:fixed;left:0;right:0;bottom:0;z-index:240;pointer-events:none}.mobile-bottom-nav{position:relative;display:flex;height:64px;background:#fff;border-top:1px solid #e5e1da;align-items:center;justify-content:space-around;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0);pointer-events:auto}@media(max-width:767px){.mobile-bottom-nav-shell{display:flex;flex-direction:column;align-items:stretch}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;border-radius:12px;color:var(--text-secondary);text-decoration:none;font-size:11px;font-weight:500;transition:color .2s;flex:1;position:relative}.mobile-nav-button{border:none;background:transparent;font-family:inherit;cursor:pointer}.mobile-nav-item.active,.mobile-nav-item:hover{color:var(--primary)}.mobile-nav-fab{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #ed44324d;margin-top:-18px;transition:transform .2s,box-shadow .2s;flex-shrink:0}.mobile-nav-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #ed443266}.mobile-nav-fab:active{transform:scale(.95)}.mobile-more-menu{align-self:flex-end;width:min(280px,calc(100vw - 24px));margin:0 12px 10px;padding:10px;border:1px solid #e5e1da;border-radius:20px;background:#fffffffa;box-shadow:0 18px 40px #443f3b29;display:grid;gap:6px;pointer-events:auto}.mobile-more-item{width:100%;min-height:44px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:14px;background:transparent;color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:600;font-family:inherit;text-align:left;cursor:pointer;position:relative}.mobile-more-item.active,.mobile-more-item:hover{background:#ed443214;color:var(--primary)}.mobile-more-item.disabled,.mobile-more-item.disabled:hover{color:#a39a91;background:transparent;cursor:default}.mobile-more-item-badge,.mobile-more-trigger-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.mobile-more-item-badge{margin-left:auto}.mobile-more-trigger-badge{position:absolute;top:4px;right:14px;min-width:18px;height:18px;padding:0 5px;font-size:10px}.nutrition-record-editor{width:100%;min-width:0}.nutrition-record-help{color:#64748b;font-size:13px;line-height:1.5}.nutrition-record-section{margin:10px 0;border:1px solid #dbe3ed;border-radius:10px;background:#fff}.nutrition-record-section summary{padding:14px;cursor:pointer;font-weight:600;min-height:44px;overflow-wrap:anywhere}.nutrition-record-section summary span{color:#64748b;font-weight:400}.nutrition-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;padding:0 14px 14px}.nutrition-record-field{display:flex;flex-direction:column;gap:6px;min-width:0}.nutrition-record-field label{font-size:13px;color:#334155;overflow-wrap:anywhere}.nutrition-record-field input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:7px;padding:10px;font:inherit;background:#fff;color:#0f172a}.nutrition-record-field input:focus{outline:2px solid #2563eb;outline-offset:1px}.nutrition-record-field input[aria-invalid=true]{border-color:#dc2626}.nutrition-record-error{font-size:12px;color:#b91c1c}.meal-wizard-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:var(--bg-main, #F5F5F0);z-index:9999;display:flex;flex-direction:column;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#0f172a}.meal-wizard-fullscreen{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}.meal-wizard-header{display:flex;align-items:center;justify-content:space-between;height:64px;border-bottom:1px solid #e2e8f0;background:var(--bg-main, #F5F5F0);position:sticky;top:0;z-index:20}.meal-wizard-nav-left{display:flex;align-items:center;gap:16px}.meal-wizard-title{font-size:1.25rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px}.meal-wizard-mode-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:9999px;background:#e2e8f0;color:#475569}.meal-wizard-close-btn{border:none;background:transparent;color:#64748b;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.meal-wizard-header-actions{display:flex;align-items:center;gap:8px}.meal-wizard-delete-btn{border:none;background:transparent;color:#ef4444;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.meal-wizard-delete-btn:hover{background:#fef2f2;color:#b91c1c}.meal-wizard-stepper-bar{padding:16px 0 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.meal-stepper-container{display:flex;align-items:center;justify-content:space-between;max-width:820px;margin:0 auto;position:relative}.meal-stepper-line{position:absolute;top:16px;left:40px;right:40px;height:2px;background:#e2e8f0;z-index:0}.meal-stepper-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;border:none;background:transparent;cursor:pointer;gap:6px;padding:0 4px}.meal-stepper-item:disabled{cursor:not-allowed;opacity:.7}.meal-step-circle{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #cbd5e1;color:#64748b;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.meal-stepper-item.active .meal-step-circle{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 0 0 4px #ef444433}.meal-stepper-item.completed .meal-step-circle{background:#10b981;border-color:#10b981;color:#fff}.meal-step-label-group{display:flex;align-items:center;gap:4px}.meal-step-label{font-size:.825rem;font-weight:600;color:#64748b;white-space:nowrap}.meal-stepper-item.active .meal-step-label{color:#ef4444;font-weight:700}.meal-stepper-item.completed .meal-step-label{color:#0f172a}.meal-step-opt{font-size:.725rem;font-weight:400;color:#94a3b8}.meal-step-ai-badge{font-size:.7rem;font-weight:700;color:#8b5cf6;background:#ede9fe;padding:1px 6px;border-radius:9999px;display:inline-flex;align-items:center;gap:2px}.meal-wizard-body{display:grid;grid-template-columns:1fr 380px;gap:32px;flex:1;padding:24px 0 100px;box-sizing:border-box}.meal-step-form-col{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:24px;min-width:0;max-width:100%;box-sizing:border-box}.meal-basket-col{position:sticky;top:88px;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto}.ai-review-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:12px;margin-bottom:20px}.ai-review-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-review-title{font-size:.9rem;font-weight:700;color:#5b21b6;display:flex;align-items:center;gap:6px}.ai-review-sub{font-size:.8rem;color:#6d28d9}.ai-review-badges{display:flex;align-items:center;gap:6px}.ai-count-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:9999px;background:#fff;color:#6d28d9;border:1px solid #ddd6fe}.ai-review-actions{display:flex;align-items:center;gap:8px}.ai-review-undo-btn,.ai-review-review-btn{border:1px solid #c4b5fd;background:#fff;color:#6d28d9;padding:6px 12px;border-radius:8px;font-size:.825rem;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:4px}.ai-review-undo-btn:hover,.ai-review-review-btn:hover{background:#f5f3ff}.step-section-header{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.step-section-title{font-size:1.15rem;font-weight:700;color:#0f172a}.step-section-sub{font-size:.85rem;color:#64748b}.step1-datetime-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field-group{display:flex;flex-direction:column;gap:6px}.form-field-label{font-size:.85rem;font-weight:600;color:#334155;display:flex;align-items:center;gap:4px}.form-field-input,.form-field-textarea{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:.95rem;color:#0f172a;background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.form-field-input:focus,.form-field-textarea:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.form-field-textarea{min-height:80px;resize:vertical}.meal-type-selector-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-type-pill{padding:8px 16px;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.meal-type-pill:hover{background:#f1f5f9;border-color:#94a3b8}.meal-type-pill.active{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 2px 4px #ef444440}.meal-rating-header{display:flex;align-items:center;justify-content:space-between}.meal-rating-clear-btn{border:none;background:transparent;color:#64748b;font-size:.75rem;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}.meal-rating-clear-btn:hover{color:#ef4444;background:#fee2e2}.meal-rating-control-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-wrap:wrap}.meal-rating-stars-list{display:flex;align-items:center;gap:4px}.meal-rating-star-btn{border:none;background:transparent;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:transform .1s ease}.meal-rating-star-btn:hover:not(:disabled){transform:scale(1.18)}.meal-rating-star-btn:disabled{cursor:not-allowed;opacity:.6}.meal-rating-score-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:.8rem;font-weight:700;letter-spacing:.01em;box-shadow:0 1px 3px #0000001a}.meal-rating-unrated-hint{font-size:.8rem;color:#94a3b8;font-style:italic}.media-attachment-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.media-attach-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.media-attach-btn:hover{background:#f8fafc;border-color:#94a3b8}.media-badge-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;background:#e0f2fe;color:#0369a1;font-size:.8rem;font-weight:600;border:1px solid #bae6fd}.media-badge-remove-btn{border:none;background:transparent;color:#0284c7;cursor:pointer;padding:0 2px;font-size:.9rem;display:flex;align-items:center;border-radius:50%}.media-badge-remove-btn:hover{color:#ef4444}.tags-input-container{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.tag-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;background:#f1f5f9;color:#334155;font-size:.8rem;font-weight:600}.tag-pill-remove{border:none;background:transparent;color:#64748b;cursor:pointer;padding:0;font-size:.85rem;display:flex;align-items:center}.tag-pill-remove:hover{color:#ef4444}.tag-inline-input{border:none;outline:none;font-size:.9rem;color:#0f172a;flex:1;min-width:140px;padding:4px 0}.operational-toggles-container{display:flex;flex-direction:column;gap:12px;padding-top:8px;border-top:1px solid #f1f5f9}.operational-toggle-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9;transition:background .15s}.operational-toggle-item:hover{background:#f1f5f9}.toggle-info-group{display:flex;flex-direction:column;gap:2px}.toggle-title{font-size:.9rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:6px}.toggle-subtext{font-size:.8rem;color:#64748b}.switch-slider{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch-slider input{opacity:0;width:0;height:0}.slider-track{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.2s;border-radius:24px}.slider-track:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 2px #0003}.switch-slider input:checked+.slider-track{background-color:#ef4444}.switch-slider input:checked+.slider-track:before{transform:translate(20px)}.ai-fill-action-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:14px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe}.ai-fill-card-text{display:flex;flex-direction:column;gap:2px}.ai-fill-card-title{font-size:.95rem;font-weight:700;color:#5b21b6;display:flex;align-items:center;gap:6px}.ai-fill-card-sub{font-size:.8rem;color:#6d28d9}.ai-fill-trigger-btn{border:none;background:#7c3aed;color:#fff;padding:10px 18px;border-radius:10px;font-size:.875rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,transform .1s;white-space:nowrap;box-shadow:0 2px 4px #7c3aed40}.ai-fill-trigger-btn:hover:not(:disabled){background:#6d28d9;transform:translateY(-1px)}.ai-fill-trigger-btn:disabled{opacity:.6;cursor:not-allowed}.basket-panel-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:20px}.basket-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.basket-panel-title{font-size:1.05rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px}.basket-item-count-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:9999px;background:#f1f5f9;color:#475569}.basket-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;gap:12px}.basket-empty-icon{width:48px;height:48px;color:#cbd5e1}.basket-empty-text{font-size:.85rem;color:#64748b;line-height:1.4;max-width:240px}.basket-items-list{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto}.basket-item-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.basket-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.basket-item-name{font-size:.875rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.basket-item-sub{font-size:.775rem;color:#64748b}.basket-item-ai-tag{font-size:.7rem;font-weight:600;color:#7c3aed;display:inline-flex;align-items:center;gap:2px}.basket-item-actions{display:flex;align-items:center;gap:4px}.basket-item-action-btn{border:none;background:transparent;color:#64748b;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.basket-item-action-btn:hover{background:#e2e8f0;color:#0f172a}.basket-item-action-btn.delete:hover{background:#fee2e2;color:#ef4444}.nutrition-totals-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}.nutrition-totals-header{display:flex;align-items:center;justify-content:space-between}.nutrition-totals-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.nutrition-main-macros{display:grid;grid-template-columns:1fr 1fr;gap:10px}.macro-stat-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}.macro-stat-box.highlight{background:#fef2f2;border-color:#fecaca}.macro-stat-box.highlight .macro-stat-val{color:#dc2626}.macro-stat-label{font-size:.725rem;font-weight:600;color:#64748b}.macro-stat-val{font-size:1.1rem;font-weight:800;color:#0f172a}.macro-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.macro-detail-row{display:flex;align-items:center;justify-content:space-between;font-size:.775rem}.macro-detail-label{color:#64748b}.macro-detail-val{font-weight:600;color:#1e293b}.nutrition-expander-btn{border:none;background:transparent;color:#ef4444;font-size:.775rem;font-weight:600;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;margin-top:4px}.nutrition-expander-btn:hover{text-decoration:underline}.step-checklist-card{border-top:1px solid #f1f5f9;padding-top:16px;display:flex;flex-direction:column;gap:10px}.checklist-title{font-size:.775rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.checklist-item{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#64748b}.checklist-item-left{display:flex;align-items:center;gap:8px}.checklist-item.done{color:#0f172a;font-weight:600}.checklist-check-icon{width:16px;height:16px;color:#cbd5e1}.checklist-item.done .checklist-check-icon{color:#10b981}.meal-wizard-footer{position:fixed;bottom:0;left:0;right:0;height:72px;background:var(--bg-main, #F5F5F0);border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:30;box-shadow:0 -2px 8px #0000000a}.footer-left,.footer-right{display:flex;align-items:center;gap:12px}.wizard-btn-secondary{border:1px solid #cbd5e1;background:#fff;color:#334155;padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.wizard-btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.wizard-btn-primary{border:none;background:#ef4444;color:#fff;padding:11px 24px;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 6px #ef44444d}.wizard-btn-primary:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.wizard-btn-primary:disabled{opacity:.6;cursor:not-allowed}.wizard-error-banner{padding:10px 16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.85rem;font-weight:500;margin-bottom:8px}.context-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.context-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#fff;border:1.5px solid #e2e8f0;cursor:pointer;text-align:left;transition:all .15s ease}.context-card:hover{background:#f8fafc;border-color:#cbd5e1}.context-card.active{background:#fff5f5;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.context-card-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.context-card-label{font-size:.9rem;font-weight:600;color:#1e293b;flex:1}.context-card.active .context-card-label{color:#b91c1c}.context-followup-section{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid #e2e8f0;animation:fadeIn .2s ease-in-out}.followup-question-title{font-size:.95rem;font-weight:700;color:#0f172a}.followup-question-sub{font-size:.8rem;color:#64748b}.low-sugar-causes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cause-checkbox-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;font-size:.85rem;font-weight:500;color:#334155;transition:all .15s}.cause-checkbox-item:hover{background:#f1f5f9}.cause-checkbox-item.checked{background:#fef2f2;border-color:#fca5a5;color:#b91c1c;font-weight:600}.cause-checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#ef4444;cursor:pointer}.context-description-input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:.9rem;color:#0f172a;box-sizing:border-box}.context-description-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.mood-emojis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mood-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;border:1.5px solid #e2e8f0;cursor:pointer;text-align:left;transition:all .15s ease}.mood-card:hover{background:#f8fafc;border-color:#cbd5e1}.mood-card.active{background:#fff5f5;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.mood-card-emoji{font-size:1.4rem;line-height:1;flex-shrink:0}.mood-card-label{font-size:.85rem;font-weight:600;color:#334155;flex:1}.mood-card.active .mood-card-label{color:#b91c1c}.intensity-scale-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.intensity-step-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .15s}.intensity-step-btn:hover{background:#f8fafc;border-color:#cbd5e1}.intensity-step-btn.active{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 2px 4px #ef444440}.intensity-num{font-size:1rem;font-weight:800}.intensity-label{font-size:.7rem;color:#64748b;white-space:nowrap}.intensity-step-btn.active .intensity-label{color:#fff}.impact-buttons-row{display:flex;align-items:center;gap:10px}.impact-btn{flex:1;padding:10px 16px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.875rem;font-weight:600;color:#334155;cursor:pointer;transition:all .15s}.impact-btn:hover{background:#f8fafc}.impact-btn.active{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 2px 4px #ef444440}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.step4-top-action-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step4-search-field-wrap{position:relative;flex:1;display:flex;align-items:center}.step4-search-icon{position:absolute;left:14px;color:#94a3b8;pointer-events:none}.step4-search-input{width:100%;padding:10px 36px 10px 42px;border-radius:12px;border:1.5px solid #cbd5e1;background:#fff;font-size:.9rem;color:#0f172a;transition:all .15s;box-sizing:border-box}.step4-search-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.step4-search-clear-btn{position:absolute;right:12px;background:none;border:none;padding:4px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.step4-search-clear-btn:hover{color:#475569;background:#f1f5f9}.step4-scan-barcode-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:#1e293b;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.step4-scan-barcode-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.step4-tabs-container{display:flex;align-items:center;gap:8px;padding:4px;background:#f1f5f9;border-radius:12px;margin-bottom:20px;width:100%;max-width:100%;box-sizing:border-box}.step4-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:9px;border:none;background:transparent;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .15s ease}.step4-tab-btn:hover{color:#0f172a}.step4-tab-btn.active{background:#fff;color:#b91c1c;box-shadow:0 1px 3px #00000014}.step4-tab-content,.subview-public-library,.subview-my-foods,.subview-brands-list,.subview-brand-detail{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.subview-pills-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.subview-pill-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;transition:all .15s}.subview-pill-btn:hover{background:#f8fafc;border-color:#cbd5e1}.subview-pill-btn.active{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.subview-loading-state,.subview-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;text-align:center;color:#64748b}.subview-empty-icon{color:#94a3b8}.subview-empty-text{font-size:.95rem;font-weight:600;color:#334155;margin:0}.subview-empty-subtext{font-size:.85rem;color:#94a3b8;margin:0;max-width:320px}.subview-error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;font-size:.85rem;margin-bottom:16px}.subview-food-cards-list{display:flex;flex-direction:column;gap:12px}.food-browse-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;transition:all .15s ease}.food-browse-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.food-browse-card.item-just-added{border-color:#10b981;background:#f0fdf4}.food-browse-card-top{display:flex;align-items:flex-start;gap:12px}.food-browse-img-wrap{width:48px;height:48px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.food-browse-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.food-browse-img-fallback{color:#94a3b8}.food-browse-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.food-browse-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.food-browse-name{font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.3}.food-combo-pill{font-size:.7rem;font-weight:700;text-transform:uppercase;background:#ede9fe;color:#6d28d9;padding:2px 6px;border-radius:6px;letter-spacing:.03em}.food-browse-brand{font-size:.8rem;color:#64748b;font-weight:500}.food-browse-base-macros{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#475569;margin-top:2px;font-weight:500}.food-browse-per100{color:#94a3b8;font-size:.72rem}.food-browse-portion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px dashed #f1f5f9;flex-wrap:wrap}.portion-selector-group{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.food-portion-select{flex:1;padding:6px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:.825rem;color:#1e293b;outline:none}.custom-grams-input-wrap{display:flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:4px 8px}.custom-grams-input{width:50px;border:none;background:transparent;font-size:.825rem;font-weight:600;color:#0f172a;outline:none;text-align:right}.custom-grams-unit{font-size:.8rem;color:#64748b}.portion-qty-multiplier{display:flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:2px 4px}.qty-step-btn{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-weight:700;color:#334155;border-radius:4px;display:flex;align-items:center;justify-content:center}.qty-step-btn:hover:not(:disabled){background:#e2e8f0}.qty-display-val{font-size:.8rem;font-weight:700;color:#0f172a;padding:0 4px;min-width:24px;text-align:center}.food-portion-action-group{display:flex;align-items:center;gap:12px}.food-portion-calc-macros{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.calc-macro-cals{font-size:.825rem;font-weight:700;color:#0f172a}.calc-macro-carbs{font-size:.75rem;font-weight:600;color:#dc2626}.food-add-basket-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:none;background:#ef4444;color:#fff;font-size:.825rem;font-weight:700;cursor:pointer;transition:all .15s ease}.food-add-basket-btn:hover{background:#dc2626}.food-add-basket-btn.added{background:#10b981}.public-catalog-attribution{display:flex;align-items:center;gap:6px;padding:16px 0 8px;font-size:.75rem;color:#94a3b8;justify-content:center}.brands-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.brand-tile-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px 12px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease}.brand-tile-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.brand-tile-logo-wrap{width:52px;height:52px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-tile-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:4px}.brand-tile-logo-fallback{color:#94a3b8}.brand-tile-info{display:flex;flex-direction:column;gap:2px}.brand-tile-name{font-size:.875rem;font-weight:700;color:#1e293b}.brand-tile-count{font-size:.75rem;color:#64748b}.subview-brand-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.brand-back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:.825rem;font-weight:600;color:#475569;cursor:pointer}.brand-back-btn:hover{background:#f8fafc;color:#0f172a}.selected-brand-badge{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700;color:#0f172a}.manual-food-form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.manual-form-intro{display:flex;flex-direction:column;gap:2px}.manual-form-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0}.manual-form-hint{font-size:.825rem;color:#64748b;margin:0}.manual-fields-row{display:flex;gap:12px;flex-wrap:wrap}.manual-input-group{display:flex;flex-direction:column;gap:6px}.manual-input-group.flex-2{flex:2;min-width:180px}.manual-input-group.flex-1{flex:1;min-width:100px}.manual-field-label{font-size:.8rem;font-weight:600;color:#475569}.manual-text-input,.manual-select-input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5e1;font-size:.9rem;color:#0f172a;outline:none;background:#fff;box-sizing:border-box}.manual-text-input:focus,.manual-select-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.manual-macros-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.manual-macro-box{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.manual-macro-box.highlight-carbs{background:#fef2f2;border-color:#fca5a5}.macro-input-label{font-size:.75rem;font-weight:600;color:#64748b}.manual-macro-box.highlight-carbs .macro-input-label{color:#b91c1c}.macro-number-input{border:none;background:transparent;font-size:1.1rem;font-weight:700;color:#0f172a;outline:none;width:100%}.manual-advanced-section{display:flex;flex-direction:column;gap:10px}.manual-advanced-toggle-btn{display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:8px 0;color:#64748b;font-size:.825rem;font-weight:600;cursor:pointer}.manual-advanced-toggle-btn:hover{color:#0f172a}.manual-advanced-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:4px}.manual-notice-box{font-size:.78rem;color:#64748b;background:#f8fafc;padding:8px 12px;border-radius:8px;border-left:3px solid #cbd5e1}.manual-form-actions{display:flex;justify-content:flex-end;padding-top:6px}.manual-submit-btn{display:flex;align-items:center;gap:8px;padding:11px 22px;border-radius:12px;border:none;background:#ef4444;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s}.manual-submit-btn:hover:not(:disabled){background:#dc2626}.manual-submit-btn:disabled{opacity:.5;cursor:not-allowed}.meal-wizard-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;animation:fadeIn .2s ease-out}.barcode-modal-content{background:var(--bg-main, #F5F5F0);border-radius:20px;width:100%;max-width:480px;box-shadow:0 20px 40px #0003;overflow:hidden;animation:fadeIn .2s ease-out}.barcode-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:var(--bg-main, #F5F5F0)}.barcode-modal-title-group{display:flex;align-items:center;gap:8px}.barcode-modal-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0}.barcode-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.barcode-camera-viewport{position:relative;width:100%;height:240px;background:#0f172a;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}.barcode-camera-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.barcode-camera-frame{position:absolute;width:200px;height:120px;border:2px solid #ef4444;border-radius:10px;box-shadow:0 0 0 9999px #0006;pointer-events:none}.barcode-camera-instructions{position:absolute;bottom:12px;font-size:.8rem;color:#fff;background:#0009;padding:4px 10px;border-radius:20px}.barcode-camera-fallback-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#1e293b;color:#cbd5e1;font-size:.85rem;text-align:center}.camera-upload-photo-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.825rem;font-weight:600;cursor:pointer}.barcode-manual-input-form{width:100%}.barcode-manual-field-wrap{display:flex;align-items:center;border:1.5px solid #cbd5e1;border-radius:12px;overflow:hidden;background:#fff}.barcode-manual-input{flex:1;padding:10px 14px;border:none;font-size:.9rem;color:#0f172a;outline:none}.barcode-manual-submit-btn{padding:10px 16px;background:#f8fafc;border:none;border-left:1px solid #cbd5e1;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center}.barcode-manual-submit-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.barcode-error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;font-size:.85rem}.barcode-found-product-card{display:flex;flex-direction:column;gap:16px}.found-product-top{display:flex;align-items:center;gap:14px}.found-product-img-wrap{width:64px;height:64px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.found-product-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.found-product-fallback-icon{color:#94a3b8}.found-product-info{display:flex;flex-direction:column;gap:2px}.found-badge{font-size:.7rem;font-weight:700;color:#15803d;background:#dcfce7;padding:2px 8px;border-radius:10px;align-self:flex-start}.found-product-name{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0}.found-product-brand{font-size:.825rem;color:#64748b}.found-product-portion-section{display:flex;flex-direction:column;gap:10px;background:#f8fafc;padding:14px;border-radius:12px;border:1px solid #e2e8f0}.found-portion-label{font-size:.8rem;font-weight:600;color:#475569}.found-portion-controls-row{display:flex;align-items:center;gap:8px}.found-portion-select{flex:1;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:.85rem;color:#0f172a}.found-product-macros-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:8px;border-top:1px solid #e2e8f0}.preview-macro-stat{display:flex;flex-direction:column;gap:2px}.p-macro-label{font-size:.7rem;color:#64748b}.p-macro-val{font-size:.85rem;font-weight:700;color:#0f172a}.p-macro-val.highlight{color:#dc2626}.found-product-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.barcode-btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;background:#ef4444;color:#fff;border:none;font-size:.875rem;font-weight:700;cursor:pointer}.barcode-btn-primary:hover{background:#dc2626}.barcode-btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;background:#fff;color:#475569;border:1px solid #cbd5e1;font-size:.875rem;font-weight:600;cursor:pointer}.barcode-btn-secondary:hover{background:#f8fafc}.barcode-not-found-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 6px}.not-found-icon-wrap{width:60px;height:60px;border-radius:50%;background:#fef3c7;display:flex;align-items:center;justify-content:center}.not-found-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0}.not-found-msg{font-size:.85rem;color:#64748b;margin:0;max-width:320px}.not-found-actions-column{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:10px}.not-found-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .15s}.not-found-action-btn.primary{background:#ef4444;color:#fff}.not-found-action-btn.primary:hover{background:#dc2626}.not-found-action-btn.incomplete{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.not-found-action-btn.incomplete:hover{background:#ffedd5}.not-found-action-btn.subtle{background:transparent;color:#64748b}.not-found-action-btn.subtle:hover{color:#0f172a;background:#f8fafc}@media(max-width:960px){.meal-wizard-fullscreen{padding:0 16px}.meal-wizard-body{grid-template-columns:1fr;gap:24px;padding-bottom:120px}.meal-basket-col{position:static;max-height:none}.meal-stepper-container{max-width:100%}.context-cards-grid,.low-sugar-causes-grid{grid-template-columns:repeat(2,1fr)}.mood-emojis-grid{grid-template-columns:repeat(3,1fr)}.manual-macros-grid,.manual-advanced-grid{grid-template-columns:repeat(2,1fr)}.meal-wizard-footer{padding:0 20px}}@media(max-width:640px){.meal-wizard-fullscreen{padding:0 12px}.meal-step-form-col{padding:18px 14px;border-radius:14px;gap:18px}.meal-wizard-stepper-bar{padding:12px 0 14px}.meal-stepper-container{padding:0 4px}.meal-step-circle{width:28px;height:28px;font-size:.8rem}.meal-stepper-line{top:14px;left:20px;right:20px}.meal-step-label{font-size:.75rem}.meal-step-opt{display:none}.context-cards-grid,.low-sugar-causes-grid{grid-template-columns:1fr}.mood-emojis-grid{grid-template-columns:repeat(2,1fr)}.intensity-scale-row{gap:4px}.intensity-step-btn{padding:8px 4px}.intensity-num{font-size:.9rem}.intensity-label{font-size:.65rem}.impact-buttons-row{gap:6px}.impact-btn{padding:8px 10px;font-size:.8rem}.step1-datetime-grid{grid-template-columns:1fr;gap:12px}.meal-rating-control-bar{flex-direction:column;align-items:flex-start;gap:8px}.ai-review-banner{flex-direction:column;align-items:flex-start;gap:10px}.ai-review-actions{width:100%;justify-content:flex-end}.step4-top-action-bar{flex-direction:column;align-items:stretch;gap:10px}.step4-scan-barcode-btn{justify-content:center}.step4-tabs-container{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:5px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.step4-tab-btn{width:100%;min-width:0;padding:9px 8px;font-size:.8rem;gap:6px;justify-content:center;text-align:center;box-sizing:border-box}.step4-tab-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subview-pills-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box}.subview-pill-btn{padding:5px 12px;font-size:.76rem;border-radius:16px;white-space:nowrap}.subview-food-cards-list{gap:10px}.food-browse-card{padding:12px;border-radius:12px;gap:10px}.food-browse-card:active{transform:scale(.995)}.food-browse-card-top{gap:10px}.food-browse-img-wrap{width:44px;height:44px;border-radius:9px}.food-browse-name{font-size:.92rem;word-break:break-word}.food-browse-base-macros{flex-wrap:wrap;gap:4px 6px;font-size:.75rem}.food-browse-portion-row{flex-direction:column;align-items:stretch;gap:10px;padding-top:10px;border-top:1px dashed #e2e8f0}.portion-selector-group{width:100%;min-width:0;display:flex;align-items:center;gap:8px}.food-portion-select{flex:1;min-width:0;height:38px;padding:0 10px;border-radius:8px;font-size:.825rem}.portion-qty-multiplier{height:38px;display:flex;align-items:center;gap:2px;padding:0 4px;border-radius:8px;flex-shrink:0}.qty-step-btn{width:32px;height:32px;border-radius:6px;font-size:1.1rem;font-weight:700;color:#1e293b}.qty-step-btn:active:not(:disabled){background:#e2e8f0;transform:scale(.95)}.qty-display-val{min-width:28px;font-size:.85rem;font-weight:700}.custom-grams-input-wrap{height:38px;padding:0 8px;border-radius:8px;flex-shrink:0}.custom-grams-input{width:52px;font-size:.85rem}.food-portion-action-group{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.food-portion-calc-macros{flex-direction:row;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;min-height:38px;box-sizing:border-box}.calc-macro-cals{font-size:.85rem;font-weight:700;color:#0f172a}.calc-macro-carbs{font-size:.8rem;font-weight:700;color:#dc2626}.food-add-basket-btn{height:38px;padding:0 16px;border-radius:8px;font-size:.85rem;font-weight:700;flex-shrink:0}.food-add-basket-btn:active{transform:scale(.97)}.brands-tiles-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.meal-wizard-footer{height:66px;padding:0 14px}.wizard-btn-secondary{padding:8px 14px;font-size:.825rem}.wizard-btn-primary{padding:9px 18px;font-size:.875rem}}@media(max-width:480px){.meal-wizard-fullscreen{padding:0 8px}.meal-wizard-header{height:56px}.meal-wizard-title{font-size:1.1rem}.meal-step-form-col{padding:16px 12px}.step-section-title{font-size:1.05rem}.step-section-sub{font-size:.8rem}.step4-tabs-container{gap:5px;padding:4px}.step4-tab-btn{padding:8px 6px;font-size:.775rem;gap:5px}.subview-pills-row{gap:5px;margin-bottom:10px}.subview-pill-btn{padding:5px 10px;font-size:.74rem;gap:4px}.food-browse-card{padding:10px 11px;gap:9px}.food-browse-img-wrap{width:40px;height:40px;border-radius:8px}.food-browse-name{font-size:.88rem}.food-browse-base-macros{font-size:.72rem;gap:3px 5px}.food-portion-select{height:36px;font-size:.8rem;padding:0 8px}.portion-qty-multiplier{height:36px}.qty-step-btn{width:30px;height:30px;font-size:1rem}.custom-grams-input-wrap{height:36px}.food-portion-calc-macros{padding:5px 10px;gap:6px;min-height:36px}.calc-macro-cals{font-size:.825rem}.calc-macro-carbs{font-size:.78rem}.food-add-basket-btn{height:36px;padding:0 14px;font-size:.825rem}.brands-tiles-grid{grid-template-columns:repeat(2,1fr);gap:8px}.brand-tile-card{padding:12px 6px;gap:8px}.manual-food-form{padding:14px 12px}.manual-fields-row{flex-direction:column;gap:10px}.manual-input-group.flex-2,.manual-input-group.flex-1{min-width:100%}.manual-macros-grid,.manual-advanced-grid{grid-template-columns:1fr 1fr;gap:8px}.macro-number-input{font-size:1rem}.barcode-modal-content{margin:8px;border-radius:16px;max-height:calc(100vh - 16px)}.barcode-modal-body{padding:14px}.barcode-camera-viewport{height:180px}.found-product-macros-preview{grid-template-columns:repeat(2,1fr);gap:8px}.meal-wizard-footer{height:60px;padding:0 10px}.footer-left,.footer-right{gap:6px}.wizard-btn-secondary{padding:7px 10px;font-size:.78rem}.wizard-btn-primary{padding:8px 12px;font-size:.82rem}}.time-wheel-picker{--time-wheel-height: 46px;--time-wheel-inner-height: 38px;--time-wheel-surface: #ffffff;--time-wheel-border: #e5e1da;--time-wheel-border-hover: #dcd5cc;--time-wheel-border-focus: var(--primary);--time-wheel-accent-bg: transparent;--time-wheel-accent-border: transparent;--time-wheel-text: var(--text-primary);--time-wheel-text-muted: rgba(138, 128, 117, .32);--time-wheel-text-selected: var(--text-primary);width:100%}.time-wheel-picker__frame{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:var(--time-wheel-height);padding:3px;border-radius:8px;border:1px solid var(--time-wheel-border);background:var(--time-wheel-surface);overflow:hidden;box-sizing:border-box;transition:border-color .2s ease}.time-wheel-picker__frame:hover{border-color:var(--time-wheel-border-hover)}.time-wheel-picker__frame:focus-within{border-color:var(--time-wheel-border-focus)}.time-wheel-picker__highlight{position:absolute;inset:3px;border-radius:7px;background:var(--time-wheel-accent-bg);border:1px solid var(--time-wheel-accent-border);pointer-events:none}.time-wheel-picker__column{position:relative;height:var(--time-wheel-inner-height);overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:ns-resize;outline:none}.time-wheel-picker__column.is-dragging{cursor:grabbing}.time-wheel-picker__separator{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:20px;color:var(--time-wheel-text-selected);font-size:18px;font-weight:500;line-height:1;font-family:inherit;font-variant-numeric:tabular-nums lining-nums}.time-wheel-picker__option{position:absolute;inset-inline:0;top:50%;display:flex;align-items:center;justify-content:center;color:var(--time-wheel-text-muted);font-size:16px;font-weight:500;font-family:inherit;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;pointer-events:none;transition:transform .16s ease,opacity .16s ease,color .16s ease}.time-wheel-picker__column.is-dragging .time-wheel-picker__option{transition:none}.time-wheel-picker__option.is-selected{color:var(--time-wheel-text-selected)}.time-wheel-picker.is-disabled,.time-wheel-picker.is-read-only{opacity:.62}.time-wheel-picker.is-disabled .time-wheel-picker__column,.time-wheel-picker.is-read-only .time-wheel-picker__column{cursor:default}@media(max-width:600px){.time-wheel-picker{--time-wheel-height: 44px;--time-wheel-inner-height: 36px}.time-wheel-picker__option{font-size:15px}.time-wheel-picker__separator{font-size:17px}}.ai-viewed-profile-disclosure{margin:4px 0 8px;padding:10px 12px;border:1px solid #ead39a;border-radius:10px;background:#fff9eb;color:#755716;font-size:12px;line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:#0006;z-index:500;display:flex;align-items:flex-end;justify-content:center;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;animation:modal-slide-up .25s ease-out;box-shadow:0 -8px 40px #00000026}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0ece4;position:sticky;top:0;background:#fff;border-radius:24px 24px 0 0;z-index:1}.modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-close-btn{width:32px;height:32px;border:none;background:#f5f2ed;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.modal-close-btn:hover{background:#ebe7e0;color:var(--text-primary)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.modal-form-group{display:flex;flex-direction:column;gap:6px}.modal-form-group label{font-size:13px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.modal-form-group input,.modal-form-group select,.modal-form-group textarea{padding:10px 14px;border:1px solid #e5e1da;border-radius:10px;font-size:15px;font-family:inherit;color:var(--text-primary);background:#faf8f4;transition:border-color .2s}.modal-form-group input:focus,.modal-form-group select:focus,.modal-form-group textarea:focus{outline:none;border-color:var(--primary);background:#fff}.modal-form-group textarea{resize:vertical;min-height:60px}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.modal-footer{padding:16px 24px 24px;display:flex;gap:12px;border-top:1px solid #f0ece4}.modal-btn-primary{flex:1;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.modal-btn-primary:hover:not(:disabled){background:#d93a2a;transform:translateY(-1px)}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn-secondary{padding:12px 20px;background:#f5f2ed;color:var(--text-primary);border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.modal-btn-secondary:hover{background:#ebe7e0}.modal-error{color:var(--primary);font-size:13px;text-align:center}.modal-success{color:#4caf50;font-size:13px;text-align:center}.quick-add-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-add-btn{padding:14px 8px;border:2px solid #f0ece4;border-radius:14px;background:#fff;cursor:pointer;text-align:center;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:flex;flex-direction:column;align-items:center;gap:4px}.quick-add-btn:hover{border-color:#2196f3;background:#e3f2fd}.quick-add-btn .amount{font-size:18px;font-weight:600;color:var(--text-primary)}.quick-add-btn .unit{font-size:12px;color:var(--text-secondary)}.quick-add-divider{display:flex;align-items:center;gap:12px;color:#bbb;font-size:13px}.quick-add-divider:before,.quick-add-divider:after{content:"";flex:1;height:1px;background:#f0ece4}.food-item-row{background:#faf8f4;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid #f0ece4}.food-item-header{display:flex;justify-content:space-between;align-items:center}.food-item-header input{flex:1;padding:8px 12px;border:1px solid #e5e1da;border-radius:8px;font-size:14px;background:#fff}.food-item-header input:focus{outline:none;border-color:var(--primary)}.remove-food-btn{width:28px;height:28px;border:none;background:none;color:#ccc;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-left:8px}.remove-food-btn:hover{color:var(--primary);background:#ed44320f}.food-nutrients-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.food-nutrient-input{display:flex;flex-direction:column;gap:2px}.food-nutrient-input label{font-size:11px;color:#bbb;text-transform:none;letter-spacing:0}.food-nutrient-input input{padding:6px 8px;border:1px solid #e5e1da;border-radius:6px;font-size:13px;background:#fff;width:100%}.food-nutrient-input input:focus{outline:none;border-color:var(--primary)}.add-food-btn{width:100%;padding:10px;border:2px dashed #e5e1da;border-radius:12px;background:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:6px}.add-food-btn:hover{border-color:var(--primary);color:var(--primary)}.meal-type-selector{display:flex;gap:8px;flex-wrap:wrap}.meal-type-chip{padding:8px 16px;border:2px solid #f0ece4;border-radius:20px;background:#fff;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.meal-type-chip.selected{border-color:var(--primary);background:#ed44320f;color:var(--primary)}.meal-type-chip:hover:not(.selected){border-color:#e0d9d0}@media(max-width:600px){.modal-panel{max-width:100%;border-radius:20px 20px 0 0}.modal-form-row,.modal-form-row-3{grid-template-columns:1fr}.food-nutrients-row{grid-template-columns:1fr 1fr}}.figma-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:24px 16px;animation:modal-fade-in .2s ease-out;box-sizing:border-box}.figma-modal-content{background:#f5efeb;border-radius:20px;width:100%;max-width:440px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 16px 40px #0000001f;padding:24px;display:flex;flex-direction:column;gap:24px;position:relative;box-sizing:border-box}.figma-modal-content--metric{overflow:visible}.figma-modal-form--metric{min-height:0}.figma-modal-header{display:flex;align-items:center;justify-content:space-between;position:relative}.figma-header-left{display:flex;align-items:center;color:#8c203b}.figma-header-center{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:500;color:var(--text-primary);position:absolute;left:50%;transform:translate(-50%)}.figma-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.figma-close-btn:hover{background:#0000000d}.figma-form-group{display:flex;flex-direction:column;gap:8px}.figma-label{font-size:13px;font-weight:500;color:var(--text-primary)}.figma-input,.figma-select{width:100%;padding:12px 14px;border:1px solid #e5e1da;border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary);transition:border-color .2s;box-sizing:border-box;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.figma-select{background-image:none}.figma-input[type=time]::-webkit-calendar-picker-indicator,.figma-input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.figma-input:focus,.figma-select:focus-visible{border-color:var(--primary)}.figma-select-menu{position:relative}.figma-select-trigger{width:100%;min-height:48px;padding:12px 14px;border:1px solid #e5e1da;border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary);box-sizing:border-box;outline:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.figma-select-trigger.open,.figma-select-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px #ed443214}.figma-select-trigger__content{display:flex;align-items:center;gap:10px;min-width:0}.figma-select-trigger__placeholder{color:#b7b0a7}.figma-select-trigger__label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.figma-select-trigger__chevron{color:#a59b90;transition:transform .2s ease;flex-shrink:0}.figma-select-trigger__chevron.open{transform:rotate(180deg)}.figma-select-menu__dropdown{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e5e1da;border-radius:14px;box-shadow:0 20px 40px #20170e1f;padding:8px;display:flex;flex-direction:column;gap:4px;max-height:min(320px,42vh);overflow-y:auto;z-index:20}.figma-select-option{width:100%;border:none;background:transparent;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:background .18s ease}.figma-select-option:hover,.figma-select-option.selected{background:#fbf6f0}.figma-select-option__body{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:1}.figma-select-option__label{font-size:14px;font-weight:600;color:var(--text-primary)}.figma-select-option__meta{font-size:12px;font-weight:600;color:#9d9488;text-transform:uppercase;flex-shrink:0}.metric-option-badge{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.04em;flex-shrink:0}.metric-option-badge--emoji{font-size:18px;font-weight:400;letter-spacing:0}@media(max-width:640px){.figma-modal-overlay{padding:16px 10px}.figma-modal-content{max-height:calc(100vh - 32px);padding:18px;gap:18px}.figma-select-menu__dropdown{max-height:min(280px,38vh)}.figma-select-option{padding:10px}.figma-select-option__body{gap:8px}}.figma-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.figma-pill-group{display:flex;gap:12px}.figma-pill{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid #e5e1da;background:#fff;color:var(--text-primary);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.figma-pill.active{background:#f1edfa;color:#411263;border-color:#f1edfa}.figma-rich-input-wrapper{position:relative;width:100%;display:flex;align-items:center}.figma-rich-input-wrapper .figma-input{padding-right:48px}.figma-rich-icon{position:absolute;right:14px;color:#c4bfb7;cursor:pointer;transition:color .2s}.figma-rich-icon:hover{color:var(--primary)}.figma-icon-left-wrapper{position:relative;width:100%;display:flex;align-items:center}.figma-icon-left-wrapper .figma-input{padding-left:44px;padding-right:14px}.figma-icon-left{position:absolute;left:14px;color:var(--text-secondary);pointer-events:none}.figma-action-squares{display:flex;gap:12px}.figma-action-square{flex:1;height:80px;background:#fff;border:1px solid #e5e1da;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#c4bfb7;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.figma-action-square:hover{border-color:var(--primary);color:var(--primary)}.entry-media-block{display:flex;flex-direction:column;gap:12px}.entry-media-square{position:relative;overflow:hidden;flex-direction:column;gap:8px;padding:10px}.entry-media-square.has-media{align-items:stretch;justify-content:flex-start}.entry-media-square.is-drag-over{border-color:var(--primary);color:var(--primary);background:#ed443214}.entry-media-square.is-recording{border-color:var(--primary);color:var(--primary);background:#ed44320f}.entry-media-label{font-size:13px;font-weight:500;color:inherit;text-align:center}.entry-media-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.entry-media-hidden-input{display:none}.entry-media-preview-stack{display:flex;flex-direction:column;gap:10px}.entry-media-preview-card{background:#fff;border:1px solid #e5e1da;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:10px}.entry-media-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:var(--text-primary)}.entry-media-preview-actions{display:flex;flex-wrap:wrap;gap:8px}.entry-media-preview-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #e5e1da;background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer}.entry-media-preview-btn:hover{border-color:var(--primary);color:var(--primary)}.entry-media-preview-btn.danger:hover{border-color:#c43d3d;color:#c43d3d}.entry-media-preview-image{width:100%;max-height:220px;-o-object-fit:cover;object-fit:cover;border-radius:10px}.entry-media-audio-player{width:100%}.entry-media-recording-note,.entry-media-fallback-link,.entry-media-error{font-size:13px}.entry-media-recording-note{color:var(--text-secondary)}.entry-media-fallback-link{align-self:flex-start;background:none;border:0;padding:0;color:var(--text-secondary);cursor:pointer;text-decoration:underline}.entry-media-fallback-link:hover{color:var(--primary)}.entry-media-error{color:#c43d3d}.entry-media-spinner{animation:spin 1s linear infinite}.figma-modal-footer{display:flex;gap:16px;margin-top:8px}.figma-header-actions{display:inline-flex;align-items:center;gap:8px}.figma-icon-btn{width:38px;height:38px;border:1px solid #ded9d2;border-radius:10px;background:#fff;color:#6f6860;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.figma-icon-btn:hover:not(:disabled){border-color:#c9c3bb;background:#faf9f8;color:var(--text-primary)}.figma-icon-btn-danger{color:var(--primary)}.figma-icon-btn-danger:hover:not(:disabled){border-color:#ed443266;background:#ed443214}.figma-icon-btn:disabled{opacity:.45;cursor:not-allowed}.figma-btn-secondary{flex:1;padding:14px;background:transparent;border:1px solid var(--primary);border-radius:8px;color:var(--primary);font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;text-align:center}.figma-btn-secondary:hover{background:#ed44320a}.figma-btn-primary{flex:1;padding:14px;background:var(--primary);border:1px solid var(--primary);border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;text-align:center}.figma-btn-primary:hover:not(:disabled){background:#d63a2a;border-color:#d63a2a}.figma-btn-primary:disabled{background:#c4bfb7;border-color:#c4bfb7;cursor:not-allowed}.water-amount-display{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:10px}.water-amount-value{font-size:56px;line-height:1;font-weight:600;color:var(--text-primary)}.water-amount-unit{font-size:28px;font-weight:500;color:var(--text-secondary)}.water-slider-wrap{display:flex;flex-direction:column;gap:10px}.water-slider{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:10px;border-radius:999px;background:#d9d9de;outline:none}.water-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:34px;height:34px;border-radius:50%;background:#1a1979;border:none;cursor:pointer}.water-slider::-moz-range-thumb{width:34px;height:34px;border-radius:50%;background:#1a1979;border:none;cursor:pointer}.water-slider-scale{display:flex;justify-content:space-between;font-size:18px;color:var(--text-primary)}.figma-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.figma-date-input-wrapper{position:relative;display:flex;align-items:center}.figma-date-input-wrapper svg{position:absolute;left:12px;color:var(--text-secondary)}.figma-date-input-wrapper input{padding-left:36px}.tags-input-row{display:flex;position:relative;align-items:center}.tags-input-row input{padding-right:50px}.tags-add-btn{position:absolute;right:12px;color:var(--primary);background:none;border:none;font-size:14px;font-weight:500;cursor:pointer}.tags-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.tag-pill{background:#ed44321a;color:var(--primary);padding:4px 10px;border-radius:12px;font-size:12px;display:flex;align-items:center;gap:4px}.tag-pill button{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0;line-height:1}.radio-group{display:flex;gap:16px;align-items:center;margin-top:4px}.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-primary);cursor:pointer}.checkbox-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.checkbox-row-left{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text-primary)}.square-icon{width:32px;height:32px;background:#fff;box-shadow:0 2px 8px #0000000d;border-radius:6px;display:flex;align-items:center;justify-content:center}.custom-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:2px solid #e5e1da;border-radius:50%;outline:none;cursor:pointer;position:relative;background:#fff;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.custom-checkbox:checked{border-color:#0a5f38;background:#0a5f38}.custom-checkbox:checked:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.collapse-macros-btn{display:flex;align-items:center;gap:8px;color:var(--primary);background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;padding:12px 0}.custom-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #e5e1da;border-radius:50%;outline:none;cursor:pointer;position:relative;background:#fff;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;margin:0}.custom-radio:checked{border-color:var(--primary)}.custom-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--primary)}.figma-modal-content.treatment-modal-content{max-width:min(92vw,560px);gap:18px}.treatment-header-center{color:var(--text-primary);font-size:24px;font-weight:600}.figma-select-shell{position:relative;display:flex;align-items:center;width:100%;min-width:0}.figma-select-shell .figma-select{padding-right:42px}.figma-select-shell svg{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:#a59b90;pointer-events:none}.treatment-note-flags{display:flex;flex-direction:column;gap:8px;padding:4px 0}.treatment-flag-row,.treatment-question-row{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2f2b27;cursor:pointer;font:inherit;text-align:left}.treatment-flag-row{min-height:44px;padding:4px 0;font-size:16px;font-weight:600}.treatment-flag-icon{width:32px;height:32px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.treatment-flag-icon.highlight{color:#7a103d}.treatment-flag-icon.review{color:#26468a}.treatment-flag-row span:nth-child(2){flex:1}.treatment-checkbox{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:28px;height:28px;margin:0 2px 0 auto;accent-color:#111111;cursor:pointer;flex:0 0 auto}.treatment-checkbox:focus-visible{outline:2px solid #2563EB;outline-offset:3px}.treatment-draft-action,.treatment-save-action{display:flex;justify-content:center}.treatment-draft-btn{flex:0 1 230px;background:transparent;font-weight:600}.treatment-helper-text{margin:4px 6px 0;color:var(--primary);font-size:16px;line-height:1.35;font-weight:500}.treatment-kind-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 24px}.treatment-kind-btn{min-height:46px;padding:0 14px;border:0;border-radius:999px;background:#9e9e9e;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease;white-space:nowrap}.treatment-kind-btn:hover{transform:translateY(-1px)}.treatment-kind-btn.active{background:#050505}.treatment-details-panel{display:flex;flex-direction:column;gap:14px;padding-top:6px}.treatment-muted-hint{color:var(--text-secondary);font-size:12px}.injection-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#fff;border:1px solid #e5e1da;border-radius:8px;padding:10px}.injection-place-tile{min-height:78px;border:1px solid #e5e1da;border-radius:8px;background:#fff;color:#7c7169;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;transition:border-color .18s ease,box-shadow .18s ease}.injection-place-tile.full{grid-column:1 / -1}.injection-place-tile.selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.injection-body-mark{width:34px;height:36px;position:relative;display:inline-block;background:#ffdcc8;border-radius:13px 13px 6px 6px}.injection-body-mark:before{content:"";position:absolute;left:9px;right:9px;bottom:-11px;height:12px;background:#ffdcc8;border-radius:0 0 8px 8px}.injection-body-mark:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#68311e}.injection-body-mark.arm.right:after{left:-2px;top:13px}.injection-body-mark.arm.left:after{right:-2px;top:13px}.injection-body-mark.leg{width:26px;height:42px;border-radius:8px 8px 16px 16px}.injection-body-mark.leg:before{display:none}.injection-body-mark.leg.right:after{left:3px;top:10px}.injection-body-mark.leg.left:after{right:3px;top:10px}.injection-body-mark.back:after{top:20px}.injection-body-mark.back.right:after{left:7px}.injection-body-mark.back.left:after{right:7px}.injection-body-mark.belly:after{left:50%;bottom:-7px;transform:translate(-50%)}.treatment-questions{display:flex;flex-direction:column;gap:8px}.treatment-question-row{min-height:42px;font-size:15px;font-weight:600;color:#5a5550}.treatment-save-btn{flex:0 1 220px;font-weight:700}.treatment-error{color:var(--primary);font-size:13px;text-align:center;background:#ed443214;padding:8px;border-radius:8px}@media(max-width:560px){.figma-modal-content.treatment-modal-content{max-width:100%;border-radius:0;min-height:100vh}.treatment-kind-actions{padding:0;gap:12px}.treatment-kind-btn{font-size:14px}}.sticker-tag-grid{display:flex;flex-wrap:wrap;gap:8px}.sticker-tag-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid #e5e1da;background:#fff;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.sticker-tag-chip:hover{border-color:#c9c3bb;background:#faf9f8}.sticker-tag-chip.selected{border-color:#111;background:#111;color:#fff;box-shadow:0 1px 4px #0000001f}.sticker-emoji{font-size:16px;line-height:1}.carb-coverage-section{padding-top:4px}.carb-coverage-track{height:10px;border-radius:999px;background:#e5e1da;overflow:hidden;margin-bottom:10px}.carb-coverage-fill{height:100%;background:#111;border-radius:999px;transition:width .25s ease}.carb-coverage-steps{display:flex;justify-content:space-between;gap:6px}.carb-step-btn{flex:1;padding:8px 4px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,color .15s;display:flex;flex-direction:column;align-items:center;gap:2px}.carb-step-btn:hover{background:#f5f2ed;color:var(--text-primary)}.carb-step-btn.active{background:#111;color:#fff}.carb-step-sub{font-size:9px;font-weight:500;letter-spacing:.02em;opacity:.7}.ai-sparkle-btn{color:#6366f1;background:#6366f114;border:1px solid rgba(99,102,241,.2);transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}.ai-sparkle-btn:hover{transform:rotate(15deg) scale(1.08);background:#6366f126;box-shadow:0 0 10px #6366f133}.ai-sparkle-btn.pulse{animation:ai-pulse-glow 1.5s infinite alternate}@keyframes ai-pulse-glow{0%{box-shadow:0 0 #6366f166}to{box-shadow:0 0 0 8px #6366f100}}.ai-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#6366f10a;border:1px dashed rgba(99,102,241,.3);border-radius:12px;margin:12px 0;gap:12px}.ai-loading-wave{display:flex;gap:5px}.ai-loading-wave span{width:6px;height:20px;background:#6366f1;border-radius:99px;animation:wave-animation 1.2s infinite ease-in-out}.ai-loading-wave span:nth-child(2){animation-delay:.15s}.ai-loading-wave span:nth-child(3){animation-delay:.3s}.ai-loading-wave span:nth-child(4){animation-delay:.45s}@keyframes wave-animation{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.ai-loading-text{font-size:14px;color:#4f46e5;font-weight:600;margin:0}.ai-review-card{background:#faf8f6;border:1px solid #E4DFD5;border-radius:12px;padding:16px;margin:16px 0;display:flex;flex-direction:column;gap:14px}.ai-review-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #E4DFD5}.ai-review-sparkle{color:#6366f1}.ai-review-title{font-size:16px;font-weight:700;color:var(--text-primary)}.ai-review-details{display:flex;flex-direction:column;gap:6px;background:#fff;padding:10px 12px;border-radius:8px;border:1px solid #E4DFD5}.ai-detail-row{display:flex;justify-content:space-between;font-size:14px}.ai-detail-label{color:var(--text-secondary);font-weight:500}.ai-detail-val{color:var(--text-primary);font-weight:600}.ai-ingredients-section{display:flex;flex-direction:column;gap:6px}.ai-section-label{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.ai-ingredients-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #E4DFD5;border-radius:8px;overflow:hidden}.ai-ingredients-table th,.ai-ingredients-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #E4DFD5}.ai-ingredients-table th{background:#f4efe6;color:var(--text-primary);font-weight:600}.ai-ingredients-table tr:last-child td{border-bottom:0}.ai-warning-banner{background:#fef3c7;border-left:4px solid #D97706;padding:12px;border-radius:0 8px 8px 0;display:flex;flex-direction:column;gap:4px}.ai-warning-title{font-weight:700;font-size:13px;color:#92400e}.ai-warning-text{font-size:12.5px;color:#78350f;margin:0;line-height:1.4}.ai-tags-section{display:flex;flex-direction:column;gap:6px}.ai-mood-pill{background:#e0f2fe;color:#0369a1;border:1px solid #BAE6FD}.ai-symptom-pill{background:#fee2e2;color:#b91c1c;border:1px solid #FECACA}.ai-grounding-status{font-size:13px;font-weight:600}.ai-grounding-verified{color:#15803d}.ai-grounding-unmatched{color:#b45309;display:flex;flex-direction:column;gap:6px}.ai-save-catalog-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.ai-save-catalog-check input{width:16px;height:16px;cursor:pointer}.ai-review-actions{display:flex;gap:12px;margin-top:6px}.ai-accept-btn{flex:2;background:#111;color:#fff}.ai-accept-btn:hover{background:#222}.ai-discard-btn{flex:1}.add-note-modal{max-width:540px}.add-note-modal__accent{color:#7a103d}.add-note-modal__title{color:#3a5c12;font-size:24px;font-weight:500;gap:8px}.note-sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;max-height:252px;overflow-y:auto;padding-right:4px}.note-sticker-grid__item{border:1px solid transparent;border-radius:18px;min-height:92px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.note-sticker-grid__item:hover{transform:translateY(-1px)}.note-sticker-grid__item.active{border-color:#3a5c1259;box-shadow:0 0 0 2px #3a5c121f}.note-sticker-grid__emoji{font-size:28px;line-height:1}.note-sticker-grid__label{font-size:12px;font-weight:600;text-align:center;line-height:1.25}.note-sticker-summary{border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:14px}.note-sticker-summary__emoji{font-size:32px;line-height:1}.note-sticker-summary__copy{display:flex;flex-direction:column;gap:2px}.note-sticker-summary__label{font-size:16px;font-weight:700;color:var(--text-primary)}.note-sticker-summary__category{font-size:12px;font-weight:600;color:var(--text-secondary)}.note-tags-readonly{flex-wrap:wrap}.note-empty-copy{font-size:13px;color:var(--text-secondary)}.add-note-modal__error{color:var(--primary);font-size:13px;text-align:center;background:#ed443214;padding:8px 10px;border-radius:10px}.add-note-modal__footer{margin-top:12px}@media(max-width:640px){.note-sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.global-fab-container{position:fixed;bottom:30px;right:30px;z-index:2000;display:flex;flex-direction:column;align-items:center;pointer-events:none;width:64px}.fab-overlay{position:fixed;inset:0;background:#0000000d;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:1999;pointer-events:auto}.fab-main-btn{box-sizing:border-box;width:64px;height:64px;border-radius:50%;background-color:var(--primary);color:#fff;border:none;box-shadow:0 4px 14px #ed44324d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);z-index:2001;pointer-events:auto}.fab-main-btn:hover{transform:scale(1.03)}.fab-main-btn.active{background-color:#fef2f2;color:var(--primary);border:2px solid var(--primary);box-shadow:0 4px 16px #ed443229}.fab-menu{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;pointer-events:none;z-index:2001;align-items:center;width:100%}.fab-menu.open{pointer-events:auto}.fab-item{position:relative;display:flex;align-items:center;justify-content:center;width:100%;opacity:0;transform:translateY(15px);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);cursor:pointer;visibility:hidden}.fab-menu.open .fab-item{opacity:1;transform:translateY(0);visibility:visible;transition-delay:calc(var(--index) * .04s)}.fab-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(8px,-50%) scale(.96);padding:7px 10px;border-radius:999px;background:#443f3bf0;color:#fff;box-shadow:0 8px 22px #443f3b2e;font-size:13px;font-weight:700;line-height:1;letter-spacing:0;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .16s ease,transform .16s ease}.fab-label:after{content:"";position:absolute;top:50%;right:-5px;width:10px;height:10px;background:inherit;transform:translateY(-50%) rotate(45deg);border-radius:2px}.fab-menu.open .fab-item:hover .fab-label,.fab-menu.open .fab-item:focus-visible .fab-label{opacity:1;transform:translateY(-50%) scale(1)}.fab-icon-wrapper{width:56px;height:56px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.fab-menu.open .fab-item:hover .fab-icon-wrapper,.fab-menu.open .fab-item:focus-visible .fab-icon-wrapper{transform:translateY(-2px) scale(1.08);box-shadow:0 10px 24px #443f3b2e;border-color:#ed443252}.fab-menu.open .fab-item:active .fab-icon-wrapper{transform:translateY(0) scale(1.02);box-shadow:0 5px 14px #443f3b29}.fab-item.glucose .fab-icon-wrapper{background-color:#fef2f2}.fab-item.meal .fab-icon-wrapper{background-color:#fff7ed}.fab-item.insulin .fab-icon-wrapper{background-color:#f5f3ff}.fab-item.water .fab-icon-wrapper{background-color:#eff6ff}.fab-item.activity .fab-icon-wrapper{background-color:#ecfdf5}.fab-item.insights .fab-icon-wrapper{background-color:#fdf2f8}.fab-item.notes .fab-icon-wrapper{background-color:#f7fee7}@media(max-width:1023px){.global-fab-container{right:auto;left:calc(50% - 28px);bottom:78px;width:56px}.fab-main-btn{display:none}.fab-menu{margin-bottom:0}.fab-label{display:none}}.app-footer-wrap{padding:0 40px 20px}.app-footer-main{background:#f8f7f5;border:1px solid #ddd8d3;border-radius:24px;display:flex;flex-direction:column;align-items:center;padding:34px 44px 16px}.app-footer-logo{margin-bottom:20px}.app-footer-logo img{height:58px;width:auto}.app-footer-social{display:flex;gap:12px;margin-bottom:44px}.app-social-icon{width:42px;height:42px;border:none;border-radius:50%;background:#f6e8e6;color:#ff432a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.app-social-icon:hover{transform:translateY(-1px);background:#fce8e6}.app-social-x{font-size:26px;font-weight:300;line-height:1}.app-footer-divider{width:100%;height:1px;background:#d8d2ce;margin-bottom:18px}.app-footer-bottom{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:12px;color:#a8a19a;min-height:34px}.app-footer-copy{font-weight:500}.app-footer-links{display:flex;gap:24px;justify-self:center}.app-footer-links span{cursor:pointer;font-weight:500;transition:color .2s}.app-footer-links span:hover{color:#ff432a}.app-footer-maker{font-weight:500;display:flex;align-items:center;gap:8px;justify-self:end}.app-footer-heart{color:#a8a19a}@media(max-width:1023px){.app-footer-main{padding:22px 16px 14px}.app-footer-logo img{height:48px}.app-footer-social{margin-bottom:24px}.app-footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}.app-footer-links{gap:16px;flex-wrap:wrap;justify-self:auto}}@media(max-width:767px){.app-footer-wrap{padding:0 16px 20px}}.notif-bell{position:relative}.notif-bell-trigger{width:40px;height:40px;background:#fff;border:1px solid var(--color-border, #f0ece4);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-muted, var(--text-secondary));position:relative;box-shadow:0 1px 4px #00000008;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.notif-bell-trigger:hover{border-color:#e0d9d0;color:var(--color-primary, var(--primary))}.notif-bell-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;background:var(--color-primary, var(--primary));color:#fff;border-radius:9px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white;line-height:1}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:16px;box-shadow:0 8px 40px #00000024;width:360px;max-height:440px;z-index:300;animation:notif-fade-in .15s ease-out;overflow:visible;display:flex;flex-direction:column}.notif-dropdown:before{content:"";position:absolute;top:-6px;right:14px;width:12px;height:12px;background:#fff;transform:rotate(45deg);box-shadow:-2px -2px 6px #0000000a;z-index:0}.notif-dropdown.portal{position:absolute}@keyframes notif-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #f0ece4;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px}.notif-dropdown-header h4{margin:0;font-size:16px;font-weight:600;color:var(--color-text, var(--text-primary))}.notif-mark-all{border:none;background:none;color:var(--color-primary, var(--primary));font-size:13px;font-weight:500;cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-dropdown-body{position:relative;z-index:1;overflow-y:auto;flex:1;background:#fff;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.notif-loading,.notif-empty{padding:32px 20px;text-align:center;color:var(--color-muted, var(--text-secondary));font-size:14px}.notif-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:flex-start;gap:12px;width:100%;padding-right:20px;border:none;background:none;text-align:left;transition:background .15s;border-bottom:1px solid #f8f6f2}.notif-item:hover{background:#faf8f4}.notif-item.unread{background:#fffbf5}.notif-item.unread .notif-item-title{font-weight:700}.notif-item-main{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:flex-start;gap:12px;min-width:0;border:none;background:none;padding:14px 0 14px 20px;cursor:pointer;text-align:left;color:inherit}.notif-item-main:focus-visible{outline:2px solid rgba(237,68,50,.35);outline-offset:-2px}.notif-item-dot{width:8px;min-width:8px;padding-top:7px}.notif-item-dot span{display:block;width:8px;height:8px;border-radius:50%}.notif-item-dot.own span{background:#111}.notif-item-dot.other span{background:var(--color-primary, var(--primary))}.notif-item-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-item-subject{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary, var(--primary))}.notif-item-title{font-size:14px;font-weight:600;color:var(--color-text, var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-body{font-size:13px;color:var(--color-muted, var(--text-secondary));line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-time{font-size:11px;color:#bbb;margin-top:2px}.notif-item-time.recent{color:var(--color-primary, var(--primary));font-weight:700}.notif-item-avatar-button,.notif-item-avatar-static{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#f0efe9;border:2px solid #2f2b28;padding:0;margin:14px 0;display:flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 36px}.notif-item-avatar-button{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.notif-item-avatar-button:hover,.notif-item-avatar-button:focus-visible{border-color:var(--color-primary, var(--primary));box-shadow:0 0 0 3px #ed44321f;outline:none}.notif-item-avatar-button:active{transform:scale(.97)}.notif-item-avatar-button img,.notif-item-avatar-static img,.notif-item-avatar-button svg,.notif-item-avatar-static svg{width:100%;height:100%;display:block}@media(max-width:767px){.notif-dropdown,.notif-dropdown.portal{width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);right:12px!important;left:auto!important}}@media(max-width:479px){.notif-dropdown,.notif-dropdown.portal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);right:8px!important}}.date-picker-widget{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.date-controls{display:flex;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:22px;padding:4px;gap:8px;box-shadow:0 2px 4px #00000005}.nav-arrow{background:transparent;border:none;color:#999;padding:6px;border-radius:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.nav-arrow:hover{background:#f5f5f5;color:#333}.date-display{font-size:14px;font-weight:600;color:#333;padding:4px 12px;cursor:pointer;min-width:200px;text-align:center}.date-controls.is-today{border-color:#ed44324d}.date-controls.is-today .date-display{color:var(--primary)}.date-controls.is-today .nav-arrow{color:#c08f87}.date-controls.is-today .nav-arrow:hover{color:var(--primary);background:#ed443214}.calendar-popup{position:absolute;top:calc(100% + 12px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:16px;border:1px solid #f0f0f0;z-index:101;animation:fadeIn .2s ease-out}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header span{font-weight:600;color:#333}.calendar-header button{background:transparent;border:none;padding:4px;cursor:pointer;color:#666;border-radius:4px}.calendar-header button:hover{background:#f5f5f5}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.day-name{font-size:12px;color:#ff432a;font-weight:700;margin-bottom:8px;text-transform:uppercase}.calendar-day{height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#333;border-radius:6px;cursor:pointer}.calendar-day:hover{background:#f9f9f9}.calendar-day.disabled{color:#ccc}.calendar-day.selected{background:#ff432a;color:#fff;font-weight:600;box-shadow:0 4px 10px #ff432a4d}.page-header-bar{display:flex;justify-content:space-between;align-items:flex-start;min-height:88px;padding:24px 0 8px;box-sizing:border-box;position:sticky;top:0;background-color:var(--bg-main, #F3F0EA);z-index:300;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.page-header-bar.scrolled{background-color:#f3f0eaf2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #0000000a}@media(min-width:768px){.page-header-bar.scrolled{padding:16px 0 8px}}.ph-left{display:flex;align-items:flex-start;gap:24px;flex:1}.ph-left:empty{display:none}.ph-center{display:flex;justify-content:center;align-items:flex-start;z-index:10}.ph-title-block h1{font-size:22px;font-weight:600;color:#1a1a1a;margin:0;line-height:1.2}.ph-title-block p{font-size:14px;color:var(--text-secondary);margin:2px 0 0}.ph-avatar-dropdown{position:relative}.ph-avatar-trigger{display:flex;align-items:center;gap:6px;padding:4px;border:none;background:transparent;cursor:pointer;border-radius:24px;transition:background .2s}.ph-avatar-trigger:hover{background:#0000000a}.ph-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#dae3ef;border:2px solid #e0d9d0}.ph-chevron{color:var(--text-secondary);transition:transform .2s}.ph-chevron.open{transform:rotate(180deg)}.ph-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000001f;min-width:220px;padding:8px;z-index:200;animation:ph-dropdown-show .15s ease-out}@keyframes ph-dropdown-show{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ph-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-primary);border-radius:10px;transition:background-color .15s}.ph-dropdown-item:hover{background-color:#ed44320a}.ph-dropdown-item.active{color:var(--primary)}.ph-dropdown-item.logout{color:#999}.ph-dropdown-item.logout:hover{color:var(--primary);background-color:#ed44320a}.ph-dropdown-divider{height:1px;background:#f0ece4;margin:4px 10px}.ph-icon-btn{width:40px;height:40px;background:#fff;border:1px solid #f0ece4;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);position:relative;box-shadow:0 1px 4px #00000008;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.ph-icon-btn:hover{border-color:#e0d9d0;color:var(--primary)}.ph-notif-dot{position:absolute;top:10px;right:10px;width:6px;height:6px;background-color:var(--primary);border-radius:50%}.ph-search-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #f0ece4;border-radius:50%;width:40px;height:40px;color:#bbb;box-shadow:0 1px 4px #00000008;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease;cursor:pointer}.ph-search-button:hover,.ph-search-button.active{border-color:#e0d9d0;color:var(--text-secondary);box-shadow:0 4px 14px #0000000f}.ph-search-button.active{border-color:var(--primary);color:var(--primary)}.ph-right{display:flex;align-items:flex-start;gap:12px;justify-content:flex-end;flex:1}.page-header-bar .sidebar-profile{padding:0!important}.page-header-bar .sidebar-profile.collapsed{flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px;justify-content:center}.page-header-bar .sidebar-profile.collapsed .profile-image-container-wrapper{width:40px;height:40px;line-height:0;transform:translateY(-2px)}.page-header-bar .sidebar-profile.collapsed .profile-image-container{width:40px;height:40px}.page-header-bar .sidebar-profile.collapsed .viewing-badge,.page-header-bar .sidebar-profile.collapsed .switch-trigger-avatar{bottom:0}.page-header-bar .sidebar-profile.collapsed .viewing-badge{left:-3px}.page-header-bar .sidebar-profile.collapsed .switch-trigger-avatar{right:-3px}.ph-date-controls{display:flex;align-items:center;gap:8px}.ph-today-btn:disabled{opacity:.55;color:#b5ada5;cursor:default}.ph-today-btn:disabled:hover{border-color:#f0ece4;color:#b5ada5}@media(max-width:767px){.page-header-bar-mobile{display:flex;flex-direction:column;align-items:stretch;gap:12px}.ph-mobile-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.ph-mobile-date{min-width:0}.ph-mobile-date .date-picker-widget,.ph-mobile-date .date-controls{width:100%}.ph-mobile-date .date-display{min-width:0;flex:1}.ph-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ph-mobile-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.ph-mobile-search{min-width:0}.ph-mobile-status{display:flex;justify-content:flex-end}.ph-mobile-status .ph-glucose-pill{max-width:100%}}@media(max-width:767px){.page-header-bar{padding:8px 0;margin-bottom:16px}.ph-date-controls,.ph-date-controls .month-picker{width:100%}.ph-mobile-actions .ph-search-button{display:none}.ph-mobile-search .ph-search-button{display:inline-flex;width:40px;min-width:40px}.ph-avatar{width:30px;height:30px}}.ph-glucose-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f0ece4;border-radius:22px;padding:0 16px;height:40px;box-shadow:0 1px 4px #00000008;font-size:14px;color:var(--text-primary);transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .3s ease,transform .3s ease;position:relative;cursor:help}.ph-glucose-pill.urgent-low .ph-glucose-value{color:#9e9e9e}.ph-glucose-pill.low .ph-glucose-value{color:#ff5722}.ph-glucose-pill.in-range .ph-glucose-value{color:#8bc34a}.ph-glucose-pill.in-range-high .ph-glucose-value{color:#1b5e20}.ph-glucose-pill.high .ph-glucose-value{color:#ffca28}.ph-glucose-pill.urgent-high .ph-glucose-value{color:#e91e63}.ph-glucose-pill.urgent-low{border-color:#9e9e9e}.ph-glucose-pill.low{border-color:#ff5722}.ph-glucose-pill.in-range{border-color:#8bc34a}.ph-glucose-pill.in-range-high{border-color:#1b5e20}.ph-glucose-pill.high{border-color:#ffca28}.ph-glucose-pill.urgent-high{border-color:#e91e63}.ph-glucose-pill.error{border-color:#ed443247;background:#fffffffa;color:#c73a2a}.ph-glucose-error-label{font-size:13px;font-weight:700;white-space:nowrap}.ph-glucose-pill.urgent-low.flash{animation:ph-pill-flash-gray 2s ease-out}.ph-glucose-pill.low.flash{animation:ph-pill-flash-orange 2s ease-out}.ph-glucose-pill.in-range.flash{animation:ph-pill-flash-green-light 2s ease-out}.ph-glucose-pill.in-range-high.flash{animation:ph-pill-flash-green-dark 2s ease-out}.ph-glucose-pill.high.flash{animation:ph-pill-flash-yellow 2s ease-out}.ph-glucose-pill.urgent-high.flash{animation:ph-pill-flash-purple 2s ease-out}@keyframes ph-pill-flash-gray{0%{background-color:#9e9e9e66}to{background-color:#9e9e9e14}}@keyframes ph-pill-flash-orange{0%{background-color:#ff572266}to{background-color:#ff572214}}@keyframes ph-pill-flash-green-light{0%{background-color:#8bc34a66}to{background-color:#8bc34a14}}@keyframes ph-pill-flash-green-dark{0%{background-color:#1b5e2066}to{background-color:#1b5e2014}}@keyframes ph-pill-flash-yellow{0%{background-color:#ffca2866}to{background-color:#ffca2814}}@keyframes ph-pill-flash-purple{0%{background-color:#e91e6366}to{background-color:#e91e6314}}.ph-glucose-value{font-size:17px;font-weight:700;color:var(--text-primary);line-height:1}.ph-glucose-reading{display:flex;align-items:center;gap:4px}.ph-glucose-unit{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.ph-glucose-trend{margin-left:2px;font-size:17px;font-weight:700;color:var(--text-primary);line-height:1;white-space:nowrap}.ph-glucose-separator{width:1px;height:18px;background:#8a80753d;border-radius:999px;flex-shrink:0}.ph-glucose-age{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--text-secondary);white-space:nowrap;line-height:1}.ph-glucose-pill:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;padding:6px 10px;background-color:var(--text-primary);color:#fff;font-size:12px;font-weight:400;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:opacity .12s ease-in,visibility .12s;transition-delay:1s;pointer-events:none;z-index:1000}.ph-glucose-pill:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px;border-width:0 6px 6px 6px;border-style:solid;border-color:transparent transparent var(--text-primary) transparent;opacity:0;visibility:hidden;transition:opacity .12s ease-in,visibility .12s;transition-delay:1s;z-index:1000}.ph-glucose-pill:hover:after,.ph-glucose-pill:hover:before{opacity:1;visibility:visible}@media(max-width:900px){.ph-glucose-pill{margin-left:0}}.app-container{display:flex;flex-direction:column}.sidebar-layout{display:flex;min-height:100vh;min-height:100dvh;align-items:flex-start}.main-content{flex:1;min-width:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-main)}.landing-page{padding:80px 20px;max-width:1200px;margin:0 auto}.page-container{padding:0 var(--page-padding-x, 40px) var(--page-padding-bottom, 32px);display:flex;flex-direction:column;flex:1 0 auto}.tab-bar{display:flex;gap:4px;padding:4px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px;overflow-x:auto;flex-shrink:0}.tab-btn{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.tab-btn:hover{background:#ed44320f}.tab-btn.active{background:var(--primary);color:#fff}.page-header{margin-bottom:28px}.page-header h1{font-size:28px;font-weight:700;color:var(--text-primary)}.page-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.placeholder-card{background:#fff;border-radius:12px;padding:48px;text-align:center;color:var(--text-secondary);box-shadow:0 1px 3px #0000000f}@media(max-width:767px){.sidebar{display:none!important}.sidebar-layout{flex-direction:column;min-height:100vh;min-height:100dvh}.main-content{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.page-container{padding:20px 16px calc(28px + env(safe-area-inset-bottom,0px))}.page-header h1{font-size:22px}}:root{--bp-xs-max: 479px;--bp-sm-max: 767px;--bp-md-max: 1023px;--bp-lg-max: 1439px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 20px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 40px;--page-padding-x: 16px;--page-padding-bottom: 24px;--h1-mobile-size: 28px;--h2-mobile-size: 22px;--h3-mobile-size: 18px;--caption-mobile-size: 12px}@media(min-width:768px){:root{--page-padding-x: 24px;--page-padding-bottom: 28px}}@media(min-width:1024px){:root{--page-padding-x: 40px;--page-padding-bottom: 32px}}.sidebar-layout.shell-mobile,.sidebar-layout.shell-tablet{min-height:100vh;min-height:100dvh}.sidebar-layout.shell-mobile .main-content{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.sidebar-layout.shell-superadmin .main-content{padding-bottom:0}.tab-bar,.logbook-tabs,.settings-main-tab-bar,.superadmin-tabs,.chart-header-controls,.food-type-filter-row{scrollbar-width:thin}.glucose-chart-wrapper,.settings-card,.report-insight-card,.report-day-card,.metric-card,.food-card,.detail-column,.connections-list-wrapper,.superadmin-banner,.superadmin-card,.superadmin-tab-panel,.superadmin-stat-card{min-width:0}.figma-modal-content,.modal-panel,.modal-content{max-width:min(92vw,860px)}.notif-dropdown.portal,.notif-dropdown{max-width:calc(100vw - 24px)}@media(max-width:1023px){.sidebar-layout.shell-mobile .sidebar{display:none!important}.sidebar-layout.shell-mobile .main-content{width:100%}.page-container{padding-left:var(--page-padding-x);padding-right:var(--page-padding-x)}.dashboard-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-column-span-3{grid-column:1 / -1}.reports-grid,.metrics-grid,.food-grid,.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.connections-list-wrapper{overflow:hidden}.list-header-row,.connection-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) 92px;gap:12px}.personal-details-section-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-row{flex-wrap:wrap}.insulins-table-shell{overflow-x:auto}}@media(min-width:1024px)and (max-width:1279px){.sidebar-layout.shell-tablet .sidebar{display:flex}.sidebar-layout.shell-tablet .main-content{width:100%}}@media(max-width:1023px){.sidebar-layout.shell-mobile .sidebar{display:none!important}}@media(max-width:767px){h1,.page-header h1,.auth-title,.section-title,.hero-title,.conversion-title,.highlight-title{font-size:var(--h1-mobile-size);line-height:1.15;letter-spacing:-.03em}h2{font-size:var(--h2-mobile-size)}.page-container{padding-top:0;padding-left:var(--page-padding-x);padding-right:var(--page-padding-x);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}.page-header-row,.search-filter-row,.reports-summary-toolbar,.insulins-header,.header-right-actions,.logbook-daily-summary__header,.day-card-header,.superadmin-banner,.superadmin-card-header,.superadmin-toolbar,.superadmin-user-row{flex-direction:column;align-items:flex-start}.page-header-bar{position:sticky;top:0;gap:12px;padding:8px 0 12px;align-items:stretch}.ph-left,.ph-center,.ph-right{width:100%;min-width:0}.ph-left{order:1}.ph-center{order:2;justify-content:flex-start;overflow-x:auto}.ph-right{order:3;justify-content:flex-start;flex-wrap:wrap;gap:10px}.ph-title-block h1{font-size:20px;line-height:1.15}.ph-title-block p{font-size:12px;line-height:1.45}.ph-date-controls{width:100%;min-width:-moz-max-content;min-width:max-content}.ph-search-button{display:inline-flex;width:40px;min-width:40px}.ph-glucose-pill{display:inline-flex;max-width:100%;padding:0 12px;gap:8px}.ph-glucose-age{max-width:74px;overflow:hidden;text-overflow:ellipsis}.notif-dropdown,.notif-dropdown.portal{width:min(360px,calc(100vw - 24px));right:12px!important;left:auto!important}.global-fab-container{bottom:calc(78px + env(safe-area-inset-bottom,0px))}.glucose-chart-wrapper{padding:18px 14px;border-radius:18px}.chart-header,.chart-header--with-controls{flex-direction:column;align-items:flex-start;gap:12px}.chart-header-controls{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;justify-content:flex-start}.chart-container,.chart-loading-state,.chart-error-state{height:240px;min-height:240px}.live-bg-value .number{font-size:38px}.dashboard-header.compact-header{margin-bottom:18px}.header-left-cluster{gap:12px;width:100%;flex-wrap:wrap}.welcome-text h1{font-size:20px}.welcome-text p{font-size:13px}.dashboard-detail-grid,.reports-grid,.reports-summary-grid,.food-grid,.brand-grid,.metrics-grid,.superadmin-stat-grid,.superadmin-two-column,.superadmin-report-grid,.superadmin-directory,.report-insight-split,.personal-details-medical-grid{grid-template-columns:1fr}.detail-column{min-height:auto;padding:18px 16px 14px;border-radius:18px}.detail-column-span-3{grid-column:auto}.meal-item-mini,.log-entry-card,.team-member-row,.food-card,.report-insight-item{align-items:flex-start}.log-entry-card,.team-member-row,.food-card{flex-wrap:wrap}.log-entry-info,.food-card-info,.member-info{min-width:0}.log-entry-tail,.entity-actions{width:100%;justify-content:space-between;margin-left:0}.logbook-tabs,.tab-bar{flex-wrap:nowrap;overflow-x:auto;padding:4px}.logbook-tab,.tab-btn,.settings-main-tab-btn,.superadmin-tab{flex:0 0 auto;min-width:-moz-max-content;min-width:max-content}.settings-card{padding:20px 16px;border-radius:18px}.settings-row,.form-row,.modal-form-row,.modal-form-row-3{display:grid;grid-template-columns:1fr;gap:14px}.toggle-row{align-items:flex-start}.insulins-table-header{display:none}.insulin-table-row{grid-template-columns:1fr;gap:8px;padding:16px}.list-header-row{display:none}.connection-row{grid-template-columns:1fr;gap:12px;padding:16px;background:#fff}.access-select-minimal{width:100%}.entity-actions{justify-content:flex-start}.month-nav{width:100%;justify-content:space-between}.month-label{min-width:0;flex:1}.auth-page{padding:12px;align-items:stretch}.auth-card{border-radius:18px;padding:28px 18px;max-width:none;min-height:-moz-fit-content;min-height:fit-content}.landing-page-wrapper{padding:0 16px}.landing-header{padding:18px 0;gap:12px;flex-wrap:wrap}.landing-nav{width:100%;justify-content:space-between;gap:12px}.pricing-section{margin:0 -16px}.landing-navbar{padding:0 16px;height:72px}.landing-navbar-logo{width:auto;min-width:0}.landing-navbar-actions{width:auto;gap:8px}.landing-navbar-actions .btn-primary,.landing-navbar-actions .btn-secondary{padding:10px 14px;font-size:14px}.superadmin-shell{gap:16px}.superadmin-banner,.superadmin-card,.superadmin-tab-panel{padding:16px;border-radius:20px}.superadmin-table{display:block;overflow-x:auto;white-space:nowrap}.modal-backdrop{align-items:flex-end}.modal-panel,.figma-modal-content,.modal-content{width:100%;max-width:100%;max-height:min(88dvh,88vh);border-radius:24px 24px 0 0}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-footer{flex-wrap:wrap}.quick-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:479px){.glucose-chart-wrapper{padding:16px 12px}.chart-toggle-chip{min-height:36px;padding:0 12px;font-size:12px}.title-group h3{font-size:18px}.food-card-action-group,.entity-actions,.log-entry-actions{flex-wrap:wrap}.notif-dropdown,.notif-dropdown.portal{width:calc(100vw - 16px);right:8px!important}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f3f0ea,#ebe7e0);padding:20px}.auth-card{background:#fff;border-radius:20px;box-shadow:0 4px 32px #00000014;padding:48px 40px;max-width:440px;width:100%}.auth-logo{display:flex;justify-content:center;margin-bottom:32px}.auth-logo img{height:40px}.auth-title{font-size:28px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:8px}.auth-subtitle{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:28px}.auth-form{display:flex;flex-direction:column;gap:18px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-group input{padding:10px 14px;border:1px solid #e5e1da;border-radius:10px;font-size:14px;color:var(--text-primary);background:var(--bg-main, #F3F0EA);transition:border-color .2s,box-shadow .2s;outline:none}.password-input-shell{position:relative;display:flex;align-items:center}.password-input-shell input{width:100%;padding-right:46px}.password-visibility-btn{position:absolute;right:12px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0}.password-visibility-btn:hover{color:var(--text-primary)}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ed44321a}.form-group input::-moz-placeholder{color:#bbb5ac}.form-group input::placeholder{color:#bbb5ac}.auth-error{color:var(--primary);font-size:13px;text-align:center;padding:8px;background:#ed44320f;border-radius:8px}.auth-btn{padding:12px;background:var(--primary);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.auth-btn:hover:not(:disabled){background:#d63a2a}.auth-btn:active:not(:disabled){transform:scale(.98)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--text-secondary)}.auth-footer a{color:var(--primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media(max-width:480px){.auth-card{padding:32px 24px}.form-row{flex-direction:column;gap:18px}}@media(max-width:767px){.auth-page{padding:12px;align-items:stretch}.auth-card{border-radius:18px;max-width:none;min-height:-moz-fit-content;min-height:fit-content}}
