@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--navbar-focus-angle:0deg}}}.hero{background:linear-gradient(135deg, var(--hero-bg-start) 0%, var(--hero-bg-mid) 50%, var(--hero-bg-end) 100%);color:#fff;padding:2.5rem 1rem;padding-top:calc(2.5rem + var(--safe-top));text-align:center;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at 20% 50%, var(--hero-glow-1) 0%, transparent 60%), radial-gradient(ellipse at 80% 50%, var(--hero-glow-2) 0%, transparent 60%);position:absolute;inset:0}.hero *{z-index:1;position:relative}.legend{background:var(--card);border-bottom:1px solid var(--border);top:var(--safe-top,0px);z-index:100;flex-wrap:wrap;justify-content:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky}.legend-item{font-size:.75rem;font-weight:600;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tips-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--accent-light);scroll-snap-type:x mandatory;justify-content:center;gap:.6rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.tips-bar::-webkit-scrollbar{display:none}.tip{white-space:nowrap;background:var(--card);color:var(--text-muted);-webkit-backdrop-filter:blur(4px);scroll-snap-align:start;box-shadow:0 1px 3px var(--shadow-medium);border-radius:5px;flex-shrink:0;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.78rem;font-weight:500;display:flex}.tip-icon{font-size:1rem}.ui-card{word-break:break-word;box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}.ui-card-default{background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card-rest);transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard)}.ui-card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard)}.ui-card-glass:hover{border-color:var(--focus-ring);box-shadow:var(--shadow-glass-hover)}.ui-card[role=button]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-card-default[role=button]:hover{border-color:var(--border);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.ui-progress{word-break:break-word;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--border-subtle);width:100%;min-width:0;max-width:100%;height:.1875rem;overflow:hidden}.ui-progress-indicator{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s var(--ease-standard)}.ui-progress-indicator-motion{transition:none!important}.ui-empty-state{text-align:center;flex-direction:column;align-items:center;display:flex}.ui-empty-state,.ui-stat-item,.ui-animated-list,.ui-animated-item,.ui-animated-disclosure{word-break:break-word;box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}@media (prefers-reduced-motion:reduce){.ui-card-default,.ui-card-glass,.ui-progress-indicator{transition-duration:.01ms}}.shared-filter-toolbar{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-bottom:.75rem;position:relative}.shared-filter-row{align-items:center;gap:.75rem;width:100%;display:flex}.shared-filter-search-wrap{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.shared-filter-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.shared-filter-search{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-canvas);width:100%;min-height:44px;color:var(--foreground);font:inherit;outline:none;padding:.7rem 2.5rem .7rem 2.35rem}.shared-filter-search:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft)}.shared-filter-search::placeholder{color:var(--text-muted);opacity:.75}.shared-filter-search::-webkit-search-cancel-button{display:none}.shared-filter-search-clear{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;font-size:1.25rem;display:grid;position:absolute;right:.25rem}.shared-filter-search-clear:hover{color:var(--foreground)}.shared-filter-panel{z-index:13000;box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(420px,100vw - 1rem);max-width:calc(100vw - 1rem);max-height:min(75dvh,680px);box-shadow:var(--shadow-floating);padding:1rem;overflow:auto}.shared-filter-panel.is-pinned{width:100%;max-width:100%;max-height:min(70dvh, calc(100dvh - var(--safe-top,0px) - var(--safe-bottom,0px) - 2rem));overscroll-behavior:contain;min-width:0;margin-top:.75rem;position:relative;overflow:hidden auto}.shared-filter-panel-header{color:var(--foreground);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-weight:700;display:flex}.shared-filter-pin{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--hover-bg);width:44px;height:44px;color:var(--text-muted);cursor:pointer;flex:0 0 44px;place-items:center;display:grid}.shared-filter-pin:hover,.shared-filter-pin.active{color:var(--accent);border-color:var(--accent)}.shared-filter-panel-content{flex-direction:column;gap:1rem;min-width:0;max-width:100%;display:flex}.shared-filter-panel-content>*{box-sizing:border-box;min-width:0;max-width:100%}.shared-filter-panel .admin-ai-call-filters{grid-template-columns:minmax(0,1fr)}.shared-filter-panel :is(button,input,select):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-lightbox{z-index:12000;padding:max(1rem, var(--safe-top)) max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));box-sizing:border-box;background:var(--image-viewer-backdrop);animation:iu-overlay-fade var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.image-lightbox-topbar{z-index:1;top:max(.75rem, var(--safe-top));left:max(.75rem, var(--safe-left));right:max(.75rem, var(--safe-right));justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;display:flex;position:absolute}.image-lightbox-stage{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.image-lightbox-image{border-radius:var(--radius-xs);object-fit:contain;transform-origin:50%;width:auto;max-width:min(94vw,100%);height:auto;max-height:min(84dvh,100%);transition:transform var(--duration-fast) ease-out;will-change:transform;pointer-events:none;display:block}.image-lightbox-close,.image-lightbox-zoom-controls button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 .75rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.image-lightbox-close,.image-lightbox-zoom-controls button{background:color-mix(in srgb, var(--card) 88%, transparent)}}.image-lightbox-close,.image-lightbox-zoom-controls button{color:var(--foreground);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.image-lightbox-close{border-radius:var(--radius-pill);flex:0 0 44px;width:44px;padding:0}.image-lightbox-close:hover,.image-lightbox-zoom-controls button:hover:not(:disabled){border-color:var(--accent);background:var(--hover-bg);color:var(--foreground)}.image-lightbox-close:focus-visible,.image-lightbox-zoom-controls button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-lightbox-zoom-controls button:disabled{color:var(--text-muted);cursor:default;opacity:.55}.image-lightbox-controls{bottom:max(.75rem, var(--safe-bottom));left:max(.75rem, var(--safe-left));right:max(.75rem, var(--safe-right));pointer-events:none;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute}.image-lightbox-controls>*{pointer-events:auto}.image-lightbox-zoom-controls{justify-content:center;align-items:center;gap:.5rem;display:flex}.image-lightbox-zoom-controls span{min-width:3.5rem;color:var(--foreground);text-align:center;text-shadow:0 1px 4px var(--overlay-darker);font-size:.85rem}.image-lightbox-controls .image-uploader-preview-change{min-height:44px}@media (max-width:640px){.image-lightbox-image{max-width:96vw;max-height:calc(100dvh - 10rem - var(--safe-top) - var(--safe-bottom));border-radius:var(--radius-xs)}.image-lightbox-controls{flex-wrap:wrap;gap:.5rem}.image-lightbox-zoom-controls{gap:.35rem}.image-lightbox-zoom-controls button{min-width:44px;padding-inline:.6rem}}@media (prefers-reduced-motion:reduce){.image-lightbox,.image-lightbox-image{transition:none;animation:none}}.image-preview-trigger{max-width:100%;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.image-preview-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.timeline-card.card{transition:box-shadow .3s cubic-bezier(.25,.46,.45,.94),border-color .25s cubic-bezier(.25,.46,.45,.94)}.timeline-header{box-sizing:border-box;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.5rem .75rem;display:flex;overflow:hidden}.timeline-title{white-space:nowrap;color:var(--foreground);flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.timeline-header-meta{box-sizing:border-box;word-break:break-word;flex:1;justify-content:flex-start;align-items:center;gap:clamp(.2rem,.8vw,.45rem);min-width:0;display:flex;overflow:hidden}.timeline-change{letter-spacing:.2px;white-space:nowrap;color:var(--text-muted);flex-shrink:0;align-items:center;gap:4px;font-size:.68rem;font-weight:600;display:inline-flex}.timeline-change.positive{color:var(--success)}.timeline-change.negative{color:var(--red-strong)}.timeline-change.neutral{color:var(--text-muted)}.timeline-chevron{color:var(--text-muted);opacity:.5;flex-shrink:0;margin-left:2px;transition:opacity .2s,transform .2s}.timeline-card:hover .timeline-chevron{opacity:.8;transform:translate(1px)}.timeline-chart-wrap{box-sizing:border-box;touch-action:none;cursor:grab;width:100%;height:12rem;min-height:12rem;padding:.35rem .25rem .15rem;overflow:hidden}.timeline-chart-wrap:active{cursor:grabbing}.timeline-range{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:.62rem;font-weight:500;overflow:hidden}.timeline-count{white-space:nowrap;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;margin-left:auto;font-size:.58rem;font-weight:500}.timeline-empty{text-align:center;color:var(--text-muted);padding:1.25rem .75rem;font-size:.72rem;line-height:1.4}.navbar{background:var(--navbar-bg,var(--surface-canvas));border-bottom:1px solid var(--border-subtle);top:var(--safe-top,0px);z-index:440;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky}.navbar-brand{color:var(--heading);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .18s cubic-bezier(.22,1,.36,1),opacity .18s;display:flex}.navbar-logo{object-fit:contain;border-radius:5px;width:28px;height:28px}.navbar-brand:hover{color:var(--accent)}.navbar-links{align-items:center;gap:1.2rem;display:flex}.navbar-links a{color:var(--text-main);border-radius:var(--radius-sm);transition:background var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);cursor:pointer;padding:.45rem .7rem;font-size:.9rem;font-weight:500;text-decoration:none}.navbar-links a:hover{background:var(--accent-soft);color:var(--accent)}.navbar-links .nav-btn-primary{background:var(--accent);color:var(--text-on-accent);cursor:pointer;padding:.45rem 1rem}.navbar-links .nav-btn-primary:hover{background:var(--accent-hover);color:var(--text-on-accent)}.navbar-right{align-items:center;gap:1rem;display:flex}.navbar-links.always-visible{flex-direction:row;gap:.5rem;position:static;display:flex!important}.navbar-links.always-visible a{cursor:pointer;pointer-events:auto}.navbar-links.always-visible .nav-link-text{display:inline!important}.navbar-links.always-visible .nav-link-with-icon{cursor:pointer;pointer-events:auto}.navbar-links .nav-logout{border:1px solid var(--card-border);cursor:pointer;color:var(--text-light);transition:background var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard);background:0 0;border-radius:5px;padding:.4rem .8rem;font-size:.85rem;font-weight:500}.navbar-links .nav-logout:hover{background:var(--error-bg);border-color:var(--danger-soft-border);color:var(--red-dark)}.nav-user-greeting{color:var(--text-light);margin-right:.25rem;font-size:.85rem}.nav-right-group{align-items:center;gap:.8rem;display:flex}.nav-profile-wrap{position:relative}.nav-profile-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--foreground);transition:background var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard);background:0 0;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .3rem;display:flex}.nav-profile-btn:hover{background:var(--accent-soft-bg);border-color:var(--accent)}.nav-dashboard-btn{border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .3rem;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex;color:var(--foreground)!important}.nav-dashboard-btn:hover{border-color:var(--accent);background:var(--accent-soft-bg)!important;color:var(--foreground)!important}.nav-dashboard-btn .nav-link-icon{flex-shrink:0;width:22px;height:22px}.nav-dashboard-btn .nav-link-text{font-size:.85rem;font-weight:500}.nav-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:32px;height:32px;color:var(--text-on-accent);letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.nav-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-chevron{color:var(--text-light);flex-shrink:0;transition:transform .2s}.nav-chevron.open{transform:rotate(180deg)}.nav-dropdown{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-floating);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.nav-dropdown-header{padding:.85rem 1rem}.nav-dropdown-name{color:var(--heading);font-size:.9rem;font-weight:600;display:block}.nav-dropdown-email{color:var(--text-light);margin-top:.15rem;font-size:.78rem;display:block}.nav-dropdown-divider{border:none;border-top:1px solid var(--card-border);margin:0}.nav-dropdown-item{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.65rem 1rem;font-family:inherit;font-size:.85rem;text-decoration:none;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),padding-left .18s cubic-bezier(.22,1,.36,1);display:flex}.nav-dropdown-item:hover{background:var(--accent-dim);color:var(--heading);padding-left:1.15rem}.nav-dropdown-item-danger:hover{background:var(--error-bg);color:var(--red-strong)}.navbar-links a:focus-visible,.nav-profile-btn:focus-visible,.nav-dropdown-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.nav-link-with-icon{display:inline-flex}.nav-link-icon{flex-shrink:0}.nav-mobile-profile-menu{display:none}@media (max-width:768px){.nav-dashboard-btn{border-radius:5px;justify-content:center;width:100%;padding:.35rem .6rem .35rem .4rem}.navbar-links.open .nav-dashboard-btn{justify-content:flex-start;gap:.5rem;padding:.55rem .6rem}.navbar-links:not(.open) .nav-dashboard-btn .nav-link-text{display:none}.navbar-links.open .nav-mobile-profile-menu{border-top:1px solid var(--card-border);margin-top:.25rem;padding:.75rem 0;display:block}.nav-mobile-profile-header{align-items:center;gap:12px;margin-bottom:.5rem;padding:.6rem .5rem;display:flex}.nav-mobile-profile-avatar{width:48px;height:48px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--accent), var(--accent-hover));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.nav-mobile-profile-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-mobile-profile-info{flex-direction:column;flex:1;min-width:0;display:flex}.nav-mobile-profile-name{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.nav-mobile-profile-email{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.navbar-links.open .nav-dropdown-item{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.6rem;padding:.65rem .5rem;font-family:inherit;font-size:.85rem;text-decoration:none;transition:background .15s;display:flex}.navbar-links.open .nav-dropdown-item:hover{background:var(--accent-dim);color:var(--heading)}.navbar-links.open .nav-dropdown-item-danger:hover{background:var(--error-bg);color:var(--red-strong)}.navbar-links{background:var(--card-bg);border-bottom:1px solid var(--card-border);flex-direction:column;gap:.5rem;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0}.navbar-links.always-visible{background:0 0;border:none;flex-direction:row;gap:.5rem;padding:0;display:flex;position:static}.navbar-links.always-visible .nav-link-text{display:inline!important}.navbar-links.open{display:flex}.nav-profile-btn{border-radius:5px;justify-content:center;width:100%}.nav-dropdown{box-shadow:none;background:0 0;border:none;margin-top:.5rem;position:static}.navbar-links{box-shadow:none;background:0 0;border-bottom:none;flex-direction:row;align-items:center;gap:.1rem;padding:0;display:flex;position:relative;top:auto;left:auto;right:auto}.navbar-links.open{background:var(--card-bg);border-bottom:1px solid var(--card-border);box-shadow:0 8px 24px var(--shadow-md);flex-direction:column;gap:.5rem;padding:1rem;position:absolute;top:100%;left:0;right:0}.navbar-links:not(.open) .nav-link-text,.navbar-links:not(.open) .nav-avatar,.navbar-links:not(.open) .nav-chevron{display:none}.navbar-links:not(.open) .nav-link-with-icon{justify-content:center;padding:.45rem}.navbar-links:not(.open) .nav-link-icon{width:22px;height:22px}.navbar-links.open .nav-link-with-icon{justify-content:flex-start;width:100%;padding:.55rem .6rem}.navbar-links.open .nav-link-with-icon .nav-link-text{display:inline}.navbar-links.open .nav-profile-btn{justify-content:flex-start;gap:.5rem;width:100%;padding:.55rem .6rem}.navbar-links.open .nav-avatar{display:flex}.navbar-links.open .nav-chevron{display:inline}}.navbar-mobile-logged-in,.navbar-action-bar{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));display:none}.navbar-action-bar{transition:top var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), transform var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), padding-bottom var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), min-height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1);will-change:transform}[data-keyboard-open] .navbar-action-bar{--safe-bottom:0px;background:var(--surface-canvas)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.navbar-mobile-logged-in,.navbar-action-bar{--app-navbar-bg:var(--glass-bg)}}[data-ios-pwa]:not([data-keyboard-open]) .navbar-action-bar,[data-ios-pwa][data-pwa-keyboard-closing] .navbar-action-bar{--safe-bottom:env(safe-area-inset-bottom,0px)}[data-ios-pwa] .navbar-mobile-logged-in,[data-ios-pwa] .navbar-action-bar{--app-navbar-bg:var(--surface-canvas);-webkit-backdrop-filter:none;backdrop-filter:none}@property --navbar-focus-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.navbar-ai-input-group{box-sizing:border-box;word-break:break-word;background:var(--input-bg,var(--card-bg));border:1px solid var(--card-border);border-radius:1rem;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;padding:4px 5px 4px 14px;transition:border-color .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.navbar-ai-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.navbar-ai-input-group[data-input-mode=chat]{--navbar-focus-orbit-duration:4s}.navbar-ai-input-group[data-input-mode=chat]:focus-within{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.navbar-ai-input-group[data-input-mode=chat]:focus-within{border-color:color-mix(in srgb, var(--accent) 30%, var(--card-border))}}.navbar-ai-input-group[data-input-mode=chat]:focus-within{box-shadow:0 0 0 2px var(--accent-dim)}.navbar-ai-input-group[data-input-mode=chat]:before{content:"";border-radius:inherit;background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, var(--accent) 336deg, var(--accent) 352deg, transparent 360deg);padding:2px;position:absolute;inset:-1px}@supports (color:color-mix(in lab, red, red)){.navbar-ai-input-group[data-input-mode=chat]:before{background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, color-mix(in srgb, var(--accent) 20%, transparent) 336deg, var(--accent) 352deg, transparent 360deg)}}.navbar-ai-input-group[data-input-mode=chat]:before{-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);pointer-events:none;opacity:1;animation:navbar-focus-border-orbit var(--navbar-focus-orbit-duration) linear infinite;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-composite:xor;mask-composite:exclude}@keyframes navbar-focus-border-orbit{to{--navbar-focus-angle:360deg}}.navbar-ai-action-controls{flex:none;align-self:stretch;gap:.125rem;display:flex;position:relative}.navbar-ai-mode-button{z-index:1;box-sizing:border-box;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--accent);cursor:pointer;inset-inline-end:0;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.navbar-ai-mode-icon{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--surface-canvas);width:1.5rem;height:1.5rem;box-shadow:0 1px 3px var(--shadow-sm);pointer-events:none;border-radius:999px;place-items:center;transition:background .16s;display:grid}.navbar-ai-mode-button:hover:not(:disabled) .navbar-ai-mode-icon{background:var(--accent-dim)}.navbar-ai-mode-button:disabled{opacity:.6;cursor:wait}.navbar-ai-mode-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.navbar-diary-context{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.navbar-diary-context>span{flex:1;min-width:0}.navbar-diary-context small{color:var(--accent);font-size:.65rem;line-height:1.4;display:block}.navbar-diary-context strong{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-size:.75rem;font-weight:600;display:block;overflow:hidden}.navbar-diary-context button{width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;flex-shrink:0;place-items:center;padding:0;display:grid}.navbar-diary-context button:hover:not(:disabled){color:var(--foreground);background:var(--surface-hover)}.navbar-diary-context button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.navbar-ai-input-group,.navbar-ai-mode-icon{transition:none}.navbar-ai-input-group[data-input-mode=chat]:focus-within{border-color:var(--accent)}.navbar-ai-input-group[data-input-mode=chat]:before{animation:none}}.navbar-voice-mode{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.navbar-voice-visualizer{height:2.75rem;color:var(--accent);background:var(--accent-dim);border-radius:999px;flex:0 0 3.25rem;justify-content:center;align-items:center;gap:.2rem;display:flex}.navbar-voice-visualizer span{transform-origin:50%;background:currentColor;border-radius:999px;width:.18rem;height:.45rem;animation:2.6s ease-in-out infinite navbar-voice-idle;transform:scaleY(.45)}.navbar-voice-visualizer[data-state=connecting],.navbar-voice-visualizer[data-state=muted]{color:var(--text-muted);background:var(--surface-canvas)}.navbar-voice-visualizer[data-state=connecting] span,.navbar-voice-visualizer[data-state=muted] span{animation:none}.navbar-voice-visualizer[data-state=speaking]{color:var(--text-on-accent);background:var(--accent)}.ai-voice-call-float[data-state=connecting] .ai-voice-call-pulse,.ai-voice-call-float[data-muted=true] .ai-voice-call-pulse{opacity:.35;animation:none}.navbar-voice-visualizer span:nth-child(2),.navbar-voice-visualizer span:nth-child(4){height:.8rem;animation-delay:.28s}.navbar-voice-visualizer span:nth-child(3){height:1.2rem;animation-delay:.56s}.navbar-voice-visualizer span:nth-child(5){animation-delay:.84s}.navbar-voice-visualizer[data-user-speaking=true] span,.navbar-voice-visualizer[data-state=speaking] span{animation-name:navbar-voice-active;animation-duration:.48s}.navbar-voice-visualizer[data-user-speaking=true] span:nth-child(2),.navbar-voice-visualizer[data-state=speaking] span:nth-child(2){animation-delay:.1s}.navbar-voice-visualizer[data-user-speaking=true] span:nth-child(3),.navbar-voice-visualizer[data-state=speaking] span:nth-child(3){animation-delay:.2s}.navbar-voice-visualizer[data-user-speaking=true] span:nth-child(4),.navbar-voice-visualizer[data-state=speaking] span:nth-child(4){animation-delay:.3s}.navbar-voice-visualizer[data-user-speaking=true] span:nth-child(5),.navbar-voice-visualizer[data-state=speaking] span:nth-child(5){animation-delay:.4s}.navbar-voice-status{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.navbar-voice-open-chat{border:1px solid var(--border-subtle);width:2.75rem;height:2.75rem;color:var(--foreground);background:var(--surface-raised);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.navbar-voice-open-chat:hover{border-color:var(--accent);color:var(--accent)}.navbar-voice-open-chat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.navbar-voice-cancel{width:2.75rem;height:2.75rem;color:var(--text-on-accent);background:var(--red-strong);box-shadow:0 2px 10px var(--red-strong);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.navbar-voice-cancel{box-shadow:0 2px 10px color-mix(in srgb, var(--red-strong) 35%, transparent)}}.navbar-voice-cancel{cursor:pointer;transition:transform .18s,background-color .18s}.navbar-voice-cancel:hover{background:var(--red);transform:scale(1.06)}.navbar-voice-cancel:active{transform:scale(.94)}.navbar-voice-cancel:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.ai-voice-call-float{right:max(1rem, var(--safe-right,0px));bottom:calc(1rem + var(--safe-bottom,env(safe-area-inset-bottom,0px)));z-index:20000;pointer-events:none;align-items:center;gap:.7rem;animation:.26s cubic-bezier(.2,.75,.25,1) both ai-voice-call-slide-in;display:flex;position:fixed}.ai-voice-call-float[data-exiting=true]{pointer-events:none;animation:.24s cubic-bezier(.55,0,.75,.25) both ai-voice-call-slide-out}.ai-voice-call-float[data-exiting=true] .ai-voice-call-trigger{pointer-events:none}.ai-voice-call-trigger{z-index:1;border:1px solid var(--accent);width:3.5rem;height:3.5rem;color:var(--text-on-accent);background:var(--accent);box-shadow:var(--shadow-floating);cursor:grab;touch-action:none;pointer-events:auto;border-radius:50%;flex:0 0 3.5rem;justify-content:center;align-items:center;display:inline-flex;position:relative}.ai-voice-call-trigger:active{cursor:grabbing}.ai-voice-call-trigger:focus-visible,.ai-voice-call-controls button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.ai-voice-call-pulse{border:2px solid var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.ai-voice-call-pulse{border:2px solid color-mix(in srgb, var(--accent) 55%, transparent)}}.ai-voice-call-pulse{border-radius:inherit;transform:scale(calc(1 + var(--voice-level) * .12));pointer-events:none;animation:2.4s ease-in-out infinite ai-voice-call-pulse}.ai-voice-call-controls{box-sizing:border-box;border:1px solid var(--border-subtle);width:min(19rem,100vw - 6rem);color:var(--foreground);background:var(--surface-raised);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.ai-voice-call-controls{background:color-mix(in srgb, var(--surface-raised) 92%, transparent)}}.ai-voice-call-controls{box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;gap:.65rem;padding:.8rem;font-size:.85rem;animation:.18s ease-out both ai-voice-call-appear;display:grid;position:absolute;bottom:calc(100% + .65rem);right:0}.ai-voice-call-control-actions{gap:.5rem;display:flex}.ai-voice-call-control-actions>button{flex:1;min-width:0;padding:.5rem}.ai-voice-call-controls .ai-voice-call-mute{color:var(--foreground);background:var(--surface-canvas)}.ai-voice-call-controls .ai-voice-call-mute[aria-pressed=true],.navbar-voice-mute[aria-pressed=true]{color:var(--red-strong);background:var(--error-bg)}.ai-voice-call-controls button:disabled,.navbar-voice-mute:disabled{opacity:.5;cursor:wait}.ai-voice-call-controls button{min-height:2.75rem;color:var(--text-on-accent);background:var(--red-strong);font:inherit;cursor:pointer;border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;font-weight:650;display:inline-flex}.ai-voice-call-controls .ai-voice-call-chat{color:var(--foreground);background:var(--accent-dim);flex:1}.ai-voice-call-controls .ai-voice-call-chat:hover{background:var(--accent-soft-bg)}.ai-voice-call-controls .ai-voice-call-hangup{background:var(--red-strong);flex:1}.ai-voice-call-controls .ai-voice-call-hangup:hover{background:var(--red)}@keyframes ai-voice-call-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@keyframes ai-voice-call-appear{0%{opacity:0;scale:.98}to{opacity:1;scale:1}}@keyframes ai-voice-call-slide-in{0%{opacity:0;transform:translate(1.5rem)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes ai-voice-call-slide-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(1.5rem)scale(.94)}}@media (prefers-reduced-motion:reduce){.ai-voice-call-pulse{animation:none}.ai-voice-call-float{animation-duration:1ms}.ai-voice-call-controls{animation:none}}@keyframes navbar-voice-idle{0%,to{opacity:.55;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(.8)}}@keyframes navbar-voice-active{0%,to{opacity:.65;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1.1)}}@media (prefers-reduced-motion:reduce){.navbar-voice-visualizer span{animation:none;transform:scaleY(.7)}.navbar-voice-cancel{transition:none}.navbar-ai-composer .navbar-ai-input-example-typed{display:none}.navbar-ai-composer .navbar-ai-input-example-static{display:block}}.navbar-action-bar .navbar-camera-btn.is-expanded{border-radius:.75rem}.navbar-action-bar .navbar-camera-btn.is-expanded:before{clip-path:none;border-radius:.75rem}.navbar-action-bar .navbar-camera-btn.is-delete-target{background:var(--red);color:var(--text-on-accent);box-shadow:0 0 0 3px var(--red)}@supports (color:color-mix(in lab, red, red)){.navbar-action-bar .navbar-camera-btn.is-delete-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 24%, transparent)}}.navbar-action-bar .navbar-camera-btn.is-delete-target{touch-action:none}.navbar-action-bar .navbar-camera-btn.is-delete-target:hover:not(:disabled){background:var(--red)}.navbar-action-bar .navbar-camera-btn.is-delete-target.over{box-shadow:0 0 0 5px var(--red);transform:scale(1.08)}@supports (color:color-mix(in lab, red, red)){.navbar-action-bar .navbar-camera-btn.is-delete-target.over{box-shadow:0 0 0 5px color-mix(in srgb, var(--red) 32%, transparent)}}.navbar-ai-input{box-sizing:border-box;color:var(--foreground);resize:none;scrollbar-width:none;-ms-overflow-style:none;background:0 0;border:none;outline:none;flex:none;width:100%;min-width:0;min-height:2.75rem;max-height:30dvh;padding:8px 0;font-family:inherit;font-size:16px;line-height:1.35;overflow-y:auto}.navbar-ai-composer{width:100%;min-width:0;display:flex;position:relative}.navbar-ai-composer:has(.navbar-ai-mode-button){box-sizing:border-box;padding-inline-end:2.75rem}.navbar-ai-composer:has(.navbar-ai-mode-button) .navbar-ai-input-example{inset-inline-end:2.75rem}.navbar-ai-input-example{pointer-events:none;color:var(--text-light);opacity:.7;font-size:16px;line-height:1.35;position:absolute;inset:8px 0;overflow:hidden}.navbar-ai-input-example>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-ai-input-example-typed{display:block}.navbar-ai-input-example-static{display:none}.navbar-ai-input-example-typed[data-typing]:after{content:"";vertical-align:-.1em;border-inline-start:1px solid;height:1em;margin-inline-start:2px;display:inline-block}.navbar-ai-composer[data-examples] .navbar-ai-input::placeholder{opacity:0}.navbar-ai-input::-webkit-scrollbar{display:none}.navbar-ai-input::placeholder{color:var(--text-light);opacity:.7}.navbar-ai-input:disabled{opacity:.5;cursor:not-allowed}.navbar-ai-submit{background:var(--accent);color:var(--text-on-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,transform .15s cubic-bezier(.22,1,.36,1);display:flex}.navbar-ai-submit:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.navbar-ai-submit:active:not(:disabled){transform:scale(.95)}.navbar-ai-submit:disabled{opacity:.4;cursor:not-allowed}.navbar-mobile-hamburger{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex}.navbar-mobile-hamburger:hover{background:var(--accent-dim);color:var(--foreground)}.navbar-mobile-hamburger:active{background:var(--accent-dim);transform:scale(.9)}@media (max-width:768px){.navbar{padding:.5rem 1rem;padding-inline:max(1rem, var(--safe-left,0px)) max(1rem, var(--safe-right,0px));padding-bottom:calc(.5rem + var(--safe-bottom,0px));border-bottom:none;border-top:1px solid var(--card-border);background:var(--navbar-bg,var(--card-bg));z-index:440;position:fixed;inset:auto 0 0}[data-keyboard-open] .navbar{display:none!important}.navbar-links.open{border-top:1px solid var(--card-border);bottom:100%;border-bottom:none!important;top:auto!important}.navbar-links .hide-mobile{display:none!important}body:not(.sidebar-expanded):not(.sidebar-collapsed) .toast-container{bottom:calc(68px + var(--safe-bottom,0px))}}.float-logo{top:var(--safe-top,0px);z-index:399;justify-content:flex-start;align-items:center;gap:.5rem;padding:.7rem 1rem;transition:opacity .3s;display:flex;position:fixed;left:52px}.float-logo.hidden{opacity:0;pointer-events:none}.float-logo img{object-fit:contain;width:24px;height:24px}.float-logo span{color:var(--heading);font-size:1rem;font-weight:700}.sidebar-vscode{z-index:301;background:var(--surface-canvas);border-right:1px solid var(--border-subtle);box-shadow:2px 0 16px var(--shadow-sm2);padding-top:var(--safe-top,0px);padding-bottom:var(--safe-bottom,0px);flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-vscode.has-pwa-banner{padding-bottom:calc(60px + var(--safe-bottom,0px))}.sidebar-vscode.collapsed{width:52px}.sidebar-vscode.collapsed .sidebar-vscode-text{opacity:0;pointer-events:none;width:0}.sidebar-vscode.collapsed .sidebar-vscode-username{opacity:0;width:0}.sidebar-vscode.collapsed .sidebar-vscode-logo{opacity:0;pointer-events:none;width:0;overflow:hidden}.sidebar-vscode.collapsed .sidebar-vscode-title{opacity:0;width:0;overflow:hidden}.sidebar-vscode.expanded{width:220px}.sidebar-vscode.expanded .sidebar-vscode-logo{opacity:1;justify-content:flex-start;gap:.4rem;width:auto}.sidebar-vscode.expanded .sidebar-vscode-title{opacity:1;width:auto}.sidebar-vscode-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;min-height:56px;padding:.5rem;transition:justify-content .25s cubic-bezier(.16,1,.3,1),padding .25s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-vscode.collapsed .sidebar-vscode-header{padding:.25rem}.sidebar-vscode.expanded .sidebar-vscode-header{justify-content:space-between;padding:.5rem .6rem}.sidebar-hamburger{color:var(--text-light);cursor:pointer;border-radius:var(--radius-sm);width:44px;height:44px;transition:background var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-slow) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-hamburger:hover{background:var(--accent-dim);color:var(--foreground)}.sidebar-vscode.expanded .sidebar-hamburger{transform:rotate(90deg)}.sidebar-vscode-logo{cursor:pointer;justify-content:center;align-items:center;gap:0;text-decoration:none;transition:gap .25s cubic-bezier(.16,1,.3,1),justify-content .25s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-vscode-logo:hover{opacity:.85}.sidebar-vscode-logo img{object-fit:contain;flex-shrink:0;width:22px;height:22px}.sidebar-vscode-title{white-space:nowrap;letter-spacing:-.02em;opacity:0;width:0;transition:opacity .25s cubic-bezier(.16,1,.3,1),width .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.sidebar-vscode-nav{flex-direction:column;flex:1;align-items:center;gap:4px;padding:.5rem 0;display:flex;overflow:hidden auto}.sidebar-vscode.expanded .sidebar-vscode-nav{align-items:stretch}.sidebar-wellbeing-section{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:.35rem 0;display:flex}.sidebar-vscode.expanded .sidebar-wellbeing-section{justify-content:stretch;align-items:stretch}.sidebar-vscode-link{width:44px;height:44px;color:var(--text-muted);transition:background var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:0;text-decoration:none;display:flex;position:relative}.sidebar-vscode-link:hover{background:var(--surface-hover);color:var(--foreground)}.sidebar-vscode-link:focus-visible,.sidebar-vscode-bottom-btn:focus-visible,.sidebar-hamburger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sidebar-vscode-link.active:before{content:"";background:var(--accent);border-radius:5px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-vscode.expanded .sidebar-vscode-link{border-radius:5px;justify-content:flex-start;gap:.65rem;width:auto;height:auto;margin:0 .35rem;padding:.6rem .75rem}.sidebar-vscode.expanded .sidebar-vscode-link.active:before{top:6px;bottom:6px;left:-.35rem}.sidebar-vscode-icon{opacity:.9;width:20px;height:20px;color:inherit;stroke:currentColor;flex-shrink:0}.sidebar-vscode-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-vscode-bottom{border-top:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:.35rem 0;display:flex}.sidebar-vscode.expanded .sidebar-vscode-bottom{align-items:stretch}.sidebar-vscode-bottom-btn{width:44px;height:44px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:0;font-family:inherit;font-size:.82rem;font-weight:500;text-decoration:none;display:flex}.sidebar-vscode-bottom-btn:hover{background:var(--accent-dim);color:var(--heading)}.sidebar-vscode-bottom-btn.active{color:var(--accent);background:var(--accent-soft-bg)}.sidebar-vscode-bottom-btn svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.sidebar-vscode-bottom-btn:hover svg{opacity:1}.sidebar-signout:hover{background:var(--error-bg)!important;color:var(--red-strong)!important}.sidebar-signout:hover svg{color:var(--red-strong)!important}.sidebar-pricing-btn{color:var(--accent)}.sidebar-usage{display:none}.sidebar-vscode.expanded .sidebar-usage{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--card-bg);z-index:2;margin:.35rem .7rem .45rem;padding:.55rem .6rem;display:block;position:relative}.sidebar-usage-divider{display:none}.sidebar-vscode.expanded .sidebar-usage-divider{border-top:1px solid var(--border-subtle);flex:0 0 1px;width:100%;margin:0 0 .45rem;display:block}.sidebar-usage-content{padding-right:0}.sidebar-usage-title{color:var(--heading);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.72rem;font-weight:700;display:flex}.sidebar-usage-table{border-collapse:collapse;width:100%;color:var(--text-muted);font-size:.68rem;line-height:1.25}.sidebar-usage-table tr+tr{border-top:1px solid var(--border-subtle)}.sidebar-usage-table th,.sidebar-usage-table td{padding:.3rem 0}.sidebar-usage-table th{text-align:left;font-weight:500}.sidebar-usage-table td{color:var(--accent);text-align:right;white-space:nowrap;font-weight:700}.sidebar-usage-skeleton-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;display:flex}.sidebar-usage-skeleton-row+.sidebar-usage-skeleton-row{border-top:1px solid var(--border-subtle)}.sidebar-usage-skeleton-label,.sidebar-usage-skeleton-value{height:.48rem;display:block}.sidebar-usage-skeleton-label{width:5.2rem}.sidebar-usage-skeleton-value{width:2.1rem}.sidebar-vscode.expanded .sidebar-vscode-bottom-btn{border-radius:5px;justify-content:flex-start;gap:.65rem;width:auto;height:auto;margin:0 .35rem;padding:.6rem .75rem}.sidebar-icon-badge-wrap{flex-shrink:0;display:inline-flex;position:relative}.sidebar-badge{background:var(--red-dark,#dc2626);color:#fff;text-align:center;min-width:15px;height:15px;box-shadow:0 0 0 2px var(--card);border-radius:999px;padding:0 3px;font-size:.62rem;font-weight:700;line-height:15px;position:absolute;top:-6px;right:-8px}.offline-cache-control{word-break:break-word;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;gap:0 .25rem;min-width:0;max-width:100%;margin:.4rem;padding:.4rem;display:grid;position:relative;overflow:hidden}.offline-cache-details{word-break:break-word;box-sizing:border-box;flex-direction:column;grid-column:1/-1;justify-content:center;gap:.15rem;min-width:0;padding-right:2rem;display:flex;overflow:hidden}.sidebar-vscode:has(.offline-cache-control) .sidebar-vscode-bottom{max-height:60dvh;padding-bottom:max(.35rem, var(--safe-bottom,0px));overflow-y:auto}.offline-cache-details strong{color:var(--foreground);font-size:clamp(.75rem,1vw,.85rem)}.offline-cache-status,.offline-cache-updated,.offline-cache-caption{color:var(--text-muted);font-size:clamp(.65rem,.9vw,.75rem)}.offline-cache-status{grid-column:1}.offline-cache-updated{text-align:left;white-space:normal;grid-column:1/-1;align-self:start;margin-top:.2rem}.offline-cache-refresh{min-width:2.75rem;min-height:2.75rem;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.15rem;right:.15rem}.offline-cache-refresh:before{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--hover-bg);content:"";width:1.75rem;height:1.75rem;transition:border-color var(--duration-standard) var(--ease-standard), background var(--duration-standard) var(--ease-standard);position:absolute}.offline-cache-refresh svg{width:.875rem;height:.875rem;position:relative}.offline-cache-refresh:hover:not(:disabled){color:var(--accent-hover)}.offline-cache-refresh:hover:not(:disabled):before{border-color:var(--accent);background:var(--accent-dim)}.offline-cache-refresh:disabled{opacity:.5;cursor:default}.offline-cache-refresh:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.offline-cache-bar{appearance:none;background:var(--border);width:100%;max-width:100%;height:.4rem;accent-color:var(--accent);border:0;border-radius:1rem;grid-column:1/-1;overflow:hidden}.offline-cache-bar::-webkit-progress-bar{background:var(--border);border-radius:1rem}.offline-cache-bar::-webkit-progress-value{background:var(--accent);border-radius:1rem}.offline-cache-bar::-moz-progress-bar{background:var(--accent);border-radius:1rem}.offline-cache-caption{grid-column:1/-1}.offline-cache-spinner{animation:1s linear infinite offline-cache-spin}@keyframes offline-cache-spin{to{transform:rotate(360deg)}}.sidebar-vscode.collapsed .offline-cache-control{background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:.25rem;margin-inline:.2rem;padding:0}.sidebar-vscode.collapsed .offline-cache-details,.sidebar-vscode.collapsed .offline-cache-caption,.sidebar-vscode.collapsed .offline-cache-status,.sidebar-vscode.collapsed .offline-cache-updated{display:none}.sidebar-vscode-user{justify-content:center;align-items:center;gap:0;width:100%;padding:.4rem .5rem;display:flex}.sidebar-vscode-user-row{border-top:1px solid var(--card-border);align-items:center;width:100%;min-width:0;margin-top:.15rem;display:flex}.sidebar-vscode-bottom>.sidebar-vscode-user-row:only-child{border-top:0;margin-top:0}.sidebar-vscode.expanded .sidebar-vscode-user{justify-content:flex-start;gap:.6rem;padding:.5rem .75rem}.sidebar-vscode-user-row .sidebar-vscode-user{flex:auto;width:auto;min-width:0}.sidebar-admin-profile-action,.sidebar-signout-profile-action{width:36px;height:36px;color:var(--red-strong,var(--danger));border:1px solid var(--border);box-sizing:border-box;cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;text-decoration:none;display:inline-flex}.sidebar-admin-profile-action svg,.sidebar-signout-profile-action svg{color:var(--red-strong,var(--danger))}.sidebar-admin-profile-action:hover,.sidebar-signout-profile-action:hover{color:var(--red-strong,var(--danger));background:0 0}.sidebar-admin-profile-action.active{background:var(--red-strong,var(--danger));border-color:var(--red-strong,var(--danger));color:var(--solid-white)}.sidebar-admin-profile-action.active svg{color:inherit}.sidebar-signout-profile-action{min-width:44px;min-height:44px}.sidebar-signout-profile-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sidebar-admin-panel{overscroll-behavior-y:contain;gap:0;min-height:0}.sidebar-admin-panel-group{box-sizing:border-box;flex-shrink:0;gap:0;width:100%;margin-top:0;display:grid}.sidebar-admin-panel-group:first-child{margin-top:auto}.sidebar-vscode.expanded .sidebar-admin-panel .sidebar-vscode-link{min-height:44px;padding-block:0}.sidebar-admin-panel-label{color:var(--heading);text-transform:uppercase;align-items:center;gap:.5rem;padding:.125rem .5rem;font-size:.72rem;font-weight:700;display:flex}.sidebar-admin-panel-label:before,.sidebar-admin-panel-label:after{content:"";background:var(--border-subtle);flex:1;height:1px}.sidebar-admin-item-badge{border-radius:var(--radius-pill);background:var(--red-strong);min-width:1.25rem;height:1.25rem;color:var(--solid-white);text-align:center;box-sizing:border-box;margin-left:auto;padding-inline:.35rem;font-size:.68rem;font-weight:700;line-height:1.25rem}.sidebar-vscode.expanded .sidebar-admin-profile-action,.sidebar-vscode.expanded .sidebar-signout-profile-action{margin-right:.55rem}.sidebar-vscode.collapsed .sidebar-vscode-user-row{flex-direction:column;gap:.2rem}.sidebar-vscode.collapsed .sidebar-admin-profile-action,.sidebar-vscode.collapsed .sidebar-signout-profile-action{width:32px;height:32px;margin:0}.sidebar-vscode-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:28px;height:28px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;overflow:hidden}.sidebar-vscode-avatar-wrap{flex:0 0 28px;width:28px;height:28px;display:inline-flex;position:relative}.sidebar-premium-crown{z-index:1;color:var(--warning-yellow);fill:none;stroke:var(--warning-yellow);filter:drop-shadow(0 1px 1px var(--background));position:absolute;top:-4px;left:-5px;transform:rotate(-18deg)}.sidebar-vscode-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sidebar-vscode-username{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.sidebar-vscode-link:hover,.sidebar-vscode-bottom-btn:not(.sidebar-pricing-btn):hover,.sidebar-vscode-bottom-btn:not(.sidebar-pricing-btn).active{color:var(--text-muted);background:0 0}.sidebar-vscode-link.active:before{background:var(--accent);display:block}.sidebar-vscode-link.active{color:var(--accent);background:var(--accent-soft-bg)}.sidebar-vscode-link .sidebar-vscode-icon{color:var(--text-muted);stroke:currentColor}.sidebar-vscode-link:hover .sidebar-vscode-icon,.sidebar-vscode-link.active .sidebar-vscode-icon,.sidebar-vscode-bottom-btn:not(.sidebar-pricing-btn):hover svg,.sidebar-vscode-bottom-btn:not(.sidebar-pricing-btn).active svg{color:inherit}body.sidebar-expanded main{margin-left:220px;transition:margin-left .25s cubic-bezier(.16,1,.3,1)}body.sidebar-collapsed main{margin-left:52px;transition:margin-left .25s cubic-bezier(.16,1,.3,1)}.sidebar-mobile-overlay{pointer-events:none;display:none}@media (max-width:768px){.sidebar-mobile-hide-link{display:none}.sidebar-vscode{z-index:450;position:fixed}.sidebar-vscode.collapsed{border-right:none;width:0;overflow:hidden}body.sidebar-expanded main,body.sidebar-collapsed main{margin-left:0}.float-logo{display:none}}[data-native=true]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[data-native=true][data-native-banner=visible]{--safe-top:0px}[data-native=true],[data-native=true] body{overscroll-behavior:none}[data-native=true] input,[data-native=true] textarea,[data-native=true] [contenteditable=true]{-webkit-user-select:text;user-select:text}[data-native=true] .pwa-banner,[data-native=true] .start-apps,[data-native=true] .float-logo{display:none}.auth-page{justify-content:center;align-items:center;height:100dvh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:radial-gradient(circle, var(--accent-soft-bg) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:400px;height:400px;animation:8s ease-in-out infinite authFloat;position:absolute;top:-100px;right:-100px}.auth-page:after{content:"";background:radial-gradient(circle, var(--accent-soft-bg-dim) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:300px;height:300px;animation:10s ease-in-out infinite reverse authFloat;position:absolute;bottom:-80px;left:-80px}@keyframes authFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}}.auth-card{background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:680px;max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-floating);z-index:1;animation:authCardIn var(--duration-slow) var(--ease-standard);flex-direction:column;padding:2.75rem 2.25rem;display:flex;position:relative;overflow:hidden}@keyframes authCardIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-hover), var(--green-bright));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:4px;position:absolute;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.auth-card,.auth-page:before,.auth-page:after{animation:none}}.auth-header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:2rem;display:flex;position:relative}.auth-header-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:56px;height:56px;color:var(--text-on-accent);box-shadow:0 4px 16px var(--accent-btn-shadow-subtle);justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.5rem;display:inline-flex}.auth-title{color:var(--heading);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.65rem;font-weight:800;line-height:1.25}.auth-subtitle{color:var(--text-light);margin:0;font-size:.92rem;line-height:1.5}.auth-form{flex-direction:column;gap:1.15rem;display:flex}.auth-bot-challenge{flex-direction:column;align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.auth-bot-challenge-widget{width:100%;min-width:0;min-height:65px}.auth-bot-challenge-status{color:var(--text-light);text-align:center;overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.5}.auth-bot-challenge-retry{white-space:normal;max-width:100%;min-height:44px}.google-auth-button{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--input-bg);min-height:44px;color:var(--heading);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;gap:.65rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.google-auth-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.google-auth-button:hover{border-color:var(--accent);background:var(--card-bg);transform:translateY(-1px)}.google-auth-icon{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:800;line-height:1;display:inline-flex}.auth-divider{color:var(--text-light);white-space:nowrap;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--card-border);flex:1;height:1px}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--heading);letter-spacing:-.01em;font-size:.82rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-light);pointer-events:none;opacity:.6;align-items:center;transition:opacity .2s,color .2s;display:flex;position:absolute;left:.85rem}.form-group input:focus~.input-icon,.form-group input.filled~.input-icon,.form-group textarea:focus~.input-icon{opacity:.9;color:var(--accent)}.form-group input,.form-group select{border:1.5px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:5px;padding:.75rem .9rem;font-family:Google Sans Text,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input.has-icon{padding-left:2.5rem}.form-group input:hover{border-color:var(--text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 4px var(--accent-focus-shadow);outline:none}.form-group input::placeholder{color:var(--text-light);opacity:.7;font-weight:400}.form-group input:-webkit-autofill{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.form-group input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.email-check-status{align-items:center;gap:4px;margin-top:4px;font-size:.75rem;font-weight:500;display:inline-flex}.email-check-status.checking{color:var(--text-muted)}.email-check-status.available{color:#16a34a}.email-check-status.taken{color:#dc2626}.email-login-link{color:inherit;font-weight:600;text-decoration:underline}.email-login-link:hover{opacity:.8}.wizard-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.register-wizard{flex-direction:column;flex:1;min-height:0;display:flex}.wizard-scroll{flex:1;min-height:0;overflow-y:auto}.wizard-actions{flex-shrink:0}.wizard-actions-split{align-items:center}.register-wizard .registration-submit-group>.wizard-btn-submit{box-sizing:border-box;justify-content:center;align-self:stretch;width:100%;min-width:100%;min-height:44px}.registration-submit-group{flex-direction:column;gap:.3rem;display:flex}.registration-submit-group>.form-footer{margin:0}.registration-submit-group>.wizard-btn-submit+.form-footer,.registration-submit-group>.form-footer+.form-footer{margin-top:.4rem}[data-keyboard-open] .auth-header,[data-keyboard-open] .form-footer{display:none}.form-footer{flex-shrink:0;margin:0}.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield;text-align:left}.form-group textarea{border:1.5px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--text-main);resize:vertical;border-radius:5px;min-height:80px;padding:.75rem .9rem;font-family:Google Sans Text,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-group textarea:focus{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 4px var(--accent-focus-shadow);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.register-country-private-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-width:0}.register-country-private-row>.form-group{min-width:0}.register-privacy-field .form-toggle-label{min-height:44px}.form-group.checkbox{flex-direction:row;align-items:center;gap:.6rem}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-group .required:after{content:" *";color:var(--red-dark)}.btn-auth{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:5px;margin-top:.5rem;padding:.85rem;font-family:Google Sans Text,sans-serif;font-size:.95rem;font-weight:700;transition:all .25s;position:relative;overflow:hidden}.btn-auth:before{content:"";background:linear-gradient(135deg, var(--accent-hover), var(--green-bright));opacity:0;border-radius:5px;transition:opacity .3s;position:absolute;inset:0}.btn-auth:hover{box-shadow:0 8px 25px var(--accent-btn-shadow);transform:translateY(-2px)}.btn-auth:hover:before{opacity:1}.btn-auth:active{box-shadow:0 4px 12px var(--accent-btn-shadow-subtle);transform:translateY(0)}.btn-auth:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-auth>span{z-index:1;justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.btn-auth-spinner{border:2.5px solid var(--white-trans-30);border-top-color:var(--text-on-accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite authSpin;display:inline-block}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-error{background:var(--error-bg);border:1px solid var(--danger-soft-border);color:var(--red-dark);border-radius:5px;align-items:center;gap:8px;padding:.7rem 1rem;font-size:.85rem;font-weight:500;line-height:1.5;animation:.35s authShake;display:flex}.auth-error svg{flex-shrink:0;width:18px;height:18px}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.auth-success{background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);color:var(--accent);border-radius:5px;align-items:center;gap:8px;padding:.7rem 1rem;font-size:.85rem;font-weight:500;line-height:1.5;display:flex}.auth-success svg{flex-shrink:0;width:18px;height:18px}.form-footer{text-align:center;margin-top:1.25rem}.form-link{color:var(--accent);font-weight:600;text-decoration:none;transition:color .15s}.form-link:hover{color:var(--accent-hover);text-decoration:underline}.auth-back-button{background:var(--card);width:40px;height:40px;color:var(--foreground);border:1px solid var(--border);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex;position:absolute;top:0;left:0}.auth-back-button:hover{background:var(--accent-soft-bg);border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.auth-back-button:active{transform:scale(.95)}.library-modern-section{background:var(--card-bg);padding:100px 24px}.library-modern-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:800px;margin:0 auto;display:grid}.library-modern-card{border-radius:var(--radius-lg);border:1px solid var(--border-subtle,var(--border));background:var(--surface-canvas,var(--card-bg));box-shadow:var(--shadow-card-rest);transition:transform var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);flex-direction:column;align-items:flex-start;padding:36px 28px;text-decoration:none;display:flex;position:relative;overflow:hidden}.library-modern-card:hover{border-color:var(--focus-ring);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.library-modern-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.meals-card-modern{background:var(--surface-canvas,var(--card-bg))}.meals-card-modern:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.meals-card-modern:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent)}}.drinks-card-modern{background:var(--surface-canvas,var(--card-bg))}.drinks-card-modern:hover{border-color:var(--accent-western)}@supports (color:color-mix(in lab, red, red)){.drinks-card-modern:hover{border-color:color-mix(in srgb, var(--accent-western) 30%, transparent)}}.library-modern-icon{margin-bottom:16px}.meals-card-modern .library-modern-icon{color:var(--accent)}.drinks-card-modern .library-modern-icon{color:var(--accent-western)}.library-modern-title{color:var(--foreground);margin-bottom:4px;font-size:1.3rem;font-weight:700}.library-modern-count{color:var(--foreground);letter-spacing:-.5px;margin-bottom:4px;font-size:2rem;font-weight:800}.library-modern-desc{margin-bottom:16px}.library-modern-tags{flex-wrap:wrap;gap:8px;display:flex}.library-modern-tags span{background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border);border-radius:5px;padding:4px 12px;font-size:.75rem;font-weight:500}.lb-container{max-width:1200px;margin:0 auto;padding:0 1rem 3rem}.lb-container.lb-container{padding-block-start:var(--lb-banner-height,0px);padding-block-end:calc(6rem + var(--safe-bottom,0px))}.lb-hero{text-align:center;padding:2.5rem 1rem 1.5rem;position:relative}.lb-hero:after{content:"";background:var(--accent);border-radius:5px;width:60px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.lb-hero-title{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--foreground);margin:0 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;line-height:1.2}.lb-hero-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.lb-tabs{border-bottom:1px solid var(--border-subtle);background:0 0;gap:.5rem;margin:1rem 0 1.25rem;padding:0;display:flex}.lb-tab{min-height:var(--control-height);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;display:flex}.lb-tab:hover{background:var(--hover-bg);color:var(--foreground)}.lb-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:0 0}.lb-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.lb-tab-count{background:#fff3;border-radius:5px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.lb-search-bar{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.lb-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.lb-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.lb-search-input{width:100%;min-height:var(--control-height);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-canvas);color:var(--foreground);font-size:.9rem;font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);outline:none;padding:.7rem 2.5rem .7rem 2.2rem}.lb-search-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft)}.lb-search-input::placeholder{color:var(--text-muted);opacity:.7}.lb-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:8px}.lb-search-clear:hover{color:var(--foreground)}.lb-filter-actions{flex-wrap:wrap;gap:.4rem;width:auto;padding-bottom:0;display:flex;overflow:visible}.lb-filter-toggle{min-height:var(--control-height);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-canvas);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);white-space:nowrap;align-items:center;gap:.35rem;padding:.7rem 1rem;font-size:.85rem;font-weight:600;display:flex}.lb-filter-toggle:hover,.lb-filter-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-filter-toggle:hover,.lb-filter-toggle.active{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.lb-filter-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.lb-filter-panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.lb-filter-group{flex-direction:column;gap:.5rem;display:flex}.lb-filter-chips{flex-wrap:wrap;gap:.4rem;display:flex}.lb-chip{min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;gap:.3rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;display:flex}.lb-chip:focus-visible,.lb-filter-toggle:focus-visible,.lb-search-clear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.lb-chip:hover{border-color:var(--accent);color:var(--foreground)}.lb-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.lb-results{min-height:200px}.lb-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.lb-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.65s linear infinite spin}.lb-empty-title{margin:0 0 .5rem}.lb-empty-text{max-width:300px;margin:0 auto}.lb-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.lb-card{cursor:pointer;border-radius:var(--radius-lg);transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);flex-direction:column;display:flex}.lb-card:hover{border-color:var(--focus-ring);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.lb-card-image-wrap{aspect-ratio:16/9;background:var(--hover-bg);width:100%;position:relative;overflow:hidden}.lb-card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.lb-card:hover .lb-card-image{transform:scale(1.05)}.lb-card-image-overlay{background:linear-gradient(transparent, var(--overlay-dark));word-break:break-word;box-sizing:border-box;justify-content:space-between;align-items:center;gap:.375rem;min-width:0;padding:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lb-card-kcal-badge{white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#000000a6;border-radius:5px;flex-shrink:0;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.lb-card-action-btns{z-index:2;flex-shrink:0;gap:6px;margin-inline-start:auto;display:flex}.lb-card-action-btns .lb-quick-add-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.lb-card-action-btns .lb-quick-add-btn:hover{background:var(--accent);transform:scale(1.1)}.lb-fav-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.lb-fav-btn:hover{background:#e6510099;transform:scale(1.1)}.lb-fav-btn.active{background:var(--accent);color:#fff}.lb-card-content{flex-direction:column;flex:1;gap:.6rem;padding:.9rem 1rem 1rem;display:flex}.lb-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.lb-card-title{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--foreground);flex:1;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.lb-label-tag{white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.lb-label-desi,.lb-label-mix,.lb-label-western,.lb-label-strength,.lb-label-cardio,.lb-label-flexibility{background:var(--hover-bg);color:var(--text-muted)}.lb-card-ingredients{flex-wrap:wrap;gap:.3rem;display:flex}.lb-ingredient-chip{background:var(--hover-bg);color:var(--text-muted);border-radius:5px;padding:.2rem .55rem;font-size:.7rem}.lb-more-chip{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-more-chip{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.lb-more-chip{color:var(--accent);font-weight:600}.lb-card-macros{flex-direction:column;gap:.35rem;display:flex}.lb-macro-bar-wrap{flex-direction:column;gap:.15rem;display:flex}.lb-macro-bar-label{justify-content:space-between;display:flex}.lb-macro-bar-track{background:var(--hover-bg);border-radius:5px;height:4px}.lb-macro-bar-fill{border-radius:5px;transition:width .5s}.lb-macro-bar-fill.protein{background:var(--accent)}.lb-macro-bar-fill.sugar{background:var(--text-light)}.lb-skeleton-image{border-radius:inherit;border-end-end-radius:0;border-end-start-radius:0;height:8.75rem}.lb-skeleton-title{width:70%;height:1.125rem;margin-bottom:.5rem}.lb-skeleton-line{width:90%;height:.75rem;margin-bottom:.25rem}.lb-skeleton-line-short{width:50%;margin-bottom:.5rem}.lb-skeleton-chips{word-break:break-word;box-sizing:border-box;gap:.375rem;min-width:0;display:flex;overflow:hidden}.lb-skeleton-chip{width:min(3.75rem,25%);height:1.5rem}.lb-card-recipe-preview{margin:0;line-height:1.4}.lb-card-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:.4rem}.lb-card-type{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:inline-flex}.lb-inline-icon{vertical-align:-2px;align-items:center;display:inline-flex}.lb-sentinel{grid-column:1/-1;justify-content:center;min-height:80px;padding:2rem 1rem;display:flex}.lb-loading-more{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.lb-spinner-sm{border-width:2px;width:20px;height:20px}.lb-end-message{text-align:center;color:var(--text-muted);opacity:.7;grid-column:1/-1;padding:2rem 1rem;font-size:.85rem}@media (max-width:768px){.lb-container{padding:0 .6rem 2rem}.lb-hero{padding:1.25rem .5rem 1rem}.lb-hero-title{font-size:clamp(1.3rem,5vw,1.8rem)}.lb-hero-subtitle{font-size:.82rem}.lb-tabs{-webkit-overflow-scrolling:touch;gap:.3rem;margin:.75rem 0;padding:.4rem;overflow-x:auto}.lb-tab{flex-shrink:0;gap:.3rem;padding:.5rem .65rem;font-size:.78rem}.lb-tab-count{padding:.05rem .4rem;font-size:.6rem}.lb-search-bar{flex-wrap:wrap;gap:.4rem}.lb-search-input-wrap{flex:1 1 0;order:1;min-width:0}.lb-search-bar>.community-filter-toggle{order:2}.lb-search-input{padding:.6rem 2.2rem .6rem 2rem;font-size:.85rem}.lb-filter-actions{-webkit-overflow-scrolling:touch;order:3;width:100%;padding-bottom:2px;overflow-x:auto}.lb-filter-toggle{white-space:nowrap;flex-shrink:0;padding:.5rem .75rem;font-size:.78rem}.lb-filter-dot{width:5px;height:5px}.lb-filter-panel{gap:.75rem;margin-bottom:.75rem;padding:.75rem .9rem}.lb-filter-chips{gap:.3rem}.lb-chip{padding:.3rem .6rem;font-size:.72rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.lb-card{border-radius:5px}.lb-card-content{gap:.3rem;padding:.5rem .55rem .6rem}.lb-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:.85rem}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.18rem .45rem;font-size:.65rem}.lb-card-action-btns{gap:5px}.lb-card-action-btns .lb-quick-add-btn,.lb-fav-btn{width:26px;height:26px}.lb-card-ingredients,.lb-card-macros,.lb-card-recipe-preview,.lb-card-footer{display:none}}@media (max-width:480px){.lb-container{padding:0 .4rem 1.5rem}.lb-hero-title{font-size:clamp(1.1rem,6vw,1.4rem)}.lb-hero-subtitle{font-size:.78rem}.lb-tab{padding:.4rem .55rem;font-size:.72rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.lb-card{border-radius:5px}.lb-card-content{gap:.25rem;padding:.4rem .45rem .5rem}.lb-card-header{gap:.25rem}.lb-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:.78rem}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.15rem .4rem;font-size:.6rem}.lb-card-action-btns{gap:4px}.lb-card-action-btns .lb-quick-add-btn,.lb-fav-btn{width:24px;height:24px}.lb-label-tag{padding:.1rem .35rem;font-size:.5rem}.lb-card-ingredients,.lb-card-macros,.lb-card-recipe-preview,.lb-card-footer{display:none}.lb-filter-toggle{padding:.45rem .6rem;font-size:.72rem}.lb-search-input{padding:.5rem 1.8rem;font-size:.8rem}.lb-empty{padding:2rem 1rem}.lb-empty-icon{font-size:2.2rem}.lb-empty-title{font-size:1.1rem}.lb-empty-text{font-size:.82rem}}@media (max-width:380px){.lb-grid{grid-template-columns:1fr;gap:.6rem}.lb-card-content{gap:.35rem;padding:.45rem .5rem .55rem}.lb-card-header{flex-direction:column;gap:.3rem}.lb-card-ingredients{gap:.2rem}.lb-ingredient-chip{padding:.1rem .35rem;font-size:.58rem}.lb-tab{padding:.35rem .45rem;font-size:.65rem}.lb-tab-count{padding:.02rem .35rem;font-size:.55rem}.lb-filter-toggle{padding:.4rem .5rem;font-size:.68rem}}.lb-quick-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.lb-quick-add-btn:hover{opacity:.88;transform:scale(1.1)}.community-container{max-width:1300px;margin:0 auto;padding:0 1rem 3rem}.community-hero{margin-bottom:1rem;padding:3rem 1rem 2rem;position:relative}.community-hero:before{content:"";pointer-events:none;z-index:-1;border-radius:10px;position:absolute;inset:0}.community-hero-content{text-align:center;position:relative}.community-hero-title{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--foreground);background:linear-gradient(135deg, var(--foreground), var(--text-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:900;line-height:1.2}.community-hero-subtitle{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0;display:flex}.community-container>.shared-filter-toolbar{margin:2rem 0 1.5rem}.community-search-bar{align-items:center;gap:.75rem;margin:2rem 0 1.5rem;display:flex}.community-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.community-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.community-search-input{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-canvas);width:100%;color:var(--foreground);font-size:.9rem;font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);outline:none;padding:.8rem 2.5rem .8rem 2.2rem}.community-search-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft)}.community-search-input::placeholder{color:var(--text-muted);opacity:.7}.community-search-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:8px}.community-search-clear:hover{color:var(--foreground)}.community-filter-toggle{border-radius:var(--radius-pill);background:var(--hover-bg);width:44px;height:44px;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.community-filter-toggle:hover{color:var(--foreground)}.community-filter-toggle:focus-visible,.community-search-clear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.community-filter-toggle.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-filter-toggle.active{background:color-mix(in srgb, var(--accent) 12%, var(--hover-bg))}}.community-filter-toggle.active{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-filter-toggle.active{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}}.community-filter-dot{background:var(--accent);min-width:16px;height:16px;color:var(--text-on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:.62rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.community-filter-panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:280px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-floating);box-sizing:border-box;z-index:13000;animation:communitySlideDown var(--duration-standard) var(--ease-standard);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.community-filter-panel :is(button,input,select):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@keyframes communitySlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.community-filter-group{flex-direction:column;gap:.75rem;display:flex}.community-filter-group-row{flex-flow:wrap;gap:.75rem}.community-checkbox-btn{border:1px solid var(--border);min-height:var(--control-height);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);text-align:left;background:0 0;align-items:center;gap:.75rem;width:fit-content;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex}.community-checkbox-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.community-checkbox-btn:hover,.community-checkbox-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-checkbox-btn:hover,.community-checkbox-btn.active{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.community-checkbox-btn svg{flex-shrink:0}.community-results{min-height:200px}.community-error-banner{color:#ef4444;background:#ef444414;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.9rem 1.25rem;font-size:.85rem;font-weight:500;display:flex}.community-error-banner svg{flex-shrink:0}.community-error-banner span{flex:1}.community-error-banner button{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:5px;flex-shrink:0;padding:.4rem .9rem;font-size:.8rem;font-weight:600;transition:all .15s}.community-error-banner button:hover{background:#ef44441f;border-color:#ef444480}.community-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.community-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.65s linear infinite spin}.community-spinner-sm{border-width:2px;width:20px;height:20px}.community-empty-title{margin:0 0 .5rem}.community-empty-text{max-width:300px;margin:0 auto}.community-sentinel{height:1px;margin:2rem 0}.community-loading-more{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.community-end-message{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch;gap:1rem;display:grid}.community-grid>*{height:100%}.community-card{cursor:pointer;border-radius:var(--radius-lg);background:var(--surface-canvas);border:1px solid var(--border-subtle);transition:transform var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);height:100%;padding:1.1rem 1rem 1rem;position:relative;overflow:hidden}.community-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--focus-ring);transform:translateY(-2px)}.community-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.community-card-accent{background:linear-gradient(90deg, var(--accent), var(--accent-hover,#f59e0b));opacity:.6;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.community-card:hover .community-card-accent{opacity:1}.community-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.community-card-avatar-wrap{flex-shrink:0;width:56px;height:56px;position:relative}.community-card-avatar-ring{background:linear-gradient(135deg, var(--accent), var(--accent-hover,#f59e0b));border-radius:50%;width:100%;height:100%;padding:3px}.community-card-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden}.community-card-avatar-img{object-fit:cover}.community-card-badge{background:var(--accent);border:2px solid var(--card);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;display:flex;position:absolute;bottom:-2px;right:-2px}.community-card-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.community-card-actions{z-index:2;align-items:center;gap:.35rem;display:flex;position:absolute;top:.65rem;right:.65rem}.community-follow-btn{justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;display:flex}.community-card-info.has-card-actions{padding-right:3.2rem}.community-follow-btn.following{color:var(--accent);border-color:var(--accent)}.community-follow-btn.following:hover{background:var(--danger-bg,#dc262614);color:var(--red-dark);border-color:var(--red-dark)}.community-card-menu-wrap{position:relative}.community-card-menu-btn{border:1px solid var(--border);background:var(--card);width:28px;min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.community-card-menu-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-card-menu-btn:hover{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.community-card-menu-dropdown{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-floating);z-index:500;animation:communitySlideDown var(--duration-fast) var(--ease-standard);overflow:hidden}.community-card-menu-item{width:100%;min-height:var(--control-height);box-sizing:border-box;font-family:var(--font-sans);color:var(--foreground);cursor:pointer;text-align:left;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;align-items:center;gap:8px;padding:.6rem .85rem;font-size:.82rem;font-weight:600;display:flex}.community-card-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.community-card-menu-item:hover{background:var(--hover-bg)}.community-card-menu-item-danger{color:var(--red-dark,#dc2626)}.community-card-menu-item-danger:hover{background:var(--danger-bg,#dc262614)}.community-card-name{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;line-height:1.25;overflow:hidden}.community-card-subtitle{flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;display:flex}.community-card-tag{color:var(--text-muted);background:var(--hover-bg);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.2rem;max-width:100%;padding:.1rem .5rem;font-size:.7rem;font-weight:600;line-height:1.4;display:inline-flex;overflow:hidden}.community-card-goal{color:var(--accent);background:var(--accent);align-items:center;gap:4px;font-size:.7rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.community-card-goal{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.community-card-goal{white-space:nowrap;text-overflow:ellipsis;border-radius:20px;width:fit-content;max-width:100%;padding:.15rem .55rem;line-height:1.4;overflow:hidden}.community-card-steps{background:var(--accent);justify-content:center;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.55rem .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.community-card-steps{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.community-card-steps{border-radius:8px}.community-card-steps-icon{flex-shrink:0;font-size:1rem}.community-card-steps-value{color:var(--accent);font-size:1rem;font-weight:800;font-family:var(--font-display);font-variation-settings:"opsz" 18;letter-spacing:-.02em}.community-card-steps-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600}.community-card-stat-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.community-stat-badge{background:var(--hover-bg);border-radius:6px;align-items:center;gap:.3rem;min-width:0;padding:.35rem .5rem;display:flex;overflow:hidden}.community-stat-icon{flex-shrink:0;font-size:.8rem;line-height:1}.community-stat-value{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;font-weight:700;overflow:hidden}.community-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.6rem;font-weight:500}@media (min-width:1025px){.community-container{max-width:1200px;padding:0 2rem 4rem}.community-hero{margin-bottom:1.5rem;padding:3.5rem 1rem 2.5rem}.community-hero-title{font-size:2.8rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}.community-card{border-radius:var(--radius-lg);padding:1.4rem 1.25rem 1.25rem}.community-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.community-card-accent{height:4px}.community-card-avatar-wrap{width:68px;height:68px}.community-card-avatar{font-size:1.35rem}.community-card-avatar-ring{padding:3px}.community-card-badge{width:22px;height:22px;font-size:.65rem;bottom:-2px;right:-2px}.community-card-header{gap:.9rem}.community-card-actions{gap:.4rem;top:.75rem;right:.75rem}.community-follow-btn,.community-card-menu-btn{width:30px;min-width:30px;height:30px}.community-card-info.has-card-actions{padding-right:3.6rem}.community-card-name{font-size:1.05rem}.community-card-tag{font-size:.78rem}.community-card-goal{padding:.2rem .65rem;font-size:.75rem}.community-card-steps{margin-bottom:.75rem;padding:.65rem .85rem}.community-card-steps-value{font-size:1.15rem}.community-card-stat-grid{gap:.5rem}.community-stat-badge{border-radius:8px;padding:.45rem .6rem}.community-stat-value{font-size:.78rem}.community-stat-label{font-size:.63rem}.community-stat-icon{font-size:.9rem}.community-search-bar{gap:1rem;margin:2.5rem 0 2rem}.community-search-input{padding:.9rem 2.5rem;font-size:.95rem}.community-filter-panel{border-radius:var(--radius-lg);padding:1.75rem}.community-empty{padding:4rem 2rem}.community-empty-icon{font-size:3.5rem}.community-loading{padding:4rem 2rem}}@media (min-width:1025px) and (prefers-color-scheme:dark){.community-card:hover{box-shadow:var(--shadow-card-hover)}}@media (max-width:768px){.community-container{padding:0 1rem 2rem}.community-hero{margin-bottom:.5rem;padding:2rem .75rem 1.5rem}.community-hero-title{font-size:clamp(1.6rem,3vw,2rem)}.community-search-bar{gap:.5rem;margin:1.5rem 0 1rem}.community-search-input{padding:.7rem 2.2rem .7rem 2rem;font-size:.9rem}.community-filter-panel{gap:1rem;padding:1rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.75rem}.community-card{padding:.9rem .8rem .8rem}.community-card-header{gap:.65rem}.community-card-actions{gap:.3rem;top:.6rem;right:.6rem}.community-follow-btn,.community-card-menu-btn{width:44px;min-width:44px;height:44px}.community-card-info.has-card-actions{padding-right:2.9rem}.community-card-avatar-wrap{width:48px;height:48px}.community-card-avatar{font-size:.95rem}.community-card-avatar-ring{padding:2px}.community-card-name{font-size:.88rem}.community-card-tag{font-size:.7rem}.community-card-goal{font-size:.68rem}.community-card-steps{padding:.45rem .6rem}.community-card-steps-value{font-size:.9rem}.community-stat-badge{padding:.3rem .4rem}.community-stat-value{font-size:.7rem}}@media (max-width:640px){.community-container{padding:0 .75rem 2rem}.community-hero{padding:1.8rem .5rem 1.2rem}.community-hero-title{font-size:clamp(1.5rem,5vw,2rem)}.community-search-bar{gap:.5rem;margin:1rem 0 .75rem}.community-filter-toggle{width:44px;height:44px}.community-filter-panel{border-radius:var(--radius-md);gap:.75rem;width:calc(100vw - 1.5rem);min-width:0;padding:.75rem}.community-filter-group-row{flex-direction:column;align-items:stretch}.multiselect-dropdown{width:100%}.multiselect-trigger{justify-content:space-between;width:100%}.multiselect-panel{width:100%;max-width:100%}.community-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.community-card{border-radius:var(--radius-lg);padding:.85rem .7rem .7rem}.community-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.community-card-accent{height:2px}.community-card-header{flex-direction:column;align-items:center;gap:.5rem}.community-card-actions{gap:.25rem;top:.55rem;right:.55rem}.community-follow-btn,.community-card-menu-btn{width:44px;min-width:44px;height:44px}.community-card-info{text-align:center;align-items:center;width:100%}.community-card-info.has-card-actions{padding-right:0}.community-card-menu-dropdown{min-width:125px}.community-card-menu-item{padding:.55rem .7rem;font-size:.78rem}.community-card-avatar-wrap{width:42px;height:42px}.community-card-avatar{font-size:.85rem}.community-card-avatar-ring{padding:2px}.community-card-badge{width:16px;height:16px;font-size:.5rem}.community-card-name{max-width:100%;font-size:.82rem}.community-card-subtitle{justify-content:center}.community-card-tag{padding:.08rem .4rem;font-size:.63rem}.community-card-goal{padding:.12rem .45rem;font-size:.65rem}.community-card-steps{gap:.3rem;margin-bottom:.45rem;padding:.4rem .5rem}.community-card-steps-value{font-size:.85rem}.community-card-steps-label{font-size:.6rem}.community-card-stat-grid{gap:.3rem}.community-stat-badge{border-radius:5px;gap:.2rem;padding:.28rem .35rem}.community-stat-icon{font-size:.7rem}.community-stat-value{font-size:.68rem}.community-stat-label{font-size:.55rem}}@media (max-width:480px){.community-hero{padding:1.4rem .4rem .9rem}.community-hero-title{font-size:clamp(1.4rem,5vw,1.8rem)}.community-grid{grid-template-columns:minmax(0,1fr);gap:.55rem}.community-card{padding:1rem .85rem .85rem}.community-card-header{gap:.75rem}.community-card-name{font-size:.9rem}.community-card-tag{font-size:.66rem}.community-card-steps{padding:.5rem .65rem}.community-card-steps-value{font-size:.95rem}.community-card-stat-grid{gap:.35rem}.community-stat-badge{padding:.35rem .5rem}.community-stat-value{font-size:.73rem}.community-stat-icon{font-size:.78rem}}.ingredients-page{flex-direction:column;width:100%;max-width:800px;min-height:100dvh;margin:0 auto;display:flex}.ingredients-page-shell{width:100%;max-width:720px;margin:0 auto;padding:1rem}.ingredients-month-picker{border-bottom:1px solid var(--card-border);-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);background:var(--card-bg);top:var(--safe-top,0px);z-index:5;flex-shrink:0;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky}.ingredients-month-nav{border:1px solid var(--border);background:var(--card-bg);width:44px;height:44px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-month-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 4px var(--accent-dim)}.ingredients-month-nav:active:not(:disabled){transform:scale(.92)}.ingredients-month-nav:disabled{opacity:.25;cursor:not-allowed}.ingredients-month-label-wrap{justify-content:center;align-items:center;gap:.5rem;min-width:180px;display:flex}.ingredients-month-label{font-variant-numeric:tabular-nums;letter-spacing:-.2px}.ingredients-month-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--text-on-accent);border-radius:5px;padding:2px 8px;font-size:.6rem;font-weight:700}.ingredients-summary-section{border-bottom:1px solid var(--card-border);background:linear-gradient(180deg, var(--card-bg), transparent);flex-shrink:0;padding:.6rem 1rem .5rem}.ingredients-summary-bar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.ingredients-summary-stats{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.ingredients-summary-stat strong{color:var(--foreground);font-weight:700}.ingredients-summary-sep{color:var(--text-muted);opacity:.4;-webkit-user-select:none;user-select:none;font-weight:300}.ingredients-copy-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-copy-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ingredients-copy-btn:active{transform:scale(.96)}.ingredients-progress-wrap{align-items:center;gap:.55rem;display:flex}.ingredients-progress-bar{background:var(--border);border-radius:5px;flex:1;height:3px;overflow:hidden}.ingredients-progress-fill{background:var(--accent);will-change:width;border-radius:5px;height:100%;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.ingredients-progress-text{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.2px;font-size:.62rem;font-weight:700}.ingredients-categories-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;min-height:0;padding:0 1rem .5rem;overflow-y:auto}.ingredients-categories-list::-webkit-scrollbar{width:5px}.ingredients-categories-list::-webkit-scrollbar-track{background:0 0}.ingredients-categories-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.ingredients-categories-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ingredients-category{margin-bottom:.2rem}.ingredients-category-header{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);z-index:2;cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 0 .35rem;display:flex;position:sticky;top:0;-webkit-mask-image:linear-gradient(#000 85%,#0000 100%);mask-image:linear-gradient(#000 85%,#0000 100%)}.ingredients-category-header:hover .ingredients-category-chevron{color:var(--foreground)}.ingredients-category-toggle{border:1.5px solid var(--border);color:#0000;cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-category-toggle.partial{color:var(--accent);border-color:var(--accent)}.ingredients-category-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.ingredients-category-toggle:active{transform:scale(.9)}.ingredients-category-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-category-label{color:var(--heading,var(--foreground));letter-spacing:-.1px;align-items:center;gap:6px;margin:0;display:inline-flex}.ingredients-category-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:5px;min-width:18px;padding:1px 6px;font-size:.62rem;font-weight:700}.ingredients-category-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;margin-left:auto;transition:transform .25s cubic-bezier(.25,.46,.45,.94),color .15s;display:flex}.ingredients-category-chevron.collapsed{transform:rotate(-90deg)}.ingredients-category-items{opacity:1;flex-direction:column;max-height:3000px;transition:max-height .35s cubic-bezier(.25,.46,.45,.94),opacity .25s;display:flex;overflow:hidden}.ingredients-category-items.collapsed{opacity:0;max-height:0}.ingredients-row{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:5px;align-items:center;gap:.55rem;padding:.45rem .5rem .45rem 0;transition:background .12s,padding-left .2s;display:flex}.ingredients-row:hover{background:var(--hover-bg);padding-left:.3rem}.ingredients-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}.ingredients-row.checked .ingredients-row-name{color:var(--text-muted);opacity:.5;text-decoration:line-through}.ingredients-row.checked .ingredients-row-qty,.ingredients-row.checked .ingredients-row-meals{opacity:.3}.ingredients-checkbox{appearance:none;border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:17px;height:17px;margin:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:relative}.ingredients-checkbox:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ingredients-checkbox:checked{background:var(--accent);border-color:var(--accent)}.ingredients-checkbox:checked:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ingredients-row-name{min-width:0;color:var(--foreground);flex:1;font-size:.83rem;font-weight:500;line-height:1.35;transition:color .2s,opacity .2s}.ingredients-row-qty{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700;transition:opacity .2s}.ingredients-row-meals{color:var(--text-muted);background:var(--border);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:.58rem;font-weight:700;transition:opacity .2s}.ingredients-empty-month{flex:1;padding:3rem 1rem;animation:.5s ingredients-empty-fadein}@keyframes ingredients-empty-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ingredients-empty-icon{opacity:.45;filter:grayscale(.3);margin-bottom:.75rem;font-size:3.5rem}.ingredients-empty-title{margin:0 0 .35rem}.ingredients-empty-text{max-width:320px;margin:0}.ingredients-error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color);border-radius:5px;align-items:center;gap:.5rem;margin:.5rem 1rem;padding:.5rem .85rem;font-size:.76rem;font-weight:500;animation:.4s ingredients-error-shake;display:flex}@keyframes ingredients-error-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.ingredients-bottom-bar{border-top:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(12px);bottom:var(--safe-bottom,0px);z-index:5;flex-shrink:0;align-items:center;gap:.75rem;padding:.45rem 1rem .7rem;display:flex;position:sticky}.ingredients-bottom-progress{flex:1;min-width:0}.ingredients-bottom-bar-wrap{background:var(--border);border-radius:5px;width:100%;height:3px;overflow:hidden}.ingredients-bottom-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover,var(--accent)));will-change:width;border-radius:5px;height:100%;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.ingredients-bottom-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:4px 12px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.ingredients-bottom-clear:hover{border-color:var(--error-color);color:var(--error-color);background:var(--error-bg)}.ingredients-bottom-clear:active{transform:scale(.95)}.ingredients-page-shell .dashboard-loading{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.ingredients-page-shell .loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:.75rem;animation:.7s linear infinite spin}.ingredients-imported-banner{border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.ingredients-imported-banner-left{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.ingredients-imported-badge{text-transform:uppercase;letter-spacing:.4px;background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));color:var(--text-on-accent);white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.ingredients-imported-meta{color:var(--text-muted);font-size:.73rem}.ingredients-imported-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s;display:inline-flex}.ingredients-imported-clear:hover{border-color:var(--error-color);color:var(--error-color);background:var(--error-bg)}.ingredients-imported-summary{color:var(--foreground);flex-shrink:0;margin:0;padding:.5rem 1rem 0;font-size:.78rem;line-height:1.45}.ingredients-ai-fab{bottom:calc(1.5rem + var(--safe-bottom,0px));left:max(1.5rem, var(--safe-left,0px));background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));width:52px;height:52px;color:var(--text-on-accent);cursor:pointer;z-index:50;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,left .3s,bottom .3s;display:flex;position:fixed}.ingredients-ai-fab:hover{box-shadow:0 0 0 6px var(--accent-dim), 0 8px 28px var(--accent-glow);transform:scale(1.1)}.ingredients-ai-fab:hover .ingredients-ai-fab-tooltip{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.ingredients-ai-fab:active{transition:transform .1s;transform:scale(.92)}.ingredients-ai-fab:focus-visible{box-shadow:0 0 0 3px var(--card-bg), 0 0 0 5px var(--accent)}.ingredients-ai-fab:before{content:"";border:1.5px solid var(--accent-dim,#e6510033);pointer-events:none;border-radius:50%;position:absolute;inset:-6px}.ingredients-ai-fab:after{content:"";border:2px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;animation:2.4s ease-out infinite ingredients-ai-pulse-outer;position:absolute;inset:-8px}@keyframes ingredients-ai-pulse-outer{0%{opacity:.6;transform:scale(.85)}50%{opacity:.25}to{opacity:0;transform:scale(1.6)}}.ingredients-ai-fab-tooltip{background:var(--card-bg);color:var(--foreground);white-space:nowrap;border:1px solid var(--card-border);opacity:0;pointer-events:none;z-index:51;border-radius:5px;padding:.4rem .75rem;font-size:.73rem;font-weight:600;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-6px);box-shadow:0 4px 16px #00000059}.ingredients-ai-fab-tooltip:before{content:"";border:6px solid #0000;border-right-color:var(--card-border);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.ingredients-ai-fab-icon{z-index:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative}.ingredients-ai-fab:hover .ingredients-ai-fab-icon{transform:rotate(-15deg)scale(1.1)}.ingredients-ai-fab-shimmer{pointer-events:none;border-radius:50%;position:absolute;inset:0;overflow:hidden}.ingredients-ai-fab-shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:60%;height:100%;animation:3s ease-in-out infinite ingredients-ai-shimmer;position:absolute;top:0;left:-100%;transform:skew(-20deg)}@keyframes ingredients-ai-shimmer{0%{left:-100%}60%{left:-100%}80%{left:150%}to{left:150%}}.ingredients-ai-fab-badge{border:2px solid var(--card-bg);z-index:2;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;display:flex;position:absolute;top:-2px;right:-2px}.ingredients-ai-fab-badge:after{content:"";background:var(--error-color,var(--red));border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite ingredients-ai-badge-pulse}@keyframes ingredients-ai-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.sidebar-expanded~main .ingredients-ai-fab,body.sidebar-expanded .ingredients-ai-fab{left:calc(220px + 1.5rem)}.sidebar-collapsed~main .ingredients-ai-fab,body.sidebar-collapsed .ingredients-ai-fab{left:calc(52px + 1.5rem)}.ingredients-page .ingredients-ai-fab{bottom:calc(3.5rem + var(--safe-bottom,0px))}.ingredients-ai-modal{border:1px solid var(--card-border);width:100%;max-width:560px;max-height:85dvh;box-shadow:0 0 0 1px var(--border-soft,#ffffff0a), 0 20px 60px #00000080}.ingredients-ai-title{align-items:center;gap:.5rem;margin:0;display:flex}.ingredients-ai-title svg{color:var(--accent);flex-shrink:0}.ingredients-ai-input-state{flex-direction:column;gap:1.1rem;padding:1.2rem;display:flex}.ingredients-ai-intro{text-align:center;flex-direction:column;align-items:center;gap:.55rem;display:flex}.ingredients-ai-intro-icon{opacity:.7;font-size:2.5rem}.ingredients-ai-description{margin:0}.ingredients-ai-description strong{color:var(--foreground);font-weight:700}.ingredients-ai-people-section{background:var(--accent-soft);border:1px solid var(--border);border-radius:5px;flex-direction:column;align-items:center;gap:.55rem;padding:.85rem;display:flex}.ingredients-ai-people-control{align-items:center;gap:1rem;display:flex}.ingredients-ai-people-btn{border:1.5px solid var(--border);background:var(--card-bg);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-ai-people-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 4px var(--accent-dim)}.ingredients-ai-people-btn:active:not(:disabled){transform:scale(.9)}.ingredients-ai-people-btn:disabled{opacity:.25;cursor:not-allowed}.ingredients-ai-people-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-people-value{color:var(--accent);font-variant-numeric:tabular-nums;text-align:center;min-width:3rem;font-size:2rem;font-weight:800;line-height:1}.ingredients-ai-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color);border-radius:5px;align-items:center;gap:.5rem;padding:.5rem .8rem;font-size:.76rem;font-weight:500;display:flex}.ingredients-ai-error span{flex:1;min-width:0}.ingredients-ai-error-retry{border:1px solid var(--error-color);color:var(--error-color);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;padding:3px 10px;font-family:inherit;font-size:.68rem;font-weight:700;transition:all .15s}.ingredients-ai-error-retry:hover{background:var(--error-color);color:#fff}.ingredients-ai-actions{justify-content:flex-end;gap:.6rem;display:flex}.ingredients-ai-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));color:var(--text-on-accent);cursor:pointer;border:none;border-radius:5px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-family:inherit;font-size:.83rem;font-weight:700;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-ai-btn-primary:hover{box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.ingredients-ai-btn-primary:active{transform:scale(.97)}.ingredients-ai-btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-btn-secondary{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-family:inherit;font-size:.83rem;font-weight:500;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-ai-btn-secondary:hover{border-color:var(--text-muted);color:var(--foreground)}.ingredients-ai-btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-loading{flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:2.5rem 1.5rem;display:flex}.ingredients-ai-loading-orb{width:56px;height:56px;position:relative}.ingredients-ai-orb{background:var(--accent);opacity:.3;border-radius:50%;animation:1.5s ease-in-out infinite ingredients-ai-orb-pulse;position:absolute;inset:0}.ingredients-ai-orb.secondary{opacity:.5;animation-delay:.2s;inset:8px}.ingredients-ai-orb.tertiary{opacity:.8;animation-delay:.4s;inset:16px}@keyframes ingredients-ai-orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ingredients-ai-loading-text{color:var(--foreground);margin:0;font-size:.92rem;font-weight:600}.ingredients-ai-loading-sub{color:var(--text-muted);margin:0;font-size:.73rem}.ingredients-ai-result{flex-direction:column;gap:.65rem;padding:.9rem 1.1rem 1.1rem;display:flex}.ingredients-ai-summary-card{background:var(--surface-canvas,var(--card-bg));border:1px solid var(--border-subtle,var(--border));border-radius:var(--radius-md);flex-direction:column;gap:.25rem;padding:.55rem .8rem;display:flex}.ingredients-ai-summary-text{color:var(--foreground);margin:0;font-size:.78rem;font-weight:500;line-height:1.45}.ingredients-ai-summary-stats{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ingredients-ai-stat{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;display:inline-flex}.ingredients-ai-stat strong{color:var(--accent);font-weight:700}.ingredients-ai-stat-sep{color:var(--text-muted);opacity:.35;-webkit-user-select:none;user-select:none;font-size:.6rem}.ingredients-ai-progress-wrap{align-items:center;gap:.5rem;margin-top:.1rem;display:flex}.ingredients-ai-progress-bar{background:var(--border);border-radius:5px;flex:1;height:3px;overflow:hidden}.ingredients-ai-progress-fill{background:var(--accent);will-change:width;border-radius:5px;height:100%;transition:width .4s cubic-bezier(.25,.46,.45,.94)}.ingredients-ai-progress-text{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:700}.ingredients-ai-sections{flex-direction:column;gap:.35rem;display:flex}.ingredients-ai-section{background:var(--surface-canvas,var(--card-bg));border:1px solid var(--border-subtle,var(--border));border-radius:var(--radius-md);transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);overflow:hidden}.ingredients-ai-section:hover{border-color:var(--border);box-shadow:var(--shadow-card-rest)}.ingredients-ai-section-title{width:100%;color:var(--heading,var(--foreground));min-height:var(--control-height);background:var(--surface-raised,var(--hover-bg));border-bottom:1px solid var(--border-subtle,var(--border));font:inherit;text-align:left;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard);border-top:0;border-left:0;border-right:0;align-items:center;gap:.4rem;margin:0;padding:.4rem .7rem;display:flex}.ingredients-ai-section-title:hover{background:var(--surface-hover,var(--hover-bg))}.ingredients-ai-section-title:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ingredients-ai-section-icon{flex-shrink:0;font-size:.85rem;line-height:1}.ingredients-ai-section-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;margin-left:auto;transition:transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-ai-section-chevron.collapsed{transform:rotate(-90deg)}.ingredients-ai-section-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:3px;min-width:16px;padding:1px 6px;font-size:.58rem;font-weight:700}.ingredients-ai-section-items{opacity:1;flex-direction:column;max-height:2000px;padding:.3rem .7rem;transition:max-height .35s cubic-bezier(.25,.46,.45,.94),opacity .25s,padding .25s;display:flex;overflow:hidden}.ingredients-ai-section-items.collapsed{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.ingredients-ai-item{border-bottom:1px solid var(--border-soft-2,#ffffff08);cursor:pointer;border-radius:3px;align-items:flex-start;gap:.45rem;padding:.3rem 0;transition:background .15s;display:flex}.ingredients-ai-item:hover{background:var(--hover-bg,#ffffff05)}.ingredients-ai-item:last-child{border-bottom:none}.ingredients-ai-item-checkbox{appearance:none;border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:16px;height:16px;margin:2px 0 0;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:relative}.ingredients-ai-item-checkbox:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ingredients-ai-item-checkbox:checked{background:var(--accent);border-color:var(--accent)}.ingredients-ai-item-checkbox:checked:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ingredients-ai-item.checked .ingredients-ai-item-name{opacity:.45;text-decoration:line-through}.ingredients-ai-item.checked .ingredients-ai-item-qty{opacity:.3}.ingredients-ai-item.checked .ingredients-ai-item-brand{opacity:.35}.ingredients-ai-item.checked .ingredients-ai-item-bullet,.ingredients-ai-item.checked .ingredients-ai-item-note{opacity:.3}.ingredients-ai-essential.checked .ingredients-ai-essential-name{opacity:.4;text-decoration:line-through}.ingredients-ai-essential.checked .ingredients-ai-essential-qty{opacity:.25}.ingredients-ai-item-bullet{background:var(--accent);opacity:.7;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-top:.5rem}.ingredients-ai-item-info{flex-direction:column;flex:1;gap:.08rem;min-width:0;display:flex}.ingredients-ai-item-name{color:var(--foreground);font-size:.78rem;font-weight:500;line-height:1.4}.ingredients-ai-item-brand{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-dim);vertical-align:middle;letter-spacing:.2px;border-radius:3px;margin-left:5px;padding:0 5px;font-size:.6rem;font-weight:700;line-height:1.5;display:inline-block}.ingredients-ai-item-note{color:var(--text-muted);font-size:.63rem;font-style:italic;line-height:1.35}.ingredients-ai-item-qty{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:700;line-height:1.45}.ingredients-ai-essentials{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:5px;padding:.65rem .75rem}.ingredients-ai-essentials-title{color:var(--heading,var(--foreground));align-items:center;gap:.3rem;margin:0 0 .1rem;display:inline-flex}.ingredients-ai-essentials-hint{margin:0 0 .45rem;font-style:italic}.ingredients-ai-essentials-grid{flex-direction:column;gap:.2rem;display:flex}.ingredients-ai-essential{cursor:pointer;border-radius:3px;align-items:center;gap:.35rem;padding:.18rem 0;font-size:.75rem;transition:background .12s;display:flex}.ingredients-ai-essential:hover{background:var(--hover-bg)}.ingredients-ai-essential.likely-have{opacity:.5}.ingredients-ai-essential.checked.likely-have{opacity:.25}.ingredients-ai-essential-icon{color:var(--amber,var(--warning-color));text-align:center;flex-shrink:0;width:14px;font-size:.65rem}.ingredients-ai-essential-info{flex:1;align-items:center;min-width:0;display:flex}.ingredients-ai-essential-name{color:var(--foreground);font-weight:500}.ingredients-ai-essential-qty{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:700}.ingredients-ai-tips{background:var(--card-bg);border:1px solid var(--border);border-radius:5px;padding:.65rem .75rem}.ingredients-ai-tips-title{color:var(--heading,var(--foreground));align-items:center;gap:.3rem;margin:0 0 .35rem;display:inline-flex}.ingredients-ai-tips-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.ingredients-ai-tip{color:var(--text-main,var(--text-muted));padding-left:.6rem;font-size:.75rem;line-height:1.45;position:relative}.ingredients-ai-tip:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:.45rem;left:0}@media (max-width:640px){.ingredients-page-shell{padding:.65rem;padding-top:calc(.65rem + var(--safe-top,0px))}.ingredients-month-picker{gap:.55rem;padding:.55rem .65rem}.ingredients-month-label{font-size:.95rem}.ingredients-month-label-wrap{min-width:150px}.ingredients-summary-section{padding:.5rem .75rem .4rem}.ingredients-summary-stats{font-size:.68rem}.ingredients-categories-list{padding:0 .75rem .5rem}.ingredients-row{padding:.45rem .35rem .45rem 0}.ingredients-row-name{font-size:.78rem}.ingredients-row-qty{font-size:.7rem}.ingredients-bottom-bar{padding:.4rem .75rem .65rem}.ingredients-ai-fab{bottom:calc(3rem + var(--safe-bottom,0px));width:46px;height:46px;left:.85rem}.ingredients-ai-fab-tooltip{display:none}.ingredients-ai-fab-badge{width:12px;height:12px;top:-3px;right:-3px}.ingredients-ai-fab-badge:after{width:5px;height:5px}.ingredients-ai-fab:hover{box-shadow:0 0 0 4px var(--accent-dim), 0 6px 20px var(--accent-glow)}.sidebar-expanded~main .ingredients-ai-fab,body.sidebar-expanded .ingredients-ai-fab,.sidebar-collapsed~main .ingredients-ai-fab,body.sidebar-collapsed .ingredients-ai-fab{left:.85rem}.ingredients-imported-banner{padding:.45rem .75rem}.ingredients-imported-badge{padding:2px 6px;font-size:.6rem}.ingredients-imported-meta{font-size:.68rem}.ingredients-imported-summary{padding:.4rem .75rem 0;font-size:.74rem}.ingredients-ai-title{font-size:.88rem}.ingredients-ai-input-state{gap:.9rem;padding:.9rem}.ingredients-ai-result{padding:.7rem .9rem .9rem}.ingredients-ai-people-control{gap:.7rem}.ingredients-ai-people-btn{width:36px;height:36px}.ingredients-ai-people-value{min-width:2.2rem;font-size:1.6rem}.ingredients-ai-summary-card{padding:.45rem .65rem}.ingredients-ai-section-title{padding:.35rem .6rem;font-size:.68rem}.ingredients-ai-section-items{padding:.25rem .6rem}}@media (min-width:641px) and (max-width:1024px){.ingredients-page-shell{max-width:600px;padding:1rem}}@media (max-width:768px){.ingredients-page{min-height:calc(100dvh - 58px - 70px - var(--safe-bottom,0px));padding-bottom:0}.ingredients-bottom-bar{bottom:calc(70px + var(--safe-bottom,0px))}}@media (min-width:1025px){.ingredients-page-shell{max-width:800px;padding:1.5rem}}.profile-page{min-height:100%;padding:2rem 1rem 3rem;padding-top:calc(2rem + var(--safe-top));padding-bottom:calc(3rem + var(--safe-bottom));box-sizing:border-box;flex-direction:column;display:flex}.profile-shell{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:900px;min-height:0;margin:0 auto;display:flex}.profile-shell .register-wizard{max-width:100%}.wizard-steps{box-sizing:border-box;justify-content:center;align-items:center;gap:0;width:100%;margin-bottom:1.75rem;display:flex;position:relative}.wizard-step{z-index:1;flex-direction:column;flex:none;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.profile-form .wizard-step{cursor:pointer;touch-action:manipulation;border-radius:var(--radius-sm);min-height:44px;transition:background-color var(--duration-fast) var(--ease-standard);justify-content:center;padding:0 .15rem}.profile-form .wizard-step:hover{background:var(--surface-hover)}.profile-form .wizard-step:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.profile-form .wizard-step:active .wizard-step-number{transform:scale(.92)}.wizard-step-number{background:var(--surface-raised);border:2px solid var(--border);width:36px;height:36px;color:var(--text-light);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.wizard-step.active .wizard-step-number{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow)}.wizard-step.completed .wizard-step-number{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);font-size:.75rem}.wizard-step-label{white-space:nowrap}.wizard-step.active .wizard-step-label{color:var(--accent)}.settings-wizard .wizard-steps{justify-content:space-between}.settings-wizard .wizard-step{flex:1 1 0}.wizard-step-connector{background:var(--border);flex:auto;width:auto;min-width:10px;max-width:60px;height:2px;margin:0 8px;position:relative;top:-14px}.wizard-step.completed+.wizard-step-connector{background:var(--accent)}.wizard-content{flex-direction:column;gap:1.35rem;animation:.3s ease-out fadeInUp;display:flex}.wizard-content .form-group{gap:.4rem}.wizard-content .form-group .input-wrapper+.form-hint{margin-top:.15rem}.wizard-content .form-row{gap:1rem}.wizard-content .reg-photo-group{margin-bottom:.35rem}.height-picker-trigger{border:1.5px solid var(--card-border);background:var(--input-bg);width:100%;height:48px;min-height:48px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;border-radius:5px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:0 .9rem;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;overflow:hidden}.height-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.height-picker-trigger svg{color:var(--accent);flex:none}.height-picker-trigger:hover{border-color:var(--text-muted)}.height-picker-trigger:focus-visible{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 4px var(--accent-focus-shadow);outline:none}.height-picker-trigger--empty{color:var(--text-muted)}.profile-goal-section,.wizard-summary{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-canvas);box-sizing:border-box;width:100%;min-width:0;overflow:hidden}.profile-goal-section-title,.wizard-summary-toggle{min-height:44px;color:var(--accent);cursor:pointer;background:var(--surface-raised);-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:0 .75rem;font-size:.92rem;font-weight:700;line-height:1.3;list-style:none;display:flex}.profile-goal-section-title::-webkit-details-marker{display:none}.wizard-summary-toggle::-webkit-details-marker{display:none}.profile-goal-section-title:after,.wizard-summary-toggle:after{content:"+";flex:none;font-size:1.1rem;line-height:1}.profile-goal-section[open]>.profile-goal-section-title:after,.wizard-summary[open]>.wizard-summary-toggle:after{content:"−"}.profile-goal-section-title:hover,.wizard-summary-toggle:hover{background:var(--surface-hover)}.profile-goal-section-title:focus-visible,.wizard-summary-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.profile-goal-section[open]>.profile-goal-section-title,.wizard-summary[open]>.wizard-summary-toggle{border-bottom:1px solid var(--border)}.profile-goal-section .bmi-display{margin:-.25rem 1rem 1rem}.profile-goal-section>.form-row,.wizard-summary-content>.form-row{position:relative}.profile-form .wizard-summary-content>.macro-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.wizard-summary-content>.macro-goal-grid:after{display:none}.wizard-summary-content>.macro-goal-grid>.form-group+.form-group{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:.65rem}.profile-goal-section>.form-row{padding:.75rem 1rem 1rem}.profile-goal-section>.activity-target-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.activity-goal-field{min-width:0}.profile-form .form-group{box-sizing:border-box;padding:0 4px}.profile-goal-section .form-group>label,.wizard-summary-content .form-group>label{align-items:center;min-height:2rem;display:flex}.profile-goal-section>.form-row:after,.wizard-summary-content>.form-row:after{content:"";background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.profile-inline-wheels{box-sizing:border-box;align-items:center;gap:.5rem;width:100%;min-width:0;display:grid;overflow:hidden}.weight-goal-wheels{grid-template-columns:minmax(0,1fr) minmax(3.5rem,.6fr)}.timeline-goal-wheel,.daily-target-wheel{grid-template-columns:minmax(0,1fr)}.profile-inline-wheels .wheel-picker{border-radius:var(--radius-sm);background:var(--input-bg);box-sizing:border-box;border:0;justify-self:center;width:max-content;min-width:7rem;max-width:100%}.profile-inline-wheels .wheel-picker-item{padding-inline:.2rem;font-size:clamp(.82rem,2.8vw,1.05rem)}.profile-inline-wheels .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.goal-wheel-picker-trigger{border:1px solid var(--card-border);background:var(--input-bg);width:100%;min-width:0;min-height:48px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .75rem;transition:border-color .2s,background .2s;display:flex}.goal-wheel-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.goal-wheel-picker-trigger svg{color:var(--text-muted);flex:none}.goal-wheel-picker-trigger:hover:not(:disabled){border-color:var(--accent)}.goal-wheel-picker-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-focus-shadow);outline:none}.goal-wheel-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.goal-wheel-picker-modal{max-width:28rem}.goal-wheel-picker-modal-body{justify-content:center;align-items:center;display:flex;overflow:hidden}.goal-wheel-picker-modal-body .wheel-picker{width:max-content;min-width:8rem;max-width:100%}.goal-wheel-picker-modal-body .wheel-picker-item{padding-inline:.2rem;font-size:clamp(.82rem,2.8vw,1.05rem)}.goal-wheel-picker-modal-body .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.goal-wheel-picker-done{min-height:44px}.weight-goal-bmi-legend{width:100%;min-width:0;min-height:1.5rem;color:var(--text-muted);box-sizing:border-box;place-content:center;align-items:center;gap:.35rem .65rem;font-size:.7rem;display:flex;overflow:hidden}.weight-goal-bmi-legend span{cursor:help;border-radius:50%;justify-content:center;align-items:center;min-width:0;display:inline-flex}.weight-goal-bmi-legend span:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.goal-planning-header-legend{z-index:1;justify-content:center;align-items:center;gap:.55rem;min-width:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.goal-planning-header-legend>span{flex:none;justify-content:center;align-items:center;display:inline-flex}.weight-goal-legend-dot{border-radius:50%;flex:none;width:.5rem;height:.5rem}.weight-goal-legend-dot--normal{background:var(--success)}.weight-goal-legend-dot--caution{background:var(--amber-dark)}.weight-goal-legend-dot--risk{background:var(--error-color)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fitness-goal-target{min-width:0;color:var(--accent);white-space:nowrap;flex-direction:row;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;line-height:1.35;display:inline-flex}.fitness-goal-target--empty{color:var(--text-muted);flex-direction:row;align-items:center;gap:.25rem;font-weight:400}.fitness-goal-field-header{box-sizing:border-box;justify-content:flex-start;align-items:center;gap:.15rem;width:100%;min-width:0;min-height:2rem;display:flex;overflow:hidden}.fitness-goal-field-header label{min-width:0}.fitness-goal-target-label{align-items:center;gap:.25rem;line-height:1.2;display:inline-flex}.fitness-goal-target-date{align-items:center;padding-left:0;font-size:.62rem;font-weight:400;line-height:1.2;display:inline-flex}.fitness-goal-target-row{word-break:break-word;box-sizing:border-box;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;min-width:0;min-height:32px;margin-top:.2rem;display:flex;position:relative;overflow:hidden}.fitness-goal-date-edit{width:2rem;height:2rem;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.fitness-goal-date-edit:hover{background:var(--accent-light)}.fitness-goal-date-edit:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.fitness-goal-date-edit:disabled{opacity:.4;cursor:not-allowed}.wizard-content-forward{animation:.28s ease-out wizardSlideFromRight}.wizard-content-back{animation:.28s ease-out wizardSlideFromLeft}@keyframes wizardSlideFromRight{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes wizardSlideFromLeft{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.wizard-content,.wizard-content-forward,.wizard-content-back{animation:none}}.wizard-content-title{margin:0 0 .2rem}.wizard-content-subtitle{margin:0 0 1.25rem}.wizard-actions{gap:10px;margin-top:1.5rem;display:flex}.wizard-actions .wizard-btn:first-child:last-child{margin-left:auto}.wizard-actions .wizard-btn:first-child:nth-last-child(2){margin-right:auto}.wizard-actions .wizard-btn:first-child:nth-last-child(2)~.wizard-btn{margin-left:auto}.wizard-btn{cursor:pointer;border:1.5px solid var(--border);background:var(--card-bg);color:var(--foreground);touch-action:manipulation;border-radius:5px;align-items:center;gap:6px;padding:.65rem 1.5rem;font-family:Google Sans Text,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.wizard-btn:hover{border-color:var(--accent);background:var(--accent-light)}.wizard-btn:active:not(:disabled){transform:scale(.97)}.wizard-btn-next{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.wizard-btn-next:hover{background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.wizard-btn-submit{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.wizard-btn-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.wizard-btn-submit:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-back{border-color:var(--border);color:var(--text-muted);background:0 0}.wizard-btn-back:hover{border-color:var(--text-muted);color:var(--foreground)}.bmi-display{background:var(--card-bg);border:1px solid var(--border);border-radius:5px;align-items:center;gap:10px;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.bmi-value{color:var(--heading);font-size:1rem;font-weight:700}.reg-photo-group{text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;margin-bottom:.25rem;display:flex;overflow:hidden}.reg-photo-group label{color:var(--heading);font-size:.82rem;font-weight:600}.reg-photo-group .image-uploader{flex-direction:column;align-items:center;display:flex}.profile-personal-header{box-sizing:border-box;flex-direction:column;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.profile-personal-header .reg-photo-group{margin-bottom:0}.profile-personal-info{flex-direction:column;align-items:center;gap:.25rem;width:100%;min-width:0;display:flex}.profile-personal-info .form-group{width:100%}.bmi-category{text-transform:uppercase;letter-spacing:.5px;border-radius:5px;padding:2px 10px;font-size:.72rem;font-weight:700}.bmi-underweight{background:var(--warning-bg);color:var(--warning-color)}.bmi-normal{background:var(--green-soft-bg);color:var(--accent)}.bmi-overweight{background:var(--orange-soft-bg);color:var(--orange-light)}.bmi-obese{background:var(--danger-soft-bg-dark);color:var(--red)}.goal-planning-header{position:relative}.daily-targets-recommendation{width:2rem;height:2rem;color:var(--success);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:color .2s,background .2s;display:inline-flex}.daily-targets-recommendation:hover:not(:disabled){background:var(--success-soft-bg)}.daily-targets-recommendation:focus-visible{outline:.125rem solid var(--success);outline-offset:.125rem}.daily-targets-recommendation:active:not(:disabled) svg{animation:.6s ease-out calorie-spin}.daily-targets-recommendation:disabled{opacity:.35;cursor:not-allowed}.macro-goal-actions{align-items:center;gap:.25rem;margin-inline-start:auto;display:flex}.macro-goal-actions .daily-targets-recommendation{margin-left:0}.macro-goal-edit-button{color:var(--foreground)}.macro-goal-edit-button:hover:not(:disabled){color:var(--accent);background:var(--hover-bg)}.wellness-goal-settings{margin-top:.75rem}.wellness-goal-divider{border:0;border-top:1px solid var(--border);height:0;margin:.85rem 0}.profile-form .wellness-goal-content>.macro-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-nutrient-goals-modal{max-width:34rem}.macro-nutrient-goals-modal-body{min-height:0}.macro-nutrient-goals-list{margin:0;padding:0}.macro-nutrient-goals-list .meal-nutrient-row{min-height:2.8rem}.macro-nutrient-goals-actions{justify-content:flex-end;gap:.6rem;display:flex}@keyframes calorie-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-radio-group{gap:1rem;display:flex}.form-radio-label{cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:flex}.form-radio-label input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.form-radio-text{color:var(--foreground)}.form-toggle-label{cursor:pointer;color:var(--text-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.form-toggle-switch{display:inline-flex}.calorie-carryover-switch{background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0}.calorie-carryover-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.form-toggle-track{background:var(--border);cursor:pointer;border-radius:5px;width:40px;height:22px;transition:background .2s;position:relative}.form-toggle-track.active{background:var(--accent)}.form-toggle-thumb{background:var(--bg-white);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow-medium);border-radius:50%;transition:left .2s;position:absolute;top:2px;left:2px}.form-toggle-track.active .form-toggle-thumb{left:20px}.change-password-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.72rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.change-password-btn:hover{color:var(--foreground);border-color:var(--text-muted)}.change-password-form{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.btn-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s}.btn-cancel:hover{color:var(--foreground);border-color:var(--text-muted)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.2rem!important}.country-select-wrapper{position:relative}.wizard-summary-hint{color:var(--text-muted);margin-left:auto;font-size:.78rem;font-weight:400}.wizard-summary-content{background:var(--card-bg);padding:.75rem 1rem 1rem}.form-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}.form-link{color:var(--accent);font-weight:600;text-decoration:none}.form-link:hover{text-decoration:underline}.profile-top-tabs{border-bottom:1px solid var(--border-subtle);background:0 0;gap:.35rem;margin-bottom:1.5rem;padding:0;display:flex}.profile-top-tab{min-height:var(--control-height);color:var(--text-light);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);white-space:nowrap;touch-action:manipulation;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.profile-top-tab:active{background:var(--surface-hover)}.profile-top-tab:hover{color:var(--foreground);background:var(--surface-hover)}.profile-top-tab.active{color:var(--accent);border-bottom-color:var(--accent);box-shadow:none;background:0 0}.profile-top-tab.active:hover{background:var(--surface-hover)}.profile-top-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.profile-top-tab svg{flex-shrink:0;width:16px;height:16px}.profile-top-tab-label-short{display:none}.profile-top-tab.active svg{stroke:var(--accent)}.profile-top-tab-content{flex-direction:column;flex:1;min-height:0;animation:.3s ease-out fadeInUp;display:flex}.profile-top-tab-content>.profile-form,.profile-top-tab-content>.subscription-manager{flex-direction:column;flex:1;min-height:0;display:flex}.subscription-manager{min-height:0;overflow-y:auto}.profile-form{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.profile-form-header{z-index:10;background:var(--background);flex-shrink:0;padding-bottom:.5rem;position:sticky;top:55px}.profile-form-header .auth-error{margin-bottom:.5rem}.profile-form-body{box-sizing:border-box;flex:1;width:100%;min-width:0;min-height:0;padding:.125rem .25rem;overflow-y:auto}.profile-form-body .wizard-content{background:var(--surface-canvas);border-radius:var(--radius-lg);word-break:break-word;box-sizing:border-box;border:0;min-width:0;padding:1.25rem;overflow:hidden}.profile-page .profile-form{overflow-y:auto}.profile-page .profile-main-form>.profile-form-header{display:none}.profile-page .profile-top-tab-content>.profile-form:not(.profile-main-form)>.profile-form-header{position:static}.profile-page .profile-form-body{flex:none;overflow-y:visible}.profile-body-goals-modal{width:min(100%,58rem);max-width:58rem}.profile-body-goals-modal .profile-body-goals-modal-body{min-height:0;overflow-y:auto}.body-goals-modal-description{color:var(--text-muted);margin:0 0 1rem}.profile-form.profile-form--modal-only{display:none}.profile-body-goals-content{flex:initial}.profile-body-goals-content .profile-form-body{flex:initial;padding:0;overflow:visible}.profile-body-goals-content{--body-goals-card-padding:1.1rem;--body-goals-field-gap:1rem}.profile-body-goals-content .wizard-content>:is(.profile-goal-section,.wizard-summary){background:var(--surface-canvas);border:0}@supports (color:color-mix(in lab, red, red)){.profile-body-goals-content .wizard-content>:is(.profile-goal-section,.wizard-summary){background:color-mix(in srgb, var(--surface-canvas) 92%, var(--foreground) 8%)}}.profile-body-goals-content :is(.profile-goal-section-title,.wizard-summary-toggle){min-height:48px;padding-inline:var(--body-goals-card-padding);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.profile-body-goals-content :is(.profile-goal-section,.wizard-summary)[open]>summary{border-radius:var(--radius-md) var(--radius-md) 0 0}.profile-body-goals-content.profile-form .profile-goal-section>.form-row,.profile-body-goals-content .wizard-summary-content{padding:var(--body-goals-card-padding);background:0 0;border:0}.profile-body-goals-content.profile-form .profile-goal-section>.form-row+.form-row{padding-top:0}.profile-body-goals-content.profile-form .wizard-content .form-row{gap:var(--body-goals-field-gap)}.profile-body-goals-content :is(.profile-goal-section>.form-row,.wizard-summary-content>.form-row):after{display:none}.profile-body-goals-modal .profile-body-goals-content.profile-form .wizard-content .form-row>.form-group+.form-group{border:0;padding:0 4px}.profile-body-goals-content .profile-goal-section .bmi-display{margin:0 var(--body-goals-card-padding) var(--body-goals-card-padding)}.settings-modal{width:min(100%,58rem);max-width:58rem}.settings-modal>.settings-modal-body{padding:.5rem}.settings-modal-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.settings-modal-body>.settings-wizard{flex:1;min-height:0}.settings-modal-body .profile-form-header{position:static}.settings-modal-body .profile-form-body{flex:1;min-height:0;padding:0;overflow-y:auto}.settings-modal-body .profile-form-body .wizard-content{border-radius:0;gap:.5rem;padding:.25rem;overflow:visible}.settings-modal-body .settings-section-header{padding:.6rem .75rem}@media (max-width:640px){.profile-body-goals-modal{width:100%;max-width:100%}.settings-modal{border-radius:0;width:100%;max-width:100%;height:100svh;max-height:100svh}}.wizard-nav-bar{align-items:center;gap:.35rem;min-height:36px;margin-bottom:.5rem;display:flex}.wizard-nav-bar .wizard-steps{flex:1;margin-bottom:0}.wizard-nav-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;align-items:center;gap:2px;padding:.35rem .5rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.wizard-nav-btn:hover{color:var(--success);background:var(--accent-soft-bg)}.wizard-nav-btn:active{transform:scale(.95)}.wizard-nav-btn--hidden{visibility:hidden;pointer-events:none}.auto-save-indicator{opacity:0;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .25s,transform .25s;display:inline-flex;transform:scale(.5)}.auto-save-indicator--visible{opacity:1;transform:scale(1)}.auto-save-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.5s linear infinite auto-save-spin}@keyframes auto-save-spin{to{transform:rotate(360deg)}}.auto-save-check{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;animation:.4s cubic-bezier(.34,1.56,.64,1) auto-save-pop;display:flex;box-shadow:0 2px 8px #22c55e66}@keyframes auto-save-pop{0%{transform:scale(0)rotate(-45deg)}60%{transform:scale(1.25)rotate(0)}to{transform:scale(1)rotate(0)}}.auto-save-check svg{stroke-dasharray:22;stroke-dashoffset:22px;animation:.3s .15s forwards auto-save-draw}@keyframes auto-save-draw{to{stroke-dashoffset:0}}.delete-account-section{border:1px solid var(--red,#ef4444);background:var(--danger-soft-bg-dark,#ef44440a);border-radius:8px;margin-top:2.5rem;padding:1.5rem}.delete-account-header{margin-bottom:1rem}.delete-account-header h3{color:var(--red,#ef4444);margin-bottom:.35rem;font-size:1rem;font-weight:700}.delete-account-header p{color:var(--text-muted);font-size:.82rem;line-height:1.5}.delete-account-btn{color:#fff;background:var(--red,#ef4444);cursor:pointer;touch-action:manipulation;border:none;border-radius:5px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.delete-account-btn:hover{background:#dc2626}.delete-account-btn:active{transform:scale(.97)}.delete-account-actions{flex-wrap:nowrap;align-items:center;gap:.75rem;display:flex}.delete-account-actions .btn{white-space:nowrap;flex:1;justify-content:center;min-width:0}.export-data-btn{color:var(--foreground);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:5px;flex-shrink:1;align-items:center;gap:.5rem;padding:.6rem .8rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.export-data-btn:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--accent)}@media (max-width:480px){.delete-account-section{padding:1rem}.delete-account-actions{flex-direction:column;align-items:stretch;gap:.625rem}.delete-account-btn,.export-data-btn{box-sizing:border-box;gap:.5rem;width:100%;min-height:44px;padding:.65rem .75rem;font-size:.78rem}.delete-account-actions .btn{flex:initial}.export-data-btn{text-align:center;white-space:normal;justify-content:center}.delete-account-btn svg,.export-data-btn svg{flex-shrink:0;width:14px;height:14px}}.notification-preferences-card{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.notification-preferences-desc{margin:0}.notification-preferences-control{align-items:center;gap:.75rem;display:flex}.notification-preferences-control>.btn-ghost{border:1px solid var(--border)}.notification-preferences-control .form-toggle-switch{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.notification-preferences-control .toggle-label{color:var(--foreground)}.notification-preferences-status{background:var(--accent);margin:0;padding:.5rem .75rem}@supports (color:color-mix(in lab, red, red)){.notification-preferences-status{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.notification-preferences-status{border-radius:8px;line-height:1.4}.notification-preferences-hint{background:var(--text-muted);margin:0;padding:.5rem .75rem}@supports (color:color-mix(in lab, red, red)){.notification-preferences-hint{background:color-mix(in srgb, var(--text-muted) 8%, transparent)}}.notification-preferences-hint{border-radius:8px;line-height:1.4}.meal-reminder-times{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.meal-reminder-times-title{color:var(--foreground);margin:0}.meal-reminder-row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.meal-reminder-row .form-toggle-switch{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.meal-reminder-row .toggle-label{color:var(--foreground);word-break:break-word;min-width:0;font-size:.9rem;font-weight:500}.meal-reminder-time-field{background:var(--background);border:1px solid var(--border);width:10rem;min-height:44px;color:var(--foreground);cursor:pointer;text-align:center;box-sizing:border-box;border-radius:8px;flex-shrink:0;padding:.4rem .85rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s}.meal-reminder-time-field:hover:not(:disabled){border-color:var(--accent)}.meal-reminder-time-field:disabled{opacity:.5;cursor:default}.reminder-select-label{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.reminder-interval-select{min-height:44px;color:var(--foreground);background:var(--background);border:1px solid var(--border);font:inherit;border-radius:8px;padding:.35rem .65rem}.water-reminder-period{word-break:break-word;box-sizing:border-box;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.water-reminder-period>.toggle-label{margin-right:auto}.water-reminder-period .meal-reminder-time-field{width:8.5rem}.water-reminder-period-to{color:var(--text-muted);font-size:.85rem}@media (max-width:640px){.notification-preferences-card{border-radius:10px;gap:.75rem;padding:1rem}.notification-preferences-desc{font-size:.8rem}.meal-reminder-row{flex-wrap:wrap}}.base-modal.admin-section-modal{width:min(64rem,100vw - 2rem);max-width:min(64rem,100vw - 2rem)}.admin-section-modal-body{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden}.admin-system-config{word-break:break-word;box-sizing:border-box;gap:1rem;min-width:0;display:grid;overflow:hidden}.admin-system-config-header,.admin-system-config-header-actions,.admin-system-config-title,.admin-system-config-actions{justify-content:space-between;align-items:center;gap:.65rem;min-width:0;display:flex}.admin-system-config-header{align-items:center}.admin-system-config-header-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.admin-system-config-header-tools{flex:0 auto;align-items:center;gap:.45rem;width:100%;display:flex}.admin-system-config-add-key{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--background);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-system-config-header-tools>.admin-system-config-add-key{margin-left:auto}.admin-system-config-add-key:hover{filter:brightness(.96)}.admin-system-config-db-menu{position:relative}.admin-system-config-db-menu-trigger{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .65rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-system-config-db-menu-trigger:hover{background:var(--hover-bg)}.admin-system-config-db-menu-list{z-index:20;border:1px solid var(--border);background:var(--card);min-width:12rem;box-shadow:0 8px 24px var(--shadow-md);border-radius:10px;gap:.2rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.admin-system-config-db-menu-list button{min-height:40px;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:.5rem;padding:.5rem .6rem;font-size:.8rem;display:flex}.admin-system-config-db-menu-list button+button{border-top:1px solid var(--border);border-radius:0}.admin-system-config-db-menu-list button:hover:not(:disabled){background:var(--hover-bg)}.admin-system-config-db-menu-list button:disabled{opacity:.5;cursor:not-allowed}.admin-system-config-db-menu-list button:last-child:not(:disabled){color:var(--red-strong)}.admin-system-config-db-menu-list button:focus-visible,.admin-system-config-db-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-system-config-filter-panel{border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:center;gap:.75rem;padding:.45rem .6rem;display:flex}.admin-system-config-filter-panel h2{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.35rem;margin:0;font-size:.72rem;font-weight:700;display:inline-flex}.admin-system-config-filter-controls{align-items:center;gap:.55rem;min-width:0;display:flex}.admin-system-config-search{word-break:break-word;box-sizing:border-box;border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:center;gap:.5rem;width:100%;min-width:0;max-width:100%;padding:.6rem;display:flex;overflow:hidden}.admin-system-config-search-input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:44px;color:var(--foreground);font:inherit;border-radius:9px;flex:1;padding:.6rem .75rem;font-size:clamp(.875rem,2vw,1rem)}.admin-system-config-search-input::placeholder{color:var(--text-muted)}.admin-system-config-search-input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.admin-system-config-refresh.admin-system-config-search-toggle,.admin-system-config-refresh.admin-system-config-search-close{flex:none;min-width:2.75rem;padding-inline:.6rem}.admin-system-config-search-toggle.active{border-color:var(--accent);color:var(--accent)}.admin-system-config-search-toggle:hover,.admin-system-config-search-close:hover{background:var(--hover-bg);color:var(--accent)}.admin-system-config-search-toggle:focus-visible,.admin-system-config-search-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.admin-system-config-source-filter{border:1px solid var(--border);background:var(--card);border-radius:9px;min-height:44px;display:inline-flex;overflow:visible}.admin-system-config-source-filter button{border:0;border-right:1px solid var(--border);min-width:3.25rem;min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;padding:.5rem .7rem;position:relative}.admin-system-config-source-filter button:first-child{border-radius:8px 0 0 8px}.admin-system-config-source-filter button:last-child{border-right:0;border-radius:0 8px 8px 0}.admin-system-config-source-filter button.active{background:var(--accent);color:var(--background)}.admin-system-config-source-filter button:hover:not(.active){background:var(--hover-bg);color:var(--foreground)}.admin-system-config-source-filter-count{z-index:2;position:absolute;top:-.5rem;right:-.25rem}.admin-system-config-refresh,.admin-system-config-filter,.admin-system-config-category,.admin-system-config-save,.admin-system-config-clear{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:9px;padding:.55rem .8rem}.admin-system-config-filter{justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:inline-flex;position:relative}.admin-system-config-refresh{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.admin-system-config-filter-count{z-index:2;position:absolute;top:-.5rem;right:-.3rem}.admin-system-config-categories{overscroll-behavior-x:contain;border:1px solid var(--border);background:var(--hover-bg);scrollbar-width:thin;touch-action:pan-x;border-radius:10px;align-items:center;gap:.5rem;min-width:0;padding:.65rem .7rem .4rem;display:flex;overflow:auto hidden}.admin-system-config-provider-tabs{overscroll-behavior-x:contain;border:0;border-bottom:1px solid var(--border-subtle);scrollbar-width:thin;touch-action:pan-x;background:0 0;gap:0;width:fit-content;min-width:0;max-width:100%;margin:.4rem 0 .2rem;padding:0;overflow:auto hidden}.admin-system-config-provider-tabs .profile-top-tab{border:0;border-right:1px solid var(--border-subtle);border-bottom:2px solid #0000;border-radius:0;flex:none;min-height:44px;padding:.5rem .9rem;font-size:.8rem}.admin-system-config-provider-tabs .profile-top-tab:last-child{border-right:0}.admin-system-config-category-tab,.admin-system-config-provider-tabs .profile-top-tab{position:relative}.admin-system-config-category-tab.has-count-badge,.admin-system-config-provider-tabs .profile-top-tab.has-count-badge{padding-right:1.55rem}.admin-system-config-table-header{border-bottom:1px solid var(--border);background:var(--hover-bg);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;grid-template-columns:minmax(12rem,.8fr) minmax(15rem,1.2fr);align-items:center;gap:.75rem;padding:.45rem .85rem;font-size:.68rem;font-weight:750;display:grid}.admin-system-config-table-header.is-ai{grid-template-columns:minmax(12rem,.8fr) minmax(7rem,.45fr) minmax(15rem,1.2fr)}.admin-system-config-table-header.is-ai span:nth-child(2){text-align:center}.admin-system-config-table-header span:last-child{text-align:left}.admin-system-config-category{flex:none;justify-content:center;align-items:center;gap:.45rem;display:inline-flex;position:relative}.admin-system-config-category-count{z-index:2;position:absolute;top:.15rem;right:.2rem}.admin-system-config-source-filter-count,.admin-system-config-filter-count,.admin-system-config-category-count{border:2px solid var(--card);background:var(--surface-canvas);min-width:1.2rem;height:1.2rem;color:var(--accent);box-shadow:0 2px 6px var(--shadow-md);border-radius:999px;place-items:center;padding:0 .2rem;font-size:.68rem;font-weight:900;line-height:1;display:inline-grid}.admin-system-config-ai-routing{border:1px solid var(--border);background:var(--card);border-radius:12px;gap:.8rem;min-width:0;padding:.9rem;display:grid}.admin-system-config-ai-routing-heading{justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;display:flex}.admin-system-config-ai-routing-heading>div{min-width:0;max-width:100%}.admin-system-config-ai-routing-heading h2{color:var(--foreground);margin:0;font-size:.95rem}.admin-system-config-ai-routing-heading p{max-width:44rem;color:var(--text-muted);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.78rem;line-height:1.45}.admin-system-config-ai-routing-source{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex:none;padding:.25rem .5rem;font-size:.68rem}.admin-system-config-ai-routing-grid{grid-template-columns:minmax(9rem,1fr) repeat(3,minmax(6rem,.65fr));align-items:center;gap:.35rem .65rem;min-width:0;display:grid}.admin-system-config-ai-routing-grid>span{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:.25rem .5rem;font-size:.7rem;font-weight:700}.admin-system-config-ai-routing-grid>.admin-system-config-ai-routing-empty{text-align:left}.admin-system-config-ai-provider-row{border:1px solid var(--border);background:var(--background);border-radius:9px;grid-column:1/-1;grid-template-columns:minmax(9rem,1fr) repeat(3,minmax(6rem,.65fr));align-items:center;gap:.65rem;min-width:0;padding:.35rem .5rem;display:grid}.admin-system-config-ai-provider-name{gap:.15rem;min-width:0;display:grid}.admin-system-config-ai-provider-name strong{color:var(--foreground);font-size:.84rem}.admin-system-config-ai-provider-name small{color:var(--text-muted);font-size:.7rem}.admin-system-config-ai-provider-name small.is-configured{color:var(--green)}.admin-system-config-ai-provider-cell{justify-content:center;min-width:0;display:flex}.admin-system-config-provider-toggle{border:1px solid var(--border);background:var(--card);min-width:4.8rem;min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-system-config-provider-toggle.active{border-color:var(--accent);color:var(--accent)}.admin-system-config-provider-toggle:disabled{opacity:.6;cursor:wait}.admin-system-config-provider-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-system-config-provider-track{background:var(--border);border-radius:999px;align-items:center;width:1.65rem;height:.95rem;padding:.1rem;transition:background .14s;display:inline-flex}.admin-system-config-provider-track>span{background:var(--card);border-radius:50%;width:.75rem;height:.75rem;transition:transform .14s}.admin-system-config-provider-toggle.active .admin-system-config-provider-track,.admin-system-config-value-toggle[aria-checked=true] .admin-system-config-provider-track{background:var(--accent)}.admin-system-config-provider-toggle.active .admin-system-config-provider-track>span,.admin-system-config-value-toggle[aria-checked=true] .admin-system-config-provider-track>span{transform:translate(.7rem)}.admin-system-config-ai-routing-warning{color:var(--warning-color);margin:0;font-size:.76rem}.admin-system-config-filter.active,.admin-system-config-save{border-color:var(--accent);background:var(--accent);color:var(--background)}.admin-system-config-refresh:hover,.admin-system-config-filter:hover,.admin-system-config-category:hover,.admin-system-config-clear:hover{background:var(--hover-bg)}.admin-system-config-filter.active:hover{background:var(--accent)}.admin-system-config-list{border:1px solid var(--border);background:var(--card);border-radius:10px;gap:0;min-width:0;display:grid;overflow:hidden}.admin-system-config-migrate{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--background);font:inherit;white-space:nowrap;cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .8rem;display:inline-flex}.admin-system-config-migrate:disabled{opacity:.6;cursor:wait}.admin-system-config-cancel,.admin-system-config-clear-all{border:1px solid var(--border);min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .95rem;font-size:.85rem;font-weight:650;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.admin-system-config-cancel{background:var(--card);min-width:6.5rem;color:var(--foreground)}.admin-system-config-cancel:hover:not(:disabled){background:var(--hover-bg);border-color:var(--text-muted)}.admin-system-config-clear-all{border-color:var(--error-border);background:var(--error-bg);min-width:9rem;color:var(--error-color)}.admin-system-config-clear-all:hover:not(:disabled){border-color:var(--red-strong);background:var(--red-soft)}.admin-system-config-cancel:active:not(:disabled),.admin-system-config-clear-all:active:not(:disabled){transform:translateY(1px)}.admin-system-config-cancel:focus-visible,.admin-system-config-clear-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-system-config-cancel:disabled,.admin-system-config-clear-all:disabled{opacity:.6;cursor:wait}.admin-system-config-migration-confirm{gap:.75rem;display:grid}.admin-system-config-migration-confirm p{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.5}.admin-system-config-migration-confirm strong{color:var(--foreground)}.admin-system-config-migration-section{border:1px solid var(--border);background:var(--card);border-radius:10px;min-width:0}.admin-system-config-migration-section summary{min-height:44px;color:var(--foreground);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.85rem;font-weight:700;display:flex}.admin-system-config-migration-count{background:var(--hover-bg);min-width:1.6rem;height:1.6rem;color:var(--accent);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.75rem;display:inline-grid}.admin-system-config-migration-section ul{gap:.5rem;max-height:14rem;margin:0;padding:0 .8rem .8rem 2rem;list-style:outside;display:grid;overflow-y:auto}.admin-system-config-migration-section li::marker{color:var(--accent)}.admin-system-config-migration-section li{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem;line-height:1.4}.admin-system-config-migration-section li code{color:var(--foreground);overflow-wrap:anywhere;font-size:.76rem}.admin-system-config-migration-section li .admin-system-config-migration-reason{border-radius:6px;width:fit-content;max-width:100%;margin-top:.3rem;padding:.2rem .45rem;font-size:.72rem;font-weight:600;display:block}.admin-system-config-migration-reason.is-public{background:var(--info-soft-bg);color:var(--accent)}.admin-system-config-migration-reason.is-database{background:var(--warning-bg);color:var(--warning-color)}.admin-system-config-migration-reason.is-core{background:var(--orange-soft-bg);color:var(--orange)}.admin-system-config-migration-reason.is-unset{background:var(--green-soft-bg);color:var(--green)}.admin-system-config-migration-confirm .admin-system-config-migration-empty{padding:0 .8rem .8rem;font-size:.8rem}.admin-system-config-migration-confirm-actions{flex-wrap:wrap;justify-content:space-between;gap:.6rem;display:flex}.admin-system-config-migration-confirm-actions>button{min-width:8rem}.base-modal.admin-system-config-migration-modal,.base-modal.admin-system-config-add-modal{max-width:36rem}.admin-system-config-add-form{gap:.85rem;min-width:0;display:grid}.admin-system-config-add-top-fields{word-break:break-word;box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;min-width:0;display:grid;overflow:hidden}.admin-system-config-add-top-fields>label{min-width:0;color:var(--foreground);gap:.35rem;font-size:.82rem;font-weight:650;display:grid}.admin-system-config-add-top-fields>label>span{color:var(--text-muted);font-size:.75rem;font-weight:500}.admin-system-config-add-form>.admin-system-config-value-field{min-width:0;color:var(--foreground);grid-column:1/-1;gap:.35rem;font-size:.82rem;font-weight:650;display:grid}.admin-system-config-value-field>.admin-system-config-input-wrap{margin-top:0}.admin-system-config-add-form>label:not(.admin-system-config-secret-choice){color:var(--foreground);gap:.35rem;font-size:.82rem;font-weight:650;display:grid}.admin-system-config-add-form>label>span{color:var(--text-muted);font-size:.75rem;font-weight:500}.admin-system-config-add-form .admin-system-config-label-text{color:var(--foreground);font-size:.82rem;font-weight:650}.admin-system-config-add-form .admin-system-config-label-text small{color:var(--text-muted);font-size:.75rem;font-weight:500}.admin-system-config-add-form input:not([type=checkbox]),.admin-system-config-add-form select,.admin-system-config-add-form textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;border-radius:8px;padding:.6rem .7rem;font-size:.85rem}.admin-system-config-add-form select option{background:var(--card);color:var(--foreground)}.admin-system-config-add-form textarea{resize:vertical;min-height:5.5rem}.admin-system-config-add-form .admin-system-config-value-field>span{color:var(--text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.admin-system-config-add-form input:focus-visible,.admin-system-config-add-form select:focus-visible,.admin-system-config-add-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-system-config-add-form .admin-system-config-secret-choice{color:var(--foreground);align-items:flex-start;gap:.65rem;font-size:.83rem;font-weight:650;display:flex}.admin-system-config-secret-choice input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin:.1rem 0 0}.admin-system-config-secret-choice span{gap:.2rem;display:grid}.admin-system-config-secret-choice small,.admin-system-config-add-form>p{color:var(--text-muted);font-size:.76rem;font-weight:400;line-height:1.45}.admin-system-config-add-form>p{margin:0}.admin-system-config-row{border:0;border-bottom:1px solid var(--border);box-sizing:border-box;background:0 0;border-radius:0;grid-template-columns:minmax(12rem,.8fr) minmax(15rem,1.2fr);align-items:center;gap:.75rem;min-width:0;padding:.65rem .85rem;display:grid}.admin-system-config-row.is-ai{grid-template-columns:minmax(12rem,.8fr) minmax(7rem,.45fr) minmax(15rem,1.2fr)}.admin-system-config-row:not(.is-ai)>.admin-system-config-control{grid-column:1/-1}.admin-system-config-row.is-ai>.admin-system-config-provider-column{grid-column:1}.admin-system-config-row.is-ai>.admin-system-config-control{grid-column:2/-1}.admin-system-config-row.is-server-only>.admin-system-config-actions{grid-column:1/-1}.admin-system-config-row:last-child{border-bottom:0}.admin-system-config-row:nth-child(2n){background:var(--hover-bg)}.admin-system-config-row.is-unset{background:var(--warning-bg)}.admin-system-config-core-row>span{color:var(--text-muted);justify-self:end;font-size:.74rem}.admin-system-config-provider-column{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;text-align:center;justify-content:center;justify-self:center;align-items:center;gap:.25rem;font-size:.76rem;display:flex}.admin-system-config-provider-column input{border:1px solid var(--border);background:var(--background);width:min(100%,10rem);min-width:0;height:2rem;color:var(--foreground);font:inherit;border-radius:6px;padding:.25rem .45rem;font-size:.72rem}.admin-system-config-row-heading{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:.6rem;min-width:0;display:flex}.admin-system-config-row-heading .admin-system-config-copy{flex:auto}.admin-system-config-row-tools{flex:none;align-items:center;gap:.35rem;display:flex}.admin-system-config-row-delete{border:1px solid var(--border);background:var(--card);width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;color:var(--red-strong);cursor:pointer;border-radius:6px;place-items:center;margin-top:.1rem;padding:0;display:inline-grid}.admin-system-config-row-delete:hover{border-color:var(--red-strong);background:var(--hover-bg)}.admin-system-config-row-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-system-config-row-delete:disabled{opacity:.6;cursor:wait}.admin-system-config-row-edit{border:1px solid var(--border);background:var(--card);width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;color:var(--accent);cursor:pointer;border-radius:6px;flex:none;place-items:center;margin-top:.1rem;padding:0;display:inline-grid}.admin-system-config-row-edit:hover{border-color:var(--accent);background:var(--hover-bg)}.admin-system-config-row-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-system-config-env-key-title:before{content:"•";color:var(--accent);margin-right:.4rem}.admin-system-config-copy,.admin-system-config-control,.admin-system-config-copy{align-content:center;gap:.3rem;min-width:0;display:grid}.admin-system-config-title{flex-wrap:wrap;justify-content:flex-start;gap:.2rem}.admin-system-config-title h3{color:var(--foreground);margin:0;font-size:.88rem}.admin-system-config-title h3 small{color:var(--text-muted);margin-top:.1rem;font-size:.72em;font-weight:500;display:block}.admin-system-config-title-help{color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:help;background:0 0;border:0;padding:0}.admin-system-config-title-help:hover{color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.admin-system-config-title-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.admin-system-config-help-button{width:20px;height:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 20px;place-items:center;padding:0;display:grid}.admin-system-config-help-button:hover{background:var(--hover-bg);color:var(--accent)}.admin-system-config-help-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-system-config-key-copy{max-width:min(28rem,48vw);color:inherit;font:inherit;line-height:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;cursor:pointer;background:0 0;border:0;padding:0;display:inline-block;overflow:hidden}.admin-system-config-key-copy:hover{color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.admin-system-config-key-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.admin-system-config-status{color:var(--text-muted);margin:0;font-size:.74rem;line-height:1.4}.base-modal.admin-system-config-help-modal{max-width:32rem}.admin-system-config-help-content{border:1px solid var(--border);background:var(--hover-bg);box-sizing:border-box;border-radius:9px;width:100%;padding:.75rem}.admin-system-config-help-content p{color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem;line-height:1.45}.admin-system-config-help-content p:last-child{margin-bottom:0}.admin-system-config-help-content ul{margin:0;padding-left:1.1rem}.admin-system-config-help-content li{margin-top:.25rem;font-size:.8rem}.admin-system-config-help-content a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.admin-system-config-input-wrap{--admin-config-value-actions:0px;min-width:0;margin-top:.5rem;position:relative}.admin-system-config-control input,.admin-system-config-control textarea{border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:44px;color:var(--foreground);font:inherit;box-sizing:border-box;border-radius:8px;padding:.65rem .75rem}.admin-system-config-control textarea{resize:vertical;min-height:5rem}.admin-system-config-input-wrap.has-save input,.admin-system-config-input-wrap.has-save textarea{padding-right:3.25rem}.admin-system-config-input-wrap.has-clear input,.admin-system-config-input-wrap.has-clear textarea{padding-right:6.25rem}.admin-system-config-input-wrap.has-reveal input,.admin-system-config-input-wrap.has-reveal textarea{padding-right:3.25rem}.admin-system-config-input-wrap.has-reveal.has-save input,.admin-system-config-input-wrap.has-reveal.has-save textarea{padding-right:9.75rem}.admin-system-config-input-wrap.has-save{--admin-config-value-actions:44px}.admin-system-config-input-wrap.has-save.has-clear{--admin-config-value-actions:88px}.admin-system-config-input-wrap.has-value-toggle input{padding-right:calc(var(--admin-config-value-actions) + 44px + .75rem)}.admin-system-config-value-toggle{top:0;right:var(--admin-config-value-actions);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;position:absolute}.admin-system-config-value-toggle:hover:not(:disabled){background:var(--hover-bg)}.admin-system-config-value-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.admin-system-config-value-toggle:disabled{opacity:.6;cursor:not-allowed}.admin-system-config-control textarea.is-secret-masked{-webkit-text-security:disc}.admin-system-config-input-wrap.has-save>.admin-system-config-save{background:var(--accent);width:44px;height:44px;min-height:44px;color:var(--background);border:0;border-radius:0 8px 8px 0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.admin-system-config-input-wrap.has-save>.admin-system-config-save:disabled{opacity:.55;cursor:not-allowed}.admin-system-config-input-wrap.has-save:not(.has-clear)>.admin-system-config-save{border-radius:0 8px 8px 0}.admin-system-config-clear{width:44px;height:44px;min-height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:44px}.admin-system-config-clear:hover{color:var(--red-strong)}.admin-system-config-clear:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.admin-system-config-reveal{width:44px;height:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:0 8px 8px 0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.admin-system-config-reveal:hover{color:var(--accent);background:var(--hover-bg)}.admin-system-config-reveal:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.admin-system-config-reveal:disabled{opacity:.6;cursor:wait}.admin-system-config-input-wrap.has-reveal.has-save>.admin-system-config-reveal{right:88px}.admin-system-config-input-wrap.is-empty input,.admin-system-config-input-wrap.is-empty textarea{border-color:var(--accent)}.admin-system-config-control input:disabled,.admin-system-config-control textarea:disabled{opacity:.72;cursor:not-allowed}.admin-system-config-input-wrap[data-tooltip]:after,.admin-system-config-source-switch[data-tooltip]:after{z-index:5;border:1px solid var(--border);background:var(--card);width:max-content;max-width:min(22rem,100vw - 3rem);color:var(--foreground);box-shadow:0 4px 16px var(--shadow-md);content:attr(data-tooltip);white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;pointer-events:none;visibility:hidden;opacity:0;border-radius:8px;padding:.55rem .7rem;font-size:.75rem;line-height:1.4;transition:opacity .12s;position:absolute;bottom:calc(100% + .4rem);left:0}.admin-system-config-input-wrap[data-tooltip]:hover:after,.admin-system-config-input-wrap[data-tooltip]:focus-visible:after,.admin-system-config-source-switch[data-tooltip]:hover:after,.admin-system-config-source-switch[data-tooltip]:focus:after{visibility:visible;opacity:1}.admin-system-config-actions{flex-wrap:wrap;justify-content:flex-start}.admin-system-config-source-switch{box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;color:var(--text-muted);white-space:nowrap;flex-wrap:wrap;flex:none;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:inline-flex;position:relative}.admin-system-config-source-switch>span.active{color:var(--accent)}.admin-system-config-source-switch>span.has-value{border:1px solid var(--accent);border-radius:5px;padding:.18rem .3rem}.admin-system-config-source-switch button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.admin-system-config-source-switch-track{background:var(--border);box-sizing:border-box;border-radius:999px;align-items:center;width:38px;height:22px;padding:2px;transition:background .16s;display:flex}.admin-system-config-source-switch-track>span{background:var(--card);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow-md);border-radius:50%;transition:transform .16s}.admin-system-config-source-switch:focus-visible,.admin-system-config-ai-provider-cell[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:8px}.admin-system-config-source-switch[title],.admin-system-config-ai-provider-cell[title]{cursor:help}.admin-system-config-source-switch button:disabled,.admin-system-config-ai-provider-cell[title] button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.admin-system-config-save:disabled,.admin-system-config-clear:disabled,.admin-system-config-refresh:disabled{opacity:.6;cursor:wait}.admin-system-config-error{color:var(--red-strong)}.admin-ai-calls{word-break:break-word;box-sizing:border-box;gap:1rem;min-width:0;overflow:hidden}.admin-ai-call-refresh-row{min-width:0;color:var(--text-muted);justify-content:flex-end;align-items:center;gap:.6rem;font-size:.72rem;display:flex}.admin-ai-call-refresh-button{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.admin-ai-call-refresh-button:hover:not(:disabled){border-color:var(--accent);background:var(--hover-bg)}.admin-ai-call-refresh-button:disabled:not(.is-refreshing){cursor:default;opacity:.65}.admin-ai-call-refresh-button.is-refreshing{border-color:var(--success);background:var(--success-soft-bg);color:var(--success)}.admin-ai-call-refresh-icon{width:18px;height:18px}.admin-ai-call-refresh-button.is-refreshing .admin-ai-call-refresh-icon{animation:.8s linear infinite admin-ai-call-refresh-spin}@keyframes admin-ai-call-refresh-spin{to{transform:rotate(360deg)}}.admin-ai-call-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.admin-ai-call-totals>div{border:1px solid var(--border);background:var(--hover-bg);border-radius:10px;flex-direction:column;gap:.2rem;min-width:0;padding:.4rem .5rem;display:flex}.admin-ai-call-totals span,.admin-ai-call-filters label>span{color:var(--text-muted);font-size:.72rem}.admin-ai-call-totals>div>span{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;font-size:.65rem;display:block;overflow:hidden}.admin-ai-call-totals .admin-ai-call-total-success{color:var(--green)}.admin-ai-call-totals .admin-ai-call-total-failed{color:var(--red-strong)}.admin-ai-call-totals .admin-ai-call-total-in-progress{color:var(--blue)}.admin-ai-call-totals strong{color:var(--foreground);text-overflow:ellipsis;text-align:center;margin-top:auto;font-size:.95rem;overflow:hidden}.admin-ai-call-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.65rem;display:grid}.admin-ai-call-filters label{flex-direction:column;gap:.3rem;min-width:0;display:flex}.admin-ai-call-filters input,.admin-ai-call-filters select,.admin-ai-call-date-trigger{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;height:40px;color:var(--foreground);font:inherit;box-sizing:border-box;border-radius:8px;padding:0 .6rem;font-size:.78rem}.admin-ai-call-filters input:focus,.admin-ai-call-filters select:focus{outline:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-filters input:focus,.admin-ai-call-filters select:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.admin-ai-call-filters input:focus,.admin-ai-call-filters select:focus{outline-offset:1px}.select-dropdown-option.admin-ai-call-outcome-main{font-weight:700}.select-dropdown-option.admin-ai-call-outcome-subcategory{color:var(--text-muted);font-size:.7rem}.admin-ai-call-filter-control{width:100%;min-width:0;display:block;position:relative}.admin-ai-call-select-control.has-selection .select-dropdown-trigger{padding-right:3.25rem}.admin-ai-call-filter-control .select-dropdown-trigger{width:100%;min-width:0}.admin-ai-call-user-control.has-selection .select-dropdown-trigger{padding-right:3.5rem}.admin-ai-call-filter-control .admin-ai-call-user-trigger{width:100%;padding-right:.6rem}.admin-ai-call-date-control.has-selection .admin-ai-call-date-trigger{padding-right:3rem}.admin-ai-call-filter-clear{z-index:1;width:1.5rem;height:1.5rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:50%;right:1.45rem;transform:translateY(-50%)}.admin-ai-call-date-control .admin-ai-call-filter-clear{right:.5rem}.admin-ai-call-user-control .admin-ai-call-filter-clear{right:1.7rem}.admin-ai-call-user-control .admin-ai-call-user-trigger{padding-right:.6rem}.admin-ai-call-user-trigger>span:last-child{flex:none;font-size:1rem;line-height:1}.admin-ai-call-user-control.has-selection .admin-ai-call-user-trigger>span:first-child{padding-right:3.5rem}.admin-ai-call-filter-clear:hover{color:var(--accent)}.admin-ai-call-filter-clear:focus-visible{outline:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-filter-clear:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.admin-ai-call-filter-clear:focus-visible{outline-offset:1px}.admin-ai-call-user-picker{flex-direction:column;gap:.3rem;min-width:0;display:flex;position:relative}.admin-ai-call-filter-label{color:var(--text-muted);font-size:.72rem}.admin-ai-call-user-trigger{border:1px solid var(--accent);background:var(--card);width:100%;min-width:0;height:40px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .6rem;font-size:.78rem;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-trigger{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}}.admin-ai-call-user-trigger{box-sizing:border-box}.admin-ai-call-user-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-ai-call-user-trigger:focus-visible,.admin-ai-call-user-options button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-ai-call-user-menu{z-index:30;border:1px solid var(--accent);background:var(--card);box-shadow:0 12px 32px var(--foreground);border-radius:10px;flex-direction:column;padding:.5rem;display:flex;position:fixed}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-menu{box-shadow:0 12px 32px color-mix(in srgb, var(--foreground) 14%, transparent)}}.admin-ai-call-user-menu{box-sizing:border-box;overflow:hidden}.admin-ai-call-user-menu input{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);border-radius:8px;flex:none;margin-bottom:.45rem}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-menu input{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}}.admin-ai-call-user-menu input:focus,.admin-ai-call-user-menu input:focus-visible{outline:2px solid var(--accent);border-color:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-menu input:focus,.admin-ai-call-user-menu input:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.admin-ai-call-user-menu input:focus,.admin-ai-call-user-menu input:focus-visible{outline-offset:1px;box-shadow:0 0 0 2px var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-menu input:focus,.admin-ai-call-user-menu input:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)!important}}.admin-ai-call-user-options{flex-direction:column;gap:.15rem;min-height:0;display:flex;overflow-y:auto}.admin-ai-call-user-options button{min-width:0;min-height:40px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;font-size:.76rem;display:flex}.admin-ai-call-user-options button:hover,.admin-ai-call-user-options button[aria-selected=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-user-options button:hover,.admin-ai-call-user-options button[aria-selected=true]{background:color-mix(in srgb, var(--accent) 12%, var(--card))}}.admin-ai-call-user-options button[aria-selected=true]{color:var(--accent)}.admin-ai-call-user-options button>span:first-child{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.admin-ai-call-user-options small{color:var(--text-muted);font-size:.68rem}.admin-ai-call-user-options button>span:last-child,.admin-ai-call-user-options p{color:var(--text-muted);flex-shrink:0;font-size:.68rem}.admin-ai-call-user-options p{margin:0;padding:.6rem .55rem}.admin-ai-call-date-trigger{text-align:left;cursor:pointer;flex:auto}.admin-ai-call-date-trigger:focus-visible{outline:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-date-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.admin-ai-call-date-trigger:focus-visible{outline-offset:1px}.base-modal-backdrop.admin-ai-date-range-backdrop{align-items:center}.base-modal.admin-ai-date-range-modal{width:min(100%,34rem);max-width:34rem;height:auto;max-height:min(90dvh,42rem)}.base-modal.admin-ai-date-range-modal .admin-ai-date-range-modal-body{flex:0 auto;overflow-y:auto}.admin-ai-date-range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.admin-ai-date-range-field{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);min-width:0;min-height:3.5rem;color:var(--foreground);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .75rem;display:flex}.admin-ai-date-range-field.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.admin-ai-date-range-field span{color:var(--text-muted);font-size:.72rem}.admin-ai-date-range-field strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.9rem;overflow:hidden}.admin-ai-date-range-active-label{color:var(--accent);text-align:center;margin:.65rem 0 0;font-size:.78rem;font-weight:600}.admin-ai-call-list{box-sizing:border-box;flex-direction:column;gap:.35rem;min-width:0;display:flex}.admin-ai-call-row{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;min-height:58px;color:var(--foreground);text-align:left;cursor:pointer;box-sizing:border-box;border-radius:9px;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.6rem .7rem;transition:background-color .15s,border-color .15s;display:grid;overflow:hidden}.admin-ai-call-row:hover{background:var(--hover-bg);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-row:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}}.admin-ai-call-status{background:var(--green-strong);border-radius:50%;width:9px;height:9px}.admin-ai-call-status.failed{background:var(--red-strong)}.admin-ai-call-status.in_progress{background:var(--blue);animation:1.4s ease-in-out infinite admin-ai-call-pulse}@keyframes admin-ai-call-pulse{50%{opacity:.4}}.admin-ai-call-row-main,.admin-ai-call-row-meta{flex-direction:column;gap:.2rem;min-width:0;display:flex}.admin-ai-call-row-main strong,.admin-ai-call-row-main span,.admin-ai-call-row-meta span,.admin-ai-call-row-meta time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-ai-call-row-main strong{font-size:.82rem}.admin-ai-call-row-main span,.admin-ai-call-row-meta span,.admin-ai-call-row-meta time{color:var(--text-muted);font-size:.7rem}.admin-ai-call-context-line{text-overflow:clip;white-space:normal;flex-flow:wrap;align-items:center;gap:.35rem;display:flex;overflow:visible}.admin-ai-call-feature-tag{border:1px solid var(--ai-call-feature-color);align-items:center;gap:.3rem;min-width:0;max-width:100%;padding:.12rem .45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-tag{border:1px solid color-mix(in srgb, var(--ai-call-feature-color) 30%, var(--border))}}.admin-ai-call-feature-tag{background:var(--ai-call-feature-color);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-tag{background:color-mix(in srgb, var(--ai-call-feature-color) 12%, var(--card))}}.admin-ai-call-feature-tag{overflow-wrap:anywhere;font-weight:650;line-height:1.35;color:var(--ai-call-feature-color)!important;white-space:normal!important;font-size:.68rem!important}.admin-ai-call-feature-tag>span{background:var(--ai-call-feature-color);border-radius:50%;flex:none;width:.42rem;height:.42rem}.feature-color-1{--ai-call-feature-color:var(--blue)}.feature-color-2{--ai-call-feature-color:var(--purple)}.feature-color-3{--ai-call-feature-color:var(--orange)}.feature-color-4{--ai-call-feature-color:var(--green)}.feature-color-5{--ai-call-feature-color:var(--amber)}.feature-color-6{--ai-call-feature-color:var(--indigo)}.feature-color-7{--ai-call-feature-color:var(--red)}.feature-color-8{--ai-call-feature-color:var(--blue)}@supports (color:color-mix(in lab, red, red)){.feature-color-8{--ai-call-feature-color:color-mix(in srgb, var(--blue) 58%, var(--purple))}}.feature-color-9{--ai-call-feature-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.feature-color-9{--ai-call-feature-color:color-mix(in srgb, var(--green) 58%, var(--blue))}}.feature-color-10{--ai-call-feature-color:var(--orange)}@supports (color:color-mix(in lab, red, red)){.feature-color-10{--ai-call-feature-color:color-mix(in srgb, var(--orange) 58%, var(--red))}}.feature-color-11{--ai-call-feature-color:var(--purple)}@supports (color:color-mix(in lab, red, red)){.feature-color-11{--ai-call-feature-color:color-mix(in srgb, var(--purple) 58%, var(--amber))}}.admin-ai-call-feature-select{color:var(--ai-call-feature-color)!important}.admin-ai-call-feature-option.feature-color-1{color:var(--blue)}.admin-ai-call-feature-option.feature-color-2{color:var(--purple)}.admin-ai-call-feature-option.feature-color-3{color:var(--orange)}.admin-ai-call-feature-option.feature-color-4{color:var(--green)}.admin-ai-call-feature-option.feature-color-5{color:var(--amber)}.admin-ai-call-feature-option.feature-color-6{color:var(--indigo)}.admin-ai-call-feature-option.feature-color-7{color:var(--red)}.admin-ai-call-feature-option.feature-color-8{color:var(--blue)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-option.feature-color-8{color:color-mix(in srgb, var(--blue) 58%, var(--purple))}}.admin-ai-call-feature-option.feature-color-9{color:var(--green)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-option.feature-color-9{color:color-mix(in srgb, var(--green) 58%, var(--blue))}}.admin-ai-call-feature-option.feature-color-10{color:var(--orange)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-option.feature-color-10{color:color-mix(in srgb, var(--orange) 58%, var(--red))}}.admin-ai-call-feature-option.feature-color-11{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-option.feature-color-11{color:color-mix(in srgb, var(--purple) 58%, var(--amber))}}.admin-ai-call-feature-select option{color:var(--ai-call-feature-color,var(--foreground))}.admin-ai-call-feature-select.feature-color-1,.admin-ai-call-feature-select option.feature-color-1{color:var(--blue)!important}.admin-ai-call-feature-select.feature-color-2,.admin-ai-call-feature-select option.feature-color-2{color:var(--purple)!important}.admin-ai-call-feature-select.feature-color-3,.admin-ai-call-feature-select option.feature-color-3{color:var(--orange)!important}.admin-ai-call-feature-select.feature-color-4,.admin-ai-call-feature-select option.feature-color-4{color:var(--green)!important}.admin-ai-call-feature-select.feature-color-5,.admin-ai-call-feature-select option.feature-color-5{color:var(--amber)!important}.admin-ai-call-feature-select.feature-color-6,.admin-ai-call-feature-select option.feature-color-6{color:var(--indigo)!important}.admin-ai-call-feature-select.feature-color-7,.admin-ai-call-feature-select option.feature-color-7{color:var(--red)!important}.admin-ai-call-feature-select.feature-color-8,.admin-ai-call-feature-select option.feature-color-8{color:var(--blue)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-select.feature-color-8,.admin-ai-call-feature-select option.feature-color-8{color:color-mix(in srgb, var(--blue) 58%, var(--purple))!important}}.admin-ai-call-feature-select.feature-color-9,.admin-ai-call-feature-select option.feature-color-9{color:var(--green)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-select.feature-color-9,.admin-ai-call-feature-select option.feature-color-9{color:color-mix(in srgb, var(--green) 58%, var(--blue))!important}}.admin-ai-call-feature-select.feature-color-10,.admin-ai-call-feature-select option.feature-color-10{color:var(--orange)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-select.feature-color-10,.admin-ai-call-feature-select option.feature-color-10{color:color-mix(in srgb, var(--orange) 58%, var(--red))!important}}.admin-ai-call-feature-select.feature-color-11,.admin-ai-call-feature-select option.feature-color-11{color:var(--purple)!important}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-feature-select.feature-color-11,.admin-ai-call-feature-select option.feature-color-11{color:color-mix(in srgb, var(--purple) 58%, var(--amber))!important}}.admin-ai-call-row-main .admin-ai-call-row-error{color:var(--red-strong);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box}.admin-ai-call-row-main .admin-ai-call-row-progress{color:var(--blue);font-size:.72rem}.admin-ai-call-row-main .admin-ai-call-cron-badge,.admin-ai-call-cron-badge{border:1px solid var(--border);background:var(--hover-bg);width:fit-content;color:var(--foreground);border-radius:999px;align-self:flex-start;padding:.1rem .4rem;font-size:.62rem;font-weight:600;line-height:1.3;display:inline-flex}.admin-ai-call-row-meta{align-items:flex-end}.admin-ai-call-group{border:1px solid var(--border);background:var(--card);border-radius:9px;min-width:0;overflow:hidden}.admin-ai-call-group-header{border:0;border-radius:0;padding-right:2.25rem;position:relative}.admin-ai-call-group-header.is-expanded{text-align:left;grid-template-columns:minmax(0,1fr);min-height:44px;padding:.5rem 2.25rem .5rem .7rem}.admin-ai-call-group-header:hover{border-color:#0000}.admin-ai-call-group-collapse-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.admin-ai-call-row-main .admin-ai-call-group-counts{white-space:normal;flex-flow:wrap;gap:.3rem .65rem;display:flex;overflow:visible}.admin-ai-call-row-main .admin-ai-call-group-counts>span{text-overflow:clip;flex:none;overflow:visible}.admin-ai-call-group-counts .success{color:var(--green)}.admin-ai-call-group-counts .failed{color:var(--red-strong)}.admin-ai-call-group-counts .in-progress{color:var(--blue)}.admin-ai-call-group-chevron{width:1.15rem;height:1.15rem;color:var(--text-muted);place-items:center;transition:color .16s,transform .16s;display:grid;position:absolute;top:.65rem;right:.7rem}.admin-ai-call-group-chevron svg{width:100%;height:100%}.admin-ai-call-group-chevron.is-expanded{color:var(--accent);transform:rotate(90deg)}.admin-ai-call-group-history{border-top:1px solid var(--border);background:var(--hover-bg);flex-direction:column;gap:.35rem;padding:0 .45rem .45rem;display:flex}.admin-ai-call-group-history .admin-ai-call-row{background:var(--card)}.admin-ai-call-image-chip{background:var(--hover-bg);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:.2rem .4rem;font-size:.65rem}.admin-ai-call-row-image{border:1px solid var(--border);background:var(--hover-bg);object-fit:cover;border-radius:7px;width:2.75rem;height:2.75rem;display:block}.admin-ai-call-empty,.admin-ai-call-error,.admin-ai-call-loading,.admin-ai-call-image-status{color:var(--text-muted);margin:0;font-size:.82rem}.admin-ai-call-error{color:var(--red-strong)}.admin-ai-call-modal{box-sizing:border-box;width:min(58rem,100vw - 2rem);max-width:58rem}.admin-ai-call-modal-body{max-height:min(75dvh,52rem);overflow-y:auto}.admin-ai-call-detail{word-break:break-word;box-sizing:border-box;flex-direction:column;gap:1rem;min-width:0;display:flex;overflow:hidden}.admin-ai-call-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.admin-ai-call-detail-grid>div{background:var(--hover-bg);border-radius:8px;min-width:0;padding:.65rem}.admin-ai-call-detail-grid dt{color:var(--text-muted);margin-bottom:.2rem;font-size:.68rem}.admin-ai-call-detail-grid dd{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:.8rem}.admin-ai-call-http-status{color:var(--foreground)}.admin-ai-call-outcome-status.success{color:var(--green)}.admin-ai-call-outcome-status.failed{color:var(--red-strong)}.admin-ai-call-outcome-status.in_progress{color:var(--blue)}.admin-ai-call-detail section{min-width:0}.admin-ai-call-detail-image{justify-content:center;min-width:0;display:flex}.admin-ai-call-image-preview-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:8px;max-width:100%;padding:0}.admin-ai-call-image-preview-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin-ai-call-detail-divider{background:var(--border);width:100%;height:1px}.admin-ai-call-date-section p{color:var(--text-muted);margin:0;font-size:.8rem}.admin-ai-call-failure-reason p{border:1px solid var(--red-strong);margin:0;padding:.65rem .75rem}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-failure-reason p{border:1px solid color-mix(in srgb, var(--red-strong) 28%, var(--border))}}.admin-ai-call-failure-reason p{background:var(--red-strong);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.admin-ai-call-failure-reason p{background:color-mix(in srgb, var(--red-strong) 8%, var(--card))}}.admin-ai-call-failure-reason p{color:var(--red-strong);overflow-wrap:anywhere;font-size:.8rem}.admin-ai-call-detail h3{margin:0 0 .4rem;font-size:.85rem}.admin-ai-call-detail pre{border:1px solid var(--border);background:var(--background);max-height:18rem;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:.75rem;font:.75rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.admin-ai-call-image{object-fit:contain;border-radius:8px;max-width:min(100%,28rem);max-height:18rem;display:block}.admin-tab-badge{background:var(--red-dark,#dc2626);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:15px;height:15px;margin-left:4px;padding:0 3px;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.admin-section{background:var(--card);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;min-width:0;padding:1.5rem;display:flex}.admin-section-header{flex-direction:column;gap:.25rem;display:flex}.admin-section-title{align-items:center;gap:.5rem;margin:0;display:flex}.admin-section-title svg{color:var(--accent);flex-shrink:0}.admin-section-desc{margin:0}.admin-notify-form{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.admin-notify-result{color:var(--accent);background:var(--accent);margin:0;padding:.5rem .75rem;font-size:.82rem}@supports (color:color-mix(in lab, red, red)){.admin-notify-result{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.admin-notify-result{border-radius:8px;line-height:1.4}.admin-notify-recipient-tools{flex-direction:column;gap:1rem;min-width:0;display:flex}.admin-notify-quick-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.admin-notify-group-card{border:1px solid var(--border);background:var(--card);min-width:0;min-height:5rem;color:var(--foreground);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .75rem;padding:.85rem 1rem;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.admin-notify-group-card:disabled{opacity:.55;cursor:not-allowed}.admin-notify-group-title{overflow-wrap:anywhere;min-width:0;font-weight:650}.admin-notify-group-detail{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;grid-column:1;font-size:clamp(.7rem,1.4vw,.8rem);line-height:1.4}.admin-notify-group-count{background:var(--hover-bg);min-width:2.5rem;color:var(--accent);text-align:center;border-radius:999px;grid-area:1/2/span 2;padding:.35rem .55rem;font-size:clamp(.75rem,1.6vw,.9rem);font-weight:700}.admin-notify-selected{border:1px solid var(--border);background:var(--card);border-radius:14px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-notify-selected{background:color-mix(in srgb, var(--card) 72%, transparent)}}.admin-notify-selected-heading{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.admin-notify-selected-count{align-items:center;gap:.5rem;font-weight:650;display:inline-flex}.admin-notify-selected-count strong{background:var(--hover-bg);min-width:1.75rem;min-height:1.75rem;color:var(--accent);border-radius:999px;place-items:center;font-size:clamp(.75rem,1.6vw,.9rem);display:inline-grid}.admin-notify-clear,.admin-notify-remove-user{border:1px solid var(--border);background:var(--background);min-width:2.75rem;min-height:2.75rem;color:var(--foreground);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.admin-notify-clear{color:var(--accent);padding:.5rem .8rem;font-size:clamp(.75rem,1.6vw,.875rem);font-weight:600}.admin-notify-selected-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.65rem;min-width:0;display:grid}.admin-notify-user-card{border:1px solid var(--border);background:var(--background);border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.6rem .65rem .6rem .85rem;display:flex}.admin-notify-user-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.admin-notify-user-info strong,.admin-notify-user-info small{overflow-wrap:anywhere;min-width:0}.admin-notify-user-info strong{font-size:clamp(.8rem,1.6vw,.92rem)}.admin-notify-user-info small{color:var(--text-muted);font-size:clamp(.7rem,1.4vw,.8rem)}.admin-notify-user-tags{flex-wrap:wrap;gap:.3rem;display:flex}.admin-notify-user-tags span{background:var(--hover-bg);color:var(--accent);border-radius:999px;padding:.15rem .45rem;font-size:clamp(.65rem,1.3vw,.72rem)}.admin-notify-remove-user{flex:none;font-size:1.25rem;line-height:1}.admin-notify-empty-selection{color:var(--text-muted);margin:0;font-size:clamp(.75rem,1.6vw,.875rem);line-height:1.5}.admin-users-toolbar{flex-direction:column;gap:.75rem;width:100%;min-width:0;display:flex}.admin-users-search-row{align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.admin-users-search-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.admin-users-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.85rem}.admin-users-search{box-sizing:border-box;width:100%;height:44px;color:var(--foreground);background:var(--hover-bg);appearance:none;border:1px solid #0000;border-radius:999px;outline:none;padding-left:2.5rem;padding-right:2.5rem;font-family:inherit;font-size:.9rem;transition:background-color .15s,box-shadow .15s}.admin-users-search::placeholder{color:var(--text-muted)}.admin-users-search::-webkit-search-cancel-button{display:none}.admin-users-search:focus{background:var(--background);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-users-search:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}}.admin-users-search-clear{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;transition:transform .15s;display:flex;position:absolute;right:.4rem}.admin-users-search-clear:hover{color:var(--foreground);background:var(--hover-bg)}.admin-users-search-clear:active{transform:scale(.88)}.admin-users-filter-btn{background:var(--hover-bg);width:44px;height:44px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex;position:relative}.admin-users-filter-btn:hover{color:var(--foreground)}.admin-users-filter-btn.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-users-filter-btn.active{background:color-mix(in srgb, var(--accent) 12%, var(--hover-bg))}}.admin-users-filter-btn.active{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-users-filter-btn.active{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}}.admin-users-filter-badge{background:var(--accent);min-width:16px;height:16px;color:var(--text-on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:.62rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.admin-users-filter-dropdown{background:var(--card);border:1px solid var(--border);min-width:240px;max-width:calc(100vw - 2rem);box-shadow:0 8px 24px var(--shadow-soft,#00000026);z-index:13000;box-sizing:border-box;border-radius:12px;flex-direction:column;gap:.85rem;padding:.9rem;display:flex}.admin-filter-group{flex-direction:column;gap:.4rem;display:flex}.admin-filter-group-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.7rem;font-weight:600}.admin-filter-segmented{flex-wrap:wrap;gap:.35rem;display:flex}.admin-user-platform-filter{gap:.65rem .5rem;padding-top:.4rem}.admin-user-platform-filter .admin-filter-chip{flex:7rem;justify-content:center;align-items:center;min-width:0;min-height:44px;display:inline-flex;position:relative}.admin-user-platform-count{z-index:1;border:2px solid var(--card);background:var(--surface-canvas);min-width:1.35rem;min-height:1.35rem;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .3rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-.45rem;right:-.2rem}.admin-users-sort-controls{grid-template-columns:minmax(0,1fr) auto;gap:.4rem;min-width:0;display:grid}.admin-users-sort-picker-trigger,.admin-users-sort-direction{border:1px solid var(--border);background:var(--hover-bg);min-width:0;min-height:40px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:8px;padding:.45rem .6rem;font-size:.76rem;font-weight:600}.admin-users-sort-picker-trigger{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-users-sort-direction{white-space:nowrap}.admin-users-sort-picker-trigger:hover,.admin-users-sort-direction:hover{border-color:var(--accent);color:var(--accent)}.target-date-picker-wheels.admin-users-sort-wheels{grid-template-columns:minmax(0,1fr);max-width:24rem;margin-inline:auto}.admin-filter-chip{min-height:36px;color:var(--text-muted);background:var(--hover-bg);cursor:pointer;text-align:center;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;flex:1 1 0;padding:.4rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s,transform .1s}.admin-filter-chip:hover{color:var(--foreground)}.admin-filter-chip:active{transform:scale(.94)}.admin-filter-chip.active{color:var(--text-on-accent);background:var(--accent)}.admin-filter-toggle-row{color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.admin-switch-mini{background:var(--hover-bg);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s,border-color .2s;position:relative}.admin-filter-toggle-row.active .admin-switch-mini{background:var(--accent);border-color:var(--accent)}.admin-switch-mini-thumb{background:var(--text-on-accent);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:50%;left:2px;transform:translateY(-50%)translate(0)}.admin-filter-toggle-row.active .admin-switch-mini-thumb{transform:translateY(-50%)translate(14px)}.admin-filter-dropdown-reset{border:none;border-top:1px solid var(--border);color:var(--accent);cursor:pointer;text-align:left;background:0 0;padding:.5rem 0;font-family:inherit;font-size:.8rem;font-weight:600}.admin-users-empty{text-align:center;color:var(--text-muted);padding:1.5rem 0;font-size:.9rem}.admin-empty-success{align-items:center;gap:4px;display:inline-flex}.admin-users-list{flex-direction:column;gap:.5rem;min-width:0;max-height:520px;display:flex;overflow-y:auto}.admin-user-row{border:1px solid var(--border);background:var(--background);box-sizing:border-box;border-radius:10px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.85rem;min-width:0;padding:.75rem;display:flex;position:relative;overflow:hidden}.admin-user-link{min-width:0;color:inherit;border-radius:8px;flex:1;align-items:center;gap:.85rem;text-decoration:none;display:flex}.admin-user-link:hover .admin-user-name{color:var(--accent)}.admin-user-link:active{background:var(--hover-bg)}.admin-user-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.admin-user-avatar{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.admin-user-avatar{color:var(--accent);justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.admin-user-avatar-column{flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.admin-user-tag.admin-user-avatar-private{border-radius:5px;padding:.06rem .24rem;font-size:.52rem;font-weight:500;line-height:1.2}.admin-user-avatar img{object-fit:cover;width:100%;height:100%}.admin-user-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.admin-user-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;font-weight:600;overflow:hidden}.admin-user-name-premium,.admin-user-link:hover .admin-user-name-premium{color:var(--amber)}.admin-user-email{color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;font-size:.7rem}.admin-user-tags{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem;display:flex}.admin-user-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .45rem;font-size:.7rem;font-weight:700;line-height:1.4;display:inline-flex}.admin-user-platforms{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;max-width:100%;display:inline-flex}.admin-user-platform-icon{color:var(--text-muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-user-country-flag{flex:none;justify-content:center;align-items:center;min-width:20px;font-size:.65rem;line-height:1;display:inline-flex}.admin-user-country-flag img{object-fit:contain;width:20px;height:14px}.admin-user-tag-blocked{background:var(--amber-dark)}@supports (color:color-mix(in lab, red, red)){.admin-user-tag-blocked{background:color-mix(in srgb, var(--amber-dark) 15%, transparent)}}.admin-user-tag-blocked{color:var(--amber-dark)}.admin-user-tag-flags{background:var(--danger-bg);color:var(--red-dark)}.admin-user-tag-ai-summary{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-user-tag-ai-summary{background:color-mix(in srgb, var(--accent) 14%, transparent)}}.admin-user-tag-ai-summary{color:var(--accent);gap:.3rem}.admin-user-tag-ai-summary>span{align-items:center;gap:.2rem;display:inline-flex}.admin-user-tag-ai-summary .admin-user-tag-ai-success,.admin-user-tag-ai-summary .admin-user-tag-ai-failed{border-left:1px solid var(--accent);padding-left:.3rem}@supports (color:color-mix(in lab, red, red)){.admin-user-tag-ai-summary .admin-user-tag-ai-success,.admin-user-tag-ai-summary .admin-user-tag-ai-failed{border-left:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}}.admin-user-tag-ai-summary .admin-user-tag-ai-success{color:var(--green-strong)}.admin-user-tag-ai-summary .admin-user-tag-ai-failed{color:var(--red-strong)}.admin-user-menu-wrap{flex-shrink:0;position:relative}.admin-user-action-column{flex-direction:column;flex:none;justify-content:space-between;align-self:stretch;align-items:flex-end;gap:.35rem;min-width:0;display:flex}.admin-user-activity{color:var(--text-muted);white-space:nowrap;font-size:clamp(.62rem,1.2vw,.75rem);line-height:1.3}.admin-user-menu-btn{width:40px;height:40px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.admin-user-menu-btn:hover{color:var(--foreground);background:var(--hover-bg)}.admin-user-menu-btn:disabled{cursor:not-allowed;opacity:.6}.admin-user-menu-dropdown{min-width:170px}.admin-reset-limits-preview{flex-direction:column;gap:.4rem;width:100%;margin-top:.75rem;display:flex}.admin-reset-limits-period{color:var(--text-muted);margin:0 0 .2rem;font-size:.75rem;font-weight:700}.admin-reset-limits-row{border-bottom:1px solid var(--border-subtle,var(--border));color:var(--text-muted);grid-template-columns:minmax(4.5rem,.9fr) minmax(5rem,1fr) minmax(6rem,1.2fr);align-items:center;gap:.35rem;padding:.4rem 0;font-size:clamp(.58rem,1.8vw,.7rem);line-height:1.35;display:grid}.admin-reset-limits-row>*{min-width:0}.admin-reset-limits-row>strong{color:var(--foreground)}.admin-reset-limits-heading{color:var(--text-muted);font-size:.62rem;font-weight:700}.admin-reset-limits-loading{color:var(--text-muted);margin:.75rem 0 0;font-size:.85rem}.admin-premium-options{overflow-wrap:anywhere;flex-direction:column;gap:.75rem;display:flex}.admin-premium-description{color:var(--text-light);margin:0 0 .25rem}.admin-premium-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:100%;min-height:44px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;display:flex}.admin-premium-option:hover,.admin-premium-option:focus-visible{background:var(--hover-bg)}.admin-premium-option span{color:var(--text-light);font-size:.875rem}.admin-premium-option:disabled{opacity:.5;cursor:wait}.admin-user-menu-item{font-size:.82rem;font-weight:600}.admin-user-tag-private{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){.admin-user-tag-private{background:color-mix(in srgb, var(--purple) 18%, transparent)}}.admin-user-tag-private{color:var(--purple)}.admin-switch{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;width:46px;height:44px;padding:0;position:relative}.admin-switch:before{content:"";background:var(--hover-bg);border:1px solid var(--border);border-radius:999px;width:42px;height:24px;transition:background-color .2s,border-color .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.admin-switch.on:before{background:var(--accent);border-color:var(--accent)}.admin-switch-thumb{background:var(--text-on-accent);border-radius:50%;width:18px;height:18px;transition:transform .2s,width .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%)translate(0);box-shadow:0 1px 3px #00000040}.admin-switch.on .admin-switch-thumb{transform:translateY(-50%)translate(18px)}.admin-switch:active .admin-switch-thumb{width:22px}.admin-switch.on:active .admin-switch-thumb{transform:translateY(-50%)translate(14px)}.admin-switch:disabled{cursor:not-allowed;opacity:.5}.admin-user-delete{width:46px;height:44px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,transform .1s;display:flex}.admin-user-delete:hover{color:var(--red);background:var(--red)}@supports (color:color-mix(in lab, red, red)){.admin-user-delete:hover{background:color-mix(in srgb, var(--red) 12%, transparent)}}.admin-user-delete:active{transform:scale(.9)}.admin-user-delete:disabled{cursor:not-allowed;opacity:.35}.admin-report-row{border:1px solid var(--border);background:var(--background);box-sizing:border-box;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:.85rem;min-width:0;padding:.85rem;display:flex}.admin-report-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.admin-report-target{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-report-meal-badge{background:var(--amber-dark);border-radius:999px;align-items:center;padding:.2rem .6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.admin-report-meal-badge{background:color-mix(in srgb, var(--amber-dark) 15%, transparent)}}.admin-report-meal-badge{color:var(--amber-dark);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:700;overflow:hidden}.admin-report-meal-badge-profile{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-report-meal-badge-profile{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.admin-report-meal-badge-profile{color:var(--accent)}.admin-report-date{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.admin-report-reason{color:var(--foreground);word-break:break-word;margin:0;font-size:.86rem;line-height:1.5}.admin-feedback-kind{color:var(--text-muted);font-size:.75rem;font-weight:600}.admin-feedback-rating{color:var(--warning-color);align-items:center;gap:.15rem;display:flex}.admin-feedback-rating span{color:var(--text-muted);margin-left:.25rem;font-size:.75rem}.admin-feedback-sentiment{color:var(--text-muted);align-items:center;gap:.35rem;margin:0;font-size:.8rem;display:flex}.admin-feedback-meal-details{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;font-size:.78rem;display:flex}.admin-feedback-meal-details strong{color:var(--foreground)}.admin-feedback-screenshot{border:1px solid var(--border);cursor:zoom-in;background:0 0;border-radius:.5rem;max-width:min(100%,32rem);padding:0;display:block;overflow:hidden}.admin-feedback-screenshot img{object-fit:contain;width:100%;height:auto;max-height:18rem;display:block}.admin-ai-review-overview{border:1px solid var(--border);background:var(--card);border-radius:.75rem;flex-direction:column;gap:1rem;margin-block:1rem;padding:1rem;display:flex}.admin-ai-review-overview-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.admin-ai-review-overview-heading h3{color:var(--foreground);margin:0;font-size:1rem}.admin-ai-review-overview-heading>span,.admin-ai-review-empty{color:var(--text-muted);font-size:.8rem}.admin-ai-review-empty{margin:0}.admin-ai-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.admin-ai-review-metrics>div{background:var(--background);border-radius:.5rem;flex-direction:column;gap:.25rem;min-width:0;padding:.75rem;display:flex}.admin-ai-review-metrics>div>span{color:var(--text-muted);font-size:.75rem}.admin-ai-review-metrics strong{color:var(--foreground);font-size:1.35rem}.admin-ai-review-metrics strong small{color:var(--text-muted);margin-left:.15rem;font-size:.8rem;font-weight:500}.admin-ai-review-metrics>div>small{color:var(--text-muted);font-size:.72rem}.admin-ai-review-distribution{flex-direction:column;gap:.3rem;max-width:30rem;display:flex}.admin-ai-review-rating-row{color:var(--text-muted);grid-template-columns:2.25rem minmax(0,1fr) 1.5rem;align-items:center;gap:.5rem;font-size:.75rem;display:grid}.admin-ai-review-rating-row>span:first-child{color:var(--warning-color);align-items:center;gap:.2rem;display:inline-flex}.admin-ai-review-rating-row>span:last-child{text-align:end}.admin-ai-review-rating-track{background:var(--border);border-radius:999px;height:.4rem;overflow:hidden}.admin-ai-review-rating-track>span{border-radius:inherit;background:var(--warning-color);height:100%;display:block}.admin-report-images{flex-wrap:wrap;gap:.4rem;display:flex}.admin-report-image-thumb{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:52px;height:52px;padding:0;display:block;overflow:hidden}.admin-report-image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.admin-report-parties{flex-wrap:wrap;gap:1.25rem;display:flex}.admin-report-party{min-width:0;color:inherit;flex-direction:column;gap:.1rem;text-decoration:none;display:flex}.admin-report-party:hover .admin-report-party-name{color:var(--accent)}.admin-report-party-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.65rem;font-weight:600}.admin-report-party-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.84rem;font-weight:600;overflow:hidden}.admin-report-actions{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;padding-left:1rem;display:flex}html:has(.diary-page){overflow:clip}body:has(.diary-page){height:100dvh;min-height:0;overflow:clip}@media screen{[data-ios-pwa-dock]:has(.diary-page){height:var(--app-pwa-layout-height,100dvh)}[data-ios-pwa-dock] body:has(.diary-page){height:var(--app-pwa-layout-height,100dvh)}}main:has(>.diary-page){flex-direction:column;min-width:0;min-height:0;display:flex;overflow:clip}body:has(.diary-page) .pwa-banner.show{flex-shrink:0;position:relative}.diary-page{flex-direction:column;flex:1;width:100%;min-width:0;max-width:1100px;min-height:0;margin:0 auto;display:flex;overflow:clip}.diary-swipe-area{touch-action:pan-y;flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:clip}.diary-page:not([data-mounted]) .diary-swipe-area{visibility:hidden}.diary-track{will-change:transform;flex-direction:row;width:100%;height:100%;min-height:0;transition:none;display:flex}.diary-track-page{box-sizing:border-box;flex-direction:column;flex:0 0 100%;width:100%;height:100%;min-height:0;padding:0 1rem 10px;display:flex}.diary-day-content{flex-direction:column;flex:1;min-height:0;display:flex}.diary-page-shell{width:100%;max-width:720px;margin:0 auto;padding:1rem}.diary-date-strip-wrap{border-bottom:1px solid var(--card-border);-webkit-user-select:none;user-select:none;background:var(--background);z-index:5;will-change:margin-bottom;flex-direction:row;flex-shrink:0;align-items:stretch;margin-bottom:.5rem;transition:margin-bottom .7s cubic-bezier(.25,.46,.45,.94);display:flex;position:sticky;top:0}.diary-date-strip-wrap.has-sticky-widget{margin-bottom:0}.diary-date-strip{overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;gap:0;min-width:0;padding:0;display:flex;overflow-x:auto}.diary-date-strip:before,.diary-date-strip:after{content:"";flex:0 0 max(0%,50% - 1.5rem)}.diary-date-strip::-webkit-scrollbar{display:none}.diary-day-cell{border-radius:var(--radius-sm);color:var(--text-muted,#aaa);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;transition:color .2s cubic-bezier(.25,.46,.45,.94),background .2s cubic-bezier(.25,.46,.45,.94),transform .2s cubic-bezier(.25,.46,.45,.94);position:relative}.diary-day-ai-dot{background:var(--error-color);pointer-events:none;border-radius:50%;width:.35rem;height:.35rem;position:absolute;inset-block-end:.4rem;inset-inline-start:50%;transform:translate(-50%)}.diary-day-cell--strip{touch-action:pan-y;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;min-width:48px;padding:8px 12px;font-size:.75rem;font-weight:500;display:flex}.diary-day-cell--strip:hover{color:var(--foreground,#eee)}.diary-day-cell--strip.active{color:var(--foreground,#eee);background:0 0}.diary-day-cell--strip.active:after{content:"";border-radius:var(--radius-pill);background:var(--solid-white,#fff);width:36%;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.diary-day-cell--strip.today{box-shadow:inset 0 0 0 1px var(--border);font-weight:700}.diary-day-cell--strip.today.balance-positive{box-shadow:inset 0 0 0 1px var(--status-good)}.diary-day-cell--strip.today.balance-negative{box-shadow:inset 0 0 0 1px var(--status-over)}.diary-day-cell--strip.active.today{color:var(--foreground,#eee);font-weight:700}.diary-day-cell--grid{box-sizing:border-box;min-width:0;min-height:3.5rem;color:var(--foreground);border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .125rem;font-size:.8rem;font-weight:500;display:flex}.diary-day-cell--grid:hover{background:var(--accent-dim,#e651001f);color:var(--accent,#e65100)}.diary-day-cell--grid:active{transform:scale(.9)}.diary-day-cell--grid.today{border-color:var(--success);color:var(--accent,#e65100);background:var(--accent-dim);font-weight:700}.diary-day-cell--grid.active{background:var(--accent,#e65100);color:var(--text-on-accent,#fff);font-weight:700}.diary-day-cell--grid:not(.balance-positive):not(.balance-negative){background:var(--surface-hover);color:var(--text-muted)}.diary-day-cell.balance-positive{background:var(--green-soft-bg);color:var(--foreground)}.diary-day-cell.balance-negative{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell.balance-negative{background:color-mix(in srgb, var(--red-strong) 20%, transparent)}}.diary-day-cell.balance-negative{color:var(--foreground)}.diary-day-cell-metric{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:.1rem;max-width:100%;font-size:.55rem;font-weight:500;line-height:1.15;display:flex}.diary-day-cell-metric>svg{flex-shrink:0}.diary-day-cell-metric>span,.diary-cal-week-summary strong>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.diary-day-cell--grid .diary-day-ai-dot{inset:.25rem .25rem auto auto;transform:none}.diary-day-cell--strip.balance-positive{background:var(--green-bright)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell--strip.balance-positive{background:color-mix(in srgb, var(--green-bright) 40%, transparent)}}.diary-day-cell--strip.balance-negative{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell--strip.balance-negative{background:color-mix(in srgb, var(--red-strong) 40%, transparent)}}.diary-day-cell--strip.completed{border:1.5px solid #0000;border-radius:0}.diary-day-cell-weekday{text-transform:uppercase;letter-spacing:.3px;opacity:.75;font-size:.6rem}.diary-day-cell-num{font-size:.9rem;font-weight:600}.diary-day-cell--grid .diary-day-cell-num{font-size:inherit;font-weight:inherit}.diary-day-cell-month{color:var(--text-light,#888);text-transform:uppercase;letter-spacing:.3px;margin-top:-1px;font-size:.55rem;font-weight:500}.diary-top-panel{word-break:break-word;box-sizing:border-box;touch-action:none;min-width:0;max-width:100%;filter:drop-shadow(0 4px 8px var(--shadow-sm));flex-shrink:0;margin-bottom:.6rem;position:relative;overflow:hidden}.diary-top-panel .ui-card-glass,.diary-top-panel .timeline-card{background:var(--glass-bg);border-color:var(--border);box-shadow:none;-webkit-backdrop-filter:blur(var(--glass-blur))}.diary-top-panel .diary-insights{border-left-color:var(--border)}.diary-top-panel-content{word-break:break-word;box-sizing:border-box;min-width:0;max-width:100%;display:flow-root;position:relative;overflow:hidden}.diary-widgets{contain:layout;flex-shrink:0;margin-bottom:1rem}.diary-widgets-row{flex-shrink:0;align-items:stretch;gap:.5rem;margin-bottom:0;display:flex}.diary-widgets-row>.timeline-carousel{flex-direction:column;flex:100%;width:100%;min-width:0;margin-bottom:0;display:flex}.timeline-carousel-slide-calories>.diary-widgets{width:100%;margin-bottom:0}.diary-date-strip-actions{flex-shrink:0;align-items:stretch;margin-left:auto;display:flex}.diary-date-strip-cal-btn{border:none;border-left:1px solid var(--card-border);min-width:clamp(3.25rem,5vw,3.5rem);min-height:44px;color:var(--text-muted,#aaa);cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:6px 10px;transition:color .2s cubic-bezier(.25,.46,.45,.94),background .2s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}.diary-calendar-streak-badge{color:var(--accent);pointer-events:none;align-items:center;gap:.125rem;font-size:.625rem;font-weight:600;line-height:1;display:inline-flex}.diary-date-strip-cal-btn:hover{color:var(--accent,#e65100);background:var(--accent-dim,#e6510014)}.diary-date-strip-date-picker{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.base-modal.diary-calendar-modal{max-width:28rem}.diary-calendar-modal>.base-modal-header{gap:.25rem;padding:.75rem 1rem;position:relative}.diary-calendar-modal>.diary-calendar-body{flex:0 auto;min-height:0;padding:.75rem 1rem 1rem}@keyframes diary-meal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.diary-cal-header{flex:1;align-items:center;gap:.25rem;min-width:0;display:flex}.diary-cal-month-controls{flex-shrink:0;align-items:center;min-width:0;display:flex}.diary-cal-month-label{text-align:center;color:var(--text-muted);white-space:nowrap;font-size:.6rem}.diary-cal-metric-label{min-width:0;color:var(--foreground);justify-content:center;align-items:center;gap:.375rem;font-size:.85rem;font-weight:600;line-height:1;display:inline-flex}.diary-cal-nav{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s cubic-bezier(.25,.46,.45,.94),color .2s cubic-bezier(.25,.46,.45,.94);display:flex}.select-dropdown.diary-cal-mode-select{width:8rem;min-width:0;max-width:8rem;position:absolute;top:calc(50% + 3px);left:50%;transform:translate(-50%,-50%)}.diary-cal-mode-select .diary-cal-mode-toggle{border:1px solid var(--border);background:var(--surface-raised,var(--card));width:100%;max-width:100%;min-height:44px;color:var(--text-muted);border-radius:999px;flex-direction:row;justify-content:center;gap:.375rem;margin-inline:auto;padding:.375rem .625rem}.diary-cal-mode-select .select-dropdown-value{justify-content:center;min-width:0;overflow:hidden}.diary-cal-metric-label>svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}.diary-cal-metric-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diary-cal-mode-select .select-dropdown-chevron{opacity:.7;width:12px;height:12px}.diary-cal-mode-option{align-items:center;gap:.5rem;display:inline-flex}.diary-cal-status{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.75rem;display:flex}.diary-cal-status button{min-width:44px;min-height:44px;color:var(--accent)}.diary-cal-today-btn{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--accent);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;align-items:center;margin-inline-start:auto;padding:4px 10px;font-size:.7rem;font-weight:600;transition:color .2s cubic-bezier(.25,.46,.45,.94),background .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.diary-cal-today-btn:hover{color:var(--text-on-accent);background:var(--accent)}.diary-cal-table{position:relative}.diary-cal-table:after{content:"";background:var(--border);pointer-events:none;inset-block:0;width:1px;position:absolute;right:calc(12.5% - .875px - .2rem)}.diary-cal-weekdays,.diary-cal-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:.25rem 1px;display:grid}.diary-cal-weekdays{margin-bottom:.4rem}.diary-cal-weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0;font-size:.65rem;font-weight:600}.diary-cal-empty{min-height:3.5rem}.diary-cal-week-summary{appearance:none;cursor:pointer;border-radius:var(--radius-sm);background:var(--surface-hover);min-width:0;min-height:44px;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;margin-left:.35rem;padding:.35rem .05rem;font-family:inherit;font-size:.55rem;line-height:1.2;display:flex}.diary-cal-week-summary strong{max-width:100%;color:var(--solid-white);justify-content:center;align-items:center;gap:1px;font-size:.5rem;font-weight:600;display:flex}.diary-cal-week-summary strong>svg{flex-shrink:0}.diary-cal-week-summary:focus-visible,.diary-cal-summary-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.diary-cal-summary-tile{min-height:44px}.diary-cal-week-summary[data-positive]{background:var(--green-soft-bg)}.diary-cal-week-summary[data-over]{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-cal-week-summary[data-over]{background:color-mix(in srgb, var(--red-strong) 20%, transparent)}}.diary-cal-month-summary{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.65rem}.diary-cal-summary-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem;min-width:0;display:grid}.diary-cal-summary-tile{appearance:none;border-radius:var(--radius-sm);background:var(--surface-hover);min-width:0;color:var(--solid-white);text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .15rem;font-family:inherit;display:flex}.diary-cal-summary-label{white-space:nowrap;justify-content:center;align-items:center;gap:.15rem;max-width:100%;font-size:.55rem;display:flex}.diary-cal-summary-label>svg{flex-shrink:0}.diary-cal-summary-tile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;font-weight:600;line-height:1.2;overflow:hidden}.diary-cal-summary-unit{overflow-wrap:anywhere;max-width:100%;font-size:.5rem}.diary-cal-summary-tile[data-status=positive]{background:var(--green-soft-bg)}.diary-cal-summary-tile[data-status=negative]{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-cal-summary-tile[data-status=negative]{background:color-mix(in srgb, var(--red-strong) 20%, transparent)}}.diary-cal-weight-forecast{--forecast-color:var(--text-muted);width:100%;margin-top:2.5rem;position:relative;container-type:inline-size}.diary-cal-current-weight{--forecast-end:calc(6px + (100cqw - 12px) * var(--forecast-progress));--bubble-center:clamp(2rem, var(--forecast-end), calc(100cqw - 2rem));top:-1.5rem;left:var(--bubble-center);box-sizing:border-box;border:1px solid var(--blue);border-radius:var(--radius-sm);background:var(--blue);width:4rem;color:var(--solid-white);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;padding:.25rem .45rem;font-size:.6rem;font-weight:600;line-height:1.1;position:absolute;transform:translate(-50%)}.diary-cal-current-weight:after{content:"";bottom:-.5rem;left:calc(50% + var(--forecast-end) - var(--bubble-center));clip-path:polygon(0 0,100% 0,50% 100%);background:var(--blue);width:.5rem;height:.5rem;position:absolute;transform:translate(-50%)}.diary-cal-forecast-track{background:var(--border);top:5px;height:2px;position:absolute;inset-inline:6px}.diary-cal-forecast-track>span{width:100%;height:100%;transform:scaleX(var(--forecast-progress));transform-origin:0;background:var(--forecast-color);display:block}.diary-cal-forecast-points{justify-content:space-between;width:100%;margin:0;padding:0;list-style:none;display:flex;position:relative}.diary-cal-forecast-points>li{min-width:0;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:.2rem;font-size:.55rem;display:flex;position:relative}.diary-cal-forecast-points>li:first-child{align-items:flex-start}.diary-cal-forecast-points>li:last-child{align-items:flex-end}.diary-cal-forecast-dot{z-index:1;box-sizing:border-box;border:2px solid var(--border);background:var(--card);border-radius:50%;width:12px;height:12px;position:relative}.diary-cal-forecast-dot[data-status=positive]{--forecast-color:var(--status-good)}.diary-cal-forecast-dot[data-status=negative]{--forecast-color:var(--status-over)}.diary-cal-forecast-dot[data-known]{border-color:var(--forecast-color)}.diary-cal-forecast-dot[data-complete]{background:var(--forecast-color);border-color:var(--forecast-color)}.diary-cal-forecast-points strong{color:var(--forecast-color);white-space:nowrap;font-size:.75rem;font-weight:600}.diary-cal-forecast-note{color:var(--text-muted);text-align:center;margin:.45rem 0 0;font-size:.55rem}.diary-carryover-label{vertical-align:middle;align-items:center;gap:.25rem;line-height:1;display:inline-flex}.diary-carryover-help{z-index:2;pointer-events:auto;width:44px;height:44px;color:var(--text-muted);cursor:help;background:0 0;border:0;justify-content:center;align-items:center;margin:-16px -12px;padding:0;display:inline-flex;position:relative}.diary-carryover-help>span{box-sizing:border-box;border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:1px 4px;font-size:.55rem;font-weight:600;line-height:1;display:inline-flex}.diary-carryover-help:focus,.diary-carryover-help:focus-visible{box-shadow:none;outline:none}.diary-carryover-help:focus-visible>span{outline:1px solid var(--text-muted);outline-offset:2px}.diary-carryover-tooltip{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);width:min(23rem,100vw - 2rem);color:var(--text-main);box-shadow:0 8px 24px var(--shadow-md);letter-spacing:normal;text-transform:none;margin:0;padding:1rem;font-size:.8rem;font-weight:400;line-height:1.6;position:fixed;inset:auto;overflow-y:auto}.diary-carryover-tooltip strong{color:var(--heading);margin-bottom:.4rem;padding-right:2rem;font-size:.85rem;display:block}.diary-carryover-close{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex;position:absolute;top:.2rem;right:.2rem}.diary-carryover-close:hover{color:var(--heading);background:var(--hover-bg)}.diary-carryover-close:focus-visible{outline:1px solid var(--text-muted);outline-offset:-4px}.diary-carryover-tooltip{pointer-events:auto}.diary-compact-card{will-change:padding, box-shadow;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;padding:1rem .85rem .55rem;transition:padding .7s cubic-bezier(.25,.46,.45,.94),border-radius .7s cubic-bezier(.25,.46,.45,.94),box-shadow .3s cubic-bezier(.25,.46,.45,.94),border-color .25s cubic-bezier(.25,.46,.45,.94);display:flex;overflow:hidden}.diary-compact-header-chevron{color:var(--text-muted);opacity:.7;flex-shrink:0;margin-left:auto;transition:opacity .2s cubic-bezier(.25,.46,.45,.94)}.diary-compact-header-pct~.diary-compact-header-chevron{margin-left:4px}.diary-compact-card:hover .diary-compact-header-chevron{opacity:1}.diary-goals-met-badge{background:var(--success-soft-bg);border:1.5px solid var(--success-glow);border-radius:var(--radius-md);color:var(--success);justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:.55rem 1rem;font-size:.8rem;font-weight:700;display:flex}.diary-goals-met-icon{font-size:1.1rem}.diary-compact-header{align-items:center;gap:6px;margin-bottom:.1rem;display:flex}.diary-compact-header-icon{font-size:1rem}.diary-compact-header-label{color:var(--text-muted,#aaa);text-transform:uppercase;letter-spacing:.4px;font-size:.62rem;font-weight:700}.diary-compact-header-pct{color:var(--accent,#e65100);margin-left:auto;font-size:.68rem;font-weight:700}.diary-compact-progress-wrap{flex-direction:column;gap:4px;margin-block:.4rem .55rem;display:flex}.diary-compact-progress-bar{height:10px;box-shadow:inset 0 1px 2px var(--shadow-sm2)}.diary-compact-progress-fill{background:linear-gradient(90deg, var(--accent,#e65100), var(--accent-bright,#ff9800));min-width:0;transition:width .4s cubic-bezier(.25,.46,.45,.94)}.diary-compact-progress-fill.under{background:var(--status-under)}.diary-compact-progress-fill.over{background:var(--status-over)}.diary-compact-progress-text{color:var(--text-muted,#888);justify-content:flex-end;align-items:center;gap:3px;font-size:.7rem;font-weight:600;display:flex}.diary-compact-progress-text.under{color:var(--status-under)}.diary-compact-progress-text.good{color:var(--status-good)}.diary-compact-progress-text.over{color:var(--status-over)}.diary-compact-progress-wrap.goal-met{background:var(--success-soft-bg);border-radius:var(--radius-sm);margin:.4rem -4px .55rem;padding:6px 8px}.diary-compact-progress-fill.goal-met{box-shadow:0 0 8px var(--success-glow);transition:width .6s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s;background:linear-gradient(90deg, var(--green,#34d399), var(--success))!important}.diary-compact-progress-text.goal-met{font-weight:700;color:var(--success)!important}.diary-compact-macro-item.goal-met .diary-compact-bar-fill.goal-met{box-shadow:0 0 6px var(--success-glow);background:linear-gradient(90deg, var(--green,#34d399), var(--success))!important}.diary-compact-macro-values.goal-met{font-weight:700;color:var(--success)!important}.diary-compact-bar-fill.steps.goal-met,.diary-compact-bar-fill.steps.met{box-shadow:0 0 6px var(--success-glow);background:linear-gradient(90deg, var(--green,#34d399), var(--success))!important}.diary-compact-progress-fill,.diary-compact-bar-fill{transition:width .6s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s}.diary-compact-cal-row{align-items:stretch;gap:0;margin:0 -.1rem;display:flex}.diary-compact-cal-item{flex-direction:column;flex:1;align-items:flex-start;gap:.05rem;min-width:0;padding:.2rem .1rem;display:flex}.diary-compact-cal-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.3px;margin-top:.2rem;font-size:.55rem;font-weight:600}.diary-compact-cal-value{color:var(--foreground,#eee);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800;line-height:1.1}.diary-compact-exercise-target{color:var(--text-muted);margin-left:.08rem;font-size:.62em;font-weight:600}.diary-compact-cal-value.food{color:var(--red,#f44336)}.diary-compact-cal-value.exercise{color:var(--status-good)}.diary-compact-cal-carryover-remaining{margin-left:.12rem;font-size:.58em;font-weight:600}.diary-default-goal{width:fit-content;max-width:100%;min-height:44px;color:var(--text-muted);font-size:var(--diary-default-goal-font-size,.7rem);overflow-wrap:anywhere;text-underline-offset:.15em;pointer-events:auto;align-items:center;line-height:1.4;text-decoration:underline;display:flex}.diary-default-goal:hover,.diary-default-goal:focus-visible{color:var(--foreground)}.timeline-carousel-track:has(.diary-default-goal){height:calc(var(--diary-default-goal-track-height,180px) + 44px)}.diary-compact-cal-carryover-remaining.positive{color:var(--accent,#e65100)}.diary-compact-cal-carryover-remaining.negative{color:var(--red,#f44336)}.diary-compact-cal-value.carryover{color:var(--text-muted,#999)}.diary-compact-cal-value.carryover.negative{color:var(--red,#f44336)}.diary-compact-macro-item{flex-direction:column;flex:1;gap:.2rem;padding:0 .3rem;display:flex}.diary-compact-macro-bar-row{align-items:center;gap:.3rem;width:100%;display:flex}.diary-compact-macro-bar-row .diary-compact-bar{flex:1}.diary-compact-macro-label{color:var(--foreground);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:2px;font-size:.68rem;font-weight:700;display:inline-flex}.diary-compact-macro-values{color:var(--foreground);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left;font-size:.78rem;font-weight:700}.diary-compact-macro-values.under,.diary-compact-macro-values.good,.diary-compact-macro-values.over{color:var(--foreground)}.diary-compact-macro-goal{color:var(--text-muted,#888);font-size:.85em;font-weight:500}.diary-compact-unit{color:var(--text-muted,#888);font-size:.6rem;font-weight:500}.diary-compact-bar{height:3px}.diary-compact-bar-fill{will-change:width}.diary-compact-bar-fill.protein.under,.diary-compact-bar-fill.carbs.under,.diary-compact-bar-fill.fat.under,.diary-compact-bar-fill.steps.under{background:var(--status-under)}.diary-compact-bar-fill.protein.good,.diary-compact-bar-fill.carbs.good,.diary-compact-bar-fill.fat.good,.diary-compact-bar-fill.steps.good{background:var(--status-good)}.diary-compact-bar-fill.protein.over,.diary-compact-bar-fill.carbs.over,.diary-compact-bar-fill.fat.over,.diary-compact-bar-fill.steps.over{background:var(--status-over)}.diary-compact-macros-header{align-items:center;gap:5px;margin-top:.05rem;display:flex}.diary-compact-macros-header-icon{color:var(--text-muted,#999);align-items:center;display:flex}.diary-compact-macros-header-label{color:var(--text-muted,#aaa);text-transform:uppercase;letter-spacing:.4px;font-size:.62rem;font-weight:700}.diary-meals-list{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;contain:layout;flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow-y:auto}.diary-compact-bottom-row{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:stretch;gap:.75rem;margin-top:.85rem;display:grid}.diary-compact-weight-spark{border-left:1px solid var(--border);flex-direction:column;flex:1 1 0;align-items:center;gap:.12rem;min-width:0;padding-left:.45rem;display:flex}.diary-compact-weight-spark-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:.45rem;font-weight:700}.diary-compact-weight-spark-svg{flex-shrink:0;width:56px;height:22px}.diary-compact-weight-spark-change{white-space:nowrap;font-size:.48rem;font-weight:600;line-height:1}.diary-compact-weight-spark-change.down{color:var(--green-bright,#34a853)}.diary-compact-weight-spark-change.up{color:var(--red-dark,#dc2626)}.diary-compact-macros-side{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.35rem .75rem;width:100%;min-width:0;padding-right:.75rem;display:grid}.diary-compact-macros-side-label{color:var(--foreground);text-transform:uppercase;letter-spacing:.3px;grid-column:1/-1;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;display:flex}.diary-compact-steps-side{box-sizing:border-box;border:none;border-left:1px solid var(--border);width:100%;min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;flex-direction:column;gap:.2rem;margin:0;padding:.1rem .15rem .1rem .55rem;transition:background .2s cubic-bezier(.25,.46,.45,.94);display:flex;overflow:hidden}.diary-compact-steps-side:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.diary-compact-steps-chevron{vertical-align:middle;opacity:.7;flex-shrink:0;margin-left:auto}.diary-compact-steps-side:hover .diary-compact-steps-chevron{opacity:1}.diary-compact-steps-body{flex-direction:column;flex:1;justify-content:center;gap:.2rem;display:flex}.diary-compact-steps-heading-spacer{flex:0 0 12px;height:12px}.diary-compact-steps-goal{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;font-size:.52rem;font-weight:600;display:flex;overflow:hidden}.diary-compact-steps-value{color:var(--heading);font-variant-numeric:tabular-nums;word-break:break-word;font-size:1.15rem;font-weight:800;line-height:1}.diary-compact-steps-calories{color:var(--text-muted,#888);vertical-align:middle;align-items:center;gap:.08rem;margin-left:.2rem;font-size:.58em;font-weight:600;display:inline-flex}.diary-compact-steps-value.met{color:var(--accent)}.diary-compact-steps-value.under{color:var(--status-under)}.diary-compact-steps-value.good{color:var(--status-good)}.diary-compact-steps-value.over{color:var(--status-over)}.diary-compact-steps-target{width:100%;color:var(--text-muted,#888);text-align:right;font-size:.85em;font-weight:500;display:block}.diary-compact-macro-sm{color:var(--foreground,#ccc);text-align:right;min-width:28px;font-size:.6rem;font-weight:600}.diary-compact-macro-sm.over{color:var(--red,#f87171)}.diary-meal-section{background:var(--surface-canvas,var(--card-bg));border:1px solid var(--border-subtle,var(--border));border-radius:var(--radius-md);box-shadow:var(--shadow-card-rest);flex-shrink:0;overflow:hidden}.diary-section-header{background:var(--surface-raised,var(--card-bg));border-bottom:1px solid var(--border-subtle,var(--border));align-items:center;gap:.5rem;padding:.65rem .9rem;display:flex;position:relative}.diary-section-header.has-drop-targets{min-height:60px}.diary-section-header.has-drop-targets>:not(.diary-section-drop-targets){visibility:hidden}.diary-section-drop-targets{z-index:7;background:var(--surface-raised,var(--card-bg));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:absolute;inset:0}.diary-section-drop-zone{min-width:44px;min-height:44px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--border);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .5rem;display:flex}.diary-section-drop-zone>span{align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;display:inline-flex}.diary-section-drop-zone small{overflow-wrap:anywhere;max-width:100%;color:var(--text-muted);font-size:.65rem}.diary-section-drop-zone.drop-target{background:var(--accent-dim);box-shadow:inset 0 0 0 2px var(--accent)}.diary-section-drop-zone.is-disabled{color:var(--text-muted);opacity:.45}.diary-section-header>.diary-status-btn{width:44px;height:44px;color:var(--text-muted,#aaa);opacity:1;border:0;margin-left:auto;font-size:.78rem;font-weight:500}.diary-section-header>.diary-status-btn svg,.diary-section-add-space>.diary-add-btn--header svg{width:18px;height:18px}.diary-section-kcal{color:var(--text-muted,#aaa);margin-left:auto;font-size:.78rem;font-weight:600}.diary-section-body{padding:0}.diary-meal-entry{cursor:pointer;box-shadow:none;border-radius:0;align-items:stretch;min-height:60px;margin:0;padding:0;transition:background .2s cubic-bezier(.25,.46,.45,.94),box-shadow .25s cubic-bezier(.25,.46,.45,.94);animation:.3s cubic-bezier(.22,1,.36,1) both diary-meal-in;display:flex;position:relative;overflow:hidden}.diary-meal-entry-expanded{background:0 0;border-radius:.85rem;min-height:0;display:block;overflow:visible}.diary-meal-entry-expanded:before,.diary-meal-entry-expanded:after{display:none}.diary-meal-entry-expanded .meal-items-panel{word-break:break-word;box-sizing:border-box;min-width:0;display:block;overflow:hidden}.diary-meal-entry-expanded .meal-content-card{border-top:1px solid var(--border);background:var(--card);border-radius:.85rem;padding-bottom:0}.diary-meal-entry-expanded .meal-total-card .meal-macro-summary dt{font-size:clamp(.62rem,1.35vw,.74rem)}.diary-meal-entry-expanded .meal-total-card .meal-macro-summary dd{font-size:clamp(.85rem,1.8vw,1.05rem)}.diary-meal-entry-expanded .meal-pinned-totals .meal-nutrient-row{min-height:calc(1.2rem + 1px);font-size:clamp(.68rem,1.4vw,.82rem)}.diary-meal-entry-expanded:hover,.diary-meal-entry-expanded:active{background:0 0}.diary-meal-entry.diary-meal-entry-expanded.has-ai-attempt{grid-template-rows:none;grid-template-columns:none;display:block}.diary-meal-entry-expanded.has-ai-attempt .meal-content-card{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.diary-meal-entry-expanded .diary-meal-attempt-panel{border-top:0;flex:auto;grid-area:auto;min-width:0;margin-block-start:0}.diary-meal-entry-expanded .diary-meal-attempt-panel>.ai-request-status{border-top-left-radius:0;border-top-right-radius:0}.diary-meal-entry-expanded.status-skipped .meal-item-open h3{color:var(--text-muted);text-decoration:line-through}.diary-meal-entry:before,.diary-meal-entry:after{content:"";z-index:2;pointer-events:none;position:absolute;left:0;right:0}.diary-meal-entry:before{border-top:1px solid var(--border);top:0}.diary-meal-entry:after{border-bottom:1px solid var(--border);bottom:0}.diary-meal-merge-hint{z-index:5;border-radius:inherit;background:var(--accent);color:var(--text-on-accent);letter-spacing:.01em;opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;transition:opacity .16s,transform .16s;display:flex;position:absolute;inset:0;transform:scale(.96)}.diary-meal-entry.merge-target{outline:2px solid var(--accent);outline-offset:2px}.diary-meal-entry.merge-target .diary-meal-merge-hint{opacity:.96;transform:scale(1)}.diary-meal-entry.camera-focus{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-glow), var(--shadow-card-hover)}.diary-meal-cover-wrap{background:var(--card-bg);flex-shrink:0;align-self:stretch;width:72px;position:relative;overflow:hidden}.diary-meal-cover{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.diary-meal-icon{box-sizing:border-box;border:1px solid var(--border);background:var(--card-bg);flex-shrink:0;justify-content:center;align-items:center;width:72px;min-height:60px;font-size:1.2rem;display:flex;position:relative}.diary-meal-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;padding:.65rem .9rem;display:flex}.diary-meal-entry.has-ai-attempt .ai-request-status>.ai-request-actions{border-top:0;border-inline-start:1px solid var(--border);flex-direction:row}.diary-meal-entry .diary-status-btn:disabled{cursor:wait;opacity:.65}.diary-meal-title-list{flex-direction:column;gap:.15rem;margin:0;padding:0 0 0 1.1rem;list-style:outside;display:flex}.diary-meal-title-item{color:var(--foreground,#eee);overflow-wrap:anywhere;white-space:normal;font-size:.875rem;line-height:1.35}.diary-meal-title-item.skipped{color:var(--text-muted,#999);text-decoration:line-through}.diary-meal-title-item::marker{color:var(--accent,#e65100);font-size:.65rem}.diary-meal-side{box-sizing:border-box;border-left:1px solid var(--border);flex-direction:column;flex:0 0 8rem;justify-content:center;align-items:flex-end;gap:.35rem;width:8rem;padding:.5rem .75rem;display:flex}.diary-meal-actions{align-self:stretch}.diary-meal-actions+.diary-meal-cal{border-top:1px solid var(--border);align-self:stretch;padding-top:.35rem}.diary-meal-cal{text-align:left;flex-direction:column;justify-content:center;gap:.35rem;width:100%;min-width:0;display:flex}.diary-meal-kcal-row{align-items:baseline;gap:.25rem;display:flex}.diary-meal-kcal{font-variant-numeric:tabular-nums;color:var(--foreground,#eee);font-size:1.05rem;font-weight:800;line-height:1}.diary-meal-kcal.exercise{color:var(--text-muted)}.diary-meal-unit{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;font-size:.58rem;font-weight:600}.diary-meal-macros{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.15rem;display:flex}.diary-macro-chip{border:1px solid var(--border);background:var(--hover-bg);color:var(--foreground);box-sizing:border-box;white-space:nowrap;border-radius:.4rem;align-items:center;max-width:100%;padding:.12rem .25rem;font-size:.6rem;font-weight:800;line-height:1.5;display:inline-flex}.diary-macro-value{color:var(--foreground);background:0 0;margin-inline-start:.15em}.diary-section-empty{justify-content:center;align-items:center;padding:.7rem .9rem;display:flex}.diary-add-btn{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted,#aaa);cursor:pointer;transition:background var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);background:0 0;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.5rem 1rem;font-size:.78rem;font-weight:500;display:flex}.diary-add-btn:active{transform:scale(.98)}.diary-section-add-space{flex:1;justify-content:flex-end;min-width:0;display:flex}.diary-section-add-space>.diary-add-btn--header{width:60%;min-width:44px;min-height:44px;margin-inline:0}.diary-edit-cancel-icon{justify-content:center;align-items:center;display:inline-flex;position:relative}.diary-edit-cancel-x{background:var(--card-bg);border-radius:50%;padding:1px;position:absolute;top:-.2rem;right:-.3rem}.diary-meal-actions{flex-direction:row;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.diary-status-btn{border:1.5px solid var(--border,#444);width:44px;height:44px;color:var(--text-muted,#8a847c);cursor:pointer;transition:background var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard), opacity var(--duration-standard) var(--ease-standard);opacity:.6;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.diary-meal-actions>.meal-card-status-button.btn{opacity:1;background:0 0;border:0;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:.5rem}.meal-card-footer .diary-meal-actions>.meal-card-status-button,.meal-card-footer .diary-meal-actions>.meal-card-status-button:is(:hover,:active,:focus,:focus-visible){border:0;box-shadow:none!important;background:0 0!important}.diary-meal-actions>.meal-card-status-button.btn svg{width:18px;height:18px}.diary-meal-actions.meal-item-status-actions>.meal-card-status-button.btn svg{width:14px;height:14px}.diary-meal-actions>.meal-card-status-button.btn.btn-ghost:hover:not(:disabled),.diary-meal-actions>.meal-card-status-button.btn.btn-ghost:active,.diary-meal-actions>.meal-card-status-button.btn.btn-ghost:focus,.diary-meal-actions>.meal-card-status-button.btn.btn-ghost:focus-visible{box-shadow:none;background:0 0;outline:none}.diary-meal-actions>.meal-card-status-button[data-status=planned]{color:var(--text-muted)}.diary-meal-actions>.meal-card-status-button[data-status=confirmed]{color:var(--success)}.diary-meal-actions>.meal-card-status-button[data-status=skipped]{color:var(--error-color)}.diary-meal-entry.status-confirmed{border-left:3px solid var(--success)}.diary-meal-entry.has-ai-attempt{grid-template-rows:minmax(80px,auto) auto;grid-template-columns:72px minmax(0,1fr) 8rem;align-items:stretch;display:grid}.diary-meal-entry[data-ai-status=queued]:before,.diary-meal-entry[data-ai-status=processing]:before{display:none}.diary-meal-entry.camera-focus[data-ai-status=queued],.diary-meal-entry.camera-focus[data-ai-status=processing]{box-shadow:none;outline:0}.diary-meal-entry.has-ai-attempt .diary-meal-cover-wrap,.diary-meal-entry.has-ai-attempt .diary-meal-icon{box-sizing:border-box;grid-area:1/1;width:100%;min-width:0}.diary-meal-entry.has-ai-attempt .diary-meal-info{grid-area:1/2}.diary-meal-entry.has-ai-attempt .diary-meal-side{grid-area:1/3}.diary-meal-attempt-panel{border-top:1px solid var(--border);grid-area:2/1/auto/-1;min-width:0}.diary-section-body>.diary-meal-entry:not(:last-child) .diary-meal-attempt-panel{margin-bottom:.5rem}.diary-meal-attempt-panel>.ai-request-status{--navbar-focus-orbit-duration:4s;background:var(--hover-bg);width:100%;position:relative}.diary-meal-attempt-panel>.ai-request-status:before{content:"";border-radius:inherit;background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, var(--accent) 336deg, var(--accent) 352deg, transparent 360deg);padding:2px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.diary-meal-attempt-panel>.ai-request-status:before{background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, color-mix(in srgb, var(--accent) 20%, transparent) 336deg, var(--accent) 352deg, transparent 360deg)}}.diary-meal-attempt-panel>.ai-request-status:before{-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);pointer-events:none;animation:navbar-focus-border-orbit var(--navbar-focus-orbit-duration) linear infinite;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-composite:xor;mask-composite:exclude}@media (prefers-reduced-motion:reduce){.diary-meal-attempt-panel>.ai-request-status:before{animation:none}}.diary-meal-attempt-panel>.ai-request-status>.ai-request-actions{margin-block:-.65rem}.diary-meal-attempt-panel>.ai-request-status[data-status=failed]{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.diary-meal-entry.status-skipped{opacity:.55;border-left:3px solid var(--red-dark,#dc2626)}.diary-meal-entry.has-ai-attempt:is([data-ai-status=queued],[data-ai-status=processing]){border-left:3px solid var(--orange);opacity:1}.diary-meal-title.skipped{color:var(--text-muted,#999);text-decoration:line-through}.timeline-carousel{box-sizing:border-box;width:100%;min-width:0;position:relative;overflow:hidden}.weight-steps-card .wellness-card-metrics{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);position:relative}.weight-steps-card .wellness-card-metrics:before{border-left:1px solid var(--border);content:"";pointer-events:none;position:absolute;top:.1rem;bottom:.45rem;left:50%;transform:translate(-50%)}.wellness-weight-steps-group{grid-column:3;align-self:stretch}.weight-steps-card .wellness-weight-steps-group>.wellness-steps{flex:1}.weight-steps-card .wellness-weight-decoration,.weight-steps-card .wellness-steps-decoration{z-index:0;fill:none;width:100%;height:1.5rem;stroke:var(--accent);position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.weight-steps-card .wellness-weight-decoration,.weight-steps-card .wellness-steps-decoration{stroke:color-mix(in srgb, var(--accent) 24%, transparent)}}.weight-steps-card .wellness-weight-decoration,.weight-steps-card .wellness-steps-decoration{stroke-width:2px;pointer-events:none}.weight-steps-card .wellness-weight-decoration{opacity:.65}.weight-steps-card .wellness-steps-decoration{opacity:.5}.weight-steps-card .wellness-card-metrics>.wellness-metric-group:first-child{grid-column:1}.weight-steps-card .weight-quick-add-form{align-items:center;gap:.4rem;width:calc(100% - .5rem);margin:0 auto;display:flex}.weight-steps-card .weight-quick-add-stepper{flex:1;grid-template-columns:minmax(0,1fr) 2rem;min-width:0;height:44px}.weight-steps-card .weight-quick-add-stepper input{box-sizing:border-box;border:1px solid var(--border);background:var(--card);width:100%;min-width:0;height:44px;min-height:44px;color:var(--foreground);font:inherit;border-radius:.75rem 0 0 .75rem;padding:.45rem .6rem;font-size:1rem}.weight-steps-card .weight-quick-add-stepper input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;box-shadow:none}.weight-steps-card .weight-quick-add-stepper .number-stepper-buttons{height:44px}.weight-steps-card .weight-quick-add-stepper .number-stepper-buttons button{border-color:var(--border);background:var(--card);min-width:2rem;min-height:22px;color:var(--accent);cursor:pointer;border-radius:0;padding:0}.weight-steps-card .weight-quick-add-stepper .number-stepper-buttons button:first-child{border-radius:0 .65rem 0 0}.weight-steps-card .weight-quick-add-stepper .number-stepper-buttons button:last-child{border-radius:0 0 .65rem}.weight-steps-card .weight-quick-add-form .weight-quick-add-button{border:1px solid var(--accent);flex:none;min-width:3.5rem;min-height:44px;padding:.35rem .75rem}@supports (color:color-mix(in lab, red, red)){.weight-steps-card .weight-quick-add-form .weight-quick-add-button{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border))}}.weight-steps-card .weight-quick-add-form .weight-quick-add-button{background:var(--accent);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.weight-steps-card .weight-quick-add-form .weight-quick-add-button{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.weight-steps-card .weight-quick-add-form .weight-quick-add-button{color:var(--accent);cursor:pointer}.weight-steps-card .weight-quick-add-form button:disabled{opacity:.5;cursor:default}.diary-track-page .diary-compact-card[role=button]:focus-visible,.diary-track-page .timeline-card[role=button]:focus-visible{outline-offset:-3px}.timeline-carousel-track{touch-action:pan-y;width:100%;height:180px;overflow:hidden}@media (min-width:1025px){.timeline-carousel-track{height:220px}}.timeline-carousel-slides{width:300%;height:100%;display:flex}.timeline-carousel-slide{box-sizing:border-box;flex-shrink:0;width:33.3333%;height:100%;padding:5px}.timeline-carousel-slide-calories{align-items:center;display:flex}.timeline-carousel-slide-calories>.diary-widgets,.timeline-carousel-slide-calories .diary-compact-card,.timeline-carousel-slide>.timeline-card{height:100%}.timeline-carousel-slide>.timeline-card{flex-direction:column;margin:0;display:flex}.timeline-carousel-slide>.timeline-card,.timeline-carousel-slide-calories .diary-compact-card{border-color:var(--border)}.timeline-carousel-slide .timeline-chart-wrap{flex:auto;height:auto;min-height:6.25rem}.timeline-chart-wrap .recharts-surface:focus:not(:focus-visible),.timeline-chart-wrap .recharts-surface :focus:not(:focus-visible){outline:none}.timeline-chart-wrap .recharts-surface:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timeline-carousel-slide .timeline-card{box-sizing:border-box;width:100%}@media (max-width:640px){.timeline-carousel-slide-calories>.diary-widgets{margin-bottom:0}.diary-page-shell{padding:.65rem;padding-top:calc(.65rem + var(--safe-top,0px))}.diary-track-page{padding:0 .5rem 6px}.diary-day-cell--strip{min-width:40px;padding:8px}.diary-day-cell-weekday{font-size:.55rem}.diary-day-cell--strip .diary-day-cell-num{font-size:.8rem}.diary-date-strip-cal-btn{padding:4px 6px}.diary-date-strip-wrap{margin-bottom:.35rem}.diary-widgets-row{flex-direction:column;gap:0;margin-bottom:0}.diary-widgets-row>.timeline-carousel{flex-direction:column;flex:100%;width:100%;min-width:0;display:flex}.diary-widgets{margin-bottom:.5rem}.diary-top-panel{min-height:0}.diary-compact-card{padding:.75rem .55rem .35rem}.diary-compact-header{gap:4px;margin-bottom:.05rem}.diary-compact-header-icon{font-size:.85rem}.diary-compact-header-label{letter-spacing:.3px;font-size:.55rem}.diary-compact-header-pct{font-size:.6rem}.diary-compact-cal-item{gap:.02rem;padding:.1rem .05rem}.diary-compact-cal-label{letter-spacing:.2px;margin-top:.12rem;font-size:.48rem}.diary-compact-cal-value{font-size:.8rem;line-height:1}.diary-compact-progress-bar{height:6px}.diary-compact-progress-wrap{gap:2px;margin-block:.25rem .4rem}.diary-compact-progress-text{font-size:.62rem}.diary-compact-bottom-row{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:.3rem;margin-top:.55rem}.diary-compact-weight-spark{gap:.06rem;padding-left:.3rem}.diary-compact-weight-spark-label{font-size:.38rem}.diary-compact-weight-spark-svg{width:40px;height:16px}.diary-compact-weight-spark-change{font-size:.4rem}.diary-compact-steps-side{gap:.15rem}.diary-compact-steps-goal{font-size:.42rem}.diary-compact-steps-value{font-size:.9rem}.diary-compact-macros-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem .45rem}.diary-compact-macros-side-label{font-size:.62rem;display:flex}.diary-compact-macros-side .diary-compact-macro-item{flex-direction:column;flex:1;gap:.15rem;padding:0}.diary-compact-macros-side .diary-compact-macro-label{color:var(--foreground);font-size:.58rem;font-weight:700}.diary-compact-macros-side .diary-compact-macro-values{color:var(--foreground);font-size:.68rem}.diary-compact-macros-side .diary-compact-macro-goal{font-size:.48rem}.diary-compact-macros-side .diary-compact-bar{width:100%;height:3px}.diary-compact-macro-sm{text-align:right;flex-shrink:0;min-width:22px;font-size:.5rem}.diary-meals-list{gap:.3rem}.diary-section-header{gap:.2rem;padding:.25rem .4rem}.diary-section-name{letter-spacing:.2px;font-size:.6rem}.diary-status-btn{width:22px;height:22px}.diary-status-btn svg{width:10px;height:10px}.diary-meal-side{flex-basis:7.25rem;gap:.2rem;width:7.25rem;padding:.4rem .55rem .4rem .4rem}.diary-meal-actions+.diary-meal-cal{padding-top:.2rem}.diary-meal-actions{gap:.2rem}.diary-meal-entry{min-height:48px}.diary-meal-cover-wrap{width:56px}.diary-meal-icon{width:56px;min-height:48px;font-size:1rem}.diary-meal-info{gap:.1rem;padding:.4rem .55rem}.diary-meal-title{-webkit-line-clamp:1;font-size:.75rem}.diary-meal-title-list{gap:.1rem;padding-left:.9rem}.diary-meal-title-item{font-size:.75rem}.diary-meal-title-qty{font-size:.58rem}.diary-meal-macros{gap:.15rem}.diary-meal-cal{gap:.2rem}.diary-meal-kcal{font-size:.82rem}.diary-meal-unit{font-size:.5rem}.diary-section-empty{padding:.4rem .55rem}.diary-add-btn{padding:.35rem .7rem;font-size:.7rem}.diary-add-btn svg{width:12px;height:12px}.diary-meal-entry .diary-status-btn:not(.meal-card-status-button){opacity:.8;width:26px;height:26px}.timeline-card{margin-bottom:.35rem}.timeline-header{padding:.35rem .5rem}.timeline-title{font-size:.6rem}.timeline-change{font-size:.58rem}.timeline-header-meta{gap:.2rem}.timeline-chart-wrap{padding:.2rem .15rem .1rem}.timeline-range{font-size:.55rem}.timeline-count{font-size:.5rem}.timeline-empty{padding:1rem .5rem;font-size:.65rem}}.diary-compact-card .diary-compact-header-label,.diary-compact-card .diary-compact-header-pct,.diary-compact-card .diary-compact-cal-label,.diary-compact-card .diary-compact-cal-value,.diary-compact-card .diary-compact-cal-carryover-remaining,.diary-compact-card .diary-compact-progress-text,.diary-compact-card .diary-compact-macros-side-label,.diary-compact-card .diary-compact-macro-label,.diary-compact-card .diary-compact-macro-values,.diary-compact-card .diary-compact-macro-goal,.diary-compact-card .diary-compact-steps-goal,.diary-compact-card .diary-compact-steps-value,.diary-compact-card .diary-compact-steps-calories,.diary-compact-card .diary-compact-steps-target{color:var(--foreground)}.diary-compact-card .diary-compact-header-label,.diary-compact-card .diary-compact-cal-label,.diary-compact-card .diary-compact-macros-side-label,.diary-compact-card .diary-compact-macro-label,.diary-compact-card .diary-compact-steps-goal{font-size:clamp(.62rem,1.3vw,.72rem);font-weight:700}.diary-compact-progress-text{display:none}.diary-compact-card .diary-compact-header-pct,.diary-compact-card .diary-compact-cal-value,.diary-compact-card .diary-compact-progress-text,.diary-compact-card .diary-compact-macro-values,.diary-compact-card .diary-compact-steps-value{color:var(--foreground)}.diary-compact-card .diary-compact-cal-value.food.negative{color:var(--red,#f44336)}.diary-compact-card .diary-compact-cal-carryover-remaining.negative,.diary-compact-card .diary-compact-cal-carryover-remaining.positive{color:var(--text-muted)}.diary-compact-card .diary-compact-macro-goal,.diary-compact-card .diary-compact-steps-target{color:var(--text-muted);font-size:.58em}@media (min-width:641px) and (max-width:1024px){.diary-page-shell{max-width:600px;padding:1rem}}@media (min-width:1025px){.diary-page-shell{max-width:800px;padding:1.5rem}}.diary-page-shell .dashboard-loading,.diary-page-shell .dashboard-empty{text-align:center;color:var(--text-muted,#999);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.diary-page-shell .loading-spinner{border:3px solid var(--border);border-top-color:var(--accent,#e65100);border-radius:50%;width:32px;height:32px;margin-bottom:.75rem;animation:.7s linear infinite spin}.diary-meal-entry.draggable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.diary-meal-entry.draggable:active{cursor:grabbing}.diary-meal-entry.drag-source{opacity:.35;border-style:dashed;border-color:var(--accent);cursor:grabbing}.diary-meal-section.can-drop{transition:border-color .18s,box-shadow .18s,background .18s;position:relative}.diary-drop-hint{z-index:6;border:1px solid var(--accent);background:var(--card);max-width:calc(100% - 1rem);min-height:2.4rem;color:var(--accent);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 3px 12px var(--shadow-md);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.76rem;font-weight:700;transition:opacity .16s,transform .16s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.96)}.diary-drop-hint svg{flex-shrink:0}.diary-meal-section.drop-target .diary-drop-hint{opacity:1;transform:translate(-50%,-50%)scale(1)}.diary-meal-section.drop-target{box-shadow:inset 0 0 0 2px var(--accent), 0 4px 16px var(--shadow-sm2);background:var(--accent-soft,#e651000f);border-color:var(--accent)!important}.diary-meal-section.drop-target .diary-section-empty .diary-add-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-dim,#e6510014)}.diary-drag-ghost{z-index:9999;pointer-events:none;will-change:transform;contain:layout style paint;background:var(--card-bg,#1e1e1e);border:1px solid var(--accent);max-width:200px;box-shadow:0 8px 24px var(--shadow-md);border-radius:5px;padding:.45rem;display:none;position:fixed;top:0;left:0}.diary-drag-ghost.is-active{display:block}.diary-drag-ghost .ghost-inner{align-items:center;gap:.4rem;display:flex}.diary-drag-ghost .ghost-thumb{object-fit:cover;background:var(--border);border-radius:4px;width:36px;min-width:36px;height:36px}.diary-drag-ghost .ghost-icon{background:var(--accent-soft);border-radius:4px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:1.2rem;display:flex}.diary-drag-ghost .ghost-details{flex-direction:column;gap:.15rem;min-width:0;display:flex;overflow:hidden}.diary-drag-ghost .ghost-title{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;line-height:1.2;overflow:hidden}.diary-drag-ghost .ghost-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;overflow:hidden}@media (max-width:640px){.diary-drag-ghost{max-width:160px;padding:.35rem}.diary-drag-ghost .ghost-thumb,.diary-drag-ghost .ghost-icon{width:28px;min-width:28px;height:28px}.diary-drag-ghost .ghost-title{font-size:.62rem}.diary-drag-ghost .ghost-meta{font-size:.52rem}}.diary-empty-state{gap:.4rem;margin-bottom:.75rem;padding:1.5rem 1rem}.diary-empty-state-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.3rem;display:flex}.diary-empty-state-title{color:var(--heading)}.diary-empty-state-message{max-width:32ch}.diary-empty-state-cta{margin-top:.4rem}.diary-skeleton-list{flex-direction:column;gap:.75rem;width:100%;max-width:500px;margin-top:1rem;display:flex}.diary-skeleton-panel{word-break:break-word;box-sizing:border-box;flex-direction:column;gap:.3rem;width:100%;min-width:0;max-width:500px;margin-top:1rem;display:flex;overflow:hidden}.diary-skeleton-insight{border:1px solid var(--card-border);border-left:2px solid var(--border);background:var(--card-bg);word-break:break-word;box-sizing:border-box;border-radius:5px;align-items:center;gap:.65rem;min-width:0;height:64px;padding:.55rem .7rem;display:flex;overflow:hidden}.diary-skeleton-insight-icon{border-radius:50%;flex:none;width:28px;height:28px}.diary-skeleton-insight-copy{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.diary-skeleton-line{width:88%;height:.55rem;display:block}.diary-skeleton-line-short{width:48%;height:.65rem}.diary-skeleton-widget{word-break:break-word;box-sizing:border-box;flex-direction:column;flex-shrink:0;min-width:0;display:flex;overflow:hidden}.diary-skeleton-widget-dots{justify-content:space-around;align-items:center;height:34px;margin:.1rem 0 .15rem;display:flex}.diary-skeleton-widget-dots>span{border-radius:50%;width:28px;height:28px}.diary-skeleton-widget-card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);word-break:break-word;box-sizing:border-box;flex-direction:column;gap:.65rem;min-width:0;height:180px;padding:.85rem;display:flex;overflow:hidden}.diary-skeleton-widget-stats,.diary-skeleton-widget-macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.diary-skeleton-widget-stats>span{height:1.6rem}.diary-skeleton-widget-progress{width:100%;height:.4rem;display:block}.diary-skeleton-widget-macros>span{height:2.1rem}.diary-skeleton-row{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);padding:1rem}.diary-skeleton-row .skeleton-title{border-radius:var(--radius-sm);width:80px;height:16px;margin-bottom:10px}.diary-skeleton-row .skeleton-body{border-radius:var(--radius-sm);width:100%;height:48px}@media (max-width:640px){.diary-empty-state{padding:1.25rem .85rem}.diary-empty-state-message{font-size:.8rem}}.diary-morph-widget{word-break:break-word;box-sizing:border-box;min-width:0;position:relative;overflow:hidden}.diary-compact-card.diary-morph-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0;transition:box-shadow .3s,border-color .25s;position:absolute;inset:auto 0 0}.diary-morph-expanded{word-break:break-word;box-sizing:border-box;min-width:0;max-height:none;padding:1rem .85rem .55rem;transition:none;position:absolute;inset:0 0 auto;overflow:hidden}.diary-morph-summary{word-break:break-word;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:.125rem clamp(.5rem,2vw,.85rem);position:absolute;inset:auto 0 0;overflow:hidden}.diary-docked-metrics{word-break:break-word;box-sizing:border-box;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr)) minmax(0,1.35fr);gap:.35rem;width:100%;min-width:0;max-width:100%;padding-block:.1rem;display:grid;overflow:hidden}.diary-docked-metric{min-width:0;min-height:2.75rem;color:var(--foreground);text-align:left;cursor:pointer;word-break:break-word;box-sizing:border-box;background:0 0;border:0;border-radius:0;padding:.3rem .2rem;transition:background-color .2s,border-color .2s;overflow:hidden}.diary-docked-metric:hover{background:var(--hover-bg);border-color:var(--border)}.diary-moving-metric:hover{background:0 0}.diary-docked-metric:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.diary-docked-metric .diary-compact-macro-label{letter-spacing:0;text-transform:none;white-space:nowrap;font-size:.75rem}.diary-docked-metric .diary-compact-macro-values{white-space:nowrap;font-size:.9375rem}.diary-docked-metric .diary-compact-macro-goal{text-align:left;font-size:max(.5rem,.65em);line-height:1;display:inline}.diary-compact-guide .diary-compact-macro-item{min-width:0;padding:0}.diary-compact-guide .diary-compact-macro-values{line-height:1}.diary-compact-guide .diary-compact-bar{height:4px}.diary-layout-guide{pointer-events:none}.diary-compact-guide,.diary-metric-slot{visibility:hidden}.diary-layout-guide [data-part=label],.diary-layout-guide [data-part=value],.diary-layout-guide [data-part=target]{min-height:1em}.diary-metric-slot [data-part=target]{min-height:1em;display:inline-block}.diary-compact-header-label.diary-metric-slot{inline-size:10ch}.diary-docked-metric.diary-moving-metric{z-index:1;padding:0;position:absolute;inset:0 auto auto 0}.diary-moving-part{white-space:nowrap;margin:0;padding:0;line-height:1;position:absolute;inset:0 auto auto 0}.diary-moving-icon{align-items:center;display:inline-flex;overflow:hidden}.diary-moving-bar{width:100%;height:100%}.diary-moving-bar .diary-compact-bar-fill.under{background:var(--status-under)}.diary-moving-bar .diary-compact-bar-fill.good{background:var(--status-good)}.diary-moving-bar .diary-compact-bar-fill.over{background:var(--status-over)}.timeline-carousel-track:has(.diary-calorie-card){--diary-calorie-height:12rem;--diary-goal-notice-height:0rem;height:calc(var(--diary-calorie-height) + var(--diary-goal-notice-height))}.timeline-carousel-track:has(.diary-calorie-card .diary-default-goal){--diary-goal-notice-height:2.75rem}.diary-compact-card.diary-calorie-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card-rest);color:var(--foreground);will-change:auto;text-align:left;border-radius:1.25rem}.diary-calorie-card .diary-morph-expanded{z-index:2;flex-direction:column;gap:.4rem;padding:.6rem .85rem;display:flex}.diary-calorie-card .diary-compact-header{gap:.4rem;min-height:1.25rem;margin:0}.diary-calorie-card .diary-compact-header-icon{background:var(--accent);border-radius:.5rem;flex:0 0 1.25rem;place-items:center;height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.diary-calorie-card .diary-compact-header-icon{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.diary-calorie-card .diary-compact-header-icon{color:var(--accent)}.diary-calorie-card .diary-compact-header-label{font-size:.8rem}.diary-calorie-header-actions{align-items:center;margin-left:auto;display:flex}.diary-calorie-filter-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;flex-shrink:0;place-items:center;margin-block:-.75rem;padding:0;display:grid}.diary-calorie-filter-button:hover,.diary-calorie-filter-button[data-active]{color:var(--accent)}.diary-calorie-filter-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-6px}.diary-calorie-goals-hint{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.7rem;transition:color .2s;display:inline-flex}.diary-calorie-card:hover .diary-calorie-goals-hint{color:var(--accent)}.diary-calorie-card[data-read-only],.diary-calorie-card[data-read-only] .diary-moving-metric{cursor:default}.diary-calorie-card[data-read-only] .diary-default-goal{text-decoration:none}.diary-calorie-overview{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.75rem;min-width:0;animation:.3s ease-out anim-fade-in;display:grid}.diary-calorie-card[data-carryover] .diary-calorie-overview{grid-template-columns:minmax(0,3fr) minmax(0,1.25fr)}.diary-calorie-main{flex-direction:column;gap:.35rem;min-width:0;display:flex}.diary-calorie-target{color:var(--text-muted);white-space:nowrap;font-size:.62em;font-weight:500}.diary-calorie-card[data-over-goal] .diary-calorie-balance>strong,.diary-calorie-card[data-over-goal] .diary-calorie-balance>.diary-calorie-stat-label{color:var(--status-over)}.diary-calorie-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-width:0;display:grid}.diary-calorie-card[data-carryover] .diary-calorie-breakdown{grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.4fr);gap:.3rem}.diary-calorie-card[data-carryover] .diary-calorie-stat{padding-inline:.3rem}.diary-calorie-card[data-carryover] .diary-calorie-stat-label{font-size:.58rem}.diary-calorie-card[data-carryover] .diary-calorie-stat-value{font-size:.8rem}.diary-calorie-card[data-carryover] .diary-calorie-balance .diary-calorie-stat-value{white-space:nowrap;overflow-wrap:normal}.diary-calorie-stat{border:1px solid var(--accent);flex-direction:column;justify-content:center;gap:.2rem;min-width:0;min-height:2.25rem;padding:.2rem .45rem;display:flex}@supports (color:color-mix(in lab, red, red)){.diary-calorie-stat{border:1px solid color-mix(in srgb, var(--accent) 17%, var(--border))}}.diary-calorie-stat{background:var(--accent);border-radius:.85rem}@supports (color:color-mix(in lab, red, red)){.diary-calorie-stat{background:color-mix(in srgb, var(--accent) 6%, var(--card))}}.diary-calorie-stat-label{color:var(--text-muted);font-size:.65rem}.diary-calorie-stat-value{color:var(--foreground);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.95rem;font-weight:600;line-height:1.2}.diary-calorie-card .diary-compact-progress-wrap{gap:.3rem;margin:0}.diary-calorie-progress-caption{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:.2rem .5rem;font-size:.65rem;line-height:1.3;display:flex}.diary-calorie-progress-caption strong{color:var(--foreground);font-weight:500}.diary-calorie-card .diary-compact-progress-bar{height:.375rem;box-shadow:none}.diary-calorie-carryover{border-left:1px solid var(--border);min-width:0;color:var(--text-muted);flex-direction:column;align-items:flex-start;gap:.25rem;padding-left:.75rem;font-size:.65rem;line-height:1.3;display:flex}.diary-calorie-carryover strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.diary-calorie-carryover-progress{flex-shrink:0;width:100%;height:.25rem;margin-top:auto}.diary-calorie-carryover-caption{overflow-wrap:anywhere;flex-wrap:wrap;gap:.1rem .2rem;font-size:.6rem;display:flex}.diary-calorie-card .diary-default-goal{flex-shrink:0;margin-block:-.325rem}.diary-calorie-card .diary-compact-bottom-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,3fr) minmax(0,1.25fr);gap:.75rem;margin:auto 0 0;padding-top:.6rem}.diary-calorie-card .diary-compact-macros-side{gap:.6rem;padding:0}.diary-calorie-card .diary-compact-macro-item{gap:.4rem;min-width:0;padding:0}.diary-calorie-card .diary-compact-steps-side{border-radius:0;gap:.4rem;padding:0 0 0 .75rem}.diary-calorie-card .diary-compact-steps-body{justify-content:flex-start;gap:.4rem}.diary-calorie-card .diary-compact-steps-body .diary-compact-steps-target{width:auto;font-size:.65em;display:inline-block}.diary-steps-number{font-variant-numeric:tabular-nums;display:inline-block}.diary-calorie-card .diary-compact-macro-item>[data-part=bar]{order:2}.diary-calorie-card .diary-compact-macro-label,.diary-calorie-card .diary-compact-steps-goal{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:500}.diary-calorie-card .diary-compact-macro-values,.diary-calorie-card .diary-compact-steps-value{font-size:.9rem;font-weight:600;line-height:1.2}.diary-calorie-card .diary-compact-bar{height:.25rem}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress){background:color-mix(in srgb, var(--accent) 9%, var(--card))}}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress){box-shadow:none}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .diary-compact-bar-fill{will-change:auto;box-shadow:none}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .diary-compact-bar-fill.under{background:var(--status-under)}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .diary-compact-bar-fill.good{background:var(--status-good)}@supports (color:color-mix(in lab, red, red)){.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .diary-compact-bar-fill.good{background:color-mix(in srgb, var(--status-good) 55%, var(--accent))}}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .diary-compact-bar-fill.over{background:var(--status-over)}.diary-calorie-card :is(.diary-moving-bar,.diary-calorie-carryover-progress) .ui-progress-indicator-motion{transition:none}.diary-calorie-compact-surface{border-radius:inherit;background:var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.diary-calorie-compact-surface{background:color-mix(in srgb, var(--accent) 4%, var(--card))}}.diary-calorie-compact-surface{pointer-events:none}.diary-meal-entry .meal-card-edit-button.is-chat-ai-active{color:var(--accent);background:var(--accent-dim)}.diary-calorie-card[data-ui-preferences] .diary-morph-summary{padding-inline-end:3rem}.diary-compact-preferences-button{z-index:3;inset-inline-end:.125rem;position:absolute;top:50%;transform:translateY(-50%)}.timeline-carousel:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.base-modal-backdrop.coach-session-backdrop{align-items:stretch;padding:0}.coach-session-modal.base-modal{box-sizing:border-box;width:100%;max-width:none;height:calc(100dvh - var(--keyboard-height,0px));max-height:calc(100dvh - var(--keyboard-height,0px));padding:var(--safe-top,0px) var(--safe-right,0px) var(--safe-bottom,0px) var(--safe-left,0px);background:var(--surface-canvas);border-radius:0}.coach-session-modal>.base-modal-body{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.coach-session-modal>.base-modal-drag-handle{display:none}.exercise-session-page{box-sizing:border-box;min-width:0;height:100%;min-height:0;color:var(--foreground);flex:1;padding:1rem;display:flex}.exercise-session-shell{flex-direction:column;width:min(100%,80rem);height:100%;min-height:0;margin-inline:auto;display:flex}.coach-session-modal>.base-modal-header{border-bottom:0;grid-template-columns:minmax(2.75rem,1fr) minmax(0,3fr) minmax(2.75rem,1fr);align-items:center;gap:1rem;min-width:0;padding:1rem;display:grid}.coach-session-modal>.base-modal-header>.base-modal-close{grid-area:1/1;justify-self:start}.coach-session-header-actions{grid-area:1/3;justify-self:end;align-items:center;gap:.35rem;min-width:2.75rem;min-height:2.75rem;display:flex}.btn.coach-session-call-button{--navbar-focus-orbit-duration:4s;border:1px solid var(--card-border);width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--accent);background:var(--surface-canvas);box-shadow:0 2px 8px var(--accent-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:visible}.coach-session-call-button:before{content:"";border-radius:inherit;background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, var(--accent) 336deg, var(--accent) 352deg, transparent 360deg);padding:2px;position:absolute;inset:-1px}@supports (color:color-mix(in lab, red, red)){.coach-session-call-button:before{background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, color-mix(in srgb, var(--accent) 20%, transparent) 336deg, var(--accent) 352deg, transparent 360deg)}}.coach-session-call-button:before{-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);pointer-events:none;animation:navbar-focus-border-orbit var(--navbar-focus-orbit-duration) linear infinite;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-composite:xor;mask-composite:exclude}.btn.coach-session-call-button:hover{box-shadow:0 3px 12px var(--accent-glow);transform:translateY(-1px)}.btn.coach-session-call-button:active{transform:scale(.96)}.coach-session-call-button>svg{color:var(--accent)}.coach-session-call-badge{box-sizing:border-box;border:1px solid var(--surface-canvas);width:1rem;height:1rem;color:var(--solid-white);background:var(--accent);box-shadow:0 1px 3px var(--shadow-sm2);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-2px;right:-2px}.exercise-session-layout{flex-direction:column;flex:1;min-height:0;display:flex}.exercise-session-stage{text-align:center;flex-direction:column;flex:0 auto;justify-content:flex-start;align-items:center;min-width:0;min-height:0;padding:1rem 1rem 0;display:flex;overflow:hidden}.coach-items{text-align:start;flex-direction:column;flex:0 auto;width:100%;min-width:0;max-width:52rem;min-height:0;display:flex}.coach-item-details-heading{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.coach-item-details-heading h4{color:var(--heading);margin:0;font-size:.9rem}.coach-item-frame{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;flex:0 auto;min-height:0;display:flex;position:relative;overflow:hidden}.coach-item-frame[data-in-progress=true]{--coach-item-border-color:var(--solid-white);--coach-item-border-soft:var(--solid-white)}@supports (color:color-mix(in lab, red, red)){.coach-item-frame[data-in-progress=true]{--coach-item-border-soft:color-mix(in srgb, var(--solid-white) 12%, transparent)}}.coach-item-frame[data-in-progress=true]{--coach-item-border-glow:var(--solid-white)}@supports (color:color-mix(in lab, red, red)){.coach-item-frame[data-in-progress=true]{--coach-item-border-glow:color-mix(in srgb, var(--solid-white) 24%, transparent)}}.coach-item-frame[data-completed=true]{--coach-item-border-color:var(--success);--coach-item-border-soft:var(--success-soft-bg);--coach-item-border-glow:var(--success-glow)}.coach-item-frame:is([data-in-progress=true],[data-completed=true]){--navbar-focus-orbit-duration:4s;border-color:var(--coach-item-border-color);box-shadow:0 0 0 1px var(--coach-item-border-soft), 0 0 12px var(--coach-item-border-glow)}.coach-item-frame:is([data-in-progress=true],[data-completed=true]):before{content:"";z-index:1;border-radius:inherit;background:conic-gradient(from var(--navbar-focus-angle), transparent 0deg 322deg, var(--coach-item-border-soft) 336deg, var(--coach-item-border-color) 352deg, transparent 360deg);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);-webkit-mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);mask:linear-gradient(var(--foreground) 0 0) content-box, linear-gradient(var(--foreground) 0 0);pointer-events:none;animation:navbar-focus-border-orbit var(--navbar-focus-orbit-duration) linear infinite;-webkit-mask-composite:xor;-webkit-mask-composite:xor;padding:2px;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.coach-item-overview{flex:none;grid-template-columns:minmax(0,1fr);align-items:center;padding-top:.5rem;display:grid}.coach-item-overview:not(.has-controls){padding-inline:.75rem}.coach-item-overview.has-controls{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.coach-item-overview.has-confirm{grid-template-columns:minmax(0,1fr) 2.75rem}.coach-item-overview.has-controls.has-confirm{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem 2.75rem}.btn.coach-item-confirm{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--text-muted);background:var(--surface-raised);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.btn.coach-item-confirm[aria-pressed=true]{color:var(--success);background:var(--success-soft-bg)}.coach-item-confirm:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.coach-item-arrow{width:2.75rem;min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.coach-item-arrow:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.coach-item-arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.coach-item-arrow:disabled{opacity:.4;cursor:default}.coach-item-footer{flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:1.75rem;padding:0 .75rem;display:grid}.coach-item-disclosure-icon{vertical-align:middle;color:var(--text-muted);justify-content:center;align-items:center;margin-inline-start:.35rem;display:inline-flex}.coach-items-pagination{box-sizing:border-box;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--radius-sm);cursor:pointer;grid-column:1;justify-content:safe center;justify-self:center;align-items:center;gap:.375rem;min-width:2.75rem;max-width:100%;height:2.75rem;margin-top:-1rem;padding-inline:.5rem;display:flex;overflow-x:auto}.coach-items-pagination span{width:.2rem;height:.2rem;color:var(--text-muted);opacity:.4;background:currentColor;border-radius:50%;flex:none;transform:translateY(.5rem)}.coach-items-pagination span[data-active=true]{width:.3rem;height:.3rem;color:var(--accent);opacity:1}.coach-items-pagination:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.coach-items-pagination[aria-disabled=true]{opacity:.4;cursor:default}.coach-items-viewport{touch-action:pan-y;cursor:grab;min-width:0;overflow:hidden}.coach-items-viewport[role=button]{cursor:pointer;min-height:2.75rem}.coach-items-viewport:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.coach-items-track{will-change:transform;width:100%;display:flex}.coach-items-slide{box-sizing:border-box;flex:0 0 100%;min-width:0}.coach-item-card{grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:.625rem;padding:0 .25rem;display:grid}.coach-item-position{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:2;margin-left:auto;font-size:.65rem}.coach-item-image{aspect-ratio:1;border-radius:var(--radius-md);width:100%;color:var(--accent);background:var(--accent-soft);place-items:center;display:grid;overflow:hidden}.coach-item-image img{object-fit:cover;width:100%;height:100%;display:block}.coach-item-identity{text-align:start;overflow-wrap:anywhere;min-width:0}.coach-item-identity h3{color:var(--heading);margin:0;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.25}.coach-item-identity p,.coach-item-ingredients{color:var(--text-muted);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.8rem;line-height:1.35}.coach-items-hint{color:var(--text-muted);flex:none;margin:.5rem 0;font-size:.75rem;line-height:1.5}.coach-item-details{overscroll-behavior:contain;border-top:1px solid var(--card-border);min-height:0;padding:.625rem .75rem;scroll-padding-block:.625rem;overflow-y:auto}.coach-items[aria-label=Workout\ items] .coach-item-details{border-bottom:2px solid var(--card-border)}.coach-item-details-collapse{flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow:hidden}.coach-item-ingredient-chips{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.coach-item-ingredient-chips>li{box-sizing:border-box;max-width:100%;color:var(--accent);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:999px;margin:0;padding:.25rem .625rem;font-size:.75rem;line-height:1.4}.coach-item-recipe{overflow-wrap:anywhere;margin-top:.5rem;font-size:.8rem}.coach-item-ingredient-chips+.coach-item-recipe:before{content:"";background:var(--card-border);width:75%;height:1px;margin:.75rem auto;display:block}.coach-item-details-heading{flex-wrap:wrap;margin-bottom:.25rem}.coach-item-details-heading .btn{font-size:.8rem}.coach-item-metrics{flex-wrap:wrap;gap:.25rem;margin-block:.25rem;display:flex}.coach-item-metrics span{border-radius:var(--radius-sm);color:var(--accent);background:var(--accent-soft);padding:.2rem .4rem;font-size:.75rem}.coach-item-sets{max-width:100%;margin-block:.375rem;overflow-x:auto}.coach-item-sets table{border-collapse:collapse;text-align:start;width:100%;font-size:.8rem}.coach-item-sets th,.coach-item-sets td{border-bottom:1px solid var(--card-border);text-align:start;padding:.35rem}.coach-item-editor fieldset{border:0;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.coach-item-editor label{min-width:0;color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.8rem;display:flex}.coach-item-workout-footer{grid-template-columns:minmax(0,1fr) 2.75rem;align-items:center;gap:.5rem;min-width:0;display:grid}.coach-item-editor .coach-item-total-time{min-width:0;color:var(--text-muted);grid-template-columns:max-content minmax(0,10rem);align-items:center;gap:.5rem;font-size:.8rem;display:grid}.coach-item-editor input,.coach-item-editor textarea{box-sizing:border-box;border:1px solid var(--card-border);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);background:var(--surface-canvas);font:inherit;padding:.65rem;font-size:1rem}.coach-item-editor textarea{resize:vertical}.coach-item-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.exercise-session-instructions{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.55}.exercise-session-conversation{flex-direction:column;flex:1 0 min(12rem,40dvh);min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.exercise-session-conversation .ai-chat-messages{padding:1rem}.exercise-session-conversation .ai-chat-messages>:first-child{margin-top:auto}.exercise-session-conversation .ai-chat-message{max-width:94%}.exercise-session-conversation.is-call-stage{flex:1 1 0;min-height:0}.exercise-session-page.is-in-call .exercise-session-stage{max-height:42%}.coach-call-stage{--coach-call-ring-size:clamp(9rem, 32dvh, 18rem);--coach-call-stage-color:var(--accent);overscroll-behavior:contain;text-align:center;flex:1 1 0;place-items:safe center;min-width:0;min-height:0;padding:1rem;display:grid;overflow-y:auto}.coach-call-stage[data-phase=rest]{--coach-call-stage-color:var(--blue)}.coach-call-stage[data-phase=complete]{--coach-call-stage-color:var(--success)}.coach-call-stage[data-urgent=true]{--coach-call-stage-color:var(--amber)}.coach-call-stage-content{justify-items:center;gap:.75rem;width:min(100%,26rem);min-width:0;padding-block:.5rem;display:grid}.coach-call-stage-badge{border:1px solid var(--coach-call-stage-color);justify-content:center;align-items:center;gap:.4rem;max-width:100%;padding:.4rem .75rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-badge{border:1px solid color-mix(in srgb, var(--coach-call-stage-color) 22%, transparent)}}.coach-call-stage-badge{color:var(--coach-call-stage-color);background:var(--coach-call-stage-color);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-badge{background:color-mix(in srgb, var(--coach-call-stage-color) 9%, var(--surface-canvas))}}.coach-call-stage-badge{letter-spacing:.035em;overflow-wrap:anywhere;font-size:.72rem;font-weight:600}.coach-call-stage-badge>svg{flex:none}.coach-call-stage-heading{color:var(--heading);letter-spacing:-.025em;text-wrap:balance;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:clamp(.95rem,2vw,1.2rem);font-weight:500;display:flex}.coach-call-stage-orbit{isolation:isolate;width:min(var(--coach-call-ring-size), 100%);aspect-ratio:1;border-radius:50%;margin-block:.25rem;position:relative}.coach-call-stage-halo{z-index:-1;border-radius:inherit;background:radial-gradient(circle, var(--coach-call-stage-color), transparent 72%);position:absolute;inset:12%}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-halo{background:radial-gradient(circle, color-mix(in srgb, var(--coach-call-stage-color) 22%, transparent), transparent 72%)}}.coach-call-stage-halo{filter:blur(1.25rem);animation:4s ease-in-out infinite coach-stage-breathe}.coach-call-stage-ring{fill:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.coach-call-stage-ticks{stroke:var(--coach-call-stage-color)}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-ticks{stroke:color-mix(in srgb, var(--coach-call-stage-color) 28%, var(--card-border))}}.coach-call-stage-ticks{stroke-width:2px;stroke-dasharray:.25 1.75}.coach-call-stage-track{stroke:var(--coach-call-stage-color)}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-track{stroke:color-mix(in srgb, var(--coach-call-stage-color) 12%, var(--card-border))}}.coach-call-stage-track{stroke-width:3px}.coach-call-stage-progress{stroke:var(--coach-call-stage-color);stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--coach-call-stage-color))}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-progress{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--coach-call-stage-color) 50%, transparent))}}.coach-call-stage-progress{transition:stroke-dashoffset .3s linear,stroke .4s}.coach-call-stage-readout{border:1px solid var(--coach-call-stage-color);flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex;position:absolute;inset:12%}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-readout{border:1px solid color-mix(in srgb, var(--coach-call-stage-color) 8%, transparent)}}.coach-call-stage-readout{color:var(--heading);background:radial-gradient(circle at 50% 30%, var(--coach-call-stage-color), var(--surface-canvas));border-radius:50%}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-readout{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--coach-call-stage-color) 7%, var(--surface-canvas)), var(--surface-canvas))}}.coach-call-stage-readout{box-shadow:inset 0 0 2rem var(--coach-call-stage-color)}@supports (color:color-mix(in lab, red, red)){.coach-call-stage-readout{box-shadow:inset 0 0 2rem color-mix(in srgb, var(--coach-call-stage-color) 5%, transparent)}}.coach-call-stage-value{font-size:calc(var(--coach-call-ring-size) * .31);font-variant-numeric:tabular-nums;letter-spacing:-.07em;font-weight:650;line-height:1.1;animation:.28s ease-out both coach-stage-readout-in;display:block}.coach-call-stage-value.is-timer{font-size:calc(var(--coach-call-ring-size) * .22);letter-spacing:-.065em}.coach-call-stage-unit{color:var(--text-muted);letter-spacing:.025em;margin-top:.4rem;font-size:clamp(.65rem,1.3vw,.8rem)}.coach-call-stage-symbol{color:var(--coach-call-stage-color);place-items:center;display:grid}.coach-call-stage-hint{max-width:23rem;color:var(--text-muted);text-wrap:balance;margin:0;font-size:.8rem;line-height:1.5}.coach-call-stage-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.625rem;max-width:100%;display:flex}.btn.coach-call-stage-control{border:1px solid var(--card-border);min-height:2.75rem;color:var(--heading);background:var(--surface-raised);cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.coach-call-stage-control>svg{color:var(--coach-call-stage-color);flex:none}.btn.coach-call-stage-control:hover,.btn.coach-call-stage-control[aria-pressed=true]{border-color:var(--coach-call-stage-color)}@supports (color:color-mix(in lab, red, red)){.btn.coach-call-stage-control:hover,.btn.coach-call-stage-control[aria-pressed=true]{border-color:color-mix(in srgb, var(--coach-call-stage-color) 50%, var(--card-border))}}.btn.coach-call-stage-control:hover,.btn.coach-call-stage-control[aria-pressed=true]{background:var(--coach-call-stage-color)}@supports (color:color-mix(in lab, red, red)){.btn.coach-call-stage-control:hover,.btn.coach-call-stage-control[aria-pressed=true]{background:color-mix(in srgb, var(--coach-call-stage-color) 10%, var(--surface-raised))}}.btn.coach-call-stage-control:active{transform:scale(.96)}.coach-call-stage-control:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.coach-call-stage-dots{align-items:center;gap:.2rem;display:inline-flex}.coach-call-stage-dots>i{background:currentColor;border-radius:50%;width:.2rem;height:.2rem;animation:1.4s ease-in-out infinite coach-stage-dot}.coach-call-stage-dots>i:nth-child(2){animation-delay:.15s}.coach-call-stage-dots>i:nth-child(3){animation-delay:.3s}.coach-call-stage:is([data-phase=ready],[data-phase=connecting]) .coach-call-stage-ring{animation:18s linear infinite coach-stage-orbit}.coach-call-stage[data-paused=true] .coach-call-stage-halo,.coach-call-stage[data-paused=true] .coach-call-stage-ring{animation-play-state:paused}.coach-call-stage[data-urgent=true] .coach-call-stage-halo{animation-duration:1.5s}.coach-call-stage-notice{border:1px solid var(--card-border);border-radius:var(--radius-md);max-height:6rem;color:var(--text-main);background:var(--surface-raised);flex:none;margin:.25rem 1rem;padding:.5rem .75rem;font-size:.8rem;line-height:1.4;overflow-y:auto}.coach-call-stage-notice p{margin:0}.coach-call-stage-notice[role=alert]{color:var(--error-color);border-color:var(--error-border)}@keyframes coach-stage-breathe{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:.85;transform:scale(1.12)}}@keyframes coach-stage-readout-in{0%{opacity:.25;transform:translateY(.3rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes coach-stage-orbit{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes coach-stage-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-.15rem)}}@media (orientation:landscape) and (max-height:500px) and (min-width:641px){.exercise-session-page.is-in-call .exercise-session-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:.5rem;display:grid}.exercise-session-page.is-in-call .exercise-session-stage{max-height:100%}.exercise-session-page .coach-call-stage{--coach-call-ring-size:8rem}.exercise-session-page .coach-call-stage-content{gap:.35rem}}.exercise-session-footer{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-canvas);border:0;flex:none;align-items:flex-end;gap:.5rem;min-width:0;padding:.75rem;display:flex}.exercise-session-footer.is-in-call{background:0 0;flex-direction:column;align-items:stretch}.navbar-voice-mode.exercise-session-call-bar{--coach-call-dock-size:4rem;box-sizing:border-box;width:100%;max-width:40rem;min-height:var(--coach-call-dock-size);background:var(--surface-raised);border-radius:999px;flex:none;grid-template-columns:minmax(0,1fr) auto minmax(min-content,1fr);align-self:center;gap:.5rem;padding:.5rem 1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.navbar-voice-mode.exercise-session-call-bar{background:color-mix(in srgb, var(--surface-raised) 94%, var(--accent))}}.navbar-voice-mode.exercise-session-call-bar{box-shadow:var(--shadow-floating)}.exercise-session-call-bar>.navbar-voice-status{text-align:start;grid-area:1/1}.exercise-session-call-bar>.navbar-voice-visualizer{isolation:isolate;width:calc(var(--coach-call-dock-size) + .5rem);height:calc(var(--coach-call-dock-size) + .5rem);box-shadow:0 .5rem 1rem var(--shadow-sm2), 0 0 1rem var(--accent-glow);grid-area:1/2;justify-self:center;margin-block:-.875rem;position:relative;overflow:visible;transform:translateY(-.25rem)}.exercise-session-call-bar>.navbar-voice-visualizer:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle, var(--accent) 0%, var(--accent-glow) 55%, transparent 72%);filter:blur(.625rem);pointer-events:none;animation:3s ease-in-out infinite coach-voice-halo;position:absolute;inset:-.25rem}.exercise-session-call-bar>.navbar-voice-visualizer[data-state=connecting]:before,.exercise-session-call-bar>.navbar-voice-visualizer[data-state=muted]:before{opacity:.2;animation:none}@keyframes coach-voice-halo{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:.65;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.coach-session-call-button:before,.coach-item-frame:is([data-in-progress=true],[data-completed=true]):before,.exercise-session-call-bar>.navbar-voice-visualizer:before{animation:none}.btn.coach-session-call-button,.btn.coach-call-stage-control{transition:none}.coach-call-stage .coach-call-stage-halo,.coach-call-stage .coach-call-stage-ring,.coach-call-stage .coach-call-stage-value,.coach-call-stage .coach-call-stage-dots>i{animation:none}.coach-call-stage-progress{transition:none}}.exercise-session-call-bar>.navbar-voice-visualizer span{width:.2rem;height:.6rem}.exercise-session-call-bar>.navbar-voice-visualizer span:nth-child(2),.exercise-session-call-bar>.navbar-voice-visualizer span:nth-child(4){height:1rem}.exercise-session-call-bar>.navbar-voice-visualizer span:nth-child(3){height:1.5rem}.exercise-session-call-bar .exercise-session-call-actions{grid-area:1/3;justify-self:end;padding-bottom:0}.exercise-session-call-bar .exercise-session-end-call>svg{width:1.5rem;height:1.5rem}.exercise-session-composer{border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--card);flex:1;align-items:flex-end;gap:.5rem;min-width:0;padding:.35rem;display:flex}.exercise-session-composer:focus-within{border-color:var(--accent)}.exercise-session-composer textarea{box-sizing:border-box;field-sizing:content;resize:none;min-width:0;min-height:2.75rem;max-height:7rem;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:.65rem .5rem;font-size:1rem;line-height:1.4}.exercise-session-composer>button{flex:none}.exercise-session-call-actions{flex:none;align-items:center;gap:.35rem;padding-bottom:.35rem;display:flex}.exercise-session-call-actions>.btn{border-radius:50%;flex:none;width:2.75rem;height:2.75rem;padding:0}.exercise-session-call-actions>.btn-primary>svg{color:var(--solid-white)}.exercise-session-page .btn{justify-content:center;align-items:center;gap:.45rem;min-width:2.75rem;min-height:2.75rem;display:inline-flex}.exercise-session-end-call{color:var(--solid-white);background:var(--red-strong);border:0}.exercise-session-error{color:var(--error-color);font-size:.85rem}.coach-session-modal:has(>.exercise-session-camera){isolation:isolate}.coach-session-modal:has(>.exercise-session-camera)>.base-modal-header{z-index:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:6rem minmax(0,1fr) 6rem;position:relative}.coach-session-modal:has(>.exercise-session-camera)>.base-modal-body{z-index:1;background:0 0;position:relative}.exercise-session-page.is-video-mode{isolation:isolate;position:relative}.is-video-mode>.exercise-session-shell{z-index:1;position:relative}.is-video-mode.is-in-call .exercise-session-conversation.is-call-stage{min-height:0;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;flex:1 1 0;margin-top:0}.is-video-mode .coach-call-stage-badge,.is-video-mode .coach-call-stage-readout{background:var(--surface-canvas)}@supports (color:color-mix(in lab, red, red)){.is-video-mode .coach-call-stage-badge,.is-video-mode .coach-call-stage-readout{background:color-mix(in srgb, var(--surface-canvas) 78%, transparent)}}.is-video-mode .coach-call-stage-badge,.is-video-mode .coach-call-stage-readout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-video-mode .btn.coach-call-stage-control{background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.is-video-mode .btn.coach-call-stage-control{background:color-mix(in srgb, var(--surface-raised) 88%, transparent)}}.is-video-mode .btn.coach-call-stage-control{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-video-mode .coach-call-stage-heading,.is-video-mode .coach-call-stage-hint{border-radius:var(--radius-lg);color:var(--heading);background:var(--surface-canvas);padding:.25rem .75rem}@supports (color:color-mix(in lab, red, red)){.is-video-mode .coach-call-stage-heading,.is-video-mode .coach-call-stage-hint{background:color-mix(in srgb, var(--surface-canvas) 72%, transparent)}}.is-video-mode .coach-call-stage-heading,.is-video-mode .coach-call-stage-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.is-video-mode .coach-item-frame{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.is-video-mode .coach-item-frame{background:color-mix(in srgb, var(--card) 85%, transparent)}}.is-video-mode .coach-item-frame{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.is-video-mode .exercise-session-call-bar{background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.is-video-mode .exercise-session-call-bar{background:color-mix(in srgb, var(--surface-raised) 88%, transparent)}}.is-video-mode .exercise-session-call-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-video-mode .exercise-session-error{border-radius:var(--radius-sm);background:var(--card);padding:.5rem .75rem}.exercise-session-camera{z-index:0;pointer-events:none;background:var(--surface-canvas);position:absolute;inset:0;overflow:hidden}.exercise-session-camera video{object-fit:cover;width:100%;height:100%;display:block}.exercise-session-camera video.is-front{transform:scaleX(-1)}.exercise-session-camera-switch{border:1px solid var(--card-border);width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--foreground);background:var(--surface-canvas);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.exercise-session-camera-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.legal-page{background:var(--background);min-height:100dvh;color:var(--foreground)}.legal-container{max-width:800px;margin:0 auto;padding:3rem 1.5rem 5rem}.legal-back{color:var(--accent);align-items:center;gap:.35rem;margin-bottom:2rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.legal-back:hover{opacity:.75}.legal-container h1{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--foreground);margin-bottom:.25rem;font-size:clamp(1.75rem,5vw,2.5rem)}.legal-date{color:var(--text-muted);margin-bottom:2.5rem;font-size:.85rem}.legal-container section{margin-bottom:2.25rem}.legal-container h2{color:var(--foreground);margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.legal-container p{color:var(--foreground);margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.legal-contact-line{align-items:center;gap:4px;display:inline-flex}.legal-container ul{flex-direction:column;gap:.4rem;margin-bottom:1rem;padding-left:1.5rem;list-style:outside;display:flex}.legal-container li{color:var(--foreground);font-size:.95rem;line-height:1.65}.legal-container a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.legal-container a:hover{opacity:.75}.legal-container strong{font-weight:600}.base-modal-backdrop{inset:0;top:var(--modal-nav-bottom,0px);height:calc(100dvh - var(--modal-nav-bottom,0px));background:var(--overlay-darker);-webkit-backdrop-filter:blur(4px);z-index:1000;box-sizing:border-box;will-change:opacity;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;overflow:clip}[data-keyboard-open] .base-modal-backdrop{--safe-bottom:0px;top:var(--vv-offset,0px);height:var(--vv-height,100dvh);transition:height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1);align-items:flex-end;padding-block:0;bottom:auto}[data-keyboard-open] .base-modal-backdrop>.base-modal{max-height:100%;transition:height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), max-height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1)}[data-keyboard-open] .base-modal-footer{overscroll-behavior-y:contain;flex-shrink:1;align-items:flex-start;min-height:0;overflow-y:auto}[data-keyboard-open] .base-modal-footer:focus-within :has(>[data-keyboard-input-row]){padding-bottom:.5rem}[data-keyboard-open] .base-modal-footer:focus-within [data-keyboard-input-row]{order:1}.base-modal-backdrop:has(>.base-modal.confirm-modal-shell){z-index:1001}.base-modal-backdrop:is(.admin-ai-date-range-backdrop,.admin-users-sort-backdrop){z-index:13001}@media screen and (min-width:641px){.base-modal-backdrop{padding:max(1rem, var(--safe-top)) max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));align-items:center}.base-modal-backdrop>.base-modal:not(.coach-session-modal){max-height:min(92dvh, calc(100dvh - max(1rem, var(--safe-top)) - max(1rem, var(--safe-bottom))));min-height:0}}.base-modal{background:var(--card);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);width:100%;max-width:500px;max-height:92svh;box-shadow:0 -10px 40px var(--shadow-md);will-change:transform, opacity;flex-direction:column;display:flex;position:relative;overflow:hidden}.base-modal-backdrop>.base-modal{min-height:0;max-height:100%}@media (min-width:641px){.base-modal{border-radius:var(--radius-lg);max-height:90dvh;box-shadow:0 20px 60px var(--shadow-xl2)}}.base-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-start;align-items:center;gap:8px;padding:1rem 1.25rem .75rem;display:flex}@media (min-width:641px){.base-modal-header{padding:1.25rem 1.5rem .75rem}}.base-modal-title{color:var(--foreground);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.base-modal-close{cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-light);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:none;border-radius:50%;flex-shrink:0;order:1;justify-content:center;align-items:center;margin:0 0 0 auto;display:flex}.base-modal-header>:not(.base-modal-close){flex:1;min-width:0}.base-modal-close:disabled{opacity:.5;cursor:default}.base-modal-header>button.base-modal-close{grid-area:1/-2/auto/-1}.base-modal-body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1rem 1.25rem;overflow-y:auto}@media (min-width:500px){.base-modal-body{padding:1rem 1.5rem 1.25rem}}.base-modal-body--flush{flex-direction:column;min-height:0;padding:0;display:flex}.base-modal-drag-handle{display:none}@media (max-width:640px){.base-modal-backdrop[data-mobile-layout=sheet]>.base-modal>.base-modal-header>.base-modal-close>svg{transform:rotate(90deg)}.base-modal-backdrop[data-mobile-layout=fullscreen]{--modal-nav-bottom:0px}.base-modal-backdrop[data-mobile-layout=fullscreen]>.base-modal{min-height:0;max-height:100%}.base-modal-drag-handle{top:calc(8px + var(--safe-top,0px));background:var(--border);z-index:1;pointer-events:none;touch-action:none;border-radius:3px;width:40px;height:5px;display:block;position:absolute;left:50%;transform:translate(-50%)}.base-modal-header:first-of-type{padding-top:1.5rem}}@keyframes base-modal-swipe-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}:is(.base-modal-footer,.modal-actions):has(>[data-modal-action]){flex-flow:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.modal-actions{box-sizing:border-box;width:100%}.modal-action-group{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;max-width:100%;display:flex}:is(.base-modal-footer,.modal-actions)>button[data-modal-action]{white-space:normal;overflow-wrap:anywhere;flex:0 auto;width:auto;min-width:0;max-width:100%;min-height:44px}:is(.base-modal-footer,.modal-actions)>[data-modal-action=primary]{margin-inline-start:auto}:is(.base-modal-footer,.modal-actions)>[data-modal-action=primary]~[data-modal-action=primary]{margin-inline-start:0}:is(.base-modal-footer,.modal-actions)>[data-modal-action=secondary]{margin-inline-end:auto}:is(.base-modal-footer,.modal-actions)>[data-modal-action=secondary]:has(~[data-modal-action=secondary]){margin-inline-end:0}.base-modal-footer{padding:.5rem 1rem calc(.5rem + var(--safe-bottom,0px));border-top:1px solid var(--border);background:var(--card);flex-shrink:0;gap:10px;display:flex}@media (min-width:500px){.base-modal-footer{padding:.5rem 1rem calc(.5rem + var(--safe-bottom,0px))}}.ai-request-status{box-sizing:border-box;word-break:break-word;border:1px solid var(--border);background:var(--card);min-width:0;max-width:100%;color:var(--foreground);border-radius:.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;margin:0;padding:.65rem;font-size:clamp(.75rem,1.5vw,.9rem);display:grid;overflow:hidden}.ai-request-status p{color:var(--text-muted);margin-block:.35rem}.ai-request-description{font-size:.85em}.ai-request-status p[data-ai-error]{color:var(--warning-color);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-request-heading{word-break:break-word;box-sizing:border-box;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.ai-request-failed-hint{color:var(--foreground);white-space:nowrap;flex-shrink:0;font-size:.9em;font-weight:500}.ai-request-status[data-status=failed] .ai-request-heading{color:var(--error-color)}.ai-request-spinner{block-size:1em;inline-size:1em;color:var(--accent);flex-shrink:0;animation:1s linear infinite ai-request-spin}@keyframes ai-request-spin{to{transform:rotate(360deg)}}.ai-request-text{word-break:break-word;box-sizing:border-box;min-width:0;overflow:hidden}.ai-request-actions{word-break:break-word;box-sizing:border-box;border-inline-start:1px solid var(--border);justify-content:flex-end;align-self:stretch;align-items:center;gap:.3rem;min-width:0;padding:.5rem .75rem;display:flex;overflow:hidden}.ai-request-actions.diary-meal-actions{flex-direction:row;justify-content:flex-end;gap:.3rem}.ai-request-actions>.diary-status-btn{opacity:1;padding:0}.diary-meal-side>.ai-request-actions{border:none;padding:0}.ai-request-status[data-editable=true],.ai-request-text[role=button]{cursor:pointer}.ai-request-text[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.ai-request-preview{object-fit:contain;border-radius:.5rem;grid-column:1/-1;justify-self:center;max-width:100%;max-height:10rem;margin:0 auto .5rem;display:block}.ai-request-reopen{word-break:break-word;max-width:100%;min-height:44px;margin:.5rem}.base-modal.ingredients-scan-review-modal{max-width:34rem}.ingredients-scan-review-body{word-break:break-word;box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.ingredients-scan-review-modal .ai-request-status{flex-shrink:0;grid-template-columns:minmax(0,1fr)}.ingredients-scan-review-modal .ai-request-actions{border-inline-start:0;padding-inline:0}.ai-ingredients-source{box-sizing:border-box;object-fit:contain;border-radius:.5rem;flex-shrink:0;align-self:center;width:100%;min-width:0;max-width:24rem;height:clamp(8rem,28dvh,18rem);display:block;overflow:hidden}.ai-ingredients-source-preview{align-self:center;max-width:100%;display:flex}.ai-ingredients-list{word-break:break-word;box-sizing:border-box;min-width:0;margin:0;padding-inline-start:1.4rem;list-style-type:disc;overflow:hidden}.ai-ingredients-list li{padding-block:.25rem;line-height:1.5}.ai-ingredients-review-actions{word-break:break-word;box-sizing:border-box;width:100%;min-width:0;overflow:hidden}.ai-ingredients-review-actions .btn{white-space:normal;width:100%;min-height:2.75rem}.ai-trigger-btn{background:linear-gradient(135deg, var(--ai-bg-start), var(--ai-bg-end));border:1.5px dashed var(--accent-mix);width:100%;color:var(--ai-purple-dark);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;margin-bottom:.6rem;padding:.55rem .9rem;font-family:Google Sans Text,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.ai-trigger-btn:hover{background:var(--ai-bg-end);border-color:var(--ai-purple);transform:translateY(-1px)}.ai-trigger-btn:active{transform:translateY(0)}.ai-trigger-btn svg{color:var(--ai-purple)}.ai-modal{background:var(--card);width:100%;max-width:520px;height:auto;min-height:450px;max-height:88dvh;box-shadow:0 25px 80px var(--shadow-lg), 0 0 0 1px var(--accent) inset;border-radius:5px;flex-direction:column;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ai-modal{box-shadow:0 25px 80px var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent) inset}}.ai-modal{position:relative}.ai-modal-header{background:linear-gradient(135deg, var(--card), var(--card-bg));border-bottom:1px solid var(--accent);flex-shrink:0;padding:.9rem 1.1rem .75rem}@supports (color:color-mix(in lab, red, red)){.ai-modal-header{border-bottom:1px solid color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-modal-header{z-index:2;position:relative}.ai-modal>.base-modal-header{padding:0}.ai-modal-header-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ai-modal-header-actions{align-items:center;gap:.45rem;display:flex;position:absolute;top:50%;right:0;translate:0 -50%}.ai-modal-header-actions .meal-mode-switch{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.meal-mode-switch{border:1px solid var(--accent);justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:.45rem .8rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.meal-mode-switch{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border))}}.meal-mode-switch{background:var(--card);color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;font-size:.78rem;font-weight:700;transition:background-color .15s,border-color .15s,transform .15s}.meal-mode-switch:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.meal-mode-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ai-modal-brand{color:var(--accent);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:7px;font-size:.72rem;font-weight:700;display:flex}.ai-modal-brand svg{color:var(--accent-hover)}.ai-modal-close-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.ai-modal-close-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-modal-close-btn:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-modal-close-btn:hover{color:var(--accent-hover);transform:rotate(90deg)}.ai-modal-title{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--heading);margin:0;font-size:1.1rem;font-weight:700;line-height:1.25}.ai-modal-title-icon{align-items:center;gap:6px;display:inline-flex}.ai-modal-title-icon svg{color:var(--accent-hover);flex-shrink:0}.ai-modal-subtitle{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.ai-modal-subtitle{color:color-mix(in srgb, var(--text-muted) 70%, transparent)}}.ai-modal-subtitle{margin:.3rem 0 0;line-height:1.35}.ai-modal-body{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:linear-gradient(#0000004d 0%,#0000 8px);flex:1;padding:.75rem 1rem;overflow:hidden auto}.ai-modal-body::-webkit-scrollbar{width:3px}.ai-modal-body::-webkit-scrollbar-track{background:0 0}.ai-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent), var(--accent-hover));border-radius:5px}.ai-input-section{flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:100%;padding:.75rem 0;display:flex}.ai-input-card{background:linear-gradient(135deg, var(--accent), var(--accent));width:100%}@supports (color:color-mix(in lab, red, red)){.ai-input-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 4%, transparent), color-mix(in srgb, var(--accent) 4%, transparent))}}.ai-input-card{border:1px solid var(--accent);border-radius:5px;padding:.85rem 1rem}@supports (color:color-mix(in lab, red, red)){.ai-input-card{border:1px solid color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-input-card{box-shadow:0 2px 8px #00000014}.ai-input-icon-wrap{color:var(--accent-mix);opacity:.6;justify-content:center;margin-bottom:.5rem;display:flex}.ai-dropzone{border:2px dashed var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-dropzone{border:2px dashed color-mix(in srgb, var(--accent) 25%, transparent)}}.ai-dropzone{cursor:pointer;color:var(--text-muted);border-radius:5px;min-height:100px;padding:.85rem .75rem;transition:border-color .15s,background .15s}.ai-dropzone:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-dropzone:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}}.ai-dropzone:hover{color:var(--accent)}.ai-dropzone.drag-over{border-color:var(--accent-hover);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-dropzone.drag-over{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-dropzone.drag-over{color:var(--accent-hover);border-style:solid}.ai-dropzone svg{opacity:.5;transition:opacity .15s}.ai-dropzone:hover svg,.ai-dropzone.drag-over svg{opacity:1}.ai-dropzone-text{flex-direction:column;align-items:center;gap:2px;font-size:.78rem;display:flex}.ai-dropzone-text strong{color:var(--foreground);font-weight:600}.ai-dropzone-text span{color:var(--text-muted);font-size:.72rem}.ai-dropzone-hint{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.ai-dropzone-hint{color:color-mix(in srgb, var(--text-muted) 50%, transparent)}}.ai-image-upload-preview{border:1.5px solid var(--accent);border-radius:5px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ai-image-upload-preview{border:1.5px solid color-mix(in srgb, var(--accent) 20%, transparent)}}.ai-image-upload-preview-trigger,.ai-result-image-preview-trigger{width:100%;display:block}.ai-image-upload-img{object-fit:cover;width:100%;height:150px;display:block}.ai-image-upload-remove{-webkit-backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:absolute;top:6px;right:6px}.ai-image-upload-remove:hover{background:#dc2626b3}.ai-result-section{flex-direction:column;flex:1;padding:.15rem 0;display:flex}.ai-review-tab-bar{background:var(--accent);gap:3px;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-review-tab-bar{background:color-mix(in srgb, var(--accent) 5%, transparent)}}.ai-review-tab-bar{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-review-tab-bar{border:1px solid color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-review-tab-bar{border-radius:5px;margin-bottom:.6rem;padding:3px}.ai-review-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:.45rem .4rem;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.ai-review-tab:hover{color:var(--accent-hover);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-review-tab:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-review-tab.active{color:var(--text-on-accent);background:linear-gradient(135deg, var(--accent), var(--accent-hover));box-shadow:0 2px 8px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-review-tab.active{box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent)}}.ai-review-tab.active svg{color:var(--text-on-accent)}.ai-review-tab svg{color:var(--text-muted);flex-shrink:0}.ai-review-tab.active svg{opacity:1;color:var(--text-on-accent)}.ai-review-tab-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.ai-sub-tab-bar{background:var(--accent);gap:2px;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab-bar{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.ai-sub-tab-bar{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab-bar{border:1px solid color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-sub-tab-bar{border-radius:5px;margin:0 0 .5rem;padding:2px}.ai-sub-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;opacity:.7;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:.35rem .3rem;font-size:.65rem;font-weight:600;transition:all .15s;display:flex}.ai-sub-tab:hover{opacity:1;color:var(--accent-hover);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}}.ai-sub-tab.active{opacity:1;color:var(--text-on-accent);background:linear-gradient(135deg, var(--accent-hover), var(--accent-hover));box-shadow:0 2px 6px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab.active{box-shadow:0 2px 6px color-mix(in srgb, var(--accent) 25%, transparent)}}.ai-sub-tab svg{opacity:.7;flex-shrink:0}.ai-sub-tab.active svg{opacity:1;color:var(--text-on-accent)}@media (prefers-color-scheme:dark){.ai-sub-tab-bar{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab-bar{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.ai-sub-tab.active{background:linear-gradient(135deg, var(--accent-hover), var(--accent-hover));box-shadow:0 2px 6px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-sub-tab.active{box-shadow:0 2px 6px color-mix(in srgb, var(--accent) 25%, transparent)}}}.ai-input-textarea{border:1.5px solid var(--accent);width:100%}@supports (color:color-mix(in lab, red, red)){.ai-input-textarea{border:1.5px solid color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-input-textarea{color:var(--foreground);resize:vertical;scrollbar-width:none;-ms-overflow-style:none;background:#00000026;border-radius:5px;outline:none;min-height:60px;padding:.55rem .65rem;font-family:Google Sans Text,sans-serif;font-size:.82rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.ai-input-textarea::-webkit-scrollbar{display:none}.ai-input-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-input-textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-input-textarea::placeholder{color:var(--text-light)}.ai-error-banner{color:#f87171;background:#dc262614;border:1px solid #dc262633;border-radius:5px;align-items:center;gap:6px;margin-top:.55rem;padding:.5rem .65rem;font-size:.75rem;font-weight:500;display:flex}.ai-error-banner svg{flex-shrink:0}.ai-loading-section{justify-content:center;align-items:center;min-height:100%;display:flex}.ai-loading-card{text-align:center;padding:1.5rem 1rem}.ai-loading-orbs{justify-content:center;gap:7px;margin-bottom:1rem;display:flex}.ai-loading-orb{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulseOrb}.ai-loading-orb:first-child{background:var(--accent)}.ai-loading-orb:nth-child(2){background:var(--accent-hover);animation-delay:.2s}.ai-loading-orb:nth-child(3){background:var(--accent-hover);animation-delay:.4s}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulseOrb{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-loading-text{color:var(--foreground);margin:0 0 3px;font-size:.85rem;font-weight:600}.ai-loading-hint{margin:0}.ai-image-card{border:1px solid var(--accent);border-radius:5px;margin-bottom:.75rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ai-image-card{border:1px solid color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-image-card{box-shadow:0 4px 12px #0000001a}.ai-image-img{object-fit:cover;width:100%;height:170px;display:block}.ai-image-badge{-webkit-backdrop-filter:blur(8px);color:#fff;background:#00000080;border-radius:5px;padding:.2rem .5rem;font-size:.65rem;font-weight:600;position:absolute;bottom:6px;left:6px}.ai-field-card{background:linear-gradient(135deg, var(--accent), var(--accent));gap:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-field-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 3%, transparent), color-mix(in srgb, var(--accent) 3%, transparent))}}.ai-field-card{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card{border:1px solid color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-field-card{border-radius:5px;margin-bottom:.45rem;padding:.55rem .65rem;transition:border-color .15s}.ai-field-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-field-card-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:flex-start;width:28px;height:28px;padding-top:6px;display:flex}.ai-field-card-icon.meal{color:#fb923c;background:#fb923c1f}.ai-field-card-icon.recipe{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card-icon.recipe{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-field-card-icon.recipe{color:var(--accent-hover)}.ai-field-card-icon.ingredients{color:#34d399;background:#34d3991f}.ai-field-card-icon.nutrition{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card-icon.nutrition{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-field-card-icon.nutrition{color:var(--accent)}.ai-field-card-content{flex:1;min-width:0}.ai-field-label{color:var(--text-muted);display:block}@supports (color:color-mix(in lab, red, red)){.ai-field-label{color:color-mix(in srgb, var(--text-muted) 60%, transparent)}}.ai-field-label{margin-bottom:3px}.ai-field-hint{text-transform:none;letter-spacing:0;color:var(--text-light);margin-left:4px;font-size:.6rem;font-weight:400}.ai-field-input{width:100%;color:var(--foreground);border:none;border-bottom:1px dashed var(--accent);background:0 0;outline:none;padding:3px 0;font-family:Google Sans Text,sans-serif;font-size:.82rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.ai-field-input{border-bottom:1px dashed color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-field-input{transition:border-color .15s}.ai-field-input[type=number]{font-size:.82rem}.ai-field-textarea{border:1px solid var(--accent);width:100%}@supports (color:color-mix(in lab, red, red)){.ai-field-textarea{border:1px solid color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-field-textarea{color:var(--foreground);resize:vertical;background:#0000001a;border-radius:5px;outline:none;min-height:50px;padding:.4rem .55rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;line-height:1.5;transition:border-color .15s}.ai-field-textarea:focus{border-color:var(--accent)}.ai-divider{align-items:center;gap:8px;margin:.6rem 0;display:flex}.ai-divider:before,.ai-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);flex:1;height:1px}@supports (color:color-mix(in lab, red, red)){.ai-divider:before,.ai-divider:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 20%, transparent), transparent)}}.ai-divider span{color:var(--text-muted);font-size:.68rem;font-weight:700}@supports (color:color-mix(in lab, red, red)){.ai-divider span{color:color-mix(in srgb, var(--text-muted) 40%, transparent)}}.ai-divider span{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.ai-url-section{background:linear-gradient(135deg, var(--accent), var(--accent));width:100%}@supports (color:color-mix(in lab, red, red)){.ai-url-section{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 3%, transparent), color-mix(in srgb, var(--accent) 3%, transparent))}}.ai-url-section{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-section{border:1px solid color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-url-section{border-radius:5px;margin:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.ai-url-section:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-section:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-url-section-header{border-bottom:1px solid var(--accent);align-items:center;gap:5px;padding:.5rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-url-section-header{border-bottom:1px solid color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-url-section-header{background:#00000005}@media (prefers-color-scheme:dark){.ai-url-section-header{background:#0000000d}}.ai-url-section-icon{color:var(--text-muted);opacity:.7;align-items:center;display:flex}.ai-url-input-group{align-items:stretch;gap:0;padding:.45rem .6rem;display:flex}.ai-url-input-wrapper{border:1px solid var(--accent);background:#0000001a;flex:1;align-items:center;gap:6px;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-url-input-wrapper{border:1px solid color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-url-input-wrapper{border-radius:5px;padding:0 .5rem;transition:border-color .2s,box-shadow .2s}.ai-url-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-input-wrapper:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-url-input-decoration{color:var(--text-muted);opacity:.45;flex-shrink:0}.ai-url-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.45rem 0;font-family:Google Sans Text,sans-serif;font-size:.8rem}.ai-url-input::placeholder{color:var(--text-muted);opacity:.5;font-size:.75rem}.ai-url-clear-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s;display:flex}.ai-url-clear-btn:hover{opacity:1;background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-clear-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-url-clear-btn:hover{color:var(--accent)}@media (prefers-color-scheme:dark){.ai-url-clear-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-clear-btn:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}}}.ai-url-fetch-btn{border:1px solid var(--accent);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;margin-left:-1px;padding:0 .75rem;font-family:Google Sans Text,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.ai-url-fetch-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-hover), var(--accent-hover));box-shadow:0 2px 10px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-fetch-btn:hover:not(:disabled){box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 30%, transparent)}}.ai-url-fetch-btn:active:not(:disabled){transform:scale(.97)}.ai-url-fetch-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-spinner{animation:.8s linear infinite ai-spin}.ai-url-error{color:#f87171;background:#dc26260f;border:1px solid #dc262626;border-radius:5px;align-items:center;gap:5px;margin:0 .6rem .45rem;padding:.35rem .7rem;font-size:.68rem;font-weight:500;display:flex}.ai-url-error svg{flex-shrink:0}@media (prefers-color-scheme:dark){.ai-url-error{background:#dc262614;border-color:#dc262633}.ai-url-input-wrapper{background:#0000001f}.ai-url-section:focus-within{box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-url-section:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}}}.ai-modal-footer{border-top:1px solid var(--accent);flex-shrink:0;gap:8px;padding:.65rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-modal-footer{border-top:1px solid color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-modal-footer{z-index:2;background:linear-gradient(#0000 0%,#0003 100%)}.ai-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:.55rem .85rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.ai-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ai-btn-ghost{border:1.5px solid var(--accent);background:0 0}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost{border:1.5px solid color-mix(in srgb, var(--accent) 15%, transparent)}}.ai-btn-ghost{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost{color:color-mix(in srgb, var(--text-muted) 60%, transparent)}}.ai-btn-ghost:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}}.ai-btn-ghost:hover{border-color:var(--accent);color:var(--accent-hover)}.ai-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);box-shadow:0 4px 14px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-btn-primary{box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 25%, transparent)}}.ai-btn-primary:hover{box-shadow:0 6px 20px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-btn-primary:hover{box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)}}.ai-btn-primary:hover{background:linear-gradient(135deg, var(--accent-hover), var(--accent-hover));transform:translateY(-1px)}.ai-btn-primary:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.ai-trigger-btn{background:linear-gradient(135deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.ai-trigger-btn{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, transparent), color-mix(in srgb, var(--accent) 6%, transparent))}}.ai-trigger-btn{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-trigger-btn{border-color:color-mix(in srgb, var(--accent) 30%, transparent)}}.ai-trigger-btn{color:var(--accent)}.ai-trigger-btn:hover{background:linear-gradient(135deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.ai-trigger-btn:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), color-mix(in srgb, var(--accent) 10%, transparent))}}.ai-trigger-btn:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-trigger-btn:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}}.ai-trigger-btn:hover{color:var(--accent-hover)}.ai-trigger-btn svg{color:var(--accent)}.ai-modal{box-shadow:0 25px 80px #00000080, 0 0 0 1px var(--accent) inset}@supports (color:color-mix(in lab, red, red)){.ai-modal{box-shadow:0 25px 80px #00000080, 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent) inset}}.ai-modal-header{background:linear-gradient(135deg, var(--card), var(--background));border-bottom-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-modal-header{border-bottom-color:color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-modal-close-btn{background:#ffffff0a}.ai-modal-close-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-modal-close-btn:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.ai-modal-close-btn:hover{color:var(--accent)}.ai-input-textarea{border-color:var(--accent);background:#0003}@supports (color:color-mix(in lab, red, red)){.ai-input-textarea{border-color:color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-input-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-input-textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-error-banner{background:#dc26260f;border-color:#dc262626}.ai-field-card-icon.meal{background:#fb923c14}.ai-field-card-icon.recipe{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card-icon.recipe{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-field-card-icon.ingredients{background:#34d39914}.ai-field-card-icon.nutrition{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-card-icon.nutrition{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.ai-field-input{border-bottom-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-field-input{border-bottom-color:color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-field-textarea{background:#00000026}.ai-btn-ghost{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost{border-color:color-mix(in srgb, var(--accent) 10%, transparent)}}.ai-btn-ghost{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost{color:color-mix(in srgb, var(--text-muted) 50%, transparent)}}.ai-btn-ghost:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-btn-ghost:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}}.ai-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.ai-loading{color:var(--text-muted)}}.ai-trigger-btn{min-height:var(--control-height);background:var(--surface-raised);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--accent);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.ai-trigger-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.ai-trigger-btn:focus-visible,.ai-modal-close-btn:focus-visible,.ai-review-tab:focus-visible,.ai-sub-tab:focus-visible,.ai-btn:focus-visible,.ai-url-fetch-btn:focus-visible,.ai-url-clear-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ai-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-floating)}.ai-modal-header,.ai-modal-footer{background:var(--card);border-color:var(--border)}.ai-modal-brand,.ai-modal-brand svg,.ai-modal-title-icon svg{color:var(--accent)}.ai-modal-title{color:var(--heading)}.ai-modal-subtitle,.ai-field-label,.ai-dropzone-hint{color:var(--text-muted)}.ai-modal-body{background:var(--card)}.ai-modal-body::-webkit-scrollbar-thumb{background:var(--border)}.ai-input-card,.ai-field-card,.ai-url-section,.ai-url-input-wrapper{background:var(--surface-raised);border-color:var(--border-subtle);border-radius:var(--radius-md);box-shadow:none}.ai-input-card:focus-within,.ai-field-card:focus-within,.ai-url-section:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.ai-dropzone{border-color:var(--border);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}.ai-dropzone:hover,.ai-dropzone.drag-over{border-color:var(--accent);background:var(--surface-hover);color:var(--accent)}.ai-input-textarea,.ai-field-textarea{background:var(--background);border-color:var(--border);border-radius:var(--radius-sm)}.ai-input-textarea:focus,.ai-field-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.ai-field-input{min-height:var(--control-height);border-bottom-color:var(--border)}.ai-field-input:focus{border-bottom-color:var(--accent)}.ai-field-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ai-review-tab-bar,.ai-sub-tab-bar{border:0;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0;gap:0;padding:0}.ai-review-tab,.ai-sub-tab{min-height:var(--control-height);color:var(--text-muted);transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);border:0;border-bottom:2px solid #0000;border-radius:0}.ai-review-tab:hover,.ai-sub-tab:hover{color:var(--foreground);background:var(--surface-hover)}.ai-review-tab.active,.ai-sub-tab.active{color:var(--accent);border-bottom-color:var(--accent);box-shadow:none;background:0 0}.ai-review-tab.active svg,.ai-sub-tab.active svg{color:var(--accent)}.ai-modal-close-btn{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-sm);background:var(--surface-raised);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}.ai-modal-close-btn:hover{background:var(--surface-hover);color:var(--foreground);transform:none}.ai-url-fetch-btn,.ai-btn{min-height:var(--control-height);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.ai-url-fetch-btn,.ai-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.ai-url-fetch-btn:hover:not(:disabled),.ai-btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--text-on-accent);box-shadow:var(--shadow-md)}.ai-btn-ghost{border:1px solid var(--border);color:var(--foreground);background:0 0}.ai-btn-ghost:hover{background:var(--surface-hover);border-color:var(--border);color:var(--foreground)}.ai-error-banner,.ai-url-error{background:var(--danger-bg);border-color:var(--red-soft);color:var(--red);border-radius:var(--radius-sm)}.ai-field-card-icon.meal,.ai-field-card-icon.recipe,.ai-field-card-icon.ingredients,.ai-field-card-icon.nutrition{background:var(--accent-soft);color:var(--accent)}.ai-image-upload-preview{border-color:var(--border)}.ai-divider:before,.ai-divider:after{background:linear-gradient(90deg, transparent, var(--border), transparent)}.ai-loading-orb,.ai-loading-orb:first-child,.ai-loading-orb:nth-child(2),.ai-loading-orb:nth-child(3){background:var(--accent)}@media (prefers-reduced-motion:reduce){.ai-trigger-btn,.ai-modal,.ai-modal-close-btn,.ai-dropzone,.ai-review-tab,.ai-sub-tab,.ai-url-fetch-btn,.ai-btn{transition:none;animation:none}.ai-loading-orb,.ai-spinner{animation:none}}.dashboard-profile-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:.6rem;margin-bottom:.75rem;padding:1rem;display:flex}.profile-top-row{flex-flow:row;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;max-width:100%;display:flex}.profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:center;gap:.6rem;min-width:0;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:40px;height:40px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.profile-avatar.has-image{background:0 0}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-avatar-fallback{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:100%;height:100%;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.profile-info{flex-direction:column;gap:.12rem;min-width:0;display:flex}.profile-name{white-space:nowrap;margin:0}.profile-email{margin:0}.profile-meta-row{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.1rem;display:flex}.profile-privacy-tag{border-radius:var(--radius-xs);white-space:nowrap;align-items:center;gap:3px;padding:1px 6px;font-size:.58rem;font-weight:600;display:inline-flex}.profile-privacy-tag.public{background:var(--accent-focus-shadow);color:var(--accent)}.profile-privacy-tag.private{background:var(--amber-soft-bg);color:var(--amber)}.profile-country{align-items:center;gap:3px;display:inline-flex}.profile-carousel{flex-shrink:0;align-items:center;gap:.25rem;min-width:0;display:flex}.profile-carousel-track{gap:.22rem;display:flex}.profile-carousel-item{white-space:nowrap;gap:.06rem;padding:.22rem .42rem;transition:opacity .3s,transform .3s}.profile-carousel-val{color:var(--heading);line-height:1}.profile-carousel-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);opacity:.75;font-size:.48rem;font-weight:600;line-height:1}.profile-carousel-dot{border:1px solid var(--card-border);background:var(--card-bg);width:18px;height:18px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.65rem;line-height:1;display:flex}.profile-carousel-dot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.profile-carousel-dot:hover{color:var(--accent);border-color:var(--accent)}.profile-report-dot:hover{color:var(--amber-dark);border-color:var(--amber-dark)}.profile-stats-row{flex-wrap:wrap;flex-shrink:0;align-items:stretch;gap:.22rem;display:flex}.profile-stat-pill{white-space:nowrap;flex:none;gap:.08rem;min-width:0;padding:.2rem .42rem}.profile-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);opacity:.75;font-size:.48rem;font-weight:600;line-height:1}.profile-stat-val{color:var(--heading);line-height:1}.dashboard-page{max-width:1500px;margin:0 auto}.dashboard-loading,.dashboard-empty{text-align:center;padding:4rem 2rem}.loading-spinner{border:3px solid var(--card-border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 1rem;animation:.7s linear infinite spin}.modal{background:var(--card);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);width:100%;max-width:500px;height:92dvh;max-height:92dvh;box-shadow:0 -10px 40px var(--shadow-md);flex-direction:column;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden}@media (min-width:500px){.modal{border-radius:var(--radius-lg);height:95dvh;max-height:95dvh;box-shadow:0 20px 60px var(--shadow-xl2);animation:.2s ease-out fadeIn}}@media (min-width:1024px){.modal{max-width:min(860px,80vw);height:90dvh;max-height:90dvh}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-modal-shell{max-width:400px}.confirm-modal-body{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0 .25rem;display:flex}.confirm-modal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.15rem;animation:.28s cubic-bezier(.34,1.56,.64,1) confirm-icon-pop;display:flex}.confirm-modal-icon-danger{background:var(--error-bg);box-shadow:0 0 0 6px var(--red-soft)}.confirm-modal-icon-warning{background:var(--warning-bg);box-shadow:0 0 0 6px var(--warning-bg)}.confirm-modal-icon-info{background:var(--hover-bg);box-shadow:0 0 0 6px var(--hover-bg)}@keyframes confirm-icon-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.confirm-modal-title{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--heading);text-wrap:balance;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.confirm-modal-message{word-break:break-word;text-wrap:pretty;max-width:32ch;margin:0}.confirm-modal-btn{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;flex:1;padding:.62rem 1rem;font-family:Google Sans Text,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,filter .15s,opacity .15s,transform .12s}.confirm-modal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.confirm-modal-btn:disabled{opacity:.55;cursor:not-allowed}.confirm-modal-btn-secondary{background:var(--hover-bg);color:var(--foreground)}.confirm-modal-btn-secondary:hover:not(:disabled){background:var(--hover-bg-active)}.confirm-modal-btn-primary{color:#fff;background:var(--red-dark)}.confirm-modal-btn-primary[data-variant=warning]{background:var(--amber-dark)}.confirm-modal-btn-primary[data-variant=info]{background:var(--blue)}.confirm-modal-btn-primary:hover:not(:disabled){filter:brightness(1.15)}.confirm-modal-btn-primary:active:not(:disabled){filter:brightness(.9);transform:scale(.98)}.confirm-modal-btn-loading{justify-content:center;align-items:center;gap:6px;display:inline-flex}.confirm-modal-textarea{border:1px solid var(--border);background:var(--input-bg,var(--background));width:100%;min-height:90px;color:var(--foreground);font-family:var(--font-sans);resize:vertical;border-radius:6px;outline:none;margin-top:.25rem;padding:.65rem .8rem;font-size:.85rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.confirm-modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.confirm-modal-textarea::placeholder{color:var(--text-muted);opacity:.7}.feedback-images{flex-wrap:wrap;gap:.5rem;width:100%;margin-top:.75rem;display:flex}.feedback-image-thumb{border:1px solid var(--border);background:var(--hover-bg);border-radius:8px;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden}.feedback-image-thumb img{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.feedback-image-spinner{background:#00000059;display:block;position:absolute;inset:0}.feedback-image-spinner:after{content:"";border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}.feedback-image-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:2px;right:2px}.feedback-image-remove:disabled{cursor:not-allowed;opacity:.5}.feedback-image-add{border:1px dashed var(--border);width:64px;height:64px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;font-size:.62rem;font-weight:600;transition:border-color .15s,color .15s;display:flex}.feedback-image-add:hover{border-color:var(--accent);color:var(--accent)}.feedback-image-input{display:none}.image-lightbox{z-index:1000;cursor:pointer;background:#000000eb;justify-content:center;align-items:center;padding:2rem;animation:.2s iu-overlay-fade;display:flex;position:fixed;inset:0}.image-lightbox img{object-fit:contain;cursor:default;-webkit-user-select:none;user-select:none;border-radius:8px;max-width:90vw;max-height:90vh}.image-lightbox-close{top:max(1rem, var(--safe-top,1rem));color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;right:1rem}.image-lightbox-close:hover{background:#ffffff38}.modal-label-picker{gap:6px;margin-bottom:8px;display:flex}.modal-label-opt{border:1.5px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.modal-label-opt.active{border-color:var(--accent);background:var(--accent-dim,var(--accent-focus-shadow));box-shadow:0 0 0 3px var(--accent-soft,#6c5ce70f);font-weight:600}.modal-label-opt:hover{border-color:var(--accent);transform:translateY(-1px)}.modal-label-opt:active{transform:translateY(0)}.suggestion-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.collapsible-chevron{transition:transform .2s;transform:rotate(0)}.collapsible-chevron.open{transform:rotate(180deg)}.modal-nutrition-editor{flex-direction:column;flex-shrink:0;gap:.75rem;margin-top:auto;margin-bottom:auto;padding:.75rem 0;display:flex}@media (max-width:640px){.modal-nutrition-editor{flex-shrink:1;margin-top:0;margin-bottom:0;padding-top:.25rem}}.modal-nutrition-row{background:var(--card);border:1px solid var(--border);border-radius:5px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.modal-nutrition-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim,#6c5ce71f)}.modal-nutrition-label{color:var(--foreground);cursor:pointer;flex-shrink:0;align-items:center;gap:.4rem;min-width:80px;display:flex}.modal-nutrition-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.modal-nutrition-icon.calories{background:var(--accent-dim);color:var(--accent)}.modal-nutrition-icon.protein,.modal-nutrition-icon.sugar{background:var(--hover-bg);color:var(--text-muted)}.modal-nutrition-unit{color:var(--text-muted);text-align:left;flex-shrink:0;min-width:28px;font-size:.75rem;font-weight:500}.image-placeholder{width:100%;height:100%;color:var(--text-light);opacity:.6;justify-content:center;align-items:center;font-size:.7rem;display:flex}.image-upload-label{cursor:pointer;width:100%;height:100%;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.75rem;font-weight:500;transition:background .15s,opacity .15s;display:flex}.image-upload-label:hover{background:var(--overlay-black-03)}.image-upload-label svg{opacity:.5;transition:opacity .15s}.image-upload-label:hover svg{opacity:.8}.image-remove-btn{background:var(--overlay-dark);-webkit-backdrop-filter:blur(6px);cursor:pointer;color:#fff;z-index:15;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,transform .15s;display:flex;position:absolute;top:6px;left:6px}.image-remove-btn:hover{background:var(--red-hover);transform:scale(1.05)}.image-remove-btn:active{transform:scale(.95)}.image-upload-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.meal-items-modal,.meal-item-detail-modal{box-sizing:border-box;width:min(100%,54rem);min-width:0;max-width:54rem}.meal-view-content,.meal-items-panel,.meal-items-list,.meal-item-card,.meal-nutrition-facts,.meal-total-card,.meal-item-detail{word-break:break-word;box-sizing:border-box;min-width:0;overflow:hidden}.meal-view-content,.meal-items-panel,.meal-items-list,.meal-item-detail{flex-direction:column;gap:1rem;display:flex}.meal-items-list{gap:0}.meal-content-card{word-break:break-word;box-sizing:border-box;border:1px solid var(--border);background:0 0;border-top:0;border-radius:0 0 1rem 1rem;flex-direction:column;gap:.25rem;min-width:0;padding:1rem;display:flex;overflow:hidden}.meal-view-content>.meal-coach-actions+.meal-items-panel>.meal-content-card{border-top:1px solid var(--border);border-radius:1rem}.meal-items-layout{min-width:0;display:block}.meal-main-image-wrap{word-break:break-word;box-sizing:border-box;border-radius:.6rem;width:fit-content;min-width:0;max-width:100%;position:relative;overflow:hidden}.meal-item-detail-image-wrap{word-break:break-word;box-sizing:border-box;border-radius:.8rem;width:100%;min-width:0;position:relative;overflow:hidden}.meal-items-layout.has-cover-image{grid-template-columns:clamp(5.5rem,20vw,9rem) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.meal-main-image{object-fit:cover;border:1px solid var(--border);border-radius:.6rem;width:clamp(5.5rem,20vw,9rem);height:clamp(5.5rem,20vw,9rem);display:block}.meal-card-footer{background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:0;display:flex}.meal-card-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;max-width:100%;display:flex}.meal-card-time{overflow-wrap:anywhere;min-width:0;color:var(--foreground);align-items:center;gap:.25rem;font-size:clamp(.75rem,1.5vw,.85rem);display:inline-flex}.meal-card-menu-button,.meal-card-edit-button,.meal-card-status-button{background:0 0;border:0;width:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:.5rem}.meal-card-review-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--accent);border:0;place-items:center;padding:.5rem;display:grid}.meal-card-review-button:hover{background:var(--hover-bg)}.feedback-star-rating,.ai-review-rating,.ai-review-sentiment{border:0;min-width:0;padding:0}.feedback-star-rating legend,.ai-review-rating legend,.ai-review-sentiment legend{color:var(--foreground);margin-bottom:.35rem;font-size:.85rem;font-weight:600}.feedback-star-rating>div,.ai-review-rating>div{align-items:center;gap:.15rem;display:flex}.feedback-star-rating button,.ai-review-rating button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:.35rem;display:grid}.feedback-star-rating button.selected,.ai-review-rating button.selected{color:var(--warning-color)}.feedback-star-rating button:focus-visible,.ai-review-rating button:focus-visible,.ai-review-sentiment button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-review-modal{width:min(100%,34rem);max-width:34rem;height:auto;max-height:calc(100dvh - 2rem)}.ai-review-modal .base-modal-body{flex:0 auto;min-height:0;overflow-y:auto}.ai-review-form{flex-direction:column;gap:.85rem;display:flex}.ai-review-form>p{color:var(--text-muted);margin:0}.ai-review-sentiment>div{flex-wrap:wrap;gap:.5rem;display:flex}.ai-review-sentiment button{border:1px solid var(--border);background:var(--card);min-width:8rem;min-height:2.75rem;color:var(--foreground);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .75rem;display:inline-flex}.ai-review-sentiment button.selected{border-color:var(--accent);color:var(--accent);background:var(--hover-bg)}.ai-review-message{color:var(--foreground);font-size:.85rem;font-weight:600}.ai-review-form textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--background);width:100%;min-height:6rem;color:var(--foreground);font:inherit;border-radius:.5rem;padding:.65rem}.ai-review-form textarea:focus-visible{outline:2px solid var(--accent)}.ai-review-form .ai-review-screenshot-note{font-size:.8rem}.meal-card-menu{width:max-content;max-width:min(100vw - 1rem,12rem);max-height:var(--meal-menu-max-height);word-break:break-word;box-sizing:border-box;border:1px solid var(--border);background:var(--card);min-width:0;inset:auto;border-radius:.5rem;margin:0;padding:.25rem;position:fixed;inset-block-start:var(--meal-menu-top);inset-inline-end:var(--meal-menu-right);overflow:hidden auto}.meal-actions-menu{z-index:var(--meal-menu-z-index,1200);visibility:hidden;overscroll-behavior:contain}.meal-card-menu-delete{width:100%;min-height:2.75rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:.35rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:clamp(.8rem,1.5vw,.95rem);display:flex}.meal-card-menu-delete:hover{background:var(--hover-bg)}.meal-card-menu-delete:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.meal-card-status-button.btn{background:0 0;border:0}.meal-card-status-button.btn:hover,.meal-card-status-button.btn:active{background:0 0}.meal-card-status-button[data-status=planned]{color:var(--text-muted)}.meal-card-status-button[data-status=confirmed]{color:var(--success)}.meal-card-status-button[data-status=skipped]{color:var(--error-color)}.meal-inline-ai-edit{min-width:0;margin:0}.meal-inline-ai-field{min-width:0;position:relative}.meal-inline-ai-edit textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:6rem;color:var(--foreground);font:inherit;border-radius:.5rem;padding:.65rem 3.25rem .65rem .65rem;display:block}.meal-inline-ai-edit textarea:focus-visible{outline:2px solid var(--accent)}.meal-inline-ai-actions{flex-direction:column;gap:.25rem;display:flex;position:absolute;inset-block-start:.35rem;inset-inline-end:.35rem}.meal-inline-ai-actions .btn{place-items:center;width:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:.5rem;display:grid}.meal-inline-ai-submit{color:var(--accent)}.meal-create-tools{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.meal-view-link{min-width:0;color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:clamp(.8rem,1.8vw,.95rem);display:flex}.meal-view-link input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font-size:inherit;border-radius:.5rem;padding:.6rem}.meal-view-link input:focus-visible{outline:2px solid var(--accent)}.meal-items-modal .base-modal-body{padding-top:0}.meal-items-modal .modal-label-picker{margin-block:.5rem -.75rem}.meal-content-card .meal-total-card{border-bottom:0}.meal-item-heading p{color:var(--text-muted);margin:0 0 .25rem;font-size:clamp(.8rem,1.6vw,.9rem)}.meal-item-detail-photo{object-fit:cover;border-radius:.8rem;width:100%;max-height:18rem;display:block}.meal-view-actions,.meal-item-controls{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.meal-view-actions{justify-content:flex-end;width:100%}.meal-coach-actions{min-width:0;display:flex}.meal-coach-button{box-sizing:border-box;border:1px solid var(--accent);align-items:center;gap:.85rem;width:100%;min-width:0;min-height:4.75rem;padding:.85rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.meal-coach-button{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border))}}.meal-coach-button{background:var(--accent-dim);color:var(--foreground);font:inherit;text-align:start;cursor:pointer;border-radius:1rem;text-decoration:none;transition:background .15s,border-color .15s}.meal-coach-button:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.meal-coach-button:hover{background:color-mix(in srgb, var(--accent) 16%, var(--card))}}.meal-coach-button:hover{color:var(--foreground);text-decoration:none}.meal-coach-button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.meal-coach-icon{background:var(--accent);width:2.75rem;height:2.75rem;color:var(--text-on-accent);border-radius:.8rem;flex:0 0 2.75rem;place-items:center;display:grid}.meal-coach-copy{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.meal-coach-title{color:var(--foreground);font-size:.95rem;font-weight:700;line-height:1.35}.meal-coach-description{color:var(--text-muted);font-size:.8rem;line-height:1.4}.meal-coach-arrow{color:var(--accent);flex-shrink:0}.meal-view-actions .btn,.meal-items-panel .btn,.meal-view-video .btn{white-space:normal;min-height:2.75rem}.meal-items-panel .meal-add-item{border:1px solid var(--accent);color:var(--foreground)}.meal-items-panel .meal-add-item:hover:not(:disabled){border-color:var(--accent-hover);color:var(--foreground);background:var(--hover-bg)}.meal-items-panel .meal-add-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meal-items-modal .modal-label-opt{min-height:2.75rem}.meal-nutrition-facts{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1rem}.meal-nutrition-priority{border:1px solid var(--border);background:var(--background);border-radius:.75rem;min-width:0;margin-bottom:.8rem;overflow:hidden}.meal-nutrition-priority h4{border-bottom:1px solid var(--border);background:var(--accent-dim);color:var(--foreground);margin:0;padding:.65rem .8rem;font-size:clamp(.8rem,1.5vw,.9rem);font-weight:700}.meal-nutrition-priority dl{padding:.25rem .8rem}.meal-nutrition-priority .meal-nutrient-row{border-bottom:0}.meal-item-card,.meal-total-card{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:.65rem 0}.meal-item-card:not(.meal-item-edit-card):last-child{border-bottom:0}.meal-items-panel.has-many-items .meal-item-card{padding-block:.35rem}.meal-item-card .meal-single-total-card{border:0;padding:0}.meal-item-card.meal-item-edit-card{border:1px solid var(--border);background:var(--card);border-radius:.75rem;margin:.5rem 0;padding:.75rem;position:relative;overflow:visible}.meal-item-open{text-align:start;width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:flex-start;gap:.75rem;min-width:0;padding:0;display:flex}.meal-item-open-copy{flex:auto;min-width:0}.meal-item-open-chevron{color:var(--text-muted);margin-inline-start:.35rem;font-size:.9em;display:inline-block}.meal-item-open:hover{color:var(--accent)}.meal-item-open:focus-visible{outline:2px solid var(--accent);outline-offset:.3rem;border-radius:.5rem}.meal-item-heading{align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.meal-item-exercise-media-column{flex-direction:column;flex:none;align-items:center;gap:.3rem;width:clamp(3.25rem,9vw,5rem);min-width:0;display:flex}.meal-items-panel .meal-item-exercise-media-column{width:clamp(5.5rem,20vw,9rem)}.meal-item-exercise-media-column .meal-workout-type-tag{max-width:100%;color:var(--accent);text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-item-exercise-image-wrap{aspect-ratio:1;background:var(--card);border-radius:.6rem;flex:none;width:100%;position:relative;overflow:hidden}.meal-item-exercise-image{object-fit:cover;width:100%;height:100%;display:block}.meal-item-exercise-content{flex:1;min-width:0}.meal-item-exercise-content>p{margin-top:.25rem}.meal-item-exercise-title-row{align-items:flex-start;gap:.25rem;width:100%;min-width:0;padding-block-start:.1rem;display:flex}.meal-item-exercise-title-row>.meal-item-open{flex:auto;width:auto;min-width:0}.meal-item-exercise-actions-row{justify-content:flex-end;align-items:center;gap:.15rem;min-height:2.75rem;display:flex}.meal-item-exercise-actions-row .diary-meal-actions{align-items:center;gap:.15rem;display:flex}.meal-item-heading>.meal-item-open,.meal-item-exercise-title-row>.meal-item-open{flex:auto;width:auto;min-width:0}.meal-item-heading>.meal-item-exercise-actions-row,.meal-item-exercise-title-row>.meal-item-exercise-actions-row{flex:none;gap:0;margin-inline-start:auto}.meal-item-heading>.meal-item-exercise-actions-row .meal-item-status-actions,.meal-item-exercise-title-row>.meal-item-exercise-actions-row .meal-item-status-actions{gap:0}.meal-item-detail-open-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);background:0 0;border:0;place-items:center;padding:0;font-size:1.1rem;line-height:1;display:grid}.meal-item-detail-open-button:hover:not(:disabled){color:var(--accent);background:0 0}.meal-item-detail-open-button:focus,.meal-item-detail-open-button:focus-visible,.meal-item-detail-open-button:active{box-shadow:none;background:0 0;outline:none}.meal-item-heading .meal-item-open h3{flex:1;min-width:0}.meal-item-heading h3,.meal-total-card h3,.meal-nutrition-facts h3{color:var(--foreground);margin:0 0 .5rem;font-size:clamp(.95rem,2vw,1.1rem)}.meal-items-panel.has-many-items .meal-item-heading h3{font-size:clamp(.72rem,1.25vw,.88rem)}.meal-item-open-copy h3{margin:0;display:inline}.meal-item-serving{color:var(--text-muted);white-space:nowrap;margin-inline-start:.25em;font-size:.72em;font-weight:400;display:inline}.meal-workout-details{color:var(--text-muted);font-size:.72em;font-weight:400;display:block}.meal-item-open .meal-workout-type-tag{background:var(--hover-bg);color:var(--accent)}.meal-macro-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.75rem 0 0;display:grid}.meal-item-card .meal-macro-summary,.meal-total-card .meal-macro-summary{margin-top:.35rem}.meal-item-heading h3,.meal-total-card h3{margin-bottom:.2rem}.meal-item-card .meal-item-heading h3{margin-bottom:0}.meal-item-card .meal-macro-summary{margin-top:0}.meal-macro-summary>div{word-break:break-word;min-width:0;overflow:hidden}.meal-macro-summary>.meal-exercise-total-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.meal-exercise-total-row dd,.meal-exercise-total-row .meal-target-progress{display:contents}.meal-exercise-total-row .meal-target-values{justify-content:flex-end}.meal-exercise-total-row .meal-target-values>small{margin-inline-start:0}.meal-exercise-total-row .meal-target-track{grid-column:1/-1}.meal-exercise-impact-facts .meal-exercise-total-row.has-pin-column{grid-template-columns:minmax(0,1fr) auto 2.75rem;column-gap:.25rem;position:relative}.meal-exercise-impact-facts .meal-impact-area-pin{width:2.75rem;min-width:2.75rem;min-height:2.75rem;position:absolute;top:calc(50% - .25rem);right:0;transform:translateY(-50%)}.meal-macro-summary dt{color:var(--text-muted);font-size:clamp(.7rem,1.5vw,.8rem)}.meal-exercise-macro-summary dt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.meal-total-card .meal-macro-summary dt{color:var(--text-muted)}.meal-macro-summary dd{color:var(--foreground);margin:.2rem 0 0;font-size:clamp(.9rem,2vw,1.1rem);font-weight:600}.meal-macro-summary small{color:var(--text-muted);font-size:clamp(.65rem,1.3vw,.8rem);font-weight:400}.meal-total-card .meal-macro-summary dd{margin-top:0;font-size:clamp(1.05rem,2.3vw,1.3rem);font-weight:700}.meal-items-modal .meal-total-card .meal-macro-summary dd{font-size:clamp(.85rem,1.8vw,1.05rem)}.meal-total-card .meal-macro-summary .meal-macro-unit{color:var(--foreground);font-size:inherit;font-weight:700}.meal-total-card .meal-macro-summary{gap:.35rem .8rem;margin-top:.2rem}.meal-pinned-totals{word-break:break-word;box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}.meal-pinned-totals dl{margin:0}.meal-nutrition-heading{word-break:break-word;box-sizing:border-box;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.meal-nutrition-heading h3{flex:1;margin-bottom:0}.nutrient-pin-button{min-width:1.5rem;min-height:1.5rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.nutrient-pin-button:hover{color:var(--foreground)}.nutrient-pin-button[aria-pressed=true]{color:var(--accent)}.nutrient-pin-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nutrient-pin-button:disabled{opacity:.5;cursor:wait}.meal-nutrient-row dd:has(.nutrient-pin-button){flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;gap:.25rem;min-width:0;max-width:65%;display:flex}.meal-nutrient-row:has(.nutrient-pin-button){align-items:center}.meal-total-card .meal-target-progress{gap:.2rem;margin-top:.25rem}.meal-macro-badges{flex-wrap:wrap;gap:.18rem;display:flex}.meal-items-panel.has-many-items .meal-macro-badges{gap:.04rem}.meal-items-panel.has-many-items .meal-macro-badges>div{gap:.02rem;padding:.03rem .1rem}.meal-macro-badges>div{border:1px solid var(--border);background:var(--hover-bg);color:var(--foreground);box-sizing:border-box;border-radius:.4rem;align-items:baseline;gap:.15rem;max-width:100%;padding:.12rem .25rem;display:flex}.meal-macro-badges dt,.meal-macro-badges dd{font-size:clamp(.58rem,1.2vw,.66rem);font-weight:800}.meal-items-panel.has-many-items .meal-macro-badges dt,.meal-items-panel.has-many-items .meal-macro-badges dd{font-size:clamp(.44rem,.85vw,.52rem)}.meal-macro-badges dt,.meal-macro-badges dd,.meal-macro-badges small{color:var(--foreground)}.meal-macro-badges dd{margin:0}.meal-macro-badges small{font-size:inherit}.meal-target-progress{word-break:break-word;box-sizing:border-box;flex-direction:column;gap:.3rem;min-width:0;margin-top:.4rem;display:flex;overflow:hidden}.meal-target-values{word-break:normal;box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:.15rem .35rem;min-width:0;display:flex;overflow:hidden}.meal-target-values>span:first-child{white-space:nowrap;min-width:0;font-size:var(--macro-value-size,inherit);flex:auto;overflow:hidden}.meal-target-values>span:first-child>small{font-size:.78em}.meal-target-values>small{text-align:end;white-space:nowrap;flex:none;margin-inline-start:auto}.meal-total-card .meal-target-progress:has(.meal-target-values){margin-top:0}.meal-target-track{appearance:none;background:var(--border);width:100%;height:.35rem;accent-color:var(--status-under);border:0;border-radius:1rem;display:block;overflow:hidden}.meal-target-track::-webkit-progress-bar{background:var(--border);border-radius:1rem}.meal-target-track::-webkit-progress-value{background:var(--status-under);border-radius:1rem}.meal-target-track::-moz-progress-bar{background:var(--status-under);border-radius:1rem}.meal-target-progress small{line-height:1.35}.meal-nutrition-facts dl{margin:0}.meal-workout-details-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:clamp(.8rem,1.7vw,.95rem)}.meal-workout-details-table th,.meal-workout-details-table td{border-bottom:1px solid var(--border);text-align:start;overflow-wrap:anywhere;min-width:0;padding:.5rem}.meal-workout-details-table thead th{color:var(--text-muted);font-size:.85em;font-weight:600}.meal-workout-details-table tbody th{width:3rem;color:var(--foreground);font-weight:600}.meal-nutrient-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;padding:0;font-size:clamp(.8rem,1.7vw,.95rem);display:flex}.meal-nutrition-facts>dl .meal-nutrient-row,.meal-pinned-totals .meal-nutrient-row{align-items:center;min-height:calc(1.5rem + 1px)}.meal-nutrient-row dd{text-align:end;flex-shrink:0;margin:0}.meal-nutrient-child dt,.meal-nutrient-child dd,.meal-nutrient-child small{color:var(--foreground)}.meal-nutrient-child dt{padding-inline-start:1rem}.meal-nutrient-flat dt{padding-inline-start:0}.meal-nutrient-row small{color:var(--text-muted)}.meal-item-editor-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem;display:flex}.meal-item-editor-heading>label{flex:1;min-width:0}.meal-item-card label{min-width:0;color:var(--foreground);flex-direction:column;gap:.35rem;font-size:clamp(.8rem,1.8vw,.95rem);display:flex}.meal-item-edit-card button{color:var(--foreground)}.meal-item-edit-card .meal-item-controls{border-bottom:1px solid var(--border);background:var(--hover-bg);border-radius:.7rem .7rem 0 0;align-items:center;gap:0;margin:-.75rem -.75rem .65rem;padding:.15rem .75rem .5rem;display:flex;position:static}.meal-item-controls-toggle{min-width:0;min-height:2.75rem;color:var(--foreground);text-align:start;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.5rem;padding:0 .25rem;display:flex}.meal-item-collapse-toggle{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.meal-item-collapse-toggle:hover{background:var(--hover-bg)}.meal-item-controls-name{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:clamp(.85rem,1.8vw,1rem);font-weight:600;overflow:hidden}.meal-item-collapse-icon{flex:none;transition:transform .2s}.meal-item-collapse-toggle[aria-expanded=false] .meal-item-collapse-icon{transform:rotate(-90deg)}.meal-item-editor-collapse{min-width:0;overflow:visible}.meal-item-edit-card .meal-item-controls>.btn{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--foreground);background:0 0;border:0;place-items:center;padding:0;display:grid}.meal-item-edit-card .meal-item-controls>.btn:hover:not(:disabled),.meal-item-controls-toggle:hover{background:var(--hover-bg)}.meal-item-edit-card .meal-item-controls svg{color:var(--foreground);stroke:currentColor}.meal-item-card input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font-size:inherit;border-radius:.5rem;padding:.6rem}.meal-item-card input:focus-visible{outline:2px solid var(--accent)}.meal-item-portions,.meal-item-primary-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0;display:grid}.meal-legacy-note{border:1px solid var(--border);color:var(--text-muted);border-radius:.75rem;padding:.85rem;font-size:clamp(.8rem,1.8vw,.95rem)}.meal-view-video iframe{aspect-ratio:16/9;border:0;width:100%;margin-top:.5rem;display:block}.meal-item-detail li{margin-bottom:.6rem}.meal-item-detail ul{padding-inline-start:1.25rem}.meal-item-detail-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;display:grid}.meal-item-detail-section{--meal-edit-input-bg:var(--input-bg,var(--background));word-break:break-word;box-sizing:border-box;border:1px solid var(--border);background:var(--card);border-radius:.85rem;min-width:0;padding:0;overflow:hidden}.meal-item-detail-nutrition{grid-column:1/-1}.meal-item-detail-nutrition .meal-nutrition-facts{background:0 0;border:0;border-radius:0;padding:0}.meal-item-detail-section>summary{box-sizing:border-box;background:var(--hover-bg);width:100%;min-height:2.75rem;color:var(--foreground);cursor:pointer;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.4rem .65rem;font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:600;list-style:none;display:flex}.meal-item-detail-section>summary::-webkit-details-marker{display:none}.meal-item-detail-nutrition>summary>span{flex:1;min-width:0}.meal-item-detail-section>summary:after{content:"+";color:var(--text-muted);font-size:1.2em;font-weight:400}.meal-item-detail-section[open]>summary{border-bottom:1px solid var(--border);border-radius:.8rem .8rem 0 0;margin-bottom:.65rem}.meal-item-detail-section>:not(summary){margin-inline:.9rem}.meal-item-detail-section>:last-child{margin-bottom:.9rem}.meal-item-detail-section[open]>summary:after{content:"−"}.meal-item-detail-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:.15rem;border-radius:.25rem}.meal-item-detail-section ul{flex-direction:column;gap:.45rem;margin:0;padding-inline-start:1.25rem;list-style:outside;display:flex}.meal-item-detail-section li{margin:0;padding-inline-start:.15rem;line-height:1.5}.meal-item-detail-lines{flex-direction:column;gap:.45rem;min-width:0;display:flex}.meal-item-detail-line{align-items:baseline;min-width:0;line-height:1.5;display:flex}.meal-item-detail-line-marker{color:var(--text-muted);text-align:end;flex:0 0 1.5rem;padding-inline-end:.4rem}.meal-item-detail-divider{border:0;border-top:1px solid var(--border);width:100%;margin:.2rem 0!important}.meal-item-detail-section>p{margin:0}.meal-item-detail-section>p.meal-item-detail-empty{margin-inline:.9rem}.meal-item-detail-link{white-space:nowrap;align-items:baseline;gap:.25rem;min-width:0;display:flex;overflow:hidden}.meal-item-detail-link-block{min-width:0}.meal-item-detail-link-block hr{border:0;border-top:1px solid var(--border);width:100%;margin:.55rem 0}.meal-item-detail-link strong{flex-shrink:0}.meal-item-detail-link a{min-width:0;color:var(--accent);text-overflow:ellipsis;text-underline-offset:.15em;white-space:nowrap;text-decoration:underline;display:block;overflow:hidden}.meal-item-detail-edit-fields{flex-direction:column;gap:.75rem;min-width:0;display:flex}.meal-item-detail-edit-fields>label{min-width:0;color:var(--foreground);grid-template-columns:max-content minmax(0,1fr);align-items:center;column-gap:.35rem;font-size:clamp(.8rem,1.8vw,.95rem);display:grid}.meal-item-link-error{color:var(--error-color);grid-column:2;font-size:.85em}.meal-item-detail-edit-fields input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;border-radius:.5rem;padding:.6rem}.meal-item-detail-section input{background:var(--meal-edit-input-bg)}.meal-item-detail-section .step-editor-textarea{border:1px solid var(--border);background:var(--meal-edit-input-bg);border-radius:.45rem;padding:.4rem .5rem}.meal-nutrient-edit-value{grid-template-columns:minmax(0,1fr) 1.75rem;align-items:center;gap:.35rem;width:clamp(6.25rem,20vw,8rem);min-width:0;display:grid}.meal-nutrient-edit-value>small{text-align:end;min-width:0;color:var(--text-muted)}.meal-item-detail-header{flex:1;min-width:0}.meal-item-detail-header>p{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .2rem;font-size:clamp(.7rem,1.5vw,.8rem);font-weight:600}.meal-item-detail-header .base-modal-title{overflow-wrap:anywhere}.meal-item-detail-modal .base-modal-close{width:2.75rem;min-height:2.75rem;margin:0}.meal-item-detail-modal .base-modal-footer .btn{border:1px solid var(--border);white-space:normal;min-height:2.75rem}.meal-item-detail-modal .base-modal-footer .meal-item-detail-done{border-color:var(--accent);margin-inline-start:auto}.meal-item-detail-footer{justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.meal-item-detail-footer .meal-item-status-actions{margin-inline-start:auto}.meal-item-detail-modal .base-modal-footer .meal-item-status-actions .meal-card-status-button.btn{background:0 0;border:0}.meal-item-detail-modal .base-modal-footer .meal-item-status-actions .meal-card-status-button.btn:is(:hover,:active,:focus,:focus-visible){box-shadow:none;background:0 0;border:0}.meal-health-card{word-break:break-word;box-sizing:border-box;border:1px solid var(--border);background:var(--card);border-radius:1rem;min-width:0;padding:1rem;overflow:hidden}.meal-health-card h3{color:var(--text-muted);margin:0 0 .5rem;font-size:clamp(.85rem,1.8vw,1rem)}.meal-health-analysis{white-space:normal;color:var(--foreground);margin:0;font-size:clamp(.8rem,1.8vw,.95rem);line-height:1.5}.meal-item-name-field{word-break:break-word;box-sizing:border-box;flex:1;min-width:0;overflow:hidden}.meal-item-name-field>label{margin-bottom:.35rem}.meal-item-name-suggestions{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:min(18rem,45dvh);box-shadow:var(--shadow-floating);margin:.4rem 0 0;padding:.25rem;list-style:none;overflow-y:auto}.meal-item-name-suggestions button{width:100%;min-height:var(--control-height);border-radius:var(--radius-sm);text-align:start;color:var(--foreground);white-space:normal;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;padding:.6rem}.meal-item-name-suggestions button:hover,.meal-item-name-suggestions [aria-selected=true] button{background:var(--surface-hover)}.meal-item-name-suggestions button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.meal-items-modal .base-modal-header{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:end;min-height:5rem;display:grid;position:relative}.meal-view-heading{text-align:center;word-break:break-word;grid-area:1/2;align-self:end;min-width:0}.meal-view-date{color:var(--text-muted);margin:.15rem 0 0;font-size:.85em}.meal-items-modal .base-modal-close{grid-area:1/1;align-self:start;width:2.75rem;min-height:2.75rem;margin:0}.meal-mode-switch--manual{z-index:1;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;position:absolute;top:50%;left:0;translate:0 -50%}.meal-item-editor-photo{z-index:1;aspect-ratio:1;object-fit:cover;border-radius:.75rem;width:100%;display:block;position:relative}.meal-item-editor-photo-blur{aspect-ratio:1;object-fit:cover;filter:blur(.9rem);pointer-events:none;border-radius:.75rem;width:100%;position:absolute;inset:0}.meal-item-editor-heading:has(.meal-item-editor-identity){flex-wrap:wrap}.meal-item-editor-identity{word-break:break-word;box-sizing:border-box;flex-basis:100%;grid-template-columns:clamp(7rem,22vw,10rem) minmax(0,1fr);align-items:start;gap:1rem;min-width:0;max-width:100%;display:grid;overflow:visible}.meal-item-editor-media{word-break:break-word;box-sizing:border-box;min-width:0;position:relative;overflow:visible}.meal-item-editor-media--exercise{margin-bottom:.6rem}.meal-item-photo-controls{z-index:2;pointer-events:none;position:absolute;inset:0}.meal-item-photo-controls .btn{border:1px solid var(--border);background:var(--card);width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--foreground);pointer-events:auto;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.meal-item-photo-change{inset:50% auto auto 50%;transform:translate(-50%,-50%);background:var(--card)!important}@supports (color:color-mix(in lab, red, red)){.meal-item-photo-change{background:color-mix(in srgb, var(--card) 55%, transparent)!important}}.meal-item-photo-change:focus,.meal-item-photo-change:focus-visible,.meal-item-photo-change:active{box-shadow:none;outline:none;color:var(--foreground)!important}.meal-item-photo-change svg{color:var(--foreground);stroke:currentColor}.meal-photo-uploading{min-width:1.25rem;color:var(--solid-white);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;line-height:.7;display:inline-flex}.meal-item-photo-remove{z-index:2;top:0;left:0;right:auto;transform:translate(-50%,-50%);border:1px solid var(--red)!important;width:1.35rem!important;min-width:1.35rem!important;min-height:1.35rem!important;box-shadow:none!important;color:var(--red)!important;background:0 0!important}.meal-item-photo-controls .btn:hover:not(:disabled){background:var(--hover-bg)}.meal-item-editor-fields{flex-direction:column;gap:.5rem;min-width:0;display:flex}.meal-item-editor-fields>label{flex:initial}.meal-item-editor-fields .meal-item-type-label,.meal-item-editor-fields .meal-item-name-field>label{color:var(--foreground)}.meal-item-edit-card .meal-item-detail-edit-button,.meal-item-edit-card .meal-item-detail-edit-button:is(:hover,:active,:focus,:focus-visible){-webkit-text-fill-color:var(--foreground);border-color:var(--border);box-shadow:none;outline:none;color:var(--foreground)!important}.meal-item-edit-card .meal-item-detail-edit-button:hover,.meal-item-edit-card .meal-item-detail-edit-button:active{background:var(--hover-bg)}.meal-item-type-menu-wrap{min-width:0;color:var(--foreground);flex-direction:column;align-items:stretch;gap:.35rem;font-size:clamp(.8rem,1.8vw,.95rem);display:flex}.meal-item-type-label{min-width:0}.meal-item-type-input-wrap{min-width:0;position:relative}.meal-item-type-input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;cursor:pointer;border-radius:.5rem;padding:.6rem 2.5rem .6rem .6rem}.meal-item-type-input:hover{background:var(--hover-bg)}.meal-item-type-input:focus-visible{outline:2px solid var(--accent)}.meal-item-type-indicator{pointer-events:none;color:var(--foreground);inset-inline-end:.65rem;position:absolute;top:50%;transform:translateY(-50%)}.meal-item-photo-controls .btn,.meal-item-type-menu .meal-card-menu-delete{color:var(--foreground)}.exercise-type-option-label{min-width:0}.exercise-type-option-fields{color:var(--accent);flex:none;font-size:.75em;font-weight:600}.meal-item-type-menu{z-index:1200;left:var(--meal-menu-left);width:var(--meal-menu-width);max-width:calc(100vw - 1rem);right:auto}.exercise-type-hint{color:var(--text-muted);margin:0;font-size:.9rem}.exercise-duration-fields{grid-template-columns:minmax(0,1fr);gap:.65rem;display:grid}.exercise-duration-fields label{min-width:0;color:var(--foreground);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.exercise-sets-editor{flex-direction:column;gap:.5rem;min-width:0;display:flex}.exercise-set-headings,.exercise-set-row{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:.5rem;min-width:0;display:grid}.exercise-sets-editor--two-metrics .exercise-set-headings,.exercise-sets-editor--two-metrics .exercise-set-row{grid-template-columns:2.75rem repeat(2,minmax(0,1fr)) 2.75rem}.exercise-set-headings{color:var(--text-muted);font-size:.78rem;font-weight:600}.exercise-set-number{background:var(--surface-raised);min-height:2.75rem;color:var(--foreground);border-radius:.5rem;place-items:center;font-weight:600;display:grid}.exercise-set-value{flex-direction:column;gap:.25rem;min-width:0;display:flex}.exercise-set-mobile-label{color:var(--text-muted);font-size:.75rem;display:none}.exercise-set-remove{place-items:center;width:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;display:grid}.exercise-set-add{justify-content:center;align-items:center;gap:.45rem;width:100%;min-height:2.75rem;display:flex}.table-wrap{width:100%;margin:0 auto}.table-inner{width:100%}.table-wrap table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);width:100%;box-shadow:0 2px 8px var(--shadow-soft);table-layout:fixed;background:0 0;font-size:.82rem;overflow:hidden}.table-wrap thead{background:linear-gradient(180deg, var(--table-header) 0%, var(--table-header-end) 100%)}.table-wrap tbody{background:var(--card)}.table-wrap th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border-bottom:1px solid var(--white-soft-6);background:var(--table-header);padding:.9rem .4rem;font-size:.68rem;font-weight:700}.table-wrap th svg{vertical-align:-2px}.table-wrap th:first-child{border-top-left-radius:var(--radius-md)}.table-wrap th:last-child{border-top-right-radius:var(--radius-md)}.table-wrap td:first-child,.table-wrap th:first-child{white-space:nowrap;width:50px}.table-wrap td:last-child,.table-wrap th:last-child{white-space:nowrap;width:130px}.table-wrap td{border-bottom:1px solid var(--border);vertical-align:top;height:auto;padding:.65rem .55rem}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr{height:auto;transition:background .18s cubic-bezier(.22,1,.36,1)}.table-wrap tr:hover td{background:var(--accent-soft-2)}.day-cell{text-align:center;min-width:36px}.day-td{white-space:nowrap;vertical-align:middle;background:var(--white-soft);width:50px;padding:.6rem .2rem!important}.day-td-clickable{cursor:pointer;transition:background .2s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.day-td-clickable:hover{transform:scale(1.04);background:var(--accent-soft)!important}.day-td-clickable:active{transform:scale(.97)}.day-link-icon{opacity:0;vertical-align:super;margin-left:2px;font-size:.55rem;transition:opacity .2s;display:inline-block}.day-td-clickable:hover .day-link-icon{opacity:.7}.day-cell-compact{flex-direction:column;align-items:center;gap:2px;padding:2px 0;line-height:1;display:flex}.day-num{font-family:var(--font-display);font-variation-settings:"opsz" 18;color:var(--heading);font-size:1.05rem;font-weight:700}.day-weekday{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:.6rem;font-weight:500}.day-month{color:var(--text-light);text-transform:uppercase;letter-spacing:.6px;opacity:.5;margin-top:1px;font-size:.5rem}.day-today-dot{background:var(--today-circle-bg);width:5px;height:5px;box-shadow:0 0 6px var(--accent-glow-orange);border-radius:50%;margin-top:3px}td.meal-td{border-radius:var(--radius-sm);background:var(--white-soft-2-2);border:1px solid var(--border);height:9rem;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}td.meal-td:hover{background:var(--accent-soft);box-shadow:var(--shadow-card-hover);z-index:2;border-color:var(--accent-dim)}td.meal-td:active{background:var(--accent-dim);transform:scale(.995)}.meal-cell{text-align:left;padding:.85rem .9rem .8rem;line-height:1.4}.meal-cell.clickable{box-sizing:border-box;cursor:pointer;width:100%;height:100%;overflow:hidden}.meal-cell.has-plan-ribbon{position:static;overflow:hidden}.meal-cell.no-image{align-items:center;display:flex;position:static;overflow:hidden}.meal-cell.no-image .meal-content{justify-content:center;height:100%;margin-bottom:0}.meal-cell.no-image .meal-name-section{margin-top:.6rem}.meal-main{word-break:break-word;font-size:.82rem;font-weight:500}.meal-content{flex:1;gap:8px;width:100%;margin-bottom:8px;display:flex}.meal-image-section{border-radius:var(--radius-xs);width:44px;height:44px;box-shadow:0 2px 6px var(--shadow-sm);flex-direction:column;flex-shrink:0;align-items:stretch;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.meal-thumb{object-fit:cover;background:var(--border);flex:1;width:100%;height:100%;min-height:0;transition:transform .2s;display:block}.meal-td:hover .meal-thumb{transform:scale(1.05)}.meal-thumb-placeholder{background:var(--border);border-radius:var(--radius-xs);width:100%;height:100%}.meal-label-footer{flex-direction:column;width:100%;margin-top:.35rem;padding:0 .55rem .35rem;display:flex;position:absolute;bottom:0;left:0}.meal-label-row{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.meal-label-tag{border-radius:var(--radius-xs);letter-spacing:.3px;white-space:nowrap;align-self:flex-start;align-items:center;gap:3px;margin-top:3px;padding:.15rem .5rem;line-height:1.3;display:inline-flex}.meal-label-tag.tag-desi,.meal-label-tag.tag-western,.meal-label-tag.tag-mix{background:var(--hover-bg);color:var(--text-muted)}.meal-name-section{flex-direction:column;flex:1;min-width:0;padding-bottom:1rem;display:flex}.meal-name-bottom{flex-direction:column;margin-top:auto;display:flex}.meal-name-lines{flex-direction:column;display:flex}.meal-name-line{word-break:break-word;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.meal-name-line+.meal-name-line{margin-top:2px}.meal-macro-divider{color:var(--border);margin:3px 3px 0;font-size:.6rem;line-height:1.3;display:inline-block}.meal-macro,.meal-kcal{border:1px solid var(--border);white-space:nowrap;color:var(--solid-white);background:var(--status-under);border-radius:.4rem;align-items:center;margin-top:3px;padding:.12rem .38rem;font-size:clamp(.5rem,.9vw,.62rem);font-weight:700;line-height:1.2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.meal-macro,.meal-kcal{background:color-mix(in srgb, color-mix(in srgb, var(--status-under) 85%, var(--black-trans-65)) 85%, transparent)}}.meal-kcal{align-self:flex-start}.meal-label-divider{background:linear-gradient(90deg, transparent, var(--border), transparent);opacity:.6;flex-shrink:0;width:100%;height:1px;margin:0 0 3px;display:block}@media (max-width:640px){.meal-content{flex-direction:column;align-items:stretch;gap:0;width:100%;min-height:auto;margin-bottom:0}.meal-image-section{border-radius:0;flex-shrink:0;align-self:stretch;width:100%;height:52px;margin:0;padding:0;display:flex;overflow:hidden}.meal-thumb{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.meal-name-section{box-sizing:border-box;flex-direction:column;width:100%;padding:.4rem .5rem .45rem;display:flex}.meal-name-lines{text-align:left;width:100%;min-width:0;font-weight:700}.meal-name-line{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.8rem;font-weight:700;line-height:1.15;overflow:hidden}.meal-name-bullet,.meal-label-footer,.meal-label-tag,.meal-macro,.meal-kcal,.meal-label-divider{display:none}.meal-add-text{font-size:.52rem}.meal-empty{min-height:42px}.meal-more-badge{padding:0 4px;font-size:.5rem}}.tag{border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;margin-top:3px;padding:.1rem .5rem;font-size:.6rem;font-weight:600;display:inline-block}.meal-empty{opacity:.35;border-radius:var(--radius-sm);border:1.5px dashed #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;min-height:70px;margin:4px;transition:all .2s;display:flex}.meal-td:hover .meal-empty{opacity:.85;border-color:var(--accent-dim);background:var(--accent-soft)}.meal-add-text{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-size:.62rem;font-weight:700}.meal-td .meal-empty svg{color:var(--text-muted);transition:transform .2s,color .2s}.meal-td:hover .meal-empty svg{color:var(--accent);transform:scale(1.1)}.meal-more-badge{background:var(--accent);color:#fff;border-radius:var(--radius-xs);text-align:center;min-width:1.2rem;box-shadow:0 1px 3px var(--shadow-sm2);align-self:flex-start;margin-top:.2rem;padding:1px 5px;font-size:.6rem;font-weight:700;line-height:1.4}.readonly-empty{color:var(--text-light);opacity:.3;justify-content:center;align-items:center;height:100%;font-size:.75rem;display:flex}td.meal-td-draggable{cursor:grab;touch-action:pan-y}td.meal-td-draggable *{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}td.meal-td-draggable .meal-cell,td.meal-td-draggable .meal-cell .meal-thumb,td.meal-td-draggable .meal-cell .meal-name-section{pointer-events:none}td.meal-td.drag-source{opacity:.4;cursor:grabbing;border-style:dashed}td.meal-td.drop-target{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent), 0 8px 24px var(--shadow-sm2);z-index:4;transition:box-shadow .12s,background-color .12s}td.meal-td.drop-target .meal-empty{opacity:.9;border-color:var(--accent);background:var(--accent-soft)}.meal-drag-ghost{z-index:9999;pointer-events:none;will-change:transform;contain:layout style paint;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--accent);max-width:180px;box-shadow:0 6px 18px var(--shadow-md);padding:.4rem;display:none;position:fixed;top:0;left:0}.meal-drag-ghost.is-active{display:block}.ghost-inner{align-items:center;gap:.4rem;display:flex}.ghost-thumb{border-radius:var(--radius-xs);object-fit:cover;background:var(--border);width:36px;min-width:36px;height:36px}.ghost-icon{border-radius:var(--radius-xs);background:var(--accent-soft);justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:1.2rem;display:flex}.ghost-details{flex-direction:column;gap:.15rem;min-width:0;display:flex;overflow:hidden}.ghost-title{color:var(--heading);line-height:1.2}.ghost-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;gap:.15rem;font-size:.55rem;display:flex;overflow:hidden}.overwrite-preview{text-align:left;width:100%;margin-top:.35rem}.overwrite-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white-soft-2-2);padding:.5rem .6rem}.overwrite-row-old{opacity:.65}.overwrite-row-new{border-color:var(--accent);background:var(--accent-soft)}.overwrite-caption{letter-spacing:.6px;text-transform:uppercase;color:var(--text-light);margin-bottom:.35rem;font-size:.55rem;font-weight:700;display:block}.overwrite-row-new .overwrite-caption{color:var(--accent)}.overwrite-meal{align-items:center;gap:.55rem;min-width:0;display:flex}.overwrite-thumb{border-radius:var(--radius-xs);object-fit:cover;background:var(--border);flex-shrink:0;width:38px;height:38px}.overwrite-thumb-empty{justify-content:center;align-items:center;font-size:1rem;display:flex}.overwrite-meal-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.overwrite-title{color:var(--foreground);word-break:break-word;line-height:1.3}.overwrite-meta{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.overwrite-meta .meal-label-tag{margin-top:0}.overwrite-kcal{color:var(--text-muted);white-space:nowrap;font-size:.6rem;font-weight:600}.overwrite-arrow{color:var(--accent);justify-content:center;align-items:center;padding:.25rem 0;display:flex}.overwrite-note{color:var(--text-light);text-align:center;margin:.55rem 0 0;font-size:.65rem;line-height:1.4}.meal-drag-toast{left:50%;bottom:calc(24px + var(--safe-bottom,0px));z-index:9999;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--accent);max-width:min(90vw,340px);color:var(--text-main);text-align:center;box-shadow:0 8px 24px var(--shadow-sm2);padding:.5rem .9rem;font-size:.75rem;font-weight:600;animation:.2s meal-drag-toast-in;position:fixed;transform:translate(-50%)}.meal-drag-toast.error{border-color:var(--red);color:var(--red)}@keyframes meal-drag-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tag-desi,.tag-western,.tag-mix,.tag-strength,.tag-cardio,.tag-flexibility,.tag-yoga{background:var(--hover-bg);color:var(--text-muted)}.goal-td{white-space:nowrap;vertical-align:middle;background:var(--white-soft);width:130px;padding:.45rem .25rem!important}.goal-cell{flex-direction:column;gap:6px;min-width:0;display:flex}.goal-cal{border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:5px 6px;transition:background .15s;display:flex}.goal-cal-top{justify-content:space-between;align-items:baseline;display:flex}.goal-cal-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);opacity:.7;font-size:.58rem;font-weight:700}.goal-cal-value{color:var(--heading);font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:700}.goal-cal-value.under{color:var(--status-under)}.goal-cal-value.good{color:var(--status-good)}.goal-cal-value.over{color:var(--status-over)}.goal-cal-target{color:var(--text-light);margin-left:2px;font-size:.65rem;font-weight:500}.goal-cal-track{background:var(--border);border-radius:var(--radius-pill);width:100%;height:3px;overflow:hidden}.goal-cal-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s}.goal-cal-fill.under{background:var(--status-under)}.goal-cal-fill.good{background:var(--status-good)}.goal-cal-fill.over{background:var(--status-over)}.goal-macros{flex-direction:column;gap:6px;display:flex}.goal-macros-header{display:none}.goal-macro-item{border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:3px 6px;transition:background .15s;display:flex}.goal-macro-item:hover{background:var(--white-soft)}.goal-macro-top{justify-content:space-between;align-items:baseline;display:flex}.goal-macro-icon{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);opacity:.7;font-size:.58rem;font-weight:700}.goal-macro-track{background:var(--border);border-radius:var(--radius-pill);width:100%;height:3px;display:block;overflow:hidden}.goal-macro-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s;display:block}.goal-macro-fill.good{background:var(--status-good)}.goal-macro-fill.over{background:var(--status-over)}.goal-macro-fill.under{background:var(--status-under)}.goal-macro-value{font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;font-size:.65rem;font-weight:600;display:inline-flex}.goal-macro-value.good{color:var(--status-good)}.goal-macro-value.over{color:var(--status-over)}.goal-macro-value.under{color:var(--status-under)}.goal-macro-sep{color:var(--text-light);opacity:.6;margin:0 1px;font-weight:400}@media (max-width:640px){.goal-td{padding:.35rem .15rem!important}.goal-cal{gap:1px;padding:3px 4px}.goal-cal-label{font-size:0}.goal-cal-label:after{content:"C";letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:.5rem;font-weight:700}.goal-cal-value,.goal-cal-target{font-size:.38rem}.goal-cal-track{height:2px}.goal-macro-item{gap:3px;padding:1px 4px}.goal-macro-value{font-size:.38rem}.goal-macro-icon{font-size:0}.goal-macro-icon:after{content:attr(data-short);letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:.5rem;font-weight:700}}.cal-badge{background:var(--cal-badge-bg);color:var(--cal-badge-color);border-radius:var(--radius-xs);white-space:nowrap;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.today-row td{position:relative;background:var(--today-bg)!important}.today-row td:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-hover));border-radius:var(--radius-pill);opacity:.8;width:3px;position:absolute;top:2px;bottom:2px;left:0}.today-row .day-num{background:var(--today-circle-bg);color:#fff;width:30px;height:30px;box-shadow:0 2px 8px var(--today-shadow);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.clickable:not(.meal-cell){cursor:pointer;border-radius:var(--radius-xs);-webkit-user-select:none;user-select:none;margin:-.3rem -.4rem;padding:.3rem .4rem;transition:background .15s}.clickable:not(.meal-cell):hover{background:var(--hover-bg)}.clickable:not(.meal-cell):active{background:var(--hover-bg-active)}.calendar-header{box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.4rem;width:100%;margin:0;padding:.65rem .9rem;display:flex}.calendar-header.public-calendar-header{justify-content:center;position:relative}.calendar-header.public-calendar-header .calendar-date-nav-group{position:absolute;left:50%;transform:translate(-50%)}.calendar-header.public-calendar-header .calendar-actions-wrap{margin-left:auto}.calendar-header.is-sticky{top:var(--safe-top,0px);z-index:89;background:var(--overlay-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px)saturate(1.2);box-shadow:var(--shadow-floating);position:sticky}.calendar-nav-btn{border:1px solid var(--border);background:var(--card);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1);display:flex}.calendar-nav-btn:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.05)}.calendar-nav-btn:active{transform:scale(.95)}.calendar-date-nav-group{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-canvas);box-sizing:border-box;flex-shrink:1;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.25rem;display:inline-flex}.calendar-header-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;display:flex}.calendar-date-nav-group .calendar-header-controls{flex-wrap:nowrap;gap:.35rem;min-width:0}.calendar-header-group{flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.calendar-header-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-size:.65rem;font-weight:700}.calendar-select{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;min-width:0;padding:.4rem .55rem .4rem .65rem;font-family:Google Sans Text,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.calendar-date-nav-group .calendar-select{border-radius:0}.calendar-select .select-dropdown-chevron{width:13px;height:13px}.calendar-nav-btn svg{width:15px;height:15px}.calendar-month-select{width:78px}.calendar-year-select{width:76px}.calendar-select:hover{border-color:var(--accent)}.calendar-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow);outline:none}.calendar-stats-toggle{border:1px solid var(--border);background:var(--card);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1);display:flex}.calendar-stats-toggle svg{transition:transform .2s}.calendar-stats-toggle.expanded svg{transform:rotate(180deg)}.calendar-stats-toggle:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.05)}.calendar-stats-toggle:active{transform:scale(.95)}.calendar-actions-btn{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--accent);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.calendar-actions-btn svg{width:18px;height:18px}.calendar-actions-btn:hover{background:var(--accent-soft-2);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-2)}.calendar-actions-btn:active{transform:scale(.95)}.calendar-actions-btn-ai{color:var(--accent)}.calendar-actions-btn-ai:hover{color:var(--accent-hover)}.calendar-actions-wrap{align-items:center;gap:6px;display:flex;position:relative}.calendar-actions-toggle{min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-actions-toggle:hover{background:var(--surface-hover);border-color:var(--accent)}.calendar-actions-toggle:focus-visible,.calendar-actions-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.calendar-actions-dropdown{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:12rem;box-shadow:var(--shadow-floating);z-index:100;animation:.15s dropdownSlideIn;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calendar-actions-item{width:100%;min-height:var(--control-height);color:var(--foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:.6rem .85rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:600;display:flex}.calendar-actions-item:hover{background:var(--surface-hover)}.calendar-actions-item:disabled{color:var(--text-muted);cursor:not-allowed}.calendar-actions-item:disabled:hover{background:0 0}.calendar-actions-premium-tag{background:var(--accent-soft-2);color:var(--accent);border-radius:999px;margin-left:auto;padding:.15rem .45rem;font-size:.64rem;font-weight:700;line-height:1.4}.calendar-actions-item-ai{color:var(--accent);font-weight:600}.calendar-actions-item-ai:hover{color:var(--accent-hover);background:var(--accent-soft-2)!important}.calendar-actions-item-danger{color:var(--red)}.calendar-actions-item-danger:hover{background:var(--red-bg-soft)}.calendar-filter-group{border-top:1px solid var(--border);padding:.55rem .65rem}.calendar-filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.66rem;font-weight:700;display:block}.calendar-filter-options{border-radius:var(--radius-sm);background:var(--surface-canvas);gap:.15rem;padding:.18rem;display:flex}.calendar-filter-option{border-radius:var(--radius-xs);min-width:0;min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:1 1 0;padding:.3rem .25rem;font-size:.68rem;font-weight:600}.calendar-filter-option:hover{background:var(--surface-hover)}.calendar-filter-option.active{border-color:var(--border-subtle);background:var(--card);color:var(--accent);box-shadow:0 1px 3px var(--shadow-sm)}.calendar-filter-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.calendar-actions-divider{background:var(--border);height:1px;margin:.2rem .5rem}.calendar-header :is(.calendar-stats-toggle,.calendar-nav-btn,.calendar-actions-btn,.calendar-actions-toggle){border-radius:var(--radius-pill);background:var(--surface-hover);background-clip:content-box;border:0;padding:.25rem}.calendar-header :is(.calendar-stats-toggle,.calendar-nav-btn,.calendar-actions-btn,.calendar-actions-toggle):hover{background-color:var(--accent-light);box-shadow:none;background-clip:content-box}.calendar-header :is(.calendar-actions-btn,.calendar-actions-toggle) svg{width:16px;height:16px}@media (max-width:768px){.calendar-date-nav-group{gap:.125rem;padding:.125rem}.calendar-date-nav-group .calendar-header-controls{gap:.125rem}.calendar-date-nav-group .calendar-select{gap:.125rem;max-width:100%;height:44px;min-height:44px;padding:0 .25rem;font-size:.72rem;line-height:1.1}.calendar-date-nav-group .calendar-month-select{width:clamp(44px,12vw,64px)}.calendar-date-nav-group .calendar-year-select{width:clamp(56px,14vw,68px)}.calendar-header .calendar-stats-toggle,.calendar-header .calendar-nav-btn,.calendar-header .calendar-actions-btn,.calendar-header .calendar-actions-toggle{border-radius:var(--radius-pill);width:44px;min-width:44px;height:44px;min-height:44px;padding:.25rem}.calendar-actions-wrap{flex-shrink:0;gap:.125rem}.calendar-header.public-calendar-header .calendar-date-nav-group{position:static;transform:none}.calendar-today-btn{width:32px;height:32px}}@media (max-width:480px){.calendar-header-label{font-size:.55rem}.calendar-today-btn{width:30px;height:30px}}.calendar-import-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:.4rem .9rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.calendar-import-btn:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.03)}.calendar-import-btn:active{transform:scale(.97)}.calendar-clear-btn{border-radius:var(--radius-sm);border:2px solid var(--red-border-soft);background:var(--red-bg-soft);color:var(--red);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;min-width:0;padding:.45rem .85rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.calendar-clear-btn:hover{background:var(--danger-soft-bg);border-color:var(--danger-soft-border);color:var(--red-bright)}.calendar-clear-btn:active{transform:scale(.97)}.meal-rows-stagger tr{opacity:0;animation:.3s cubic-bezier(.22,1,.36,1) forwards meal-row-in}.meal-rows-stagger tr:first-child{animation-delay:30ms}.meal-rows-stagger tr:nth-child(2){animation-delay:60ms}.meal-rows-stagger tr:nth-child(3){animation-delay:90ms}.meal-rows-stagger tr:nth-child(4){animation-delay:.12s}.meal-rows-stagger tr:nth-child(5){animation-delay:.15s}.meal-rows-stagger tr:nth-child(6){animation-delay:.18s}.meal-rows-stagger tr:nth-child(7){animation-delay:.21s}.meal-rows-stagger tr:nth-child(8){animation-delay:.24s}.meal-rows-stagger tr:nth-child(9){animation-delay:.27s}.meal-rows-stagger tr:nth-child(10){animation-delay:.3s}.meal-rows-stagger tr:nth-child(11){animation-delay:.33s}.meal-rows-stagger tr:nth-child(12){animation-delay:.36s}.meal-rows-stagger tr:nth-child(13){animation-delay:.39s}.meal-rows-stagger tr:nth-child(14){animation-delay:.42s}@keyframes meal-row-in{0%{opacity:0}to{opacity:1}}.meal-rows-stagger.slide-left tr{animation-name:meal-row-in-left}.meal-rows-stagger.slide-right tr{animation-name:meal-row-in-right}@keyframes meal-row-in-left{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes meal-row-in-right{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media (max-width:480px){.calendar-import-btn,.calendar-clear-btn{gap:4px;padding:.35rem .7rem;font-size:.72rem}}@media (max-width:768px){.table-wrap{padding:.15rem;overflow-x:hidden}.table-wrap table{table-layout:fixed;width:100%;min-width:0}.table-wrap th,.table-wrap td{white-space:normal;word-break:break-word}.table-wrap th{letter-spacing:0;padding:.4rem .1rem;font-size:.55rem}.table-wrap td{padding:.3rem .1rem}.table-wrap td:first-child,.table-wrap th:first-child{width:10%}.table-wrap td:last-child,.table-wrap th:last-child{width:auto}.meal-header-text{display:none}.day-td{width:auto;padding:.3rem .05rem!important}.day-cell-compact{gap:1px}.day-num{font-size:.75rem}.day-weekday{font-size:.48rem}.day-month{font-size:.4rem;display:none}.day-today-dot{width:4px;height:4px;margin-top:1px}}.import-modal-brand{color:var(--import-purple-light);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:flex}.copy-month-modal,.clear-month-modal{max-width:34rem}.copy-month-modal .base-modal-header,.clear-month-modal .base-modal-header{padding-bottom:1rem}.copy-month-modal .import-modal-brand,.clear-month-modal .import-modal-brand{color:var(--accent);letter-spacing:.02em;text-transform:none;font-size:.9rem}.copy-month-modal-body{flex-direction:column;gap:.9rem;display:flex}.copy-month-modal-body .import-field>label{letter-spacing:.07em;font-size:.7rem}.copy-month-modal-body .import-summary{border-radius:10px;padding:.85rem 1rem}.copy-month-modal-body .import-arrow{border:1px solid var(--border);background:var(--hover-bg);border-radius:50%;align-self:center;width:2.5rem;height:2.5rem;padding:0}.copy-month-modal-body .import-arrow svg{width:18px;height:18px}.copy-month-modal-body .import-selects{gap:.75rem}.copy-month-modal-body .import-select{border-radius:8px;min-height:2.75rem}.copy-month-modal-body .import-warning{border-radius:10px;gap:.15rem;padding:.9rem 1rem}.copy-month-modal-body .import-checkbox-label{align-items:center;min-height:44px}.copy-month-modal .base-modal-footer,.clear-month-modal .base-modal-footer{gap:.75rem}.copy-month-modal .import-btn,.clear-month-modal .import-btn{border-radius:8px;min-height:44px}.import-modal-close-btn{background:var(--import-soft-bg);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.import-modal-close-btn:hover{background:var(--white-soft-12);color:var(--foreground);transform:rotate(90deg)}.import-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.import-select{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:5px;width:100%;padding:.55rem .75rem;font-family:Google Sans Text,sans-serif;font-size:.9rem;font-weight:600;transition:border-color .15s}.import-select:hover{border-color:var(--accent)}.import-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow);outline:none}.import-summary{background:var(--card);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:.85rem 1rem;font-size:.82rem;line-height:1.5}.import-summary strong{color:var(--foreground)}.import-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-color);border-radius:5px;flex-direction:column;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;display:flex}.import-warning svg{color:var(--warning-color);flex-shrink:0;margin-top:1px}.import-modal-footer{border-top:1px solid var(--border);background:var(--card);flex-shrink:0;gap:10px;padding:.85rem 1.25rem;display:flex}.import-btn{flex:1}.import-selects{gap:10px;display:flex}.import-selects .import-select{flex:1}.import-selects .select-dropdown{flex:1;min-width:0}.meal-entry-filters{border:1px solid var(--border);background:var(--card);border-radius:10px;gap:1rem;min-width:0;padding:1rem;display:grid}.meal-entry-filter-group{border:0;min-width:0;margin:0;padding:0}.meal-entry-filter-group legend{color:var(--text-muted);margin-bottom:.5rem;padding:0;font-size:.75rem;font-weight:600}.meal-entry-filter-options{border:1px solid var(--border);background:var(--hover-bg);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.meal-entry-filter-options button{min-width:0;min-height:44px;color:var(--text-muted);font:inherit;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:.5rem .35rem;font-size:.82rem;font-weight:600;line-height:1.25;display:flex}.meal-entry-filter-options button:hover:not(:disabled):not(.active){background:var(--card);color:var(--foreground)}.meal-entry-filter-options button.active{background:var(--accent);color:var(--text-on-accent)}.meal-entry-filter-options button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meal-entry-filter-options button:disabled{opacity:.65;cursor:default}.import-arrow{color:var(--accent);justify-content:center;align-items:center;padding:.25rem 0;display:flex}.import-checkbox-label{cursor:pointer;color:var(--warning-color);align-items:flex-start;gap:8px;margin-top:.35rem;display:flex}.import-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.import-warning-header{align-items:center;gap:8px;margin-bottom:.5rem;display:flex}.import-warning-header strong{font-size:.85rem}.import-warning p{color:var(--amber);margin:0 0 .35rem;font-size:.78rem;line-height:1.5}.import-password-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);border-radius:5px;outline:none;padding:.55rem .75rem;font-family:Google Sans Text,sans-serif;font-size:.9rem;transition:border-color .15s}.import-password-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow)}.import-password-input::placeholder{color:var(--text-light)}.import-btn-danger{background:var(--red-dark);color:var(--text-on-accent);box-shadow:0 4px 14px var(--danger-btn-shadow)}.import-btn-danger:hover:not(:disabled){background:var(--red-dark);box-shadow:0 6px 20px var(--danger-btn-shadow-strong);transform:translateY(-1px)}.import-btn-danger:active:not(:disabled){transform:translateY(0)}.clear-brand{color:var(--error-color)!important}.clear-warning{background:var(--error-bg)!important;border-color:var(--danger-soft-border)!important}.clear-warning .import-warning-header{color:var(--red)}.clear-warning p{color:var(--red-bright)!important}.clear-month-body{flex-direction:column;gap:1rem;display:flex}.clear-scope-tabs{border:1px solid var(--border);background:var(--hover-bg);border-radius:999px;justify-content:center;align-self:center;gap:.25rem;width:min(100%,20rem);padding:.25rem;display:flex}.clear-scope-tabs button{min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;font-weight:600}.clear-scope-tabs button:hover{color:var(--foreground)}.clear-scope-tabs button.active{background:var(--card);color:var(--foreground);box-shadow:0 1px 4px var(--shadow-sm)}.clear-scope-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.clear-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;display:grid}.clear-date-input{box-sizing:border-box;border:1px solid var(--border);background:var(--card);width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;border-radius:5px;padding:.55rem .65rem}.clear-date-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.monthly-planner-modal{background:var(--card);border-radius:var(--radius-lg);width:640px;max-width:94vw;height:90dvh;max-height:90dvh;box-shadow:0 25px 60px var(--black-trans-65,#0003), inset 0 1px 0 #ffffff0d;flex-direction:column;display:flex;position:relative;overflow:hidden}.monthly-planner-modal:before{content:none}.monthly-planner-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:24px 28px 16px;position:relative}.monthly-planner-header-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.monthly-planner-brand{align-items:center;gap:8px;display:flex}.monthly-planner-brand svg{color:var(--accent)}.monthly-planner-header-month{color:var(--text-muted);background:var(--surface-raised);border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.02em;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:500}.monthly-planner-close{cursor:pointer;color:var(--text-light);min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.monthly-planner-close:hover{background:var(--white-soft);color:var(--foreground)}.mp-wizard-steps{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:16px 28px 0;display:flex}.mp-wizard-step-dot{white-space:nowrap;transition:color var(--duration-standard) var(--ease-standard);align-items:center;gap:6px;display:flex}.mp-wizard-step-dot.active{color:var(--accent)}.mp-wizard-step-dot.done{color:var(--green)}.mp-wizard-step-circle{background:var(--border);width:22px;height:22px;color:var(--text-muted);transition:background-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.mp-wizard-step-dot.active .mp-wizard-step-circle{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mp-wizard-step-dot.active .mp-wizard-step-circle{background:color-mix(in srgb, var(--accent) 78%, var(--foreground) 22%)}}.mp-wizard-step-dot.active .mp-wizard-step-circle{color:var(--text-on-accent)}.mp-wizard-step-dot.done .mp-wizard-step-circle{background:var(--green);color:var(--text-on-accent)}.mp-wizard-step-dot.done .mp-wizard-step-circle:after{content:"✓";font-size:12px}.mp-wizard-step-dot.done .mp-wizard-step-circle span{display:none}.mp-wizard-step-dot.active .mp-wizard-step-circle span,.mp-wizard-step-dot .mp-wizard-step-circle span{display:inline}.mp-wizard-step-line{background:var(--border);width:40px;height:2px;transition:background-color var(--duration-standard) var(--ease-standard);border-radius:5px;margin:0 8px}.mp-wizard-step-line.done{background:var(--green)}@media (prefers-reduced-motion:reduce){.mp-wizard-step-dot,.mp-wizard-step-circle,.mp-wizard-step-line{transition:none}}.monthly-planner-body{flex-direction:column;flex:1;align-items:stretch;min-height:0;padding:14px 28px;display:flex;overflow:hidden}.monthly-planner-body:has(.monthly-planner-review){padding:0}.monthly-planner-body>*{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.monthly-planner-error{background:var(--red-soft);border:1px solid var(--error-border);color:var(--red);border-radius:5px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:13px;animation:.3s mp-shake;display:flex}.monthly-planner-terminal-error{box-sizing:border-box;flex:none;width:calc(100% - 56px);max-width:600px;margin:8px auto 0}@keyframes mp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.monthly-planner-error svg{flex-shrink:0}.monthly-planner-upgrade-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;margin-left:auto;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.monthly-planner-upgrade-btn:hover{background:var(--accent-hover)}.mp-step-transition-container{flex:1;min-height:0;padding-right:2px;position:relative;overflow:hidden}.mp-step-panel{opacity:0;pointer-events:none;will-change:opacity, transform;scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;flex-direction:column;padding-bottom:16px;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0;overflow:hidden auto;transform:translate(24px)}.mp-step-panel::-webkit-scrollbar{width:5px}.mp-step-panel::-webkit-scrollbar-track{background:0 0}.mp-step-panel::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);border-radius:5px}.mp-step-panel.active{opacity:1;transform:translateX(var(--swipe-offset,0px));pointer-events:auto}.mp-step-panel.exit-left{opacity:0;transform:translate(-24px)}.mp-step-panel.exit-right{opacity:0;transform:translate(24px)}.mp-calendar-step-panel>div{box-sizing:border-box;flex-direction:column;flex:1 0 auto;justify-content:center;min-height:100%;display:flex}.mp-section-card{background:var(--white-soft);border:1px solid var(--border-soft,var(--border));box-sizing:border-box;border-radius:12px;width:100%;margin-bottom:10px;padding:14px;transition:border-color .2s}.mp-mode-panel>div{box-sizing:border-box;flex:1;width:100%;height:100%;min-height:100%;position:relative}.mp-mode-card{width:100%;max-width:32rem;margin:0 auto}.mp-mode-title{text-align:center;word-break:break-word;max-width:100%;margin:0}.mp-mode-wheel{background:var(--input-bg,var(--card));box-sizing:border-box;border:0;border-radius:12px;width:min(100%,20rem);min-width:min(100%,18rem);margin:0;padding:.25rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mp-mode-wheel .wheel-picker-item{padding-inline:.2rem;font-size:clamp(.82rem,2.8vw,1.05rem)}.mp-mode-wheel .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.mp-step-panel>.mp-section-card:last-child{margin-bottom:0}.mp-collapsible-section{opacity:0;max-height:0;margin-bottom:0;transition:max-height .3s,opacity .25s,margin-bottom .3s;overflow:hidden}.mp-collapsible-section.expanded{opacity:1;max-height:300px;margin-bottom:10px}.mp-section-card:hover{border-color:var(--border)}.mp-section-card-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.mp-breakfast-drink-header .mp-section-card-title{flex:1;margin-bottom:0}.mp-switch{cursor:pointer;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative}.mp-switch input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mp-switch-track{border:1px solid var(--border);background:var(--border);border-radius:999px;flex:0 0 40px;width:40px;height:24px;transition:background .18s,border-color .18s;display:block;position:relative}.mp-switch-thumb{background:var(--card);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow-medium);border-radius:50%;transition:transform .18s;position:absolute;top:2px;left:2px}.mp-switch input:checked+.mp-switch-track{border-color:var(--accent);background:var(--accent)}.mp-switch input:checked+.mp-switch-track .mp-switch-thumb{transform:translate(16px)}.mp-switch input:focus-visible+.mp-switch-track{outline:2px solid var(--accent);outline-offset:2px}.mp-switch.disabled{cursor:not-allowed;opacity:.55}.mp-section-card.mp-premium-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg, var(--accent-soft), var(--card) 45%);max-width:100%;margin-bottom:0;padding:1.25rem}.mp-premium-card,.mp-premium-header,.mp-premium-heading,.mp-premium-toolbar,.mp-premium-options,.mp-feature-row,.mp-feature-copy,.mp-plan-limit-note{word-break:break-word;box-sizing:border-box;min-width:0;overflow:hidden}.mp-premium-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.mp-premium-icon,.mp-feature-icon{border-radius:var(--radius-sm);background:var(--accent-dim);width:2.5rem;height:2.5rem;color:var(--accent);flex:0 0 2.5rem;justify-content:center;align-items:center;display:inline-flex}.mp-premium-heading h3{color:var(--foreground);margin:0;font-size:clamp(.95rem,1.5vw,1.05rem);font-weight:650;line-height:1.4}.mp-premium-heading p{color:var(--text-muted);margin:.25rem 0 0;font-size:clamp(.75rem,1.25vw,.8rem);line-height:1.5}.mp-premium-toolbar{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 .5rem;font-size:clamp(.75rem,1.25vw,.8rem);display:flex}.mp-premium-select-all{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);min-height:2.75rem;color:var(--accent);font:inherit;cursor:pointer;flex-shrink:0;padding:.5rem .75rem;font-weight:600;transition:background .18s,border-color .18s}.mp-premium-select-all:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mp-premium-select-all:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.mp-premium-select-all:disabled{color:var(--text-muted);cursor:not-allowed}.mp-premium-options{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.mp-feature-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);min-height:4.5rem;color:var(--foreground);align-items:center;gap:.75rem;padding:.75rem;transition:border-color .18s,background .18s;display:flex}.mp-feature-copy{flex-direction:column;flex:1;gap:.2rem;display:flex}.mp-feature-title{font-size:clamp(.85rem,1.4vw,.9rem);font-weight:600;line-height:1.4}.mp-feature-description{color:var(--text-muted);font-size:clamp(.72rem,1.2vw,.78rem);line-height:1.5}.mp-feature-row[data-selected=true]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mp-feature-row[data-selected=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}}.mp-feature-row[data-selected=true]{background:var(--accent-soft)}.mp-feature-row[data-disabled=true] .mp-feature-icon{background:var(--hover-bg);color:var(--text-muted)}.mp-feature-row:focus-within,.mp-feature-row:hover:not([data-disabled=true]){border-color:var(--accent)}.mp-feature-included-check{color:var(--accent);flex:0 0 2.75rem;justify-content:center;align-items:center;display:inline-flex}.mp-plan-limit-note{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:.5rem;margin:1rem 0 0;padding-top:1rem;font-size:clamp(.72rem,1.2vw,.78rem);line-height:1.5;display:flex}.mp-plan-limit-note svg{flex-shrink:0}.mp-plan-limit-note strong{color:var(--foreground)}.mp-section-card-icon{background:var(--indigo-soft-bg);width:28px;height:28px;color:var(--accent);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.mp-section-card-desc{margin-left:auto}.mp-icon-text{align-items:center;gap:4px;display:inline-flex}.mp-gen-stat-value-icons{justify-content:center;align-items:center;gap:3px;display:inline-flex}.mp-label{color:var(--foreground);margin-bottom:5px;display:block}.mp-input{border:1px solid var(--border);background:var(--input-bg,var(--card));width:100%;color:var(--foreground);box-sizing:border-box;border-radius:5px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.mp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-tag-input{flex-direction:column;gap:8px;display:flex}.mp-tag-preview{flex-wrap:wrap;gap:6px;display:flex}.mp-tag-chip{border:1px solid var(--accent);align-items:center;gap:6px;max-width:100%;min-height:44px;padding:0 0 0 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mp-tag-chip{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border))}}.mp-tag-chip{background:var(--accent-soft);color:var(--foreground);overflow-wrap:anywhere;border-radius:12px;font-size:12px;font-weight:500;transition:border-color .15s,background-color .15s,box-shadow .15s}.mp-tag-chip:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-tag-chip-dot{border-radius:var(--radius-pill);background:var(--accent);flex:0 0 7px;width:7px;height:7px}.mp-tag-chip>button{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 44px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-grid}.mp-tag-chip>button:hover{background:var(--accent-soft-2);color:var(--accent)}.mp-tag-chip>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.mp-textarea{border:1px solid var(--border);background:var(--input-bg,var(--card));width:100%;color:var(--foreground);resize:vertical;box-sizing:border-box;border-radius:5px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.mp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-chip-row{flex-wrap:wrap;gap:6px;display:flex}.mp-chip-scroll-container{width:100%;min-width:0}.mp-chip-scroll-row{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;padding-bottom:2px;overflow:auto hidden}.mp-chip-scroll-row::-webkit-scrollbar{display:none}.mp-chip-scrollbar{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--accent-soft-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;height:8px;margin-top:5px;position:relative}.mp-chip-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--accent);cursor:grab;transition:background-color .15s;position:absolute;top:1px;bottom:1px}.mp-chip-scrollbar-thumb:hover{background:var(--accent)}.mp-chip-scrollbar:active .mp-chip-scrollbar-thumb{background:var(--accent);cursor:grabbing}.mp-chip-scroll-row>.mp-chip{flex:none}.mp-exercise-profile-help{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.45}.mp-exercise-profile-link{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.mp-chip{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.mp-chip:hover{border-color:var(--purple-soft-bg,var(--border));background:var(--purple-soft-bg)}.mp-chip.active{border-color:var(--accent);background:var(--indigo-soft-bg);color:var(--accent);font-weight:600}.mp-chip.sm{padding:4px 10px;font-size:11px}.mp-premium-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--accent);align-items:center;padding:.25rem .5rem;font-size:clamp(.6rem,1vw,.65rem);font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mp-premium-badge{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border))}}.mp-premium-badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}.mp-date-weekday-header{color:var(--text-light);background:var(--card);border-right:1px solid var(--border-soft,var(--border));border-bottom:1px solid var(--border-soft,var(--border))}.mp-date-weekday-header--weekend{color:var(--text-muted)}.mp-date-grid-wrap{border:1px solid var(--border);background:var(--card);border-radius:5px;margin-bottom:6px;padding:8px 10px}.mp-date-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);background:0 0;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:6px;display:grid;overflow:hidden}.mp-date-divider{border-top:1px solid var(--border);width:100%;margin:8px 0}.mp-date-cell{border:0 solid var(--border-soft,var(--border));color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border-bottom-width:1px;border-right-width:1px;border-radius:0;justify-content:center;align-items:center;gap:2px;min-height:26px;padding:3px 0;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.mp-date-cell:hover{border-color:var(--accent-soft);background:var(--accent-soft)}.mp-date-cell.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);font-weight:600}.mp-date-cell:not(.active):not(.cheat){opacity:.7;border-style:dashed}.mp-date-cell:not(.active):not(.cheat):hover{opacity:1;border-style:solid}.mp-date-cell.weekend{color:var(--text-muted);font-style:italic}.mp-date-cell.cheat{border-color:var(--amber);color:var(--amber-dark);background:#fbbf2414;font-weight:600;box-shadow:0 0 0 2px #fbbf2433}.mp-date-cell.cheat:hover{border-color:var(--amber-dark);background:#fbbf2426}.mp-date-cell--empty{cursor:default;min-height:26px;border:0 solid var(--border-soft,var(--border))!important;background:0 0!important;border-bottom-width:1px!important;border-right-width:1px!important}.mp-cheat-star{color:var(--amber);font-size:9px;position:absolute;top:0;right:2px}.mp-date-actions{flex-flow:column wrap;align-items:stretch;gap:4px;margin-top:4px;display:flex}.mp-date-mode-chips{flex-wrap:wrap;gap:4px;display:flex}.mp-date-actions-right{flex-wrap:wrap;justify-content:flex-end;gap:4px;width:auto;display:flex}.mp-secondary-btn.sm.mp-date-icon-btn{justify-content:center;width:30px;height:30px;min-height:30px;padding:0}.mp-long-press-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:8px;display:flex}.mp-date-summary{padding:2px 0}.mp-long-press-hint{min-width:0;color:var(--text-muted);text-align:left;flex:1;margin:0;font-size:clamp(.6875rem,1.2vw,.75rem);line-height:1.4}.mp-date-grid-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.mp-day-legend-dot{vertical-align:middle;border-radius:5px;width:8px;height:8px;margin-right:3px;display:inline-block}.mp-date-cell-day{font-size:11px;font-weight:600;line-height:1}.mp-date-cell-plan{flex-direction:column;align-items:center;gap:1px;font-size:9px;line-height:1;display:flex}.mp-date-cell-plan-icon{font-size:11px;line-height:1}.mp-date-cell.rest-day{border-color:var(--green,#22c55e);color:var(--text,#111827);background:#22c55e14}.mp-date-cell.rest-day:hover{border-color:var(--green,#16a34a);box-shadow:0 1px 4px #22c55e33}.mp-date-cell.exercise-auto{background:#10b9810f!important;border-color:#10b981!important}.mp-date-cell.exercise-auto:hover{background:#10b9811f!important;border-color:#059669!important}.mp-date-cell.exercise-excluded{opacity:.5;color:var(--text-muted,#9ca3af);background:0 0;border-style:dashed!important}.mp-date-cell.exercise-excluded:hover{opacity:.7;background:var(--indigo-soft-bg,#6366f10a);border-style:dashed!important}.mp-date-cell.weekend{color:var(--text-muted);opacity:1}.mp-exercise-section{padding:10px 0 0}.monthly-planner-generating{overscroll-behavior-y:contain;scrollbar-gutter:stable;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;flex-direction:column;flex:1;gap:20px;min-width:0;min-height:0;padding:20px 16px;display:flex;overflow:hidden auto}.monthly-planner-generating::-webkit-scrollbar{width:6px}.monthly-planner-generating::-webkit-scrollbar-track{background:0 0}.monthly-planner-generating::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);border-radius:5px}.mp-gen-summary{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;flex-shrink:0;overflow:hidden}.mp-gen-summary-stats{background:linear-gradient(180deg, var(--white-soft,#f8f9ff) 0%, var(--card,#fff) 100%);align-items:stretch;gap:0;padding:12px 8px;display:flex}.mp-gen-stat-item{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;display:flex}.mp-gen-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800;line-height:1.2}.mp-gen-stat-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mp-gen-stat-divider{background:var(--purple-soft-bg,#6366f12e);flex-shrink:0;align-self:center;width:1px;min-height:32px}.mp-gen-summary-features{border-top:1px solid var(--purple-soft-bg,#6366f12e);flex-wrap:wrap;gap:4px;padding:8px 12px 10px;display:flex}.mp-gen-feature-tag{color:var(--accent);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);white-space:nowrap;letter-spacing:.01em;border-radius:5px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;line-height:1.4;display:inline-flex}.mp-gen-progress-area{background:linear-gradient(180deg, var(--indigo-soft-bg,#6366f108) 0%, var(--card,#fff) 60%);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:24px 20px;display:flex}.mp-generating-animation{width:60px;height:60px;position:relative}.mp-generating-ring{border:3px solid var(--indigo-soft-bg);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:0}.mp-generating-icon{justify-content:center;align-items:center;font-size:26px;display:flex;position:absolute;inset:0}.mp-gen-message{color:var(--heading);text-align:center;max-width:340px;font-size:14px;font-weight:600;line-height:1.4;animation:.5s mp-fade-message}@keyframes mp-fade-message{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mp-progress-bar-wrap{width:100%;max-width:320px}.mp-progress-bar{background:var(--white-soft);border-radius:5px;height:6px;overflow:hidden}.mp-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:5px;height:100%;transition:width .4s}.mp-gen-away-note{color:var(--accent);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);text-align:center;word-break:break-word;box-sizing:border-box;border-radius:5px;align-items:center;gap:6px;min-width:0;margin-top:10px;padding:8px 12px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.mp-gen-away-note svg{flex-shrink:0}.mp-gen-list-container{border:1px solid var(--purple-soft-bg,#6366f12e);background:var(--card,#fff);border-radius:5px;flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.mp-gen-list-header{border-bottom:1px solid var(--purple-soft-bg,#6366f12e);background:var(--indigo-soft-bg,#6366f10a);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mp-gen-list-title{color:var(--heading)}.mp-gen-list-count{min-width:22px;height:22px;color:var(--accent);background:var(--indigo-soft-bg,#6366f11a);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.mp-gen-list{flex-direction:column;flex:none;gap:6px;padding:6px 8px;display:flex}.mp-gen-list-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.mp-gen-list-empty-icon{font-size:32px;animation:2s ease-in-out infinite mp-pulse}@keyframes mp-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.mp-gen-list-empty-text{font-size:13px;font-weight:500}.mp-gen-day-item{border:1px solid var(--purple-soft-bg,#6366f12e);background:var(--indigo-soft-bg,#6366f10a);border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;transition:all .2s;animation:.35s mp-gen-day-in;display:flex}@keyframes mp-gen-day-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-gen-day-item.latest{border-color:var(--accent);background:linear-gradient(135deg, var(--indigo-soft-bg,#6366f10f) 0%, #6366f10a 100%);box-shadow:0 1px 10px #6366f11f}.mp-gen-day-item:hover{border-color:var(--accent-soft);box-shadow:0 2px 8px #6366f10f}.mp-gen-day-item.mp-gen-day-error{border-color:var(--red,#ef4444);background:#fee2e2e6}.mp-gen-day-item.mp-gen-day-error:hover{border-color:#ef4444e6;box-shadow:0 2px 8px #ef44442e}.mp-gen-day-item.mp-gen-day-error .mp-gen-day-badge{background:var(--red,#ef4444)}.mp-gen-day-item.mp-gen-day-error .mp-gen-day-error-message{color:var(--red,#b91c1c)}.mp-gen-day-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.mp-gen-day-badge{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;letter-spacing:-.01em;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.mp-gen-day-badge.has-image{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e)}.mp-gen-day-badge-img{object-fit:cover;width:100%;height:100%}.mp-gen-day-info{flex-direction:column;gap:2px;min-width:0;display:flex}.mp-gen-day-date{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mp-gen-day-meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mp-gen-exercise-meta{vertical-align:middle;white-space:nowrap;color:var(--orange,#f97316);align-items:center;gap:4px;font-weight:600;display:inline-flex}.mp-gen-exercise-meta svg{flex:none;display:block}.mp-gen-exercise-meta:before{content:""}.mp-gen-exercise-meta-text{text-overflow:ellipsis;vertical-align:middle;min-width:0;display:inline-block;overflow:hidden}.mp-gen-day-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.mp-gen-day-meal-icons{align-items:center;gap:2px;display:flex}.mp-gen-meal-icon{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;transition:border-color .15s;display:inline-flex}.mp-gen-meal-icon:hover{border-color:var(--accent)}.mp-gen-meal-more{color:var(--accent);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.5}.mp-gen-day-pulse{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite mp-gen-pulse}@keyframes mp-gen-pulse{0%,to{opacity:.5;transform:scale(.8);box-shadow:0 0 #6366f166}50%{opacity:1;transform:scale(1);box-shadow:0 0 0 6px #6366f100}}.monthly-planner-review{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:0;padding:2px 0;animation:.35s ease-out mp-fadeIn;display:flex;overflow:hidden}@keyframes mp-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-review-summary{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.mp-review-summary-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-review-stats-row{flex-wrap:wrap;gap:5px;display:flex}.mp-review-stat{text-align:center;background:linear-gradient(135deg, var(--card,#fff), var(--white-soft,#f8f9ff));border:1px solid var(--border-soft,var(--border));border-radius:5px;flex:1;min-width:55px;padding:6px 10px 5px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mp-review-stat:hover{border-color:var(--accent-soft);box-shadow:0 2px 8px #6366f114}.mp-review-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700;line-height:1.2;display:block}.mp-review-stat-label{white-space:nowrap;margin-top:2px;display:block}.mp-review-config-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.mp-review-config-group-label{flex-shrink:0;margin-right:2px}.mp-review-config-chip{border:1px solid var(--border-soft);background:var(--card);color:var(--foreground);white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:500;line-height:1.5;display:inline-flex}.mp-review-config-chip.accent{border-color:var(--accent-glow);background:var(--accent-soft);color:var(--accent)}.mp-review-config-chip.exercise{border-color:var(--border-soft);background:var(--hover-bg);color:var(--text-muted)}.mp-review-config-chip.premium{border-color:var(--green-soft-bg,#22c55e40);background:var(--green-soft-bg,#22c55e0f);color:var(--green)}.mp-review-day-bulk-actions{border-bottom:1px solid var(--border-soft,var(--border));gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex}.mp-review-days{background:linear-gradient(180deg, var(--white-soft,#f8f9ff) 0%, var(--card,#fff) 40%, var(--card,#fff) 100%);box-shadow:none;scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;border:0;border-radius:0;flex-direction:column;flex:1;gap:12px;min-height:80px;padding:12px 14px 12px 10px;display:flex;position:relative;overflow:hidden auto}.mp-review-days::-webkit-scrollbar{width:6px}.mp-review-days::-webkit-scrollbar-track{background:0 0;border-radius:5px;margin:6px 0}.mp-review-days::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);background-clip:padding-box;border:1px solid #0000;border-radius:5px;transition:background .2s}.mp-review-days::-webkit-scrollbar-thumb:hover{background:var(--accent)}.mp-review-days::-webkit-scrollbar-thumb:active{background:var(--accent-hover)}.mp-review-day-row{border:1px solid var(--border);background:var(--white-soft,#f5f6fa);cursor:default;border-radius:5px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.mp-review-day-row:hover{border-color:var(--accent-soft);transform:translate(3px);box-shadow:0 3px 12px #6366f10f}.mp-review-day-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-block:.5rem;padding-inline:.75rem;display:flex}.mp-review-day-date{color:var(--heading);letter-spacing:-.01em;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.mp-review-day-divider{background:var(--border);height:1px;margin:8px 0}.mp-review-checkbox{border:2px solid var(--border);background:var(--card);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.mp-review-checkbox:hover{border-color:var(--accent);background:var(--indigo-soft-bg)}.mp-review-checkbox.checked{border-color:var(--accent);background:var(--accent)}.mp-review-checkbox.checked svg{color:#fff}.mp-review-checkbox-col{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.mp-review-checkbox-col.day{flex-direction:row;align-items:center}.mp-review-regen-btn{border:1px solid var(--border);background:var(--card);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.mp-review-regen-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--indigo-soft-bg)}.mp-review-regen-btn:disabled{cursor:default;opacity:.6}.mp-review-regen-btn.sm{width:1.125rem;height:1.125rem}.mp-review-regen-spin{animation:.8s linear infinite spin}.mp-regeneration-preference-modal{max-width:36rem}.mp-regeneration-preference-form{flex-direction:column;gap:.65rem;min-width:0;display:flex}.mp-regeneration-preference-form label{color:var(--foreground);font-weight:600}.mp-regeneration-preference-input{box-sizing:border-box;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:8rem;color:var(--foreground);font:inherit;resize:vertical;border-radius:.5rem;padding:.75rem;font-size:clamp(.9rem,2.5vw,1rem)}.mp-regeneration-preference-form p{color:var(--text-muted);margin:0;font-size:clamp(.75rem,2vw,.85rem)}.mp-review-meal-card-wrapper{word-break:break-word;box-sizing:border-box;flex-direction:column;align-items:stretch;width:100%;min-width:0;transition:opacity .2s;display:flex;overflow:hidden}.mp-review-meal-actions{word-break:break-word;box-sizing:border-box;flex-direction:row;align-items:center;gap:.375rem;min-width:0;padding-block:.25rem;display:flex;overflow:hidden}.mp-review-meal-checkbox{border:2px solid var(--border);background:var(--card);width:1.125rem;min-width:1.125rem;height:1.125rem;color:var(--foreground);cursor:pointer;border-radius:.3125rem;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.mp-review-meal-checkbox:hover{border-color:var(--accent);background:var(--indigo-soft-bg)}.mp-review-meal-checkbox.checked{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.mp-review-meal-checkbox.checked svg{color:var(--text-on-accent)}.mp-review-day-row.deselected{opacity:.5}.mp-review-day-row.deselected:hover{opacity:.7}.mp-review-meal-card-wrapper.deselected{opacity:.45}.mp-review-meal-card-wrapper.deselected:hover{opacity:.7}.mp-secondary-btn.xs{text-transform:uppercase;letter-spacing:.03em;padding:3px 10px;font-size:10px;font-weight:600}.mp-review-day-meals{flex-direction:column;gap:6px;margin-top:6px;display:flex}.mp-review-meal-card{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--card,#fff);box-sizing:border-box;flex:1;width:100%;min-width:0;padding:.5rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.mp-review-meal-card:hover{border-color:var(--border);box-shadow:0 1px 6px #6366f10f}.mp-review-meal-macro{color:var(--text-muted);background:var(--card);border:1px solid var(--border-soft);border-radius:5px;padding:1px 6px;font-size:10px;font-weight:500}.mp-review-day-macro-tag{color:var(--solid-white);background:var(--status-under);font-size:clamp(.58rem,1.2vw,.66rem);font-weight:800}@supports (color:color-mix(in lab, red, red)){.mp-review-day-macro-tag{background:color-mix(in srgb, color-mix(in srgb, var(--status-under) 85%, var(--black-trans-65)) 85%, transparent)}}.mp-review-day-macro-tag{border:1px solid var(--border);box-sizing:border-box;border-radius:.4rem;padding:.12rem .25rem}.mp-review-meal-details{border-top:0}.mp-review-meal-details .meal-content-card{background:0 0;border:0;border-radius:0;padding:0}.mp-review-meal-section{border-top:1px solid var(--border-soft);padding:8px 10px 10px}.mp-review-meal-section-title{color:var(--foreground);align-items:center;gap:5px;margin-bottom:6px;display:flex}.mp-review-meal-ingredients-text{color:var(--text);margin-top:4px}.mp-review-meal-ingredients{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.mp-review-meal-ingredients li{color:var(--text-muted);padding-left:14px;font-size:12px;line-height:1.4;position:relative}.mp-review-meal-ingredients li:before{content:"•";color:var(--text-muted);position:absolute;left:4px}.mp-review-footer-actions{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:14px 0 4px;display:flex}.mp-review-footer-summary{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex}.mp-review-footer-summary strong{color:var(--heading);font-size:14px;font-weight:700}.mp-review-footer-sep{color:var(--border);font-size:14px;font-weight:300}.mp-review-footer-buttons{flex-shrink:0;align-items:center;gap:8px;display:flex}.monthly-planner-footer{padding:14px 28px calc(20px + var(--safe-bottom,0px));border-top:1px solid var(--border);flex-shrink:0}.mp-footer-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.mp-primary-btn{background:linear-gradient(135deg, var(--accent), var(--accent-hover));min-height:var(--control-height);color:var(--text-on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;display:inline-flex}.mp-primary-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.mp-primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.mp-secondary-btn{min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:500;display:inline-flex}.mp-secondary-btn:hover{background:var(--white-soft);border-color:var(--text-light)}.mp-secondary-btn.sm{padding:4px 10px;font-size:11px}.mp-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.monthly-planner-applying{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--green-soft-bg,#dcfce7) transparent;flex-direction:column;flex:1;gap:20px;width:100%;min-height:0;padding:20px 16px;animation:.35s ease-out mp-fadeIn;display:flex;overflow-y:auto}.monthly-planner-applying::-webkit-scrollbar{width:6px}.monthly-planner-applying::-webkit-scrollbar-track{background:0 0}.monthly-planner-applying::-webkit-scrollbar-thumb{background:var(--green-soft-bg,#dcfce7);border-radius:5px}.mp-apply-summary{background:var(--card,#fff);border:1px solid var(--green-soft-bg,#22c55e2e);border-radius:5px;flex-shrink:0;overflow:hidden}.mp-apply-summary-stats{background:linear-gradient(180deg, var(--green-soft-bg,#f0fdf4) 0%, var(--card,#fff) 100%);align-items:stretch;gap:0;padding:12px 8px;display:flex}.mp-apply-stat-item{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;display:flex}.mp-apply-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--green,#22c55e), var(--emerald,#10b981));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800;line-height:1.2}.mp-apply-stat-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mp-apply-stat-divider{background:var(--green-soft-bg,#22c55e2e);flex-shrink:0;align-self:center;width:1px;min-height:32px}.mp-apply-progress-area{background:linear-gradient(180deg, var(--green-soft-bg,#f0fdf4) 0%, var(--card,#fff) 60%);border:1px solid var(--green-soft-bg,#22c55e2e);border-radius:5px;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:24px 20px;display:flex}.mp-generating-ring--done{border-color:var(--green-soft-bg,#22c55e4d);border-top-color:var(--green,#22c55e);animation:none}.mp-progress-fill--green{background:linear-gradient(90deg, var(--green,#22c55e), var(--emerald,#10b981))}.mp-apply-done-message{text-align:center;flex-direction:column;align-items:center;gap:4px;animation:.5s mp-fade-message;display:flex}.mp-apply-done-message strong{color:var(--green,#22c55e);font-size:15px;font-weight:700}.mp-close-disabled{cursor:not-allowed;display:inline-flex}.mp-close-disabled svg{opacity:.3}.base-modal.monthly-planner-modal>.base-modal-header{border-bottom:0;padding:0}.monthly-planner-modal>.base-modal-header>.monthly-planner-header{border-bottom:0}.monthly-planner-modal>.monthly-planner-shell-body{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.pwa-banner{background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1rem;padding-top:calc(.75rem + var(--safe-top));z-index:300;box-shadow:0 4px 20px var(--shadow-soft);transition:transform var(--duration-slow) var(--ease-standard);flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:relative;transform:translateY(-100%)}.pwa-banner.show{transform:translateY(0)}.pwa-banner[hidden]{display:none}.pwa-banner-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pwa-banner-icon{border-radius:var(--radius-sm);background:var(--accent-dim);width:44px;height:44px;color:var(--accent);font-weight:900;font-family:var(--font-display);font-variation-settings:"opsz" 18;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.pwa-banner-content{flex:1;min-width:0}.pwa-banner-title{margin:0;line-height:1.3}.pwa-banner-desc{margin:2px 0 0;line-height:1.3}.pwa-banner-btn{background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;min-height:44px;transition:background var(--duration-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.pwa-banner-btn:hover{background:var(--modal-btn-primary-hover)}.pwa-banner-btn:active{background:var(--modal-btn-primary-active)}.pwa-banner-web-btn{background:var(--hover-bg);color:var(--foreground)}.pwa-banner-web-btn:hover{background:var(--accent-dim)}.pwa-banner-btn:disabled{cursor:wait;opacity:.65}.pwa-banner-close{border-radius:var(--radius-xs);cursor:pointer;width:44px;height:44px;color:var(--text-light);background:0 0;border:none;flex:0 0 44px;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;display:inline-flex}.pwa-banner-btn:focus-visible,.pwa-banner-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pwa-banner-close:hover{background:var(--hover-bg);color:var(--foreground)}@media (prefers-reduced-motion:reduce){.pwa-banner,.pwa-banner-btn{transition:none}}footer{text-align:center;padding:1.5rem 1rem;padding-bottom:calc(1.5rem + var(--safe-bottom));color:var(--text-muted);background:var(--footer-bg,var(--card-bg));border-top:1px solid var(--card-border);max-width:100%;margin:0;font-size:.8rem;line-height:1.6}.jump-today{bottom:calc(1.5rem + var(--safe-bottom,0px));right:max(1.5rem, var(--safe-right,0px));background:var(--accent);color:var(--text-on-accent);cursor:pointer;width:44px;height:44px;box-shadow:0 3px 12px var(--accent-glow);z-index:50;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .15s,box-shadow .15s;display:flex;position:fixed}.jump-today:hover{box-shadow:0 4px 16px var(--accent-glow);transform:scale(1.05)}.jump-today:active{transform:scale(.95)}html[data-ai-voice-active] .jump-today,html[data-navbar-input-active] .jump-today{display:none!important}.base-modal-backdrop.cam-modal-backdrop{padding:0}html.camera-native-preview-active,html.camera-native-preview-active body{background:0 0!important}html.camera-native-preview-active body>:not(.cam-modal-backdrop){display:none!important}html.camera-native-preview-active .base-modal-backdrop.cam-modal-backdrop{-webkit-backdrop-filter:none;background:0 0}html.camera-native-preview-active .cam-modal{background:0 0}.base-modal.cam-modal{isolation:isolate;word-break:break-word;box-sizing:border-box;border-radius:0;min-width:0;max-width:40rem;height:100dvh;max-height:100dvh;padding:0}.cam-modal:after{content:"";z-index:5;border:2px dotted var(--accent);pointer-events:none;border-radius:4px;position:absolute;inset:0}.cam-modal:before{content:"";z-index:6;background:linear-gradient(var(--accent), var(--accent)) left top / 1.15rem 3px no-repeat, linear-gradient(var(--accent), var(--accent)) left top / 3px 1.15rem no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 1.15rem 3px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 3px 1.15rem no-repeat;pointer-events:none;position:absolute;inset:0}.cam-modal .base-modal-header,.cam-modal .base-modal-footer{z-index:4;padding-inline:max(1rem, var(--safe-left)) max(1rem, var(--safe-right));border:0;position:relative}.cam-modal .base-modal-header{padding-top:max(.75rem, var(--safe-top));background:linear-gradient(var(--overlay-dark), transparent)}.cam-modal .base-modal-footer{background:0 0;padding:0}.cam-modal .base-modal-title,.cam-modal .base-modal-close,.cam-modal .cam-hint,.cam-modal .cam-barcode-status{color:var(--solid-white);text-shadow:0 1px 4px var(--overlay-dark)}.cam-modal .base-modal-close{background:var(--overlay-dark);width:2.75rem;height:2.75rem}.cam-modal .base-modal-close:hover{background:var(--accent);color:var(--text-on-accent)}.cam-header-content{word-break:break-word;box-sizing:border-box;flex:1;align-items:center;gap:.75rem;min-width:0;display:flex;overflow:hidden}.cam-header-content .base-modal-title{flex:1;min-width:0}.cam-flash-toggle{border:1px solid var(--white-soft-15);background:var(--overlay-dark);min-width:2.75rem;min-height:2.75rem;color:var(--solid-white);cursor:pointer;word-break:break-word;box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.6rem;display:inline-flex;overflow:hidden}.cam-flash-toggle:hover:not(:disabled),.cam-flash-toggle[aria-pressed=true]{background:var(--accent);color:var(--text-on-accent)}.cam-flash-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.cam-flash-toggle:disabled{opacity:.5;cursor:not-allowed}.cam-modal .base-modal-drag-handle{display:none}.base-modal-body.cam-modal-body{min-height:0;padding:0 max(1rem, var(--safe-right)) 0 max(1rem, var(--safe-left));display:flex;overflow:visible}.cam-modal-body>.cam-container{z-index:1;box-sizing:border-box;gap:.75rem;min-width:0;min-height:0;position:relative}.cam-modal .cam-btn-gallery{background:var(--overlay-dark);border-color:var(--white-soft-15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cam-mode-panel{flex-shrink:0}.cam-mode-picker .wheel-picker-item,.cam-modal .cam-btn-gallery{color:var(--solid-white)}.cam-mode-picker .wheel-picker-item:hover,.cam-modal .cam-btn-gallery:hover{background:var(--white-soft-15)}.cam-mode-picker .wheel-picker-item,.cam-mode-picker .wheel-picker-item:hover,.cam-mode-picker .wheel-picker-item-selected{-webkit-tap-highlight-color:transparent;background:0 0}.cam-modal .cam-mode-picker .wheel-picker-highlight{box-shadow:none;background:0 0}.cam-modal .cam-mode-picker:focus-within .wheel-picker-highlight{outline:none}.cam-mode-picker .wheel-picker-item-selected{color:var(--solid-white)}.cam-modal .cam-action-bar{box-sizing:border-box;width:100%;min-width:0}.cam-modal .cam-capture-controls{gap:.75rem}.cam-modal .cam-photo-meal-type-picker{--wheel-item-width:clamp(6rem, 28vw, 8rem);height:3rem}.cam-capture-input-row{align-items:stretch;gap:.6rem;min-width:0;display:flex}.cam-modal .cam-capture-description{resize:vertical;border-color:var(--white-soft-15);background:var(--overlay-dark);min-width:0;min-height:3rem;max-height:7rem;color:var(--solid-white);border-radius:.75rem;flex:1}.cam-modal .cam-capture-description::placeholder{color:var(--solid-white);opacity:.7}.cam-modal .cam-speech-button{background:var(--accent);width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--text-on-accent);border-color:var(--accent);border-radius:50%;flex:0 0 2.75rem;align-self:center;padding:0}.cam-speech-control{flex-direction:column;flex:0 0 2.75rem;justify-content:center;align-items:center;gap:.2rem;display:flex}.cam-speech-indicator{justify-content:center;align-items:center;gap:.16rem;height:.3rem;display:flex}.cam-speech-indicator span{background:var(--solid-white);border-radius:50%;width:.22rem;height:.22rem;animation:.8s ease-in-out infinite alternate cam-speech-dot}.cam-speech-indicator span:nth-child(2){animation-delay:.16s}.cam-speech-indicator span:nth-child(3){animation-delay:.32s}@keyframes cam-speech-dot{0%{opacity:.35;transform:translateY(0)}to{opacity:1;transform:translateY(-.1rem)}}.cam-modal .cam-speech-button:hover,.cam-modal .cam-speech-button.is-listening{background:var(--accent);color:var(--text-on-accent)}.cam-modal .cam-btn-secondary{background:var(--overlay-dark);color:var(--solid-white)}.cam-capture-stage{flex:auto;min-height:0;overflow:hidden}.cam-capture-background{object-fit:contain;width:100%;height:100%;display:block}.cam-btn-capture:hover{background:var(--accent-hover)}.cam-btn-capture:disabled,.cam-btn-gallery:disabled{opacity:.5;cursor:not-allowed}.cam-receipt-overlay{word-break:break-word;justify-content:center;align-items:center;gap:.75rem;display:flex;overflow:hidden}.cam-receipt-frame{border:2px dashed var(--white-soft-15);word-break:break-word;box-sizing:border-box;width:min(72%,20rem);min-width:0;height:100%;min-height:0;max-height:100%;box-shadow:0 0 0 100vmax var(--overlay-dark);border-radius:.5rem;flex:0 auto;position:relative;overflow:hidden}.cam-receipt-frame.is-detected{border-color:var(--accent)}.cam-receipt-guide-label{background:var(--overlay-dark);color:var(--solid-white);text-align:center;inset-inline:0;padding:.4rem;font-size:clamp(.7rem,1.6vw,.82rem);line-height:1.3;position:absolute;bottom:0}.cam-receipt-outline{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:.75px;pointer-events:none;position:absolute;inset:0}.cam-receipt-progress{width:100%;height:.35rem;accent-color:var(--accent);background:var(--border);top:0;border:0;position:absolute;inset-inline:0}.cam-receipt-progress::-webkit-progress-bar{background:var(--border)}.cam-receipt-progress::-webkit-progress-value{background:var(--accent)}.cam-receipt-progress::-moz-progress-bar{background:var(--accent)}.cam-receipt-toggle{flex-direction:column;gap:.15rem;font-size:clamp(.65rem,1.5vw,.8rem);font-weight:700}.cam-receipt-toggle.is-scanning{background:var(--accent-hover)}.cam-receipt-empty{color:var(--text-muted);margin:0;font-size:clamp(.68rem,1.4vw,.8rem);line-height:1.5}.cam-receipt-panorama .cam-receipt-strip{gap:0}.cam-receipt-preview{border:1px solid var(--border);background:var(--card);min-width:0;min-height:0;color:var(--foreground);word-break:break-word;box-sizing:border-box;border-radius:.5rem;flex-direction:column;gap:.4rem;padding:.5rem;display:flex;overflow:hidden}.cam-receipt-miniature{z-index:1;pointer-events:auto;flex:0 0 22%;max-width:7rem;height:100%;max-height:100%}.cam-receipt-count{text-align:center;flex-shrink:0;margin:0;font-size:clamp(.72rem,1.5vw,.85rem)}.cam-receipt-strip{overscroll-behavior:contain;word-break:break-word;box-sizing:border-box;flex-direction:column;gap:.35rem;min-width:0;min-height:0;display:flex;overflow:auto}.cam-receipt-strip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cam-receipt-section{word-break:break-word;box-sizing:border-box;flex:none;min-width:0;margin:0;overflow:hidden}.cam-receipt-section figcaption{color:var(--text-muted);padding-block:.25rem;font-size:clamp(.65rem,1.3vw,.8rem)}.cam-receipt-section img{width:100%;height:auto;display:block}.cam-receipt-section .image-preview-trigger{width:100%;display:flex}.cam-receipt-review-tools .cam-btn{font-size:clamp(.78rem,1.8vw,.9rem)}.cam-receipt-review .base-modal-header{background:var(--card)}.cam-receipt-review .base-modal-title,.cam-receipt-review .base-modal-close{color:var(--foreground);text-shadow:none}.cam-receipt-review .base-modal-title{align-items:center;gap:.4rem;display:inline-flex}.cam-receipt-review-body{word-break:break-word;box-sizing:border-box;min-width:0;min-height:0;display:flex;overflow:hidden}.cam-receipt-review-content{word-break:break-word;box-sizing:border-box;flex-direction:column;flex:1;align-items:center;gap:.75rem;min-width:0;max-width:38rem;min-height:0;margin-inline:auto;display:flex;overflow:hidden}.cam-receipt-instructions{color:var(--text-muted);flex-shrink:0;margin:0;font-size:clamp(.8rem,1.8vw,.95rem);line-height:1.5}.cam-receipt-review-content .cam-receipt-preview{flex:auto;width:min(100%,18rem)}.cam-receipt-review-tools{word-break:break-word;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0;display:grid;overflow:hidden}.cam-receipt-review .cam-btn{white-space:normal;min-width:0;min-height:44px}.cam-container{flex-direction:column;gap:1.25rem;width:100%;display:flex}.base-modal-title:has(.cam-ai-icon){align-items:center;gap:.4rem;display:inline-flex}.cam-ai-icon{color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow));flex-shrink:0}.cam-mode-panel{word-break:break-word;box-sizing:border-box;min-width:0;padding:.125rem 0;overflow:hidden}.cam-modal .cam-mode-picker{--wheel-item-width:clamp(8rem, 35vw, 10rem);height:3rem}.cam-mode-picker .wheel-picker-item-icon{color:currentColor}.cam-controls{word-break:break-word;box-sizing:border-box;width:100%;min-width:0;padding:.75rem max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));border-top:1px solid var(--white-soft-15);background:var(--overlay-dark);-webkit-backdrop-filter:blur(12px);border-radius:1rem 1rem 0 0;flex-direction:column;gap:.5rem;display:flex;overflow:hidden}.cam-zoom-presets,.cam-zoom-indicator{z-index:5;inset-inline-start:50%;position:absolute;bottom:calc(100% + .5rem);transform:translate(-50%)}.cam-zoom-presets{justify-content:center;align-items:center;gap:.15rem;display:flex}.cam-zoom-preset{isolation:isolate;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--solid-white);cursor:pointer;box-sizing:border-box;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;display:inline-flex;position:relative}.cam-zoom-preset:before{z-index:-1;border:1px solid var(--white-soft-15);background:var(--overlay-dark);content:"";transition:background-color var(--duration-fast) var(--ease-standard);border-radius:50%;position:absolute;inset:.35rem}.cam-zoom-preset:hover:not(:disabled),.cam-zoom-preset[aria-pressed=true]{color:var(--text-on-accent)}.cam-zoom-preset:hover:not(:disabled):before,.cam-zoom-preset[aria-pressed=true]:before{background:var(--accent)}.cam-zoom-preset:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cam-zoom-preset:disabled{cursor:not-allowed;opacity:.45}.cam-zoom-indicator{border:1px solid var(--white-soft-15);background:var(--overlay-dark);min-width:2.75rem;min-height:2.75rem;color:var(--solid-white);cursor:pointer;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;box-sizing:border-box;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);-webkit-backdrop-filter:blur(8px);border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.cam-zoom-indicator:hover{background:var(--accent);color:var(--text-on-accent)}.cam-zoom-indicator:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cam-mode-copy{text-align:center;min-width:0;max-width:100%}.cam-hint{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.85rem;font-weight:700;line-height:1.45;overflow:hidden}.cam-hint-detail{color:var(--solid-white);opacity:.78;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:.72rem;line-height:1.3;overflow:hidden}.cam-viewfinder{background:var(--background);box-sizing:border-box;pointer-events:none;width:100%;min-width:0;height:100%;position:absolute;inset:0;overflow:hidden}html.camera-native-preview-active .cam-viewfinder{background:0 0}.cam-video{object-fit:cover;transform-origin:50%;width:100%;height:100%;transition:transform 80ms linear;display:block}.cam-video-hidden{opacity:0;pointer-events:none;position:absolute}.cam-video-native-hidden{display:none}.cam-video-placeholder{background:var(--background);width:100%;height:100%}.cam-loading{z-index:3;padding:max(1rem, var(--safe-top)) max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));pointer-events:none;place-items:center;min-width:0;display:grid;position:absolute;inset:0}.cam-loading-content{max-width:100%;color:var(--solid-white);place-items:center;display:grid}.cam-loading-orbit{place-items:center;width:6rem;height:6rem;display:grid;position:relative}.cam-loading-orbit:before,.cam-loading-orbit:after{content:"";border:3px solid var(--accent-glow);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:1.4s linear infinite spin;position:absolute;inset:0}.cam-loading-orbit:after{border-width:1px;border-color:var(--white-soft-15);border-bottom-color:var(--solid-white);animation-duration:2.2s;animation-direction:reverse;inset:.6rem}.cam-loading-icon{background:var(--accent-glow);border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;animation:1.8s ease-in-out infinite alternate cam-loading-breathe;display:grid}@keyframes cam-loading-breathe{0%{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cam-speech-indicator span{opacity:1;animation:none}.cam-loading-orbit:before,.cam-loading-orbit:after,.cam-loading-icon,.cam-scan-overlay .cam-focus-marker.is-pending{animation:none}}.cam-scan-overlay{box-sizing:border-box;pointer-events:none;z-index:2;flex:1;min-width:0;min-height:0;padding:.25rem;position:relative}.cam-pinch-surface{z-index:0;pointer-events:auto;touch-action:none;position:absolute;inset:0}.cam-pinch-surface[data-focus-enabled]{cursor:crosshair}.cam-pinch-surface:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.cam-focus-marker{z-index:3;width:var(--cam-focus-size,3rem);height:var(--cam-focus-size,3rem);border:2px solid var(--accent);box-sizing:border-box;box-shadow:0 0 0 1px var(--overlay-dark), 0 0 .75rem var(--accent-glow);pointer-events:none;border-radius:.5rem;position:absolute;transform:translate(-50%,-50%)}.cam-focus-marker.is-pending{border-color:var(--solid-white);border-style:dashed;animation:.65s ease-in-out infinite alternate cam-focus-pulse}@keyframes cam-focus-pulse{0%{transform:translate(-50%,-50%)scale(1.12)}to{transform:translate(-50%,-50%)scale(1)}}.cam-scan-frame{border:2px solid var(--white-soft-15);box-sizing:border-box;border-radius:4px;width:100%;height:100%;position:relative}.cam-scan-frame:before,.cam-scan-frame:after{content:"";border-color:var(--accent);opacity:.6;border-style:solid;width:24px;height:24px;position:absolute}.cam-barcode-overlay{justify-content:center;align-items:center;display:flex}.cam-barcode-overlay .cam-scan-frame{z-index:1;aspect-ratio:2;border:2px dotted var(--accent);width:88%;height:auto;box-shadow:0 0 0 100vmax var(--overlay-darker);flex:none}.cam-barcode-status{min-height:72px;color:var(--accent);justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.cam-scan-frame:before{border-width:3px 0 0 3px;border-radius:3px 0 0;top:-2px;left:-2px}.cam-scan-frame:after{border-width:0 3px 3px 0;border-radius:0 0 3px;bottom:-2px;right:-2px}.cam-error{box-sizing:border-box;pointer-events:auto;background:var(--error-bg);-webkit-backdrop-filter:blur(8px);width:100%;min-width:0;min-height:0;max-height:100%;color:var(--error-color);border:1px solid var(--error-border);text-align:center;z-index:5;border-radius:5px;flex-direction:column;align-self:center;gap:.5rem;padding:.6rem .75rem;font-size:.78rem;font-weight:500;display:flex;position:relative;overflow:auto}.cam-error .cam-btn{white-space:normal;flex-shrink:0;min-height:44px}.cam-action-bar{justify-content:center;align-items:center;padding:.5rem 0;display:flex;position:relative}.cam-btn-capture{background:var(--accent);width:72px;height:72px;color:var(--text-on-accent);border:4px solid var(--background);box-shadow:0 0 0 3px var(--accent), 0 0 20px var(--accent-glow), 0 4px 16px #0003;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .2s;display:inline-flex}.cam-btn-capture:active{box-shadow:0 0 0 3px var(--accent), 0 0 12px var(--accent-glow), 0 2px 8px #00000026;transform:scale(.93)}.cam-btn-gallery{background:var(--hover-bg);width:44px;height:44px;color:var(--foreground);border:1.5px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:inline-flex;position:absolute;right:0}.cam-btn-gallery:hover{background:var(--hover-bg-active)}.cam-btn-gallery:active{transform:scale(.93)}.cam-btn{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.25rem;font-family:Google Sans Text,sans-serif;font-size:.88rem;font-weight:600;display:inline-flex}.cam-btn:active{transform:scale(.97)}.cam-btn:focus-visible,.cam-flash-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cam-btn:disabled{opacity:.5;cursor:not-allowed}.cam-btn-primary{background:var(--accent);color:var(--text-on-accent,#fff)}.cam-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.cam-btn-secondary{background:var(--hover-bg);color:var(--foreground);border:1.5px solid var(--border)}.cam-btn-secondary:hover:not(:disabled){background:var(--hover-bg-active)}.cam-processing{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2.5rem 1rem;display:flex}.cam-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.cam-processing-text{color:var(--foreground);text-align:center;max-width:280px;font-size:.95rem;font-weight:500}.cam-processing-img{object-fit:cover;opacity:.4;width:140px;height:140px;box-shadow:0 4px 12px var(--shadow-md);border-radius:5px}.cam-capture-description{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;min-height:5rem;color:var(--foreground);font:inherit;resize:vertical;box-sizing:border-box;border-radius:5px;padding:.7rem .8rem;font-size:.9rem;line-height:1.45}.cam-capture-description::placeholder{color:var(--text-muted);opacity:.8}.cam-capture-description:focus{outline:2px solid var(--accent);outline-offset:1px}.cam-speech-button{border:1px solid var(--accent);background:var(--card);min-width:5.25rem;min-height:44px;color:var(--accent);font:inherit;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.cam-speech-button:hover,.cam-speech-button.is-listening{background:var(--accent);color:var(--background)}.cam-speech-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cam-capture-actions{gap:.6rem;width:100%;min-width:0;display:flex}.cam-capture-actions .cam-btn{border-radius:.85rem;justify-content:center;align-items:center;gap:.45rem;min-width:0;min-height:44px;display:inline-flex}.cam-capture-actions .cam-btn-secondary{flex:1 1 0}.cam-capture-actions .cam-btn-primary{flex:3 1 0}.cam-review-layout{flex-direction:column;gap:1.25rem;display:flex}.cam-review-image-section{border-radius:5px;width:100%;height:40vh;max-height:40vh;position:relative;overflow:hidden}.cam-review-image{object-fit:contain;border-radius:5px;width:100%;height:100%;display:block}.cam-review-details{flex-direction:column;gap:1rem;display:flex}.cam-review-macros{flex-wrap:wrap;gap:.5rem;display:flex}.cam-macro-pill{background:var(--input-bg);border:1.5px solid var(--border);border-radius:5px;align-items:center;gap:0;transition:border-color .2s,box-shadow .2s;display:inline-flex;overflow:hidden}.cam-macro-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.cam-macro-unit{color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.5rem .65rem .5rem .25rem;font-size:.68rem;font-weight:600}.cam-meal-type-toggle{border:1.5px solid var(--border);background:var(--card-bg);color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-start;align-items:center;gap:.5rem;padding:.55rem .9rem;font-family:Google Sans Text,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .2s,background .2s;display:inline-flex}.cam-meal-type-toggle:hover{border-color:var(--accent);background:var(--hover-bg)}.cam-meal-type-toggle:active{transform:scale(.97)}.cam-meal-type-chevron{color:var(--text-muted);font-size:.55rem;transition:color .2s}.cam-meal-type-toggle:hover .cam-meal-type-chevron{color:var(--accent)}.cam-review-actions{gap:.6rem;display:flex}.cam-review-actions .cam-btn{flex:1}.cam-review-field{flex-direction:column;gap:.4rem;display:flex}.cam-review-hint{opacity:.65;margin:0;line-height:1.4}.cam-review-retake-badge{-webkit-backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:5px;padding:.35rem .7rem;font-family:Google Sans Text,sans-serif;font-size:.72rem;font-weight:600;transition:background .2s;position:absolute;bottom:8px;right:8px}.cam-review-retake-badge:hover{background:#000c}.cam-spinner-sm{border:2px solid var(--accent-glow);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@media (min-width:500px){.cam-review-layout{flex-direction:row;align-items:flex-start;gap:1.75rem}.cam-review-image-section{flex-shrink:0;max-width:240px}.cam-review-details{flex:1;min-width:0}}.cam-confirm-overwrite{flex-direction:column;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.cam-confirm-text{color:var(--text-main);text-align:center;margin:0;font-size:.9rem;line-height:1.5}.cam-confirm-images{justify-content:center;gap:1rem;width:100%;display:flex}.cam-confirm-image-col{flex-direction:column;flex:1;align-items:center;gap:.4rem;max-width:160px;display:flex}.cam-confirm-thumb{aspect-ratio:1;object-fit:cover;border:2px solid var(--border);border-radius:5px;width:100%;display:block}.cam-title-edit-row{align-items:stretch;gap:.6rem;display:flex}.cam-title-edit-row .cam-review-input{flex:1;min-width:0}.cam-btn-recreate{background:var(--accent-soft);color:var(--accent);border:1.5px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.65rem .8rem;font-family:Google Sans Text,sans-serif;font-size:.78rem;font-weight:600;transition:background .2s;display:inline-flex}.cam-btn-recreate:hover:not(:disabled){background:var(--accent-dim)}.cam-btn-recreate:disabled{opacity:.5;cursor:not-allowed}.cam-review-input{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:5px;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.cam-review-textarea{resize:vertical;min-height:2.8em;line-height:1.5}.cam-review-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.qa-title{align-items:center;gap:.5rem;margin:0;display:flex}.qa-preview{background:var(--hover-bg,#ffffff08);gap:.85rem;padding:1rem 1.25rem;display:flex}.qa-preview-image-wrap{border-radius:5px;flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}.qa-preview-image{object-fit:cover;width:100%;height:100%}.qa-preview-image-trigger{width:100%;height:100%;display:block}.qa-preview-kcal{color:#fff;background:#000000b3;border-radius:5px;padding:.15rem .4rem;font-size:.6rem;font-weight:700;position:absolute;bottom:3px;left:3px}.qa-preview-info{flex-direction:column;justify-content:center;gap:.3rem;min-width:0;display:flex}.qa-preview-title{margin:0}.qa-form{flex-direction:column;gap:.85rem;min-width:0;padding:1rem 1.25rem;display:flex}.qa-calendar{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:0;padding:.85rem}.qa-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.qa-calendar-month{color:var(--foreground,#eee);font-size:.9rem;font-weight:700}.qa-calendar-nav{min-width:var(--control-height);min-height:var(--control-height);color:var(--text-muted,#999);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.qa-calendar-nav:focus-visible,.qa-calendar-cell:focus-visible,.qa-calendar-action-btn:focus-visible,.qa-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.qa-calendar-nav:hover{background:var(--surface-hover);color:var(--foreground,#eee)}.qa-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.qa-calendar-weekday{text-align:center;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.03em;padding:4px 0;font-size:.65rem;font-weight:600}.qa-calendar-cell{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--foreground,#ddd);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:.8rem;font-weight:500;display:flex}.qa-calendar-cell--empty{cursor:default;background:0 0}.qa-calendar-cell:hover:not(.qa-calendar-cell--empty){background:var(--surface-hover)}.qa-calendar-cell.today{color:var(--accent,#e65100);font-weight:700}.qa-calendar-cell.selected{background:var(--accent,#e65100);color:var(--text-on-accent);font-weight:700}.qa-calendar-cell.selected:hover{background:var(--accent,#e65100);opacity:.85}.qa-calendar-cell--multi{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;padding:2px;font-family:inherit;transition:all .15s;display:flex}.qa-calendar-cell--multi:hover{background:var(--surface-hover)}.qa-calendar-cell--multi.today{box-shadow:inset 0 0 0 1.5px var(--accent,#e65100)}.qa-calendar-cell--multi.selected{background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-calendar-cell--multi.selected{background:color-mix(in srgb, var(--accent,#e65100) 15%, transparent)}}.qa-calendar-cell--multi.selected{box-shadow:inset 0 0 0 2px var(--accent,#e65100)}.qa-calendar-cell--multi.selected .qa-cell-day{color:var(--accent,#e65100);font-weight:700}.qa-cell-day{color:var(--foreground,#ddd);font-size:.7rem;font-weight:500;line-height:1}.qa-cell-dots{gap:2px;display:flex}.qa-cell-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.qa-cell-dot.free{background:var(--green,#22c55e)}.qa-cell-dot.occupied{background:var(--red,#ef4444)}.qa-calendar-actions{justify-content:space-between;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.qa-calendar-action-btn{min-height:var(--control-height);color:var(--accent,#e65100);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;padding:.25rem .5rem;font-family:inherit;font-size:.72rem;font-weight:500}.qa-calendar-action-btn:hover{background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-calendar-action-btn:hover{background:color-mix(in srgb, var(--accent,#e65100) 12%, transparent)}}.qa-calendar-count{color:var(--text-muted,#999);font-size:.72rem;font-weight:500}.qa-calendar-legend{color:var(--text-muted,#999);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.62rem;display:flex}.qa-legend-item{color:var(--text-muted,#888);align-items:center;gap:2px;font-weight:500;display:inline-flex}.qa-preview-label{align-items:center;gap:3px;display:inline-flex}.qa-legend-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.qa-legend-dot.free{background:var(--green,#22c55e)}.qa-legend-dot.occupied{background:var(--red,#ef4444)}.qa-progress-text{color:var(--text-muted,#999);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.qa-slots{flex-direction:column;gap:.5rem;display:flex}.qa-slots-label{align-items:center;gap:.4rem;display:flex}.qa-slots-loading{color:var(--text-muted,#999);padding:.5rem 0;font-size:.8rem}.qa-slots-row{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.qa-slot-card{border:1.5px solid var(--border,#ffffff1a);color:var(--text-muted,#999);cursor:pointer;text-align:center;background:0 0;border-radius:5px;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .4rem;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.qa-slot-card:hover{border-color:var(--accent,#e65100);color:var(--foreground,#eee)}.qa-slot-card.selected{border-color:var(--accent,#e65100);background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-slot-card.selected{background:color-mix(in srgb, var(--accent,#e65100) 12%, transparent)}}.qa-slot-card.selected{color:var(--accent,#e65100)}.qa-slot-card.occupied{opacity:.7;border-style:dashed}.qa-slot-card.occupied.selected{opacity:1;border-style:solid}.qa-slot-icon{font-size:1.2rem}.qa-slot-free{color:var(--green,#22c55e);font-size:.6rem;font-weight:500}.qa-slot-occupied{color:var(--orange,#f59e0b);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.6rem;font-weight:500;overflow:hidden}.qa-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--red);align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.82rem;font-weight:500;display:flex}.qa-success{border-radius:var(--radius-sm);background:var(--success-soft-bg);color:var(--success);align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.82rem;font-weight:500;display:flex}.qa-btn{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.65rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.qa-btn:disabled{opacity:.5;cursor:not-allowed}.qa-btn-ghost{color:var(--text-muted,#999);background:0 0}.qa-btn-ghost:hover{color:var(--foreground,#eee)}.qa-btn-primary{background:var(--accent,#e65100);color:var(--text-on-accent)}.qa-btn-primary:hover{opacity:.88}.qa-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.qa-warning{background:var(--warning-bg);border:1px solid var(--amber-soft-bg);border-radius:var(--radius-md);padding:.85rem}.qa-warning-header{color:var(--amber);align-items:center;gap:.45rem;margin-bottom:.6rem;font-size:.8rem;font-weight:600;display:flex}.qa-warning-header svg{flex-shrink:0}.qa-warning-hint{margin:.45rem 0 0}.qa-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex}.qa-toggle-input{opacity:0;width:0;height:0;position:absolute}.qa-toggle-track{background:var(--border,#ffffff26);border-radius:20px;flex-shrink:0;width:34px;height:20px;transition:background .2s;position:relative}.qa-toggle-input:checked+.qa-toggle-track{background:var(--accent)}.qa-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.qa-toggle-input:checked+.qa-toggle-track .qa-toggle-thumb{transform:translate(14px)}.qa-toggle-text{color:var(--foreground,#eee);font-size:.78rem;font-weight:500}.qa-result{background:var(--success-soft-bg);border:1px solid var(--success);border-radius:5px;align-items:center;gap:.45rem;padding:.65rem .85rem;display:flex}@supports (color:color-mix(in lab, red, red)){.qa-result{border:1px solid color-mix(in srgb, var(--success) 25%, transparent)}}.qa-result{color:var(--success);font-size:.82rem}.qa-result svg{flex-shrink:0}.qa-result-close{margin-left:auto;color:var(--success)!important;padding:.3rem .7rem!important;font-size:.78rem!important}.qa-result-close:hover{background:var(--success-soft-bg)!important}@media (max-width:700px){.qa-calendar-nav,.qa-calendar-cell,.qa-calendar-action-btn,.qa-btn,.qa-calendar-cell--multi{min-height:44px}.lb-grid{grid-template-columns:1fr;gap:1rem}.lb-filter-panel{padding:.85rem 1rem}.lb-modal{border-radius:5px;max-height:85vh}.lb-modal-body{padding:1rem}}.user-dashboard{max-width:1500px;margin:0 auto}.stats-slide{box-sizing:border-box;min-width:0;overflow:hidden}.stats-slide .widget-card,.stats-slide .dashboard-diary-widget,.stats-slide .timeline-card{opacity:0;transform:translateY(10px)}.stats-slide-inner{min-width:0;min-height:0;overflow:hidden}.dashboard-meals-section{margin-top:.5rem}.dashboard-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.dashboard-empty{text-align:center;padding:4rem 2rem}.dashboard-widgets-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.dashboard-diary-widget{--dashboard-calorie-height:12rem;--dashboard-goal-notice-height:0rem;min-width:0;height:calc(var(--dashboard-calorie-height) + var(--dashboard-goal-notice-height));min-height:calc(var(--dashboard-calorie-height) + var(--dashboard-goal-notice-height));grid-column:span 2;align-self:start}.dashboard-diary-widget:has(.diary-default-goal){--dashboard-goal-notice-height:2.75rem}.dashboard-diary-widget .diary-morph-widget{height:100%;min-height:inherit}.dashboard-diary-average{height:100%;margin-bottom:0}.dashboard-diary-average .diary-compact-header-label.diary-metric-slot{inline-size:20ch}.widget-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;min-width:0;transition:box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-direction:column;align-items:center;padding:.55rem;display:flex}.widget-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--accent);transform:translateY(-1px)}.widget-card-header{align-items:center;gap:.25rem;width:100%;margin-bottom:.25rem;display:flex}.widget-icon{flex-shrink:0;font-size:.72rem}.widget-title{color:var(--heading);margin:0}.widget-subtext{color:var(--text-muted);text-align:center;margin:.2rem 0 0;font-size:.55rem}.donut-chart-wrapper{justify-content:center;width:100%;padding:0;display:flex}.donut-chart-svg{width:100%;max-width:110px;height:auto;overflow:visible}.widget-stats-grid{grid-template-columns:1fr 1fr;gap:.28rem;width:100%;display:grid}.widget-stat-item{border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-subtle);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:.35rem .25rem;display:flex;position:relative;overflow:hidden}.widget-stat-item:before{content:"";background:var(--accent);opacity:.4;border-radius:0 0 2px 2px;height:2px;transition:opacity .2s,left .2s,right .2s;position:absolute;top:0;left:20%;right:20%}.widget-stat-item:hover{background:var(--surface-hover);border-color:var(--border);transform:translateY(-1px)}.widget-stat-item:hover:before{opacity:.8;left:12%;right:12%}@media (prefers-reduced-motion:reduce){.widget-card,.widget-stat-item,.widget-stat-item:before,.widget-goal-fill{transition:none}}.widget-stat-value{color:var(--heading);letter-spacing:-.01em;line-height:1.2}.widget-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-top:1px;font-size:.48rem;font-weight:600}.widget-goal-bars{flex-direction:column;gap:.35rem;width:100%;display:flex}.widget-goal-row{flex-direction:column;gap:.16rem;display:flex}.widget-goal-info{align-items:center;gap:.22rem;display:flex}.widget-goal-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.widget-goal-name{color:var(--text-muted);flex:1;font-size:.55rem;font-weight:600}.widget-goal-values{color:var(--text-light);font-size:.55rem}.widget-goal-values strong{color:var(--heading);font-weight:700}.widget-goal-track{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.widget-goal-fill{border-radius:2px;height:100%;transition:width 1s cubic-bezier(.22,1,.36,1)}.widget-goal-fill.protein-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover))}.widget-goal-fill.sugar-fill{background:var(--text-light)}.widget-adherence{border-top:1px solid var(--border);width:100%;margin-top:.4rem;padding-top:.35rem}.widget-adherence-info{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.widget-adherence-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.5rem;font-weight:600}.widget-adherence-count{color:var(--heading);font-size:.5rem;font-weight:700}.widget-adherence-track{background:var(--border);border-radius:3px;width:100%;height:5px;display:flex;overflow:hidden}.widget-adherence-fill{height:100%;transition:width 1s cubic-bezier(.22,1,.36,1)}.widget-adherence-fill.confirmed{background:linear-gradient(90deg, var(--accent), #3cc973);border-radius:3px 0 0 3px}.widget-adherence-fill.skipped{background:linear-gradient(90deg, var(--red-strong,#ef4444), var(--red,#f87171))}.widget-adherence-legend{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.22rem;display:flex}.widget-adherence-legend-item{color:var(--text-muted);align-items:center;gap:.18rem;font-size:.45rem;display:flex}.widget-adherence-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.widget-adherence-dot.confirmed{background:var(--accent)}.widget-adherence-dot.planned{background:var(--text-muted)}.widget-adherence-dot.skipped{background:var(--red-strong,#ef4444)}.widget-empty{grid-column:1/-1;padding:1.25rem}.widget-empty-text{text-align:center;margin:0}.diary-insights{--insight-color:var(--blue);--insight-tint:var(--blue-soft-bg);border:1px solid var(--card-border);border-left:2px solid var(--insight-color);background:linear-gradient(135deg, var(--insight-tint), transparent 70%), var(--card-bg);box-sizing:border-box;word-break:break-word;touch-action:pan-y;border-radius:5px;flex-direction:column;flex-shrink:0;gap:0;min-width:0;max-width:100%;height:auto;margin-bottom:0;padding:0 .7rem .35rem;transition:border-color .45s cubic-bezier(.25,.46,.45,.94),background .45s cubic-bezier(.25,.46,.45,.94),max-height .7s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94),filter .5s cubic-bezier(.25,.46,.45,.94),margin .7s cubic-bezier(.25,.46,.45,.94),padding .7s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden}.diary-insight-interval{background:var(--insight-color);transform-origin:0;pointer-events:none;height:2px;position:absolute;inset:0 0 auto}.diary-insights[data-tone=good]{--insight-color:var(--accent);--insight-tint:var(--accent-dim)}.diary-insights[data-tone=warn]{--insight-color:var(--amber);--insight-tint:var(--amber-soft-bg)}.diary-insights[data-tone=alert]{--insight-color:var(--red-strong);--insight-tint:var(--red-soft)}.diary-insights[data-tone=info]{--insight-color:var(--blue);--insight-tint:var(--blue-soft-bg)}.diary-insights[data-tone=ai]{--insight-color:var(--ai-purple);--insight-tint:var(--ai-soft-bg3);background:linear-gradient(135deg, var(--ai-soft-bg), transparent 70%), var(--card-bg);border-left-color:var(--ai-purple)}.diary-insight-icon.ai-icon{background:linear-gradient(135deg, var(--ai-purple-dark), var(--ai-purple));color:var(--text-on-accent);box-shadow:0 0 10px var(--ai-soft-bg4);border-color:#0000}.diary-insight-ai-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ai-purple);background:var(--ai-soft-bg2);border:1px solid var(--ai-purple-muted);vertical-align:middle;white-space:nowrap;border-radius:3px;align-items:center;margin-right:.35rem;padding:.1em .4em;font-size:.58rem;font-weight:700;display:inline-flex}.diary-insight-ai-loading{word-break:break-word;box-sizing:border-box;min-width:0;color:var(--ai-purple);flex-shrink:0;align-items:center;gap:.4rem;padding:0;font-size:.65rem;animation:1.5s ease-in-out infinite ai-pulse;display:flex;overflow:hidden}.diary-insight-ai-loading-icon{font-size:.8rem;line-height:1}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.5}}.diary-insight-dot.ai-dot:before{background:var(--ai-purple-muted)}.diary-insight-dot.ai-dot.active:before{background:var(--ai-purple)}.diary-insight-card{word-break:break-word;box-sizing:border-box;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;align-items:center;gap:.55rem;width:100%;min-width:0;max-width:100%;height:auto;min-height:44px;padding:0;display:flex;overflow:hidden}.diary-insight-card:focus-visible{outline:2px solid var(--insight-color);outline-offset:2px;border-radius:4px}.diary-insight-icon{background:var(--insight-tint);border:1px solid var(--insight-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;line-height:1;transition:background .45s cubic-bezier(.25,.46,.45,.94),border-color .45s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-insight-body{word-break:break-word;box-sizing:border-box;flex-direction:column;flex:1;gap:.1rem;min-width:0;max-width:100%;display:flex;overflow:hidden}.diary-insight-title{letter-spacing:.01em;color:var(--heading);word-break:break-word;flex-shrink:0;display:block;overflow:hidden}.diary-insight-message{color:var(--text-main);word-break:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.diary-insight-dots{box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:0;min-width:0;max-width:100%;padding-block:.125rem;display:flex;overflow:hidden}.diary-insight-dot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:2rem;height:1rem;min-height:0;padding:0;display:inline-flex}.diary-insight-dot:before{content:"";background:var(--border);border-radius:50%;width:.3125rem;height:.3125rem;transition:background .3s,width .3s}.diary-insight-dot:hover:before{background:var(--text-muted)}.diary-insight-dot.active:before{background:var(--insight-color);border-radius:3px;width:.875rem}.ai-insight-modal{max-width:480px}.ai-insight-modal-body{flex-direction:column;gap:.75rem;padding:.5rem 0;display:flex}.ai-insight-modal-header{align-items:center;gap:.5rem;display:flex}.ai-insight-modal-header-icon{background:linear-gradient(135deg, var(--ai-purple-dark), var(--ai-purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.ai-insight-modal-title{color:var(--heading);margin:0;line-height:1.3}.ai-insight-modal-content{text-align:left;word-break:break-word;width:100%;font-size:.95rem;line-height:1.55}.ai-insight-modal-content p{margin:0 0 .85rem}.ai-insight-modal-content p:last-child{margin-bottom:0}.ai-insight-modal-content strong{color:var(--ai-purple);font-weight:700}.ai-insight-modal-content .ai-insight-wording-concern{color:var(--red-strong);font-weight:600}.ai-insight-modal-content .ai-insight-wording-positive{color:var(--accent);font-weight:600}.ai-insight-modal-content ul,.ai-insight-modal-content ol{margin:0 0 .6rem;padding-left:1.2rem}.ai-insight-modal-content li{margin-bottom:.25rem}.ai-insight-modal-content li:last-child{margin-bottom:0}.ai-insight-modal-content table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--card-border);width:100%;max-width:100%;margin:.5rem 0;font-size:.8rem}.ai-insight-modal-content thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--heading);background:var(--ai-soft-bg2);border-right:1px solid var(--card-border);border-bottom:2px solid var(--ai-purple-muted);padding:.4rem .5rem;font-size:.72rem;font-weight:700}.ai-insight-modal-content thead th:last-child,.ai-insight-modal-content tbody td:last-child{border-right:0}.ai-insight-modal-content tbody td{vertical-align:top;border-right:1px solid var(--card-border);border-bottom:1px solid var(--card-border);padding:.35rem .5rem}.ai-insight-modal-content tbody tr:last-child td{border-bottom:0}.ai-insight-modal-content table:not(.ai-insight-weekly-table) th:first-child,.ai-insight-modal-content table:not(.ai-insight-weekly-table) td:first-child{width:23%}.ai-insight-modal-content tbody td:first-child{font-weight:600}.ai-insight-weekly{margin-top:.85rem}.ai-insight-weekly-overview{border:1px solid var(--border);background:var(--card);border-radius:.5rem;margin-bottom:.75rem;padding:.65rem .75rem}.ai-insight-weekly-overview p{margin:0}.ai-insight-weekly-dates{border-bottom:1px solid var(--border);padding-bottom:.45rem;font-size:.78rem}.ai-insight-weekly-result{padding-top:.5rem;font-size:.9rem}.ai-insight-weekly-result strong,.ai-insight-weekly-table .is-under{color:var(--green-bright)}.ai-insight-weekly-result.is-over strong,.ai-insight-weekly-table .is-over{color:var(--red-strong)}.ai-insight-weekly-tracked{padding-top:.15rem;font-size:.78rem}.ai-insight-weekly-table-wrap{word-break:break-word;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:auto}.ai-insight-modal-content table.ai-insight-weekly-table{white-space:nowrap;margin:0;font-size:.76rem}.ai-insight-weekly-table caption{text-align:left;padding-bottom:.35rem;font-size:1rem}.ai-insight-weekly-table thead th{text-align:right}.ai-insight-weekly-table thead th:first-child,.ai-insight-weekly-table thead th:nth-child(2),.ai-insight-weekly-table tbody th,.ai-insight-weekly-table tbody td:first-of-type,.ai-insight-weekly-table tfoot th{text-align:left}.ai-insight-weekly-table tbody td,.ai-insight-weekly-table tfoot td{text-align:right}.ai-insight-weekly-table tbody tr.is-today{background:var(--hover-bg);box-shadow:inset 3px 0 0 var(--accent)}.ai-insight-weekly-table tfoot th,.ai-insight-weekly-table tfoot td{border-top:1px solid var(--border);padding:.35rem .5rem;font-weight:700}.ai-insight-weekly-table tfoot tr+tr th,.ai-insight-weekly-table tfoot tr+tr td{border-top:0;font-size:.68rem;font-weight:400}.ai-insight-weekly-note{font-size:.7rem;margin-top:.35rem!important}@media (prefers-reduced-motion:reduce){.diary-insight-ai-loading{animation:none}}.step-settings{box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.step-settings-connection{flex-direction:column;gap:.6rem;display:flex}.step-settings-note{word-break:break-word;margin:0;line-height:1.5}.step-settings-note.connected{color:var(--accent)}.step-settings-actions{flex-wrap:wrap;gap:.5rem;display:flex}.step-settings-btn{border:1px solid var(--border);min-height:44px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;padding:.55rem .9rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.step-settings-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.step-settings-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.step-settings-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.step-settings-btn:disabled{opacity:.55;cursor:not-allowed}.step-settings-message{word-break:break-word;margin:0}.step-settings-widget{border-top:1px solid var(--border);box-sizing:border-box;flex-direction:column;gap:.6rem;min-width:0;padding-top:.9rem;display:flex}.step-settings-widget .step-settings-btn{align-self:flex-start;max-width:100%}.step-settings-toggle{border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:5px;align-items:flex-start;gap:.65rem;min-width:0;min-height:44px;padding:.5rem .7rem;transition:border-color .2s,background .2s;display:flex}.step-settings-toggle:hover{background:var(--hover-bg);border-color:var(--accent)}.step-settings-toggle:has(.step-settings-toggle-input:disabled){opacity:.55;cursor:not-allowed}.step-settings-toggle-input{width:20px;height:20px;accent-color:var(--accent);cursor:inherit;flex:none;margin-top:.1rem}.step-settings-toggle-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.step-settings-toggle-hint{word-break:break-word;line-height:1.45}.wellness-card,.wellness-card *,.wellness-modal *,.health-connect-panel,.health-connect-panel *{box-sizing:border-box;min-width:0}.wellness-card{word-break:break-word;border:1px solid var(--border);background:var(--card);width:100%;max-width:100%;min-height:0;color:var(--foreground);border-radius:1.25rem;flex-direction:column;gap:.25rem;padding:.5rem .75rem .8rem;display:flex;overflow:hidden}.wellness-card-header{letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;font-size:.72rem;font-weight:650;display:flex}.wellness-card-date{color:var(--text-muted);font-weight:400}.wellness-card-metrics{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.1rem .2rem .45rem;display:grid}.wellness-metric-group{flex-direction:column;align-items:stretch;gap:.45rem;width:100%;min-width:0;display:flex;overflow:hidden}.wellness-sleep-group{border-left:1px solid var(--border);padding-left:.65rem}.wellness-metric{word-break:break-word;border:1px solid var(--accent);grid-template-columns:auto 1fr;align-content:center;gap:.1rem .5rem;min-height:2.75rem;padding:.35rem .65rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.wellness-metric{border:1px solid color-mix(in srgb, var(--accent) 17%, var(--border))}}.wellness-metric{background:var(--accent);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.wellness-metric{background:color-mix(in srgb, var(--accent) 6%, var(--card))}}.wellness-metric{color:var(--foreground);text-align:left;cursor:pointer;transition:border-color .2s,background .2s}.wellness-water>:not(.wellness-water-wave),.wellness-weight>:not(svg),.wellness-steps>:not(svg){z-index:1;position:relative}.wellness-sleep{isolation:isolate}.wellness-sleep:after{z-index:0;height:var(--wellness-sleep-fill,0%);border-radius:inherit;background:linear-gradient(to top, var(--accent), var(--accent));position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.wellness-sleep:after{background:linear-gradient(to top, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent) 7%, transparent))}}.wellness-sleep:after{content:"";pointer-events:none;transition:height .45s cubic-bezier(.22,1,.36,1)}.wellness-sleep>:not(.wellness-sleep-stars){z-index:1;position:relative}.wellness-sleep .wellness-sleep-stars{z-index:1}@media (prefers-reduced-motion:reduce){.wellness-sleep:after{transition:none}}.wellness-water-sleep-card .wellness-card-metrics{align-items:stretch;gap:.75rem}.wellness-water-sleep-card .wellness-metric-group{gap:.6rem}.wellness-water-sleep-card .wellness-metric-group>.wellness-metric{flex:1}.wellness-water-sleep-card .wellness-quick-actions{gap:.5rem;margin-bottom:0}.wellness-card.wellness-water-sleep-card .wellness-quick-actions button{min-height:2.75rem}.wellness-metric:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.wellness-metric:hover{background:color-mix(in srgb, var(--accent) 10%, var(--card))}}.wellness-metric:focus-visible,.wellness-quick-actions button:focus-visible,.wellness-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wellness-metric-icon{color:var(--accent);grid-row:span 2;align-self:center}.wellness-metric-label{color:var(--text-muted);font-size:.7rem}.wellness-metric strong{z-index:1;font-variant-numeric:tabular-nums;font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:600;line-height:1.1}.wellness-metric strong small{color:var(--text-muted);margin-left:.2rem;font-size:.65rem;font-weight:450}.wellness-goal-summary{text-align:left;grid-column:1/-1;gap:.25rem;width:100%;margin-top:.15rem;display:grid}.wellness-goal-caption{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.25;overflow:hidden}.wellness-goal-meter{background:var(--border);border-radius:999px;width:100%;height:.25rem;display:block;overflow:hidden}.wellness-goal-meter-fill{border-radius:inherit;background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}.wellness-sleep-minutes{margin-left:.3rem;font-size:.85em}.wellness-water-wave{z-index:0;width:100%;height:100%;fill:var(--accent);position:absolute;bottom:0;left:0}@supports (color:color-mix(in lab, red, red)){.wellness-water-wave{fill:color-mix(in srgb, var(--accent) 15%, transparent)}}.wellness-water-wave{pointer-events:none}.wellness-sleep-stars{color:var(--accent);position:absolute;top:.4rem;right:.6rem}@supports (color:color-mix(in lab, red, red)){.wellness-sleep-stars{color:color-mix(in srgb, var(--accent) 30%, transparent)}}.wellness-sleep-stars{letter-spacing:.2rem;pointer-events:none;font-size:1.1rem}.wellness-card-footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.4rem;font-size:.62rem;display:flex}.wellness-card .wellness-quick-actions button{white-space:nowrap;border-radius:.75rem;min-height:2rem;padding:.35rem;font-size:.72rem}.wellness-quick-actions button:hover,.wellness-quick-actions button:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.wellness-quick-actions button:hover,.wellness-quick-actions button:focus-visible{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.wellness-modal{width:min(100%,52rem);max-width:52rem}.wellness-modal-body{word-break:break-word;flex-direction:column;gap:1.5rem;display:flex;overflow-x:clip}.wellness-modal-body>*{flex-shrink:0}.wellness-section-heading{align-items:center;gap:.65rem;display:flex}.wellness-section-heading h2,.wellness-section-heading h3,.wellness-section-heading p{margin:0}.wellness-section-heading h2{font-size:1.2rem}.wellness-section-heading h3{font-size:.95rem;font-weight:600}.wellness-section-heading p{color:var(--text-muted);margin-top:.2rem;font-size:.75rem}.wellness-section-heading>svg{color:var(--accent);flex-shrink:0}.wellness-section-heading>span:last-child{margin-left:auto}.wellness-modal-switch{background:var(--hover-bg);border-radius:1rem;gap:.25rem;padding:.25rem;display:flex;overflow:hidden}.wellness-modal-switch button{min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.8rem;flex:1;padding:.6rem;position:relative}.wellness-modal-switch button>span:last-child{justify-content:center;align-items:center;gap:.4rem;display:flex;position:relative}.wellness-modal-switch button[aria-pressed=true]{color:var(--foreground)}.wellness-switch-active{background:var(--card);border:1px solid var(--border);border-radius:.8rem;position:absolute;inset:0}.tracker-modal{height:90dvh}.tracker-modal .wellness-modal-body{scrollbar-gutter:stable}.tracker-tabs{flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr)) 2.75rem;display:grid}.tracker-tabs button{padding:.6rem .35rem;font-size:clamp(.72rem,1.8vw,.85rem)}.tracker-tabs button[aria-selected=true]{color:var(--foreground)}.tracker-tabs .tracker-settings-tab{min-width:2.75rem;padding-inline:.5rem}.tracker-settings-tab>span{position:relative}.tracker-settings-alert{border:1px solid var(--background);background:var(--red-strong);width:1rem;height:1rem;color:var(--background);border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-.55rem;right:-.65rem}.tracker-tab-content{box-sizing:border-box;word-break:break-word;touch-action:pan-y;flex-direction:column;flex:none;gap:1.5rem;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.wellness-overview{background:var(--accent);border-radius:1.25rem;justify-items:center;gap:.35rem;padding:1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.wellness-overview{background:color-mix(in srgb, var(--accent) 6%, var(--card))}}.wellness-overview{overflow:hidden}.wellness-overview>.tracker-weight-chart{text-align:left;width:100%}.wellness-overview>span,.wellness-overview>small{color:var(--text-muted);text-align:center;font-size:.75rem}.wellness-overview strong{letter-spacing:-.04em;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:550}.wellness-entry-form{flex-direction:column;align-items:stretch;gap:.8rem;display:flex}.wellness-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid;overflow:hidden}.wellness-form-grid.wellness-weight-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.wellness-form-grid.wellness-sleep-fields{grid-template-columns:1fr}.wellness-duration-presets{width:100%;overflow:hidden}.wellness-form-grid label{color:var(--text-muted);gap:.4rem;font-size:.75rem;display:grid}.wellness-form-grid input{border:1px solid var(--border);background:var(--background);width:100%;max-width:100%;min-height:2.9rem;color:var(--foreground);font:inherit;border-radius:.75rem;padding:.65rem .75rem;font-size:1rem}.wellness-form-grid input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wellness-amount-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.wellness-amount-presets button{border:1px solid var(--border);background:var(--card);min-height:2.75rem;color:var(--text-muted);cursor:pointer;border-radius:.75rem;padding:.5rem;font-size:.8rem;transition:background .2s,border-color .2s}.wellness-amount-presets button:hover,.wellness-amount-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.wellness-amount-presets button:hover,.wellness-amount-presets button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.wellness-amount-presets.wellness-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:.4rem;width:100%;margin-bottom:.4rem;display:grid}.wellness-quick-actions button{width:100%;min-width:0}.wellness-muted{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.6}.wellness-history{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.8rem;display:flex}.wellness-history-row{border-bottom:1px solid var(--border);word-break:break-word;align-items:center;gap:.7rem;padding:.8rem .2rem;display:flex;overflow:hidden}.wellness-history-icon{background:var(--accent);border-radius:.8rem;flex-shrink:0;place-items:center;width:2.5rem;min-height:2.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.wellness-history-icon{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.wellness-history-icon{color:var(--accent)}.wellness-history-detail{flex:1;gap:.2rem;display:grid}.wellness-history-detail strong{font-size:.95rem;font-weight:550}.wellness-history-detail span{color:var(--text-muted);font-size:.75rem}.wellness-history-detail small{color:var(--text-muted);font-size:.65rem}.wellness-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.15rem;display:flex}.wellness-icon-button{min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.7rem;place-items:center;padding:.6rem;display:grid}.wellness-icon-button:hover{color:var(--foreground);background:var(--hover-bg)}.wellness-row-actions .wellness-icon-button:hover{background:0 0}.wellness-icon-button.wellness-delete-confirm,.wellness-icon-button.wellness-delete-confirm:hover:not(:disabled){color:var(--red-strong)}.wellness-empty{text-align:center;color:var(--text-muted);padding:1.3rem .5rem;font-size:.8rem}.health-connect-panel{border:1px solid var(--border);background:var(--card);word-break:break-word;border-radius:1rem;flex-direction:column;gap:.8rem;padding:1rem;display:flex;overflow:hidden}.health-connect-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.health-connect-category{cursor:pointer;border-radius:.6rem;align-items:center;gap:.6rem;min-height:3.3rem;padding:.5rem;display:flex}.health-connect-category:hover{background:var(--hover-bg)}.health-connect-category input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.health-connect-panel .samsung-consent-link{color:var(--accent)}.health-connect-panel .samsung-consent-link:hover{color:var(--accent-hover)}.base-modal-backdrop.samsung-consent-backdrop{z-index:1001}.base-modal.samsung-consent-modal{width:min(100%,52rem);max-width:52rem}.samsung-consent-modal-body{padding:0}.samsung-consent-modal-body .legal-container{padding:1.25rem 1.5rem 2rem}.health-connect-category span{gap:.15rem;font-size:.8rem;display:grid}.health-connect-category small{color:var(--text-muted);font-size:.65rem}.wellness-actions{flex-wrap:wrap;gap:.45rem;display:flex}.wellness-actions button{min-height:2.75rem}.wellness-actions .health-disconnect-button{border:1px solid var(--error-border);background:var(--danger-bg);width:2.75rem;color:var(--error-color);flex:0 0 2.75rem;padding:0}.wellness-actions .health-disconnect-button:hover{border-color:var(--red);background:var(--danger-hover);color:var(--red-strong)}.wellness-sync-status{color:var(--text-muted);font-size:.72rem;line-height:1.6}.wellness-sync-status p{margin:.25rem 0 0}.wellness-card button:disabled{opacity:.5;cursor:default}.tracker-history-leading{word-break:break-word;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.tracker-entry-heading{word-break:break-word;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex;overflow:hidden}.wellness-history-detail .tracker-source-tag{border:1px solid var(--border);width:fit-content;max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;border-radius:.4rem;padding:.12rem .4rem;font-size:.65rem;line-height:1.5;display:inline-flex}.tracker-entry-datetime{flex-wrap:wrap;align-items:center;gap:.3rem .65rem;display:flex}.tracker-entry-datetime .tracker-weight-change{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.tracker-weight-unit{color:var(--text-muted);letter-spacing:0;margin-left:.3rem;font-size:.9rem;font-weight:450}.tracker-weight-stats{border-top:1px solid var(--border);word-break:break-word;gap:1rem;width:100%;margin-top:.4rem;padding-top:.8rem;display:flex;overflow:hidden}.tracker-weight-stats>div{text-align:center;word-break:break-word;flex:1;gap:.25rem;display:grid;overflow:hidden}.tracker-weight-stats small{color:var(--text-muted);font-size:.7rem}.tracker-weight-stats b{font-size:clamp(.8rem,2.4vw,.95rem);font-weight:550}.tracker-weight-stats .tracker-bmi-stat b{color:var(--heading)}.tracker-weight-chart{border:1px solid var(--border);word-break:break-word;border-radius:.9rem;width:100%;max-width:100%;overflow:hidden}.tracker-weight-chart summary{min-height:2.75rem;color:var(--text-muted);cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.8rem;list-style:none;display:flex}.tracker-weight-chart summary::-webkit-details-marker{display:none}.tracker-weight-chart summary>span{align-items:center;gap:.45rem;display:flex}.tracker-weight-chart summary>svg{transition:transform .18s}.tracker-weight-chart[open] summary>svg{transform:rotate(90deg)}.tracker-weight-chart summary:hover{background:var(--hover-bg);color:var(--foreground)}.tracker-weight-chart .weight-timeline,.tracker-weight-chart .steps-timeline,.tracker-weight-chart .wellness-timeline{background:var(--card);max-width:100%;padding:.75rem}.tracker-summary-unit{color:var(--text-muted);letter-spacing:0;margin-left:.4rem;font-size:.82rem;font-weight:450}.tracker-photo-field{word-break:break-word;justify-content:center;align-items:center;gap:.4rem;display:flex;overflow:hidden}.tracker-photo-capture{border:1px solid var(--border);background:var(--card);width:fit-content;max-width:100%;min-height:2.75rem;color:var(--accent);text-align:left;cursor:pointer;word-break:break-word;border-radius:.75rem;flex:0 auto;justify-content:center;align-items:center;gap:.7rem;padding:.6rem .75rem;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.tracker-photo-capture>span{color:var(--foreground);gap:.2rem;font-size:.8rem;display:grid}.tracker-photo-label{align-items:center;gap:.25rem;display:inline-flex}.tracker-photo-capture small{color:var(--text-muted);font-size:.65rem}.tracker-photo-capture img{object-fit:cover;border-radius:.5rem;width:3rem;height:3rem}.tracker-history-photo{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:.75rem;place-items:center;width:3rem;min-height:3rem;padding:0;display:grid;overflow:hidden}.tracker-history-photo img{object-fit:cover;width:100%;height:3rem;display:block}.tracker-photo-capture:focus-visible,.tracker-history-photo:focus-visible,.tracker-weight-chart summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wellness-history-detail strong>small{color:var(--text-muted);font-size:.7rem;font-weight:450}.date-time-input{box-sizing:border-box;word-break:break-word;border:1px solid var(--border);background:var(--background);width:100%;min-width:0;max-width:100%;min-height:2.9rem;color:var(--foreground);border-radius:.75rem;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.9rem;display:flex;position:relative;overflow:hidden}.date-time-input-display{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.date-time-input>svg{color:var(--text-muted);pointer-events:none;flex-shrink:0}.date-time-input>input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:2.75rem;margin:0;padding:0;position:absolute;inset:0}.date-time-input:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.date-time-input:hover{border-color:var(--accent)}.widgets-settings{box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.widgets-settings-note{word-break:break-word;margin:0;line-height:1.5}.widgets-settings-list{flex-direction:column;gap:1rem;min-width:0;display:flex}.widgets-settings-card{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.widgets-settings-card-header{border-bottom:1px solid var(--border);background:var(--hover-bg);margin:0;padding:.7rem .85rem}.widgets-settings-row{box-sizing:border-box;align-items:center;gap:.75rem;min-width:0;padding:.75rem;display:flex}.widgets-settings-preview{background:var(--card);border:1px solid var(--border);width:72px;height:72px;box-shadow:0 2px 8px var(--shadow-sm);box-sizing:border-box;border-radius:16px;flex:none;justify-content:center;align-items:center;padding:8px;display:flex}.widgets-settings-preview svg{width:100%;height:100%}.widgets-settings-preview-wide{width:128px;height:72px}.widgets-settings-preview-value{fill:var(--foreground);font-size:6.5px;font-weight:700}.widgets-settings-preview-unit{fill:var(--text-muted);text-transform:uppercase;letter-spacing:.2px;font-size:6px;font-weight:600}.widgets-settings-details{box-sizing:border-box;border-left:1px solid var(--border);flex-direction:column;flex:auto;gap:.6rem;min-width:0;padding-left:.75rem;display:flex}.widgets-settings-info{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.widgets-settings-desc{word-break:break-word;margin:0;line-height:1.45}.widgets-settings-message{word-break:break-word;margin:0}.widgets-settings-add-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-sizing:border-box;border-radius:5px;width:100%;min-height:44px;padding:.55rem 1rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s,opacity .2s}.widgets-settings-add-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.widgets-settings-add-btn:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed;opacity:.75;background:0 0}.widgets-settings-remove-btn{border-color:var(--red-strong,#ef4444);color:var(--red-strong,#ef4444);background:0 0}.widgets-settings-remove-btn:hover:not(:disabled){background:var(--red-strong,#ef4444);border-color:var(--red-strong,#ef4444);color:#fff}.blocked-users-settings{box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.blocked-users-settings-note{word-break:break-word;margin:0;line-height:1.5}.blocked-users-list{flex-direction:column;gap:.5rem;min-width:0;display:flex}.blocked-users-row{border:1px solid var(--border);box-sizing:border-box;border-radius:5px;align-items:center;gap:.65rem;min-width:0;padding:.55rem .7rem;display:flex}.blocked-users-avatar,.blocked-users-avatar-img{object-fit:cover;border-radius:50%;flex:none;width:38px;height:38px}.blocked-users-avatar{background:var(--hover-bg);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.blocked-users-info{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex;overflow:hidden}.blocked-users-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.blocked-users-unblock-btn{border:1px solid var(--border);min-height:44px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;flex:none;padding:.5rem .85rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.blocked-users-unblock-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.blocked-users-unblock-btn:disabled{opacity:.55;cursor:not-allowed}.settings-section-header{background:var(--card-bg);border:1px solid var(--card-border);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:.3rem;min-width:0;padding:1rem 1.1rem;display:flex}.settings-section-header-title{align-items:center;gap:.5rem;margin:0;display:flex}.settings-section-header-icon{color:var(--accent);flex-shrink:0;align-items:center;display:inline-flex}.settings-section-header-description{word-break:break-word;margin:0;line-height:1.45}.base-modal.ui-preferences-modal{max-width:30rem}.ui-preferences{flex-direction:column;gap:.5rem;min-width:0;display:flex}.ui-preferences-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card);min-width:0;padding:.5rem}.ui-preferences-heading{color:var(--foreground);text-align:center;margin:0 0 .6rem;font-size:.9rem;font-weight:600}.ui-preferences-row{grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;display:grid}.ui-preferences-row+.ui-preferences-row{margin-top:.5rem}.ui-preferences-label{color:var(--text-muted);white-space:nowrap;margin:0;font-size:.7rem;font-weight:500}.ui-preferences-group{gap:.35rem;min-width:0;display:flex}.ui-preferences-group button{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-canvas);min-width:44px;min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;overflow-wrap:anywhere;flex:1 1 0;justify-content:center;align-items:center;gap:.25rem;padding:.25rem;font-size:.8rem;font-weight:600;display:inline-flex}.ui-preferences-group button svg{flex-shrink:0}.ui-preferences-group button:hover{background:var(--surface-hover)}.ui-preferences-group button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ui-preferences-group button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-preferences-navigation{flex-wrap:nowrap;gap:.25rem}.ui-preferences-navigation button{border-radius:var(--radius-md);white-space:nowrap;flex-direction:column;flex:1 1 0;gap:.15rem;min-width:0;padding:.35rem .1rem;font-size:.7rem}.ui-preferences-error{color:var(--red-strong);margin:0;font-size:.8rem}.ui-preferences-toggle{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:44px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.25rem .75rem;display:flex}.ui-preferences-toggle>span:first-child{overflow-wrap:anywhere;min-width:0}.ui-preferences-toggle .form-toggle-track{border-radius:var(--radius-pill);flex-shrink:0}.ui-preferences-toggle .form-toggle-thumb{background:var(--solid-white)}.ui-preferences-toggle:hover{background:var(--surface-hover)}.ui-preferences-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.settings-wizard .ui-preferences{width:100%}.settings-wizard .wizard-steps{min-width:0;overflow-x:auto}.settings-wizard .wizard-step{flex:1 0 auto;min-width:44px}.settings-wizard button.wizard-step{font:inherit;background:0 0;border:0}.step-editor{height:100%;overflow-y:auto}.step-editor-row{align-items:flex-start;margin-bottom:.25rem;display:flex}.step-editor-row:has(.step-editor-divider-line){align-items:center;padding:.25rem 0}.step-editor-num{width:24px;color:var(--text-muted);opacity:.6;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;padding-top:.4rem;padding-right:8px;font-family:Google Sans Text,sans-serif;font-size:.85rem;line-height:1.6}.step-editor-num--hidden{-webkit-user-select:none;user-select:none;flex-shrink:0;width:24px}.step-editor-num--bullet{width:16px;color:var(--accent);opacity:.5;text-align:center;padding-right:0}.step-editor-row:has(.step-editor-divider-line) .step-editor-num--hidden{width:24px}.step-editor-divider-line{background:var(--border);opacity:.8;border-radius:var(--radius-xs);flex:1;height:2px}.step-editor-textarea{resize:none;color:var(--foreground);box-sizing:border-box;background:0 0;border:none;border-radius:0;outline:none;flex:1;margin:0;padding:.4rem .3rem;font-family:Google Sans Text,sans-serif;font-size:.85rem;line-height:1.6;overflow:hidden}.step-editor-textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-xs)}.step-editor-remove-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:.4;transition:opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:.3rem;margin-left:4px;padding:0;font-size:1rem;line-height:1;display:inline-flex}.step-editor-remove-btn:focus-visible,.step-editor-add-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.step-editor-row:has(.step-editor-divider-line) .step-editor-remove-btn{margin-top:0;margin-left:6px}.step-editor-remove-btn:disabled{opacity:.15;cursor:not-allowed}.step-editor-remove-btn:hover:not(:disabled){opacity:1;background:var(--danger-bg);color:var(--red)}.step-editor-actions{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.step-editor-add-btn{border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;align-items:center;gap:4px;padding:4px 8px;font-family:Google Sans Text,sans-serif;font-size:.8rem;display:inline-flex}.step-editor-add-btn:hover{opacity:1;background:var(--surface-hover)}.number-stepper-control{grid-template-columns:minmax(0,1fr) 2.25rem;align-items:stretch;min-width:0;display:grid}.number-stepper-control input{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg,var(--background));width:100%;min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;appearance:textfield;border-inline-end:0;border-radius:.5rem 0 0 .5rem;padding:.55rem}.number-stepper-control input::-webkit-inner-spin-button{appearance:none;margin:0}.number-stepper-control input::-webkit-outer-spin-button{appearance:none;margin:0}.number-stepper-buttons{flex-direction:column;min-width:0;display:flex}.number-stepper-buttons button{border:1px solid var(--border);background:var(--input-bg,var(--background));min-width:2.25rem;min-height:1.375rem;color:var(--accent);font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;padding:0;font-weight:700;line-height:1}.number-stepper-buttons button:first-child{border-bottom:0;border-radius:0 .5rem 0 0}.number-stepper-buttons button:last-child{border-radius:0 0 .5rem}.number-stepper-buttons button:hover:not(:disabled){background:var(--accent-dim);color:var(--accent-hover)}.number-stepper-buttons button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;z-index:1;position:relative}.number-stepper-control button:disabled{cursor:not-allowed;opacity:.6}.number-stepper-control.modal-nutrition-stepper{flex:1;min-width:0}.modal-nutrition-stepper input{text-align:right;background:0 0;border:0;border-radius:0;min-height:2.5rem;padding:.25rem;font-size:.9rem;font-weight:600}.meal-nutrient-edit-value .number-stepper-control.meal-nutrient-stepper{width:100%}.number-stepper-control.meal-nutrient-stepper input{text-align:end}.number-stepper-control.mp-number-stepper{width:100%}.mp-number-stepper input{background:var(--input-bg,var(--card));border-radius:5px 0 0 5px;padding:8px 12px;font-size:13px}.mp-number-stepper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--indigo-soft-bg);outline:none}.number-stepper-control.cam-macro-stepper{flex:1;width:100%;min-width:0}.cam-macro-stepper input{text-align:right;background:0 0;border:0;border-radius:0;min-height:2.75rem;padding:.35rem .3rem .35rem .5rem;font-size:.9rem;font-weight:700}.cam-macro-stepper .number-stepper-buttons button{background:0 0;border-block:0;border-inline-end:0}.meal-item-card .number-stepper-control input{background:var(--background);border-inline-end:0;border-radius:.5rem 0 0 .5rem}.number-stepper-control.meal-impact-stepper{grid-template-columns:minmax(0,1fr) 1.75rem;width:100%}.meal-impact-stepper .number-stepper-buttons button{min-width:1.75rem}.meal-impact-stepper input{background:var(--meal-edit-input-bg);text-align:end;border-radius:.4rem 0 0 .4rem;min-height:2.75rem;padding:.4rem}.wellness-form-grid .number-stepper-control input{border-inline-end:0;border-radius:.5rem 0 0 .5rem}.tabs-bar{border-bottom:1px solid var(--border-subtle);background:0 0;display:flex}.tabs-tab{font-family:var(--font-family-body,"Google Sans Text"), sans-serif;text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);min-height:var(--control-height);border:none;background:0 0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:.6rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.tabs-tab:focus-visible,.tabs-tab--sub:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.tabs-tab:hover{color:var(--foreground);background:var(--overlay-black-02)}.tabs-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-tab svg{opacity:.5;flex-shrink:0;transition:opacity .15s}.tabs-tab.active svg{opacity:1}.tabs-bar--sub{border-bottom:1px solid var(--border-subtle);margin-bottom:.5rem}.tabs-tab--sub{font-family:var(--font-family-body,"Google Sans Text"), sans-serif;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);min-height:var(--control-height);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.tabs-tab--sub:hover{color:var(--foreground)}.tabs-tab--sub.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-tab--sub svg{opacity:.5;flex-shrink:0;transition:opacity .15s}.tabs-tab--sub.active svg{opacity:1}.tabs-panel{animation:tabs-panel-in var(--duration-standard) var(--ease-standard) both}@media (prefers-reduced-motion:reduce){.tabs-tab,.tabs-tab svg,.tabs-tab--sub,.tabs-tab--sub svg,.tabs-panel{transition-duration:.01ms;animation:none}}@keyframes tabs-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wheel-picker{border-radius:var(--radius-xs);flex-shrink:0;width:2.75rem;position:relative;overflow:hidden}.wheel-picker:before,.wheel-picker:after{z-index:2;pointer-events:none;content:"";height:1.1rem;position:absolute;left:0;right:0}.wheel-picker:before{background:linear-gradient(to bottom, var(--input-bg,var(--card)), transparent);top:0}@supports (color:color-mix(in lab, red, red)){.wheel-picker:before{background:linear-gradient(to bottom, color-mix(in srgb, var(--input-bg,var(--card)) 90%, var(--foreground) 10%), transparent)}}.wheel-picker:after{background:linear-gradient(to top, var(--input-bg,var(--card)), transparent);bottom:0}@supports (color:color-mix(in lab, red, red)){.wheel-picker:after{background:linear-gradient(to top, color-mix(in srgb, var(--input-bg,var(--card)) 90%, var(--foreground) 10%), transparent)}}.wheel-picker-highlight{background:var(--accent);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.wheel-picker-highlight{border-top:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{border-top:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.wheel-picker-highlight{border-bottom:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.wheel-picker-highlight{border-radius:var(--radius-xs);pointer-events:none;z-index:0}.wheel-picker-track{z-index:1;overscroll-behavior:contain;touch-action:pan-y;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;outline:none;height:100%;position:relative;overflow-y:scroll;-webkit-mask-image:linear-gradient(#0000 0%,#0006 20%,#000 42% 58%,#0006 80%,#0000 100%);mask-image:linear-gradient(#0000 0%,#0006 20%,#000 42% 58%,#0006 80%,#0000 100%)}.wheel-picker-track-dragging{cursor:grabbing;scroll-snap-type:none}.wheel-picker-track::-webkit-scrollbar{display:none}.wheel-picker-item{scroll-snap-align:center;color:var(--text-muted);cursor:inherit;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), font-weight var(--duration-fast) var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex}.wheel-picker-item-label{line-height:1.1}.wheel-picker-item-main{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.wheel-picker-item-icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.wheel-picker-item-description{color:currentColor;white-space:nowrap;margin-top:.08rem;font-size:.55rem;font-weight:500;line-height:1}.wheel-picker-item-tag{color:currentColor;letter-spacing:.02em;text-transform:uppercase;margin-top:.12rem;font-size:.5rem;font-weight:700;line-height:1}.wheel-picker-item-selected{color:var(--accent);font-weight:700}.wheel-picker-item-success{background:var(--success-soft-bg);color:var(--success)}.wheel-picker-item-warning{background:var(--warning-bg);color:var(--amber-dark)}.wheel-picker-item-danger{background:var(--error-bg);color:var(--error-color)}.wheel-picker-disabled{opacity:.5;pointer-events:none}.wheel-picker-horizontal{--wheel-item-width:9rem;word-break:break-word;box-sizing:border-box;width:100%;min-width:0;height:3.75rem}.wheel-picker-horizontal .wheel-picker-highlight{width:var(--wheel-item-width);border:1px solid var(--accent);box-sizing:border-box;box-shadow:none;background:0 0;border-radius:.75rem;inset:.25rem auto .25rem 50%;transform:translate(-50%)}.wheel-picker-horizontal .wheel-picker-track{padding-inline:calc(50% - var(--wheel-item-width) / 2);box-sizing:border-box;touch-action:pan-x;scroll-snap-type:x mandatory;-webkit-mask-image:linear-gradient(to right, transparent, var(--solid-white) 25%, var(--solid-white) 75%, transparent);-webkit-mask-image:linear-gradient(to right, transparent, var(--solid-white) 25%, var(--solid-white) 75%, transparent);-webkit-mask-image:linear-gradient(to right, transparent, var(--solid-white) 25%, var(--solid-white) 75%, transparent);mask-image:linear-gradient(to right, transparent, var(--solid-white) 25%, var(--solid-white) 75%, transparent);-webkit-mask-image:linear-gradient(to right, transparent, var(--solid-white) 25%, var(--solid-white) 75%, transparent);display:flex;overflow:auto hidden}.wheel-picker-horizontal .wheel-picker-track-dragging{scroll-snap-type:none}.wheel-picker-horizontal .wheel-picker-item{flex:0 0 var(--wheel-item-width);word-break:break-word;box-sizing:border-box;opacity:.65;min-width:0;height:100%;transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);overflow:hidden;transform:scale(.9)}.wheel-picker-horizontal .wheel-picker-item-selected{opacity:1;transform:scale(1)}.wheel-picker-horizontal:focus-within .wheel-picker-highlight{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.wheel-picker-item,.wheel-picker-horizontal .wheel-picker-item{transition:none}}.time-picker-modal{border-radius:var(--radius-lg);overscroll-behavior:contain;width:calc(100% - 2rem);max-width:280px}.time-picker-backdrop{align-items:center;padding:1rem}.time-picker-modal-body{overscroll-behavior:contain;padding:1.25rem 1rem 1.5rem;display:block}.time-picker-wheels{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(3.25rem,.8fr);align-items:end;gap:.65rem;width:100%;min-width:0;display:grid}.time-picker-column{flex-direction:column;gap:.4rem;min-width:0;display:flex}.time-picker-column .wheel-picker{border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-width:0}.time-picker-column .wheel-picker-item{padding-inline:.2rem;font-size:clamp(.82rem,2.8vw,1.05rem)}.time-picker-column .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.height-picker-modal{width:min(100%,30rem);max-width:30rem}.height-picker-modal-body{overscroll-behavior:contain;padding-block:1.25rem;overflow:hidden}.height-picker-helper{color:var(--text-muted);text-align:center;margin:0 0 1rem;font-size:.85rem}.height-picker-wheels{box-sizing:border-box;grid-template-columns:minmax(0,1.4fr) minmax(4rem,1fr);align-items:center;gap:.75rem;width:100%;min-width:0;display:grid;overflow:hidden}.height-picker-wheels--imperial{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(4rem,1.2fr)}.height-picker-wheels .wheel-picker{border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-width:0}.height-picker-wheels .wheel-picker-item{font-size:clamp(.95rem,3vw,1.1rem)}.height-picker-wheels .wheel-picker-item-selected{font-size:clamp(1.05rem,3.5vw,1.25rem)}.height-picker-selection{color:var(--accent);text-align:center;margin:1rem 0 0;font-size:.95rem;font-weight:700}.target-date-picker-modal{width:min(100%,34rem);max-width:34rem}.target-date-picker-modal-body{overscroll-behavior:contain;padding-block:1.25rem;overflow:hidden}.target-date-picker-helper{color:var(--text-muted);text-align:center;margin:0 0 1rem;font-size:.85rem}.target-date-picker-wheels{word-break:break-word;box-sizing:border-box;grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:.75rem;width:100%;min-width:0;display:grid;overflow:hidden}.target-date-picker-modal .time-picker-wheels{margin-top:1rem}.meal-section-picker-divider{border-top:1px solid var(--border);margin-block:1rem}.meal-section-picker-section{flex-direction:column;align-items:center;gap:.4rem;display:flex}.meal-section-picker-wheel{--wheel-item-width:7rem;border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-width:0}.target-date-picker-column{box-sizing:border-box;flex-direction:column;gap:.4rem;min-width:0;display:flex;overflow:hidden}.target-date-picker-label{color:var(--text-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:600}.target-date-picker-wheels .wheel-picker{border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-width:0}.target-date-picker-wheels .wheel-picker-item{padding-inline:.2rem;font-size:clamp(.82rem,2.8vw,1.05rem)}.target-date-picker-wheels .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.target-date-picker-selection{color:var(--accent);text-align:center;margin:1rem 0 0;font-size:.95rem;font-weight:700}.target-date-picker-selection--invalid{color:var(--red)}.target-date-picker-pace{text-align:center;margin:.4rem 0 0;font-size:.75rem;font-weight:500;line-height:1.3}.target-date-picker-pace--success{color:var(--success)}.target-date-picker-pace--warning{color:var(--amber-dark)}.target-date-picker-pace--danger{color:var(--error-color)}.target-date-picker-pace--muted{color:var(--text-muted);font-weight:400}.multiselect-dropdown{display:inline-block;position:relative}.multiselect-trigger{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--foreground);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);min-height:var(--control-height);box-sizing:border-box;align-items:center;gap:.4rem;padding:.65rem .9rem;font-size:.85rem;font-weight:600;display:flex}.multiselect-trigger:hover{border-color:var(--accent)}.multiselect-trigger.active{border-color:var(--accent);color:var(--accent)}.multiselect-trigger:focus-visible,.multiselect-search:focus-visible,.multiselect-option:focus-visible,.multiselect-clear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.multiselect-count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast,#fff);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;display:inline-flex}.multiselect-chevron{flex-shrink:0;transition:transform .2s}.multiselect-chevron.open{transform:rotate(180deg)}.multiselect-panel{z-index:20;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:240px;max-width:80vw;box-shadow:var(--shadow-floating);flex-direction:column;gap:.5rem;padding:.6rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0}.multiselect-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-canvas);width:100%;color:var(--foreground);box-sizing:border-box;padding:.5rem .7rem;font-size:.85rem}.multiselect-options{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:.1rem;max-height:min(220px,45dvh);display:flex;overflow-y:auto}.multiselect-option{border-radius:var(--radius-sm);cursor:pointer;color:var(--foreground);min-height:var(--control-height);box-sizing:border-box;align-items:center;gap:.55rem;padding:.45rem .4rem;font-size:.85rem;display:flex}.multiselect-option:hover{background:var(--hover-bg)}.multiselect-option input{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px}.multiselect-empty{text-align:center;color:var(--text-muted);padding:.6rem;font-size:.8rem}.multiselect-clear{color:var(--accent);cursor:pointer;min-height:var(--control-height);border-radius:var(--radius-sm);background:0 0;border:none;align-self:flex-start;padding:.2rem .5rem;font-size:.78rem;font-weight:600}.multiselect-clear:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.multiselect-trigger,.multiselect-chevron{transition-duration:.01ms}}.select-dropdown{width:100%;min-width:0;display:block;position:relative}.select-dropdown-validation{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.select-dropdown-trigger{width:100%;min-height:var(--control-height,44px);border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface-raised,var(--card));color:var(--foreground);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .75rem;display:flex}.select-dropdown-trigger:focus-visible,.select-dropdown-option:focus-visible,.select-dropdown-search:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.select-dropdown-trigger:disabled{opacity:.55;cursor:not-allowed}.select-dropdown-trigger.import-select,.select-dropdown-trigger.calendar-select{background-image:none}.multiselect-dropdown.select-dropdown{width:auto;display:inline-block}.calendar-header-group>.select-dropdown,.reminder-select-label>.select-dropdown{width:auto}.select-dropdown-value{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.select-dropdown-chevron{flex:none;transition:transform .18s}.select-dropdown-chevron.is-open{transform:rotate(180deg)}.select-dropdown-panel{z-index:2000;border:1px solid var(--border);border-radius:var(--radius-lg,12px);background:var(--card);color:var(--foreground);box-shadow:var(--shadow-floating);flex-direction:column;gap:.45rem;padding:.5rem;display:flex;overflow:hidden}.select-dropdown-panel .select-dropdown-options{max-height:100%}.select-dropdown-search{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm,8px);background:var(--surface-canvas,var(--background));width:100%;min-height:40px;color:var(--foreground);font:inherit;flex:none;padding:.5rem .65rem}.select-dropdown-options{overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.select-dropdown-option-wrap{flex-direction:column;display:flex}.select-dropdown-divider{background:var(--border);height:1px;margin:.3rem .4rem}.select-dropdown-option{width:100%;min-height:44px;padding:.55rem .6rem .55rem calc(.6rem + var(--select-option-indent,0px));border-radius:var(--radius-sm,8px);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;display:flex}.select-dropdown-option.is-selected{background:var(--hover-bg)}.select-dropdown-option:disabled{opacity:.45;cursor:not-allowed}.select-dropdown-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.select-dropdown-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-dropdown-option-description{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75em;overflow:hidden}.select-dropdown-option-description.exercise-type-option-fields{color:var(--accent);font-size:.75em;font-weight:600}.select-dropdown-option-meta{color:var(--text-muted);flex:none;font-size:.75em}.select-dropdown-check{color:var(--accent);font-weight:700}.select-dropdown-checkbox{border:1px solid var(--border);width:17px;height:17px;color:var(--accent-contrast,#fff);border-radius:4px;flex:0 0 17px;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.select-dropdown-option[aria-selected=true] .select-dropdown-checkbox{border-color:var(--accent);background:var(--accent)}.select-dropdown-empty{color:var(--text-muted);text-align:center;padding:.8rem}.select-dropdown-clear{border-radius:var(--radius-sm,8px);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:.35rem .5rem;font-size:.82rem;font-weight:600}.select-dropdown-count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast,#fff);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.select-dropdown-chevron{transition-duration:.01ms}}.action-menu{min-width:0;display:inline-flex;position:relative}.action-menu-trigger{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.action-menu-trigger:disabled{cursor:not-allowed;opacity:.6}.action-menu-trigger:focus-visible,.action-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.action-menu-panel{z-index:2000;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface-raised,var(--card));color:var(--foreground);box-shadow:var(--shadow-floating);flex-direction:column;padding:.35rem;display:flex;overflow:auto}.action-menu-header{border-bottom:1px solid var(--border);max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;padding:.55rem .7rem .65rem;font-size:.75rem;font-weight:700;line-height:1.3;overflow:hidden}.action-menu-item{border-radius:var(--radius-sm,8px);width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.action-menu-item:hover:not(:disabled){background:var(--hover-bg)}.action-menu-item:disabled{cursor:not-allowed;opacity:.45}.action-menu-item--danger{color:var(--red-strong)}.action-menu-item--danger:hover:not(:disabled){background:var(--danger-bg,var(--red-strong))}@supports (color:color-mix(in lab, red, red)){.action-menu-item--danger:hover:not(:disabled){background:var(--danger-bg,color-mix(in srgb, var(--red-strong) 10%, transparent))}}@media (max-width:640px){.diary-default-goal{--diary-default-goal-font-size:.65rem}.calendar-stats-toggle{touch-action:manipulation}.profile-body-goals-content{--body-goals-card-padding:.75rem;--body-goals-field-gap:.55rem}.diary-carryover-tooltip{padding:.85rem;font-size:.75rem}.exercise-session-page{padding:.5rem .5rem 0}.coach-session-modal>.base-modal-header{border-bottom:0;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:.5rem;padding:.75rem .5rem}.btn.coach-session-call-button{--navbar-focus-orbit-duration:3s}.coach-session-call-badge{top:-1px;right:-1px}.exercise-session-stage{justify-content:flex-start;padding:.25rem .5rem 0}.coach-session-modal:has(>.exercise-session-camera)>.base-modal-header{grid-template-columns:6rem minmax(0,1fr) 6rem}.coach-session-header-actions{gap:.25rem}.coach-item-card{grid-template-columns:3rem minmax(0,1fr);gap:.5rem;padding:0 .25rem}.coach-item-frame:is([data-in-progress=true],[data-completed=true]){--navbar-focus-orbit-duration:3s}.coach-item-overview:not(.has-controls),.coach-item-footer{padding-inline:.625rem}.coach-item-overview.has-confirm:not(.has-controls){padding-inline-end:.25rem}.btn.coach-item-confirm{touch-action:manipulation}.coach-item-details{padding:.5rem .625rem;scroll-padding-block:.5rem}.coach-items[aria-label=Workout\ items] .coach-item-details{border-bottom-width:1px}.coach-item-workout-footer{gap:.35rem}.coach-item-editor .coach-item-total-time{grid-template-columns:max-content minmax(0,1fr);gap:.375rem}.coach-item-ingredient-chips{gap:.25rem}.coach-item-ingredient-chips>li{padding:.25rem .5rem;font-size:.7rem}.coach-item-recipe{font-size:.75rem}.coach-item-ingredient-chips+.coach-item-recipe:before{margin-block:.625rem}.coach-item-identity p{font-size:.75rem}.exercise-session-conversation .ai-chat-messages{padding:.75rem}.coach-call-stage{--coach-call-ring-size:clamp(8rem, 29dvh, 15rem);padding:.5rem .75rem}.coach-call-stage-content{gap:.5rem;padding-block:.25rem}.coach-call-stage-badge{padding:.3rem .6rem;font-size:.65rem}.coach-call-stage-hint{font-size:.75rem}.coach-call-stage-controls{gap:.5rem}.btn.coach-call-stage-control{padding-inline:.75rem;font-size:.75rem}.coach-call-stage-notice{margin-inline:.5rem}.exercise-session-footer{border:0;border-radius:1rem 1rem 0 0;gap:.35rem;padding:.5rem}.exercise-session-call-actions{gap:.25rem}.navbar-voice-mode.exercise-session-call-bar{--coach-call-dock-size:3.75rem;gap:.35rem;padding:.5rem .75rem}.base-modal-body:has(>.qa-form){padding:.75rem clamp(0px,20vw - 64px,.75rem)}.qa-form{padding:1rem 0}.qa-preview{padding:.75rem}.qa-calendar{padding:.5rem .25rem}.qa-calendar-grid{gap:0}.qa-calendar-cell{aspect-ratio:auto;min-height:2.75rem}.meal-view-content>.meal-coach-actions .meal-coach-button{gap:.65rem;padding:.75rem}.meal-coach-title{font-size:.9rem}.meal-coach-description{font-size:.75rem}}@media (max-width:640px) and (max-height:500px) and (orientation:landscape){.exercise-session-page .coach-call-stage{--coach-call-ring-size:7.5rem}.coach-call-stage-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:.75rem}.coach-call-stage-orbit{grid-area:1/1/span 3;align-self:center;margin:0}.coach-call-stage-badge,.coach-call-stage-heading,.coach-call-stage-controls{grid-column:2}.coach-call-stage-controls{gap:.35rem}.coach-call-stage-hint{display:none}}@media (max-width:768px){.ai-chat-edit-preview{padding:.5rem}.ai-chat-rich-text{font-size:.85rem}.ai-chat-attachment{gap:.45rem;margin-inline:.5rem}.ai-chat-attachment-copy p{font-size:.68rem}}@media (max-width:640px){.app-action-feedback.app-action-feedback{font-size:.76rem}.app-action-feedback.app-action-feedback.is-floating{max-width:calc(100vw - 1.5rem);inset-inline:.75rem}.navbar-voice-visualizer{min-width:2.75rem;min-height:2.75rem}.ai-chat-overlay.ai-chat-overlay{--ai-chat-top-gap:calc(.5rem + var(--safe-top,0px));--ai-chat-bottom-gap:calc(var(--ai-chat-composer-height,calc(60px + var(--safe-bottom,0px))) + var(--keyboard-height,0px) + 1.5rem);--ai-chat-header-height:4.25rem;z-index:450;border-radius:1.25rem;inset-inline:.5rem}.ai-chat-resize-handle{--ai-chat-grip-width:2rem}.ai-chat-meal-card{--ai-chat-meal-image-size:2.75rem}.ai-chat-attachment-image,.ai-chat-edit-image{--ai-chat-preview-image-size:2.5rem}.ai-chat-header{border-bottom:0;gap:.25rem;padding:.65rem .5rem .65rem .75rem}.ai-chat-identity{gap:.5rem}.ai-chat-avatar{border-radius:.8rem;width:2.4rem;height:2.4rem}.ai-chat-heading strong{font-size:.9rem}.ai-chat-subtitle{font-size:.63rem}.ai-chat-header-actions{gap:0}.ai-chat-messages{gap:.85rem;padding:1rem .85rem}.ai-chat-connection-status{padding:.65rem .85rem}.ai-chat-message{max-width:92%;padding:.7rem .85rem}.ai-chat-message-meta{gap:.75rem}.ai-chat-message p{font-size:.88rem}.ai-chat-user-action{gap:.25rem;padding-inline:.125rem;font-size:.7rem}.ai-chat-delete-preview{border-radius:.8rem;padding:.65rem}.ai-chat-confirmations{padding:.55rem .7rem}.ai-chat-delete-heading strong{font-size:.84rem}.ai-chat-delete-source{font-size:.7rem}.ai-chat-delete-preview li+li{padding-top:.3rem}.ai-chat-kept-items li{font-size:.76rem}.ai-chat-welcome{padding-block:1.5rem}.ai-chat-welcome-icon{margin-bottom:1.25rem}.navbar-diary-context strong{font-size:.72rem}.admin-ai-call-totals{grid-template-columns:repeat(20,minmax(0,1fr))}.admin-ai-call-totals>div:nth-child(-n+5){grid-column:span 4}.admin-ai-call-totals>div:nth-child(n+6){grid-column:span 5}.date-time-input{min-height:2.9rem;font-size:clamp(.78rem,3.1vw,.95rem)}.cam-receipt-section .image-preview-trigger{min-width:0}.mp-review-meal-card{padding:.375rem}.mp-review-day-header{padding-block:.375rem;padding-inline:.5rem}.ui-empty-state,.ui-stat-item,.ui-animated-list,.ui-animated-item,.ui-animated-disclosure{min-width:0;max-width:100%}.lb-skeleton-chips{flex-wrap:wrap}.lb-tab,.lb-filter-toggle,.lb-chip,.lb-search-clear{min-height:2.75rem}.lb-search-clear{min-width:2.75rem}.lb-card .lb-card-image-overlay{gap:.125rem;padding:.125rem .25rem}.lb-card .lb-card-kcal-badge{padding:.15rem .35rem;font-size:clamp(.58rem,2.6vw,.68rem)}.lb-card .lb-card-action-btns{gap:0}.lb-card-action-btns :is(.lb-quick-add-btn,.lb-fav-btn){isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:2.75rem;min-height:2.75rem;color:var(--solid-white);background:0 0;padding:0;position:relative}.lb-card-action-btns :is(.lb-quick-add-btn,.lb-fav-btn):is(:hover,.active){background:0 0}.lb-card-action-btns :is(.lb-quick-add-btn,.lb-fav-btn):before{content:"";border-radius:var(--radius-pill);background:var(--overlay-dark);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:-1;width:1.5rem;height:1.5rem;transition:background .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lb-card-action-btns :is(.lb-quick-add-btn,.lb-fav-btn):is(:hover,.active):before{background:var(--accent)}.ui-card,.ui-progress{min-width:0;max-width:100%}.diary-empty-state [data-slot=button]{min-height:2.75rem}.diary-calendar-streak-badge{font-size:.6rem}.base-modal-backdrop{align-items:stretch;padding:0}.base-modal{box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:var(--safe-top,0px) var(--safe-right,0px) 0 var(--safe-left,0px);border-radius:0}.base-modal:not(:has(>.base-modal-footer)){padding-bottom:var(--safe-bottom,0px)}.base-modal-backdrop[data-mobile-layout=sheet]{align-items:flex-end;padding:0}.base-modal-backdrop[data-mobile-layout=sheet]>.base-modal{width:100%;max-width:none;height:auto;min-height:0;max-height:calc(100% - max(1rem, var(--safe-top,0px)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow-wrap:anywhere;flex:0 auto;align-self:flex-end;margin:0;padding-top:0}.base-modal-backdrop[data-mobile-layout=sheet]>.base-modal>.base-modal-body{overscroll-behavior-y:contain;flex:0 auto;min-height:0;overflow-y:auto}.base-modal-backdrop[data-mobile-layout=sheet]>.base-modal>.base-modal-drag-handle{top:8px}.base-modal-backdrop[data-mobile-layout=sheet]>.base-modal>.base-modal-footer{flex-shrink:0}.settings-modal>.settings-modal-body{padding:.375rem}.settings-modal-body .profile-form-body .wizard-content{padding:.25rem}.base-modal.ui-preferences-modal{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh}.ui-preferences-card{padding:.5rem}.ui-preferences-heading{font-size:.85rem}.ui-preferences-row{grid-template-columns:4.25rem minmax(0,1fr);gap:.35rem}.ui-preferences-label{font-size:.65rem}.ui-preferences-group button{font-size:.75rem}.ui-preferences-navigation button{flex-basis:0;font-size:.6rem}.ui-preferences-toggle{font-size:.75rem}.sidebar-signout-profile-action{touch-action:manipulation}.settings-wizard .wizard-steps{gap:.15rem}.settings-wizard .wizard-step-label{white-space:nowrap;text-align:center}.diary-compact-preferences-button{min-width:44px;min-height:44px}.diary-insight-interval{height:2px}.base-modal.admin-section-modal{width:100%;max-width:100%}.base-modal-backdrop.diary-calendar-backdrop{align-items:flex-end;padding:0}.base-modal.diary-calendar-modal{width:100%;max-width:none;height:auto;max-height:calc(100svh - max(1rem, var(--safe-top,0px)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-top:0}.diary-calendar-modal>.base-modal-drag-handle{top:8px}.diary-calendar-modal>.base-modal-header{box-sizing:border-box;align-self:center;width:100%;max-width:26rem;padding:1.5rem .75rem .5rem}.diary-calendar-modal>.base-modal-body{box-sizing:border-box;flex:0 auto;align-self:center;width:100%;max-width:26rem;min-height:0;padding:.5rem .75rem 1rem}.diary-calendar-modal>.diary-calendar-body{padding-inline:.5rem}.diary-cal-month-controls{margin-left:-.625rem}.diary-cal-month-label{font-size:.6rem}.diary-cal-mode-toggle .diary-cal-metric-label{font-size:.8rem}.diary-day-cell--strip.today{border-radius:var(--radius-sm)}.diary-cal-weekday{letter-spacing:0;font-size:.6rem}.diary-cal-today-btn{padding-inline:.5rem}.select-dropdown.diary-cal-mode-select{width:7rem;max-width:7rem}.diary-cal-mode-select .diary-cal-mode-toggle{gap:.375rem;padding-inline:.375rem}.diary-cal-summary-tiles{gap:.2rem}.diary-cal-week-summary{margin-left:0}.diary-cal-summary-label{gap:.1rem;font-size:.5rem}.diary-cal-summary-tile strong,.diary-cal-forecast-points strong{font-size:.7rem}.diary-cal-current-weight{font-size:.55rem}.base-modal-footer{padding-bottom:max(.5rem, var(--safe-bottom,0px))}.base-modal-header>.base-modal-close{min-width:44px;min-height:44px;margin:0 0 0 auto}.ai-modal>.base-modal-header{padding:0}.base-modal-backdrop>.base-modal{max-height:100%}.base-modal-close{min-width:44px;min-height:44px}.select-dropdown-panel{max-width:calc(100vw - 1rem)}.select-dropdown-option{min-height:44px}.multiselect-dropdown{width:100%;min-width:0}.multiselect-trigger{width:100%;min-height:44px}.multiselect-panel{width:min(100%,28rem);max-width:100%;max-height:calc(100dvh - 2rem - var(--safe-top,0px) - var(--safe-bottom,0px));box-sizing:border-box;overflow:hidden}.multiselect-options{max-height:min(45dvh,18rem)}.multiselect-option{box-sizing:border-box;min-height:44px}.multiselect-clear{min-height:44px;padding-inline:.5rem}.library-modern-section{padding:2.5rem 1rem}.library-modern-grid{grid-template-columns:minmax(0,1fr);gap:.85rem}.library-modern-card{padding:1.5rem}.ingredients-ai-section-title{min-height:44px;padding-block:.55rem}.base-modal-drag-handle{border-radius:999px;width:clamp(3.5rem,18vw,4.5rem);height:.2rem}.diary-meals-list{padding-bottom:calc(85px + var(--safe-bottom,0px));gap:.85rem}.calendar-actions-filter{min-height:44px}.calendar-actions-divider{margin-inline:.4rem}.plan-ribbon{width:3.4rem;padding:.08rem 0;font-size:.38rem;top:.52rem;right:-.96rem}.offline-cache-control{max-width:100%;padding:.5rem}.offline-cache-details strong{font-size:clamp(.75rem,2.8vw,.85rem)}.offline-cache-status,.offline-cache-updated,.offline-cache-caption{font-size:clamp(.65rem,2.5vw,.75rem)}.ai-request-status{width:100%;padding:.5rem;font-size:clamp(.75rem,2.5vw,.875rem)}.diary-meal-attempt-panel>.ai-request-status{--navbar-focus-orbit-duration:3s}.base-modal.ingredients-scan-review-modal{width:100%;max-width:100%}.ai-ingredients-source{height:clamp(8rem,25dvh,15rem)}.ai-ingredients-list{padding-inline-start:1.25rem}.ingredients-scan-review-modal .base-modal-footer{padding-bottom:max(.75rem, var(--safe-bottom))}.diary-meal-attempt-panel>.ai-request-status>.ai-request-actions{margin-block:-.5rem}.diary-section-header>.diary-status-btn{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem}.diary-section-header>.diary-status-btn svg{width:18px;height:18px}.diary-section-add-space>.diary-add-btn--header{padding:.35rem}.ai-request-heading{align-items:flex-start}.ai-request-actions{flex-direction:column;padding-inline:.5rem}.ai-request-actions>.diary-status-btn{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;flex-basis:2.75rem;block-size:2.75rem;inline-size:2.75rem}.base-modal:has(.ai-request-status){border-radius:0;height:100dvh;max-height:100dvh}.base-modal:has(.ai-request-status) .base-modal-header{padding-top:max(.75rem, var(--safe-top))}.base-modal:has(.ai-request-status) .base-modal-body{padding-bottom:max(.75rem, var(--safe-bottom))}.heading-xl{font-size:clamp(1.5rem,5.5vw,1.75rem);line-height:1.15}.heading-lg{font-size:clamp(1.2rem,4.5vw,1.35rem);line-height:1.2}.heading-md{font-size:clamp(.95rem,3.5vw,1rem);line-height:1.25}.heading-sm{font-size:clamp(.82rem,2.8vw,.88rem);line-height:1.3}.text-body{font-size:clamp(.8rem,2.5vw,.85rem);line-height:1.55}.text-sm{font-size:clamp(.68rem,2vw,.72rem)}.diary-meal-title-item.text-sm{font-size:.8rem}.text-xs{font-size:clamp(.6rem,1.8vw,.65rem)}.text-lg{font-size:clamp(.85rem,2.8vw,.92rem)}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}button{font-size:.875rem}label{font-size:.82rem}.settings-section-header{padding:.85rem}.settings-section-header-title{font-size:.95rem}.settings-section-header-description{font-size:.8rem}*{-webkit-user-select:none!important;user-select:none!important}input,textarea,[contenteditable]{-webkit-user-select:text!important;user-select:text!important}.dashboard-profile-card{border-radius:var(--radius-lg);box-sizing:border-box;gap:.75rem;width:100%;min-width:0;max-width:100%;margin-bottom:1rem;padding:1rem;overflow:hidden}.dashboard-profile-card .profile-top-row{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.5rem;width:100%;min-width:0;max-width:100%;overflow:hidden;flex-direction:row!important}.dashboard-profile-card .profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:flex-start;gap:.75rem}.dashboard-profile-card .profile-info{word-wrap:break-word;text-align:left;align-items:flex-start;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-details-grid{width:100%;min-width:0;max-width:100%;overflow-x:auto}.dashboard-profile-card .profile-public-link{word-break:break-word;width:100%;max-width:100%;overflow:hidden}.dashboard-profile-card .public-url{word-break:break-all;display:inline}.dashboard-profile-card .profile-avatar{flex-shrink:0;width:44px;height:44px;font-size:1.1rem}.dashboard-profile-card .profile-name{font-size:1rem}.dashboard-profile-card .profile-email{font-size:.72rem}.dashboard-details-grid{gap:.4rem;margin:.25rem 0 0;padding-bottom:.25rem}.dashboard-details-grid .detail-item{min-width:72px;max-width:105px;padding:.55rem .6rem}.dashboard-details-grid .detail-label{font-size:.6rem}.dashboard-details-grid .detail-value{font-size:.82rem}.dashboard-stats-grid{gap:.6rem;margin-bottom:1.25rem}.dashboard-stats-grid .stat-card{border-radius:var(--radius-md);padding:.75rem .5rem}.dashboard-stats-grid .stat-card-value{font-size:1.15rem}.dashboard-stats-grid .stat-card-label{font-size:.65rem}.dashboard-stats-grid .stat-icon{margin-bottom:.2rem;font-size:1.1rem}.dashboard-profile-card .profile-privacy-tag{padding:1px 6px;font-size:.58rem}.step-editor-remove-btn,.step-editor-add-btn{min-height:44px}.step-editor-remove-btn{min-width:44px}.profile-carousel{gap:.18rem}.profile-carousel-track{gap:.15rem}.profile-carousel-item{padding:.18rem .28rem}.profile-carousel-val{font-size:.58rem}.profile-carousel-label{font-size:.44rem}.profile-carousel-dot{width:44px;min-width:44px;height:44px;font-size:.7rem}.dashboard-widgets-grid{grid-template-columns:repeat(2,1fr);gap:.35rem}.dashboard-diary-widget{grid-column:span 2}.widget-card{border-radius:var(--radius-md);padding:.4rem}.widget-card-header{gap:.2rem;margin-bottom:.15rem}.widget-stats-grid{gap:.18rem}.widget-stat-value{font-size:.78rem}.widget-stat-label{font-size:.45rem}.widget-title{font-size:.55rem}.widget-icon{font-size:.68rem}.dashboard-widgets-grid .timeline-card{padding:0}.dashboard-widgets-grid .timeline-header{flex-wrap:wrap;align-items:flex-start;gap:.15rem;padding:.3rem .45rem}.dashboard-widgets-grid .timeline-header-meta{justify-content:flex-start;gap:.15rem;width:100%}.dashboard-widgets-grid .timeline-title{font-size:.6rem}.dashboard-widgets-grid .timeline-change{padding:.1rem .35rem;font-size:.58rem;line-height:1}.dashboard-widgets-grid .timeline-chart-wrap{min-height:10rem;padding:.2rem .15rem .1rem}.dashboard-widgets-grid .timeline-range,.dashboard-widgets-grid .timeline-count{font-size:.52rem}.donut-chart-svg{max-width:90px}.widget-stat-item:before{height:1.5px;left:25%;right:25%}.widget-goal-row{gap:.15rem}.widget-adherence{margin-top:.3rem;padding-top:.25rem}.widget-adherence-track{height:4px}.widget-adherence-label,.widget-adherence-count{font-size:.45rem}.widget-adherence-legend-item{font-size:.4rem}.widget-adherence-dot{width:4px;height:4px}.dashboard-profile-card{gap:.5rem;margin-bottom:.7rem;padding:.7rem}.profile-top-row,.profile-top-row-left{gap:.5rem}.profile-meta-row{gap:.25rem}.profile-stats-row{gap:.18rem;width:100%}.profile-stat-pill{flex:none;gap:.06rem;padding:.18rem .32rem}.profile-name{font-size:.9rem}.profile-avatar{width:38px;height:38px;font-size:1rem}.widget-goal-name,.widget-goal-values{font-size:.58rem}.widget-goal-track{height:4px}.widget-goal-bars{gap:.35rem}.widget-stat-item{padding:.35rem .25rem}.hero{padding:1.5rem .75rem;padding-top:calc(1.5rem + var(--safe-top))}.hero h1{font-size:clamp(1.4rem,5.5vw,1.8rem)}.hero p{max-width:100%;font-size:.78rem}.modal{border-radius:0;height:100dvh;max-height:100dvh}.ai-modal{border-radius:0;height:100dvh;min-height:0;max-height:100dvh}.ai-modal-close-btn{min-width:44px;min-height:44px}.ai-btn{white-space:normal;min-height:44px}.subscription-section{border-radius:var(--radius-md);padding:1rem}.subscription-benefits,.subscription-usage{padding:.85rem}.subscription-benefits ul,.subscription-usage-grid{grid-template-columns:minmax(0,1fr)}.subscription-entitlements-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.subscription-actions .btn,.billing-toggle,.btn-load-more{min-height:44px}.subscription-actions .btn{flex:auto;justify-content:center}.subscription-header{flex-wrap:wrap}[data-keyboard-open] .modal,[data-keyboard-open] .ai-modal{height:var(--vv-height,100dvh);max-height:var(--vv-height,100dvh)}[data-keyboard-open] .base-modal-backdrop:not([data-mobile-layout=sheet])>.base-modal{height:100%;max-height:100%}.hero-stats{gap:.4rem}.stat{flex:1;min-width:calc(25% - .4rem);padding:.4rem}.stat-num{font-size:1rem}.stat-label{font-size:.58rem}legend{gap:.6rem;padding:.6rem .75rem}.legend-item{font-size:.65rem}.tips-bar{padding:.6rem .75rem}.tip{padding:.3rem .6rem;font-size:.68rem}.table-wrap{overflow-x:hidden}.table-wrap table{table-layout:fixed;border-radius:var(--radius-md);width:100%;min-width:0;font-size:.7rem}.table-wrap th{letter-spacing:.2px;text-align:center;padding:.3rem .2rem;font-size:.52rem}.table-wrap td{padding:.28rem .15rem}.day-cell{min-width:26px}td.meal-td{height:6.5rem}.day-num{font-size:.74rem}.meal-cell{line-height:1.3}.meal-name-section{padding:.2rem .2rem .25rem}.meal-name-line{font-size:clamp(.42rem,1.8vw,.58rem);line-height:1.05}.meal-name-line+.meal-name-line{margin-top:0}.meal-more-badge{min-width:0;margin-top:.2rem;padding:0 2px;font-size:.36rem;line-height:1.1}.meal-main{font-size:.68rem}.tag{margin-top:2px;padding:.06rem .3rem;font-size:.48rem}.cal-badge{padding:.1rem .3rem;font-size:.55rem}.clickable:not(.meal-cell){margin:-.2rem -.25rem;padding:.2rem .25rem}.meal-cell.clickable{margin:0;padding:0}.today-row .day-num{width:22px;height:22px;font-size:.68rem}footer{padding:1rem .75rem;padding-bottom:calc(1rem + var(--safe-bottom));font-size:.7rem}.jump-today{bottom:calc(1rem + var(--safe-bottom,0px));right:max(1rem, var(--safe-right,0px));width:44px;height:44px;font-size:.95rem}.pwa-banner{min-width:0;padding:.6rem max(.75rem, var(--safe-right)) .6rem max(.75rem, var(--safe-left));padding-top:calc(.6rem + var(--safe-top));grid-template-columns:44px minmax(0,1fr) max-content 44px;gap:.5rem;display:grid}.pwa-banner-actions{flex-direction:column;grid-area:1/3;justify-content:center;align-items:stretch}.pwa-banner-title{font-size:.78rem}.pwa-banner-desc{font-size:.65rem}.pwa-banner-btn{padding:.4rem .7rem;font-size:.72rem}.pwa-banner-close{flex-basis:44px;grid-area:1/4;width:44px;height:44px}.ingredients-month-nav{min-width:44px;min-height:44px}td.meal-td{border-radius:var(--radius-xs)}.table-wrap th,.table-wrap td{width:auto}.table-wrap td:first-child,.table-wrap th:first-child{white-space:nowrap;width:8%}.table-wrap td:last-child,.table-wrap th:last-child{white-space:nowrap;width:auto}}@media (max-width:480px){.dashboard-stats-grid,.home-stats-grid{grid-template-columns:1fr 1fr}.hero{padding:3rem 1rem 2rem}.hero h1{font-size:1.55rem}.stat-card-value,.home-stat-number{font-size:1.35rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.lb-card-content{gap:.25rem;padding:.5rem}.lb-card-title{font-size:.78rem}.lb-card-macros{gap:.2rem}.lb-card-recipe-preview{font-size:.62rem}.lb-macro-bar-label{font-size:.58rem}.lb-card-image-wrap{aspect-ratio:1}.lb-tab{padding:.4rem .45rem;font-size:.72rem}.lb-tab span:not(.lb-tab-count){display:none}.lb-hero-title{font-size:clamp(1.1rem,5vw,1.4rem)}.lb-hero-subtitle{font-size:.75rem}}@media (max-width:640px){.auth-bot-challenge{gap:.35rem}.auth-bot-challenge-status{font-size:.8rem}.auth-bot-challenge-retry{width:100%}.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.75rem 1.25rem}.google-auth-button{min-height:44px}}@media (max-width:480px){.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.5rem 1.25rem}.auth-title{font-size:1.3rem}.auth-subtitle{font-size:.8rem}.auth-header-icon{border-radius:var(--radius-lg);width:44px;height:44px;font-size:1.15rem}.btn-auth{border-radius:5px;padding:.7rem;font-size:.85rem}.form-group input,.form-group select{border-radius:5px;padding:.6rem .75rem;font-size:.85rem}.form-group input.has-icon{padding-left:2.2rem}.input-icon{left:.7rem}.form-row{grid-template-columns:1fr;gap:.65rem}.auth-form .register-country-private-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem}.auth-back-button{width:36px;height:36px}}@media (max-width:380px){.dashboard-details-grid .detail-item{min-width:64px;max-width:90px;padding:.45rem .5rem}.dashboard-details-grid .detail-label{font-size:.55rem}.dashboard-details-grid .detail-value{font-size:.78rem}.dashboard-stats-grid .stat-card-value{font-size:1rem}.dashboard-stats-grid .stat-card-label{font-size:.58rem}.dashboard-profile-card{padding:.7rem}.dashboard-profile-card .profile-avatar{width:36px;height:36px;font-size:.95rem}.dashboard-profile-card .profile-name{font-size:.92rem}.widget-card{padding:.3rem}.widget-stat-value{font-size:.7rem}.widget-stat-item{border-radius:var(--radius-xs);padding:.18rem .1rem}.widget-stat-item:before{opacity:.3;height:1px;left:30%;right:30%}.widget-stat-label{font-size:.4rem}.widget-title{font-size:.5rem}.widget-icon{font-size:.62rem}.widget-card-header{gap:.15rem;margin-bottom:.1rem}.widget-stats-grid{gap:.12rem}.diary-compact-cal-label{letter-spacing:0;font-size:.42rem}.diary-compact-cal-value{font-size:.7rem}.diary-compact-exercise-target{font-size:.58em}.diary-compact-cal-carryover-remaining{margin-left:.08rem;font-size:.54em}.diary-compact-cal-step-detail{gap:.04rem;font-size:.58em}.diary-compact-cal-boot{font-size:.62em}.diary-compact-steps-value{font-size:.66rem}.diary-compact-steps-calories{gap:.04rem;margin-left:.1rem;font-size:max(.48rem,.55em)}.diary-compact-steps-sub{font-size:.36rem}.donut-chart-svg{max-width:78px}.dashboard-widgets-grid{gap:.25rem}.dashboard-widgets-grid .timeline-header{padding:.2rem .3rem}.dashboard-widgets-grid .timeline-header-meta{gap:.1rem}.dashboard-widgets-grid .timeline-title{font-size:.52rem}.dashboard-widgets-grid .timeline-change{font-size:.5rem;line-height:1}.dashboard-widgets-grid .timeline-range,.dashboard-widgets-grid .timeline-count{font-size:.48rem}.dashboard-widgets-grid .timeline-chart-wrap{min-height:9rem;padding:.15rem .1rem .05rem}.profile-stats-row{gap:.12rem;width:100%}.profile-stat-pill{flex:none;gap:.05rem;padding:.14rem .24rem}.profile-stat-val{font-size:.52rem}.profile-stat-label{font-size:.4rem}.dashboard-profile-card{gap:.4rem;padding:.5rem}.profile-avatar{width:28px;height:28px;font-size:.75rem}.profile-name{font-size:.72rem}.widget-goal-name,.widget-goal-values{font-size:.5rem}.widget-goal-track{height:3px}.widget-adherence{margin-top:.22rem;padding-top:.2rem}.widget-adherence-track{height:3px}.widget-adherence-label,.widget-adherence-count{font-size:.4rem}.widget-adherence-legend-item{gap:.12rem;font-size:.38rem}.widget-adherence-legend{gap:.35rem}.lb-grid{gap:.45rem}.lb-card-content{padding:.4rem}.lb-card-title{font-size:.72rem}.lb-macro-bar-label{font-size:.55rem}.lb-card-kcal-badge{padding:.12rem .35rem;font-size:.6rem}.stat{min-width:auto;padding:.3rem}.stat-num{font-size:.9rem}.meal-main{font-size:.58rem}.table-wrap td{padding:.22rem .08rem}.table-wrap th{padding:.22rem .08rem;font-size:.45rem}.meal-name-line{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}}@media (max-width:640px){.step-settings-toggle{gap:.55rem;padding:.55rem .6rem}}@media (max-width:480px){.step-settings-toggle-hint{line-height:1.4}}@media (max-width:640px){.widgets-settings-row{gap:.6rem;padding:.6rem}.widgets-settings-details{gap:.5rem;padding-left:.6rem}.widgets-settings-preview{width:60px;height:60px;padding:6px}.widgets-settings-preview-wide{width:120px;height:60px}.widgets-settings-card-header{padding:.6rem .7rem}}@media (max-width:380px){.widgets-settings-row:has(.widgets-settings-preview-wide){flex-direction:column;align-items:stretch}.widgets-settings-preview-wide{align-self:center;width:120px;height:60px}.widgets-settings-details{border-left:none;padding-left:0}}@media (max-width:640px){.blocked-users-row{gap:.5rem;padding:.5rem .55rem}.blocked-users-unblock-btn{padding:.5rem .65rem;font-size:.75rem}}@media (max-width:380px){.blocked-users-row{flex-wrap:wrap}.blocked-users-unblock-btn{flex:100%}}@media (max-width:640px){.profile-page{--profile-gutter:.75rem;padding:1rem var(--profile-gutter) 1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom))}.profile-page .auth-header{margin-bottom:.9rem}.profile-page .auth-title{font-size:1.3rem}.profile-page .auth-subtitle{font-size:.78rem}.profile-top-tabs{border-radius:0;gap:.3rem;margin-bottom:1rem;padding:0}.profile-top-tab{border-radius:0;min-height:44px}.profile-top-tab.premium .profile-top-tab-label,.profile-top-tab:last-child .profile-top-tab-label{display:none}.profile-top-tab.premium .profile-top-tab-label-short{display:inline}.profile-top-tab:last-child{flex:none;min-width:44px;padding:.55rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.55rem .65rem}.profile-top-tab:first-child{flex:1}.profile-page .profile-top-tabs .profile-top-tab{flex:1 1 0;min-width:0}}@media (max-width:480px){.profile-page{--profile-gutter:.6rem}.profile-top-tabs{gap:.25rem;padding:0}.profile-top-tab{font-size:.78rem}.profile-top-tab:first-child{gap:.35rem;padding:.55rem .5rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.55rem .5rem}.profile-top-tab:last-child{min-width:44px;padding:.5rem}}@media (max-width:380px){.profile-top-tab{font-size:.72rem}.profile-top-tab:first-child{padding:.5rem .35rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.5rem .35rem}.profile-top-tab:last-child{min-width:44px;padding:.45rem}.profile-top-tab svg{width:14px;height:14px}}@media (max-width:640px){.admin-section{border-radius:10px;gap:.9rem;padding:1rem}.admin-section-title{font-size:.92rem}.admin-section-desc{font-size:.8rem}.admin-system-config-row{grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.6rem .7rem}.admin-system-config-row-tools>button{width:44px;min-width:44px;height:44px;min-height:44px}.admin-system-config-row.is-ai{grid-template-columns:minmax(0,1fr)}.admin-system-config-row.is-ai>.admin-system-config-provider-column,.admin-system-config-row.is-ai>.admin-system-config-control{grid-column:1}.admin-system-config-table-header{display:none}.admin-system-config-provider-tabs{width:100%;margin-top:.35rem}.admin-system-config-provider-tabs .profile-top-tab{border-radius:0;flex:none;min-width:0;min-height:44px;padding-inline:.5rem;font-size:clamp(.7rem,3.2vw,.78rem)}.admin-system-config-provider-column{text-align:left;justify-content:flex-start;justify-self:start;font-size:.72rem}.admin-system-config-provider-column input{height:44px;min-height:44px}.admin-system-config-core-row>span{justify-self:start}.admin-system-config-title h3{flex:auto;align-items:baseline;gap:.2rem;min-width:0;display:flex}.admin-system-config-title h3 .admin-system-config-label{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-width:60%;overflow:hidden}.admin-system-config-title h3 small{white-space:nowrap;flex:0 auto;align-items:baseline;gap:0;min-width:0;margin:0;display:flex;overflow:hidden}.admin-system-config-title h3 small .admin-system-config-key-copy{flex:0 auto;min-width:0;max-width:min(54vw,20rem)}.admin-system-config-title h3>.admin-system-config-key-copy{max-width:min(70vw,24rem)}.admin-system-config-migrate{min-height:44px;padding-inline:.65rem;font-size:.78rem}.admin-system-config-header{flex-direction:column}.admin-system-config-header-actions{justify-content:space-between;width:100%}.admin-system-config-header-tools{flex-wrap:wrap;justify-content:flex-end}.admin-system-config-add-key{min-height:44px;padding-inline:.6rem;font-size:.76rem}.admin-system-config-db-menu-list{min-width:min(12rem,100vw - 2rem);right:0}.admin-system-config-filter-panel{box-sizing:border-box;flex-wrap:wrap;width:100%}.admin-system-config-filter-controls{flex-wrap:wrap}.admin-system-config-search{gap:.35rem;padding:.45rem}.admin-system-config-search-input{font-size:clamp(1rem,4vw,1.05rem)}.admin-system-config-source-filter button{min-width:2.65rem;padding-inline:.45rem;font-size:.78rem}.admin-system-config-source-filter-count{min-width:1.05rem;height:1.05rem;padding-inline:.15rem;font-size:.62rem}.admin-system-config-filter{gap:.35rem;min-height:44px;padding:.4rem .55rem;font-size:.76rem}.admin-system-config-filter-count{min-width:1.15rem;height:1.15rem;font-size:.66rem}.admin-system-config-refresh{flex:0 0 44px;width:44px;padding:0}.admin-system-config-category{gap:.3rem;min-height:44px;padding:.4rem .55rem;font-size:.76rem}.admin-system-config-category-count{min-width:1.1rem;height:1.1rem;font-size:.64rem}.admin-system-config-categories{touch-action:pan-x}.admin-system-config-ai-routing{word-break:break-word;box-sizing:border-box;gap:.65rem;min-width:0;padding:.7rem;overflow:hidden}.admin-system-config-ai-routing-heading{flex-direction:column;gap:.45rem}.admin-system-config-ai-routing-heading h2{font-size:clamp(.86rem,4vw,.95rem)}.admin-system-config-ai-routing-heading p{font-size:clamp(.7rem,3.3vw,.78rem)}.admin-system-config-ai-routing-grid{grid-template-columns:minmax(0,1fr) repeat(3,minmax(3rem,.62fr));gap:.3rem}.admin-system-config-ai-routing-grid>span{padding-inline:.15rem;font-size:.64rem}.admin-system-config-ai-provider-row{grid-template-columns:minmax(0,1fr) repeat(3,minmax(3rem,.62fr));gap:.3rem;padding:.35rem}.admin-system-config-ai-provider-row .admin-system-config-provider-toggle{min-width:0;padding-inline:.25rem;font-size:.65rem}.admin-system-config-ai-provider-name strong{font-size:clamp(.72rem,3.4vw,.82rem)}.admin-system-config-ai-provider-name small{font-size:clamp(.61rem,2.9vw,.68rem)}.admin-system-config-provider-toggle{gap:.25rem;min-width:0;min-height:44px;padding-inline:.35rem;font-size:.66rem}.admin-system-config-provider-track{width:1.4rem;height:.85rem}.admin-system-config-provider-track>span{width:.65rem;height:.65rem}.admin-system-config-provider-toggle.active .admin-system-config-provider-track>span,.admin-system-config-value-toggle[aria-checked=true] .admin-system-config-provider-track>span{transform:translate(.55rem)}.admin-system-config-actions>button{flex:auto}.admin-system-config-input-wrap[data-tooltip]:after{max-width:calc(100vw - 3rem)}.admin-system-config-source-switch{font-size:clamp(.7rem,3vw,.8rem)}.admin-system-config-source-switch[data-tooltip]:after{flex-basis:100%;width:100%;max-width:100%;font-size:clamp(.75rem,3.2vw,.85rem);display:none;position:static}.admin-system-config-source-switch[data-tooltip]:hover:after,.admin-system-config-source-switch[data-tooltip]:focus:after{display:block}.base-modal-backdrop:has(.admin-system-config-add-modal){align-items:stretch;padding:0}.base-modal.admin-system-config-add-modal{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh}.admin-system-config-add-form{padding-bottom:max(.5rem, var(--safe-bottom,0px));gap:.75rem}.admin-system-config-add-form>label:not(.admin-system-config-secret-choice){font-size:clamp(.78rem,3.5vw,.85rem)}.admin-system-config-add-top-fields{grid-template-columns:minmax(0,1fr);gap:.75rem}.admin-system-config-migration-confirm-actions{justify-content:space-between}.admin-system-config-migration-confirm-actions>button{flex:none;min-width:6rem;min-height:44px;padding-inline:.55rem;font-size:.78rem}.admin-system-config-migration-confirm-actions>.admin-system-config-cancel,.admin-system-config-migration-confirm-actions>.admin-system-config-clear-all{flex:none;width:auto;min-width:6rem;padding-inline:.55rem;font-size:.78rem}.admin-system-config-migration-section ul{max-height:min(12rem,35dvh);padding-left:1.75rem}.admin-system-config-migration-section li .admin-system-config-migration-reason{width:auto}.admin-users-list{max-height:60vh}.admin-premium-options{padding-bottom:max(1rem, var(--safe-bottom,0px))}.admin-premium-option{min-height:64px}.admin-users-sort-picker-trigger,.admin-users-sort-direction{min-height:44px}.admin-user-row{gap:.6rem;padding:.6rem}.admin-user-menu-btn{width:34px;height:34px}.admin-user-tag-ai-summary{font-size:.65rem}.admin-user-platforms{gap:.3rem}.admin-user-country-flag{min-width:18px}.admin-user-country-flag img{width:18px;height:13px}.admin-user-platform-filter{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-user-platform-filter .admin-filter-chip{padding-inline:.65rem}.admin-user-platform-count{font-size:.66rem}.admin-user-action-column{gap:.3rem}.admin-user-activity{font-size:clamp(.58rem,2.4vw,.68rem)}.admin-switch,.admin-user-delete{width:38px}.admin-switch:before{width:34px;height:20px}.admin-switch-thumb{width:14px;height:14px;left:3px}.admin-switch.on .admin-switch-thumb{transform:translateY(-50%)translate(14px)}.admin-switch:active .admin-switch-thumb{width:18px}.admin-switch.on:active .admin-switch-thumb{transform:translateY(-50%)translate(10px)}.admin-filter-chip{min-height:36px}.admin-ai-call-refresh-row{min-height:44px}.admin-ai-call-refresh-button{width:44px;height:44px}.admin-ai-call-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ai-call-row{grid-template-columns:10px minmax(0,1fr) auto;gap:.45rem;min-height:54px;padding:.5rem}.admin-ai-call-group-chevron{top:.5rem;right:.5rem}.admin-ai-call-row-main .admin-ai-call-group-counts{gap:.2rem .45rem}.admin-ai-call-group-history{padding-inline:.35rem}.admin-ai-call-feature-tag{padding:.1rem .4rem;font-size:.64rem!important}.admin-ai-call-context-line{gap:.3rem}.admin-ai-call-date-trigger{min-height:44px}.admin-ai-call-filter-clear{width:44px;height:44px}.admin-ai-call-select-control.has-selection select,.admin-ai-call-user-control.has-selection .admin-ai-call-user-trigger>span:first-child{padding-right:3.75rem}.admin-ai-call-date-control.has-selection .admin-ai-call-date-trigger{padding-right:3.5rem}.admin-ai-call-row-meta{grid-column:2/3;align-items:flex-start}.admin-ai-call-row-image,.admin-ai-call-image-chip{grid-area:1/3/span 2;align-self:center}.admin-ai-call-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.base-modal.admin-ai-call-modal{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.admin-ai-call-modal-body{max-height:calc(100dvh - 4rem);padding-bottom:calc(1rem + var(--safe-bottom,0px))}.admin-ai-call-row-main .admin-ai-call-cron-badge{max-width:100%}.admin-users-filter-btn{width:40px;height:40px}.admin-users-filter-dropdown{width:calc(100vw - 2rem);min-width:0;padding:.75rem}.admin-report-row{gap:.6rem;padding:.65rem}.admin-report-actions{border-left:none;border-top:1px solid var(--border);justify-content:flex-end;width:100%;margin-left:0;padding-top:.5rem;padding-left:0}.admin-report-reason{font-size:.82rem}.admin-report-parties{gap:.85rem}.admin-report-meal-badge{font-size:.68rem}.wizard-step{min-height:44px}.wizard-steps{margin-bottom:1.35rem}.wizard-step-number{width:32px;height:32px;font-size:.75rem}.wizard-step-label{letter-spacing:.2px;font-size:.6rem}.wizard-step-connector{margin:0 5px;top:-12px}}@media (max-width:480px){.wizard-step{min-height:44px}.wizard-step-number{width:30px;height:30px;font-size:.72rem}.wizard-step-label{font-size:.55rem}.wizard-step-connector{margin:0 4px;top:-11px}}@media (max-width:380px){.wizard-step{min-height:44px}.wizard-step-number{width:28px;height:28px;font-size:.68rem}.wizard-step-label{letter-spacing:0;font-size:.52rem}.wizard-step-connector{margin:0 3px;top:-10px}}@media (max-width:640px){.profile-form-header{margin-left:calc(var(--profile-gutter,.75rem) * -1);margin-right:calc(var(--profile-gutter,.75rem) * -1);padding-left:var(--profile-gutter,.75rem);padding-right:var(--profile-gutter,.75rem);background:var(--card-bg);border-bottom:1px solid var(--card-border);padding-top:.5rem;padding-bottom:.5rem}.wizard-nav-bar{gap:.2rem;min-height:32px;margin-bottom:0}.wizard-nav-btn{padding:.25rem .35rem;font-size:.72rem}.wizard-nav-btn span{display:none}form.profile-form .profile-form-body{padding:.9rem 0 0}.profile-form-body .wizard-content{gap:1.1rem;padding:1rem .9rem}.profile-form .form-group input,.profile-form .form-group select{border-radius:12px;min-height:46px;padding:.65rem .8rem;font-size:16px}.profile-form .height-picker-trigger{border-radius:12px;height:48px;min-height:48px;padding:0 .8rem;font-size:16px}.profile-goal-section,.wizard-summary{border-radius:12px}.profile-goal-section-title,.wizard-summary-toggle{min-height:44px;margin:0;padding:0 .75rem;font-size:clamp(.82rem,3.5vw,.92rem)}.profile-goal-section>.form-row,.wizard-summary-content{padding:.5rem}.profile-goal-section>.activity-target-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.profile-goal-section>.activity-target-row>.form-group+.form-group{border-top:0;border-left:1px solid var(--border);padding:0 0 0 .35rem}.profile-form .wizard-summary-content>.macro-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.profile-form .wizard-summary-content>.macro-goal-grid>.form-group+.form-group{padding-left:.4rem}.profile-goal-section .bmi-display{margin:-.1rem .8rem .8rem}.profile-inline-wheels{gap:.3rem}.goal-wheel-picker-trigger{min-height:44px;padding:0 .6rem;font-size:clamp(.78rem,3vw,.92rem)}.goal-wheel-picker-modal-body{align-items:safe center}.macro-nutrient-goals-actions .wizard-btn{min-height:44px}.weight-goal-wheels{grid-template-columns:minmax(0,1fr) minmax(3rem,.7fr)}.profile-inline-wheels .wheel-picker-item{font-size:clamp(.82rem,2.8vw,1.05rem)}.profile-inline-wheels .wheel-picker-item-selected{font-size:clamp(.92rem,3.2vw,1.18rem)}.profile-timeline-wheel .wheel-picker-item-description{font-size:clamp(.48rem,2vw,.55rem)}.fitness-goal-target{font-size:clamp(.66rem,2.7vw,.7rem)}.fitness-goal-target-date{font-size:clamp(.58rem,2.35vw,.62rem);line-height:1.2}.fitness-goal-date-edit{width:2.75rem;height:2.75rem}.fitness-goal-field-header{min-height:2.75rem}.daily-targets-recommendation{width:2.75rem;height:2.75rem}.goal-planning-header-legend{gap:.35rem}.weight-goal-bmi-legend{justify-content:center;gap:.3rem .5rem;font-size:clamp(.62rem,2.5vw,.7rem)}.profile-form .form-group input.has-icon{padding-left:2.4rem}.profile-form .form-group label{font-size:.78rem}.profile-form .form-group{min-width:0}[data-keyboard-open] .diary-meals-list{padding-bottom:calc(85px + var(--safe-bottom,0px) + var(--keyboard-height,0px))}[data-keyboard-open] .navbar-mobile-logged-in{display:none!important}[data-keyboard-open]:has(.lb-search-input:focus,.community-search-input:focus) .navbar-mobile-logged-in{display:flex!important}[data-keyboard-open]:not([data-navbar-input-active]):not([data-navbar-keyboard]) .navbar-action-bar,[data-keyboard-open] .modal-label-picker{display:none!important}}@media (max-width:480px){.profile-form .form-row{grid-template-columns:1fr 1fr;gap:.55rem}.profile-form .wizard-summary-content>.macro-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.profile-form .wizard-summary-content>.macro-goal-grid>.form-group+.form-group{padding-left:.3rem}.profile-form .form-group input,.profile-form .form-group select{padding:.6rem .7rem}.profile-form .height-picker-trigger{padding:0 .7rem}.wizard-nav-btn{padding:.2rem .3rem;font-size:.7rem}}@media (max-width:380px){form.profile-form .profile-form-body{padding-top:.75rem}.profile-form-body .wizard-content{gap:1rem;padding:.85rem .75rem}form.profile-form .form-row{grid-template-columns:1fr;gap:.7rem}.profile-form .wizard-summary-content>.macro-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem}.profile-form .wizard-summary-content>.macro-goal-grid>.form-group+.form-group{padding-left:.2rem}form.profile-form .profile-contact-row{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-goal-section>.form-row:after,.wizard-summary-content>.form-row:after,.profile-goal-section>.activity-target-row:after{display:none}.profile-goal-section>.form-row>.form-group+.form-group,.wizard-summary-content>.form-row>.form-group+.form-group{border-top:1px solid var(--border);padding-top:.7rem}}@media (max-width:640px){.height-picker-modal-body,.target-date-picker-modal-body{box-sizing:border-box;flex-direction:column;min-width:0;display:flex;overflow:hidden}.target-date-picker-pace{font-size:clamp(.7rem,2.8vw,.75rem)}.pricing-page.pricing-page{padding:0 .75rem 1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom,0px));overflow-x:hidden}.pricing-page.pricing-page:before{display:none}.pricing-page .pricing-hero{margin-bottom:0;padding:1.8rem .5rem .5rem}.pricing-page .pricing-hero-title{font-size:clamp(1.5rem,5vw,2rem)}.pricing-page .pricing-country-badge{top:.75rem;left:.5rem}.pricing-page .billing-toggle-row{margin-top:.5rem;margin-bottom:.75rem}.pricing-page .pricing-comparison{margin-bottom:1.75rem;padding:1rem .85rem}.pricing-page .pricing-comparison-heading{margin-bottom:.8rem}.pricing-page .pricing-comparison-heading p{font-size:.8rem}.pricing-page .pricing-comparison-scroll{margin-inline:-.2rem;overflow-x:visible}.pricing-page .pricing-comparison-table{table-layout:fixed;width:100%;min-width:0}.pricing-page .pricing-comparison-table th:first-child{width:50%}.pricing-page .pricing-comparison-table th:not(:first-child),.pricing-page .pricing-comparison-table td{width:25%}.pricing-page .pricing-comparison-table th,.pricing-page .pricing-comparison-table td{overflow-wrap:anywhere;padding:.55rem .3rem;font-size:.68rem}.pricing-page .pricing-comparison-table thead th{letter-spacing:.025em;font-size:.62rem}.pricing-page .pricing-comparison-note{font-size:.72rem;line-height:1.45}.pricing-page .billing-toggle-group{border-radius:var(--radius-md);width:100%;max-width:340px}.pricing-page .billing-toggle-btn{border-radius:var(--radius-sm);text-align:center;white-space:nowrap;flex:1;min-height:44px;padding:.5rem;font-size:.78rem}.pricing-page .billing-toggle-btn .billing-save-badge{padding:.08rem .4rem;font-size:.68rem;display:inline-block}.pricing-page .pricing-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;flex-flow:row;align-items:stretch;gap:0;width:100%;max-width:100%;margin:0 0 1rem;padding:1rem 9% 0;display:flex;overflow:auto hidden}.pricing-page .pricing-grid::-webkit-scrollbar{display:none}.pricing-page .pricing-card{overflow-wrap:anywhere;scroll-snap-align:center;border-radius:var(--radius-lg);box-sizing:border-box;flex:0 0 100%;align-self:stretch;min-width:0;margin-right:.75rem;padding:1.25rem 1rem}.pricing-page .pricing-card:last-child{margin-right:0}.pricing-page .pricing-card:hover{box-shadow:none;transform:none}.pricing-page .pricing-card.is-featured:hover{box-shadow:0 4px 24px #0000001a}.pricing-page .pricing-carousel-dots{display:flex}.pricing-page .pricing-card-badge{padding:.25rem .9rem;font-size:.68rem;top:-.65rem}.pricing-page .pricing-card-name{margin-bottom:.25rem;font-size:1.1rem}.pricing-page .pricing-card-desc{margin-bottom:1rem;font-size:.8rem}.pricing-page .pricing-card-price{gap:.5rem;min-height:3.5rem;margin-bottom:.75rem}.pricing-page .pricing-annual-savings{min-height:1.5rem;margin-bottom:.2rem;font-size:.72rem}.pricing-page .pricing-card-price .pricing-renewal-note{max-width:100%;font-size:.7rem;line-height:1.4}.pricing-page .pricing-card-price .price-amount{font-size:2rem}.pricing-page .pricing-card-price .price-period{font-size:.8rem}.pricing-page .pricing-card-price .price-local{font-size:.72rem}.pricing-page .pricing-card-features{gap:.3rem;margin-bottom:1rem}.pricing-page .pricing-card-features li{gap:.35rem;font-size:.78rem}.pricing-page .feature-icon{width:.95rem;height:.95rem;margin-top:.05rem}.pricing-page .pricing-card-cta{justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.25rem;font-size:.9rem;display:flex}.pricing-page .pricing-switch-plan-section{margin-top:.75rem;padding-top:.75rem}.pricing-page .pricing-switch-plan-label{margin-bottom:.5rem;font-size:.7rem}.pricing-page .pricing-switch-plan-buttons{gap:.4rem;margin-bottom:.6rem}.pricing-page .pricing-switch-plan-btn{padding:.45rem .5rem;font-size:.78rem}.pricing-page .pricing-switch-plan-icon{width:12px;height:12px}.pricing-page .pricing-switch-plan-cta{min-height:44px;padding:.6rem 1rem;font-size:.85rem}.pricing-page .pricing-switch-plan-cta-icon{width:14px;height:14px}.pricing-page .pricing-cancel-notice{padding:0 0 .5rem;font-size:.78rem}.pricing-page .pricing-renewal-note{margin-top:.5rem;padding:0 .5rem .5rem;font-size:.75rem}.pricing-page .pricing-card-price .pricing-renewal-note{margin:.125rem 0 0;padding:0}.pricing-page .pricing-restore{max-width:100%;margin-top:1.25rem;padding:1rem}.pricing-page .pricing-restore-text{margin-bottom:.6rem;font-size:.78rem}.pricing-page .pricing-restore-btn{min-height:44px;padding:.5rem 1rem;font-size:.8rem}.pricing-page .pricing-trust{max-width:100%;margin-top:1.5rem;padding-top:1.25rem}.pricing-page .pricing-trust p{gap:.25rem;font-size:.75rem}.pricing-page .pricing-trust .trust-icon{width:.85rem;height:.85rem}}@media (max-width:480px){.pricing-page.pricing-page{padding:0 .6rem 1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom,0px))}.pricing-page .pricing-hero{padding:1.4rem .4rem .5rem}.pricing-page .pricing-hero-title{font-size:clamp(1.4rem,5vw,1.8rem)}.pricing-page .pricing-country-badge{font-size:.75rem}.pricing-page .billing-toggle-btn{padding:.45rem .5rem;font-size:.76rem}.pricing-page .billing-toggle-btn .billing-save-badge{margin-left:.15rem;font-size:.6rem}.pricing-page .pricing-card{padding:1rem .8rem}.pricing-page .pricing-card-name{font-size:1rem}.pricing-page .pricing-card-desc{font-size:.75rem}.pricing-page .pricing-card-price .price-amount{font-size:1.75rem}.pricing-page .pricing-card-features li{font-size:.74rem}.pricing-page .pricing-card-cta{padding:.65rem 1rem;font-size:.85rem}.pricing-page .pricing-switch-plan-btn{font-size:.72rem}.pricing-page .pricing-trust p{font-size:.7rem}}@media (max-width:640px){.wellness-goal-divider{margin:.65rem 0}.profile-form .wizard-summary-content.wellness-goal-content>.macro-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.profile-form .wizard-summary-content.wellness-goal-content>.macro-goal-grid>.form-group+.form-group{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:.4rem}.water-reminder-period{flex-wrap:wrap}.water-reminder-period>.toggle-label{flex-basis:100%}.water-reminder-period .meal-reminder-time-field{flex:7rem;width:auto;min-width:0}}@media (max-width:480px){.reminder-interval-select{min-width:4rem}.water-reminder-period-to{padding-inline:.1rem}}@media (max-width:640px) and (orientation:landscape){.profile-form .wizard-summary-content.wellness-goal-content>.macro-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form .wizard-summary-content.wellness-goal-content>.macro-goal-grid>.form-group+.form-group{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:.65rem}}@media (max-width:380px){.pricing-page.pricing-page{padding:0 .5rem 1rem;padding-bottom:calc(1rem + var(--safe-bottom,0px))}.pricing-page .pricing-hero-title{font-size:1.25rem}.pricing-page .billing-toggle-group{max-width:260px}.pricing-page .billing-toggle-btn{padding:.4rem;font-size:.72rem}.pricing-page .billing-toggle-btn .billing-save-badge{padding:.05rem .3rem;font-size:.55rem}.pricing-page .pricing-card{border-radius:var(--radius-lg);padding:.85rem .7rem}.pricing-page .pricing-card-badge{padding:.2rem .7rem;font-size:.6rem;top:-.55rem}.pricing-page .pricing-card-name{font-size:.92rem}.pricing-page .pricing-card-desc{margin-bottom:.75rem;font-size:.7rem}.pricing-page .pricing-card-price .price-amount{font-size:1.5rem}.pricing-page .pricing-card-price .price-period{font-size:.72rem}.pricing-page .pricing-card-features{gap:.25rem;margin-bottom:.75rem}.pricing-page .pricing-card-features li{font-size:.72rem}.pricing-page .feature-icon{width:.9rem;height:.9rem}.pricing-page .pricing-card-cta{min-height:44px;padding:.55rem .75rem;font-size:.78rem}.pricing-page .pricing-switch-plan-btn{padding:.38rem .35rem;font-size:.68rem}.pricing-page .pricing-switch-plan-check{font-size:.65rem}.pricing-page .pricing-restore{margin-top:1rem;padding:.75rem}.pricing-page .pricing-restore-text{font-size:.72rem}.pricing-page .pricing-restore-btn{min-height:40px;padding:.45rem .85rem;font-size:.75rem}.pricing-page .pricing-trust{margin-top:1rem;padding-top:1rem}.pricing-page .pricing-trust p{gap:.2rem;font-size:.65rem}}@media (max-width:640px){.cam-error{overflow-wrap:anywhere;padding:.75rem}.base-modal.cam-modal{width:100%;max-width:100%}.cam-modal .base-modal-title{font-size:clamp(.95rem,4vw,1.05rem)}.cam-header-content{gap:.5rem}.cam-loading-orbit{width:clamp(3.75rem,18dvh,5.5rem);height:clamp(3.75rem,18dvh,5.5rem)}.cam-flash-toggle{min-width:2.75rem;min-height:2.75rem}.cam-zoom-presets,.cam-zoom-indicator{bottom:calc(100% + .35rem)}.cam-focus-marker{--cam-focus-size:2.75rem}.cam-modal .cam-capture-description{font-size:clamp(.85rem,3.6vw,.95rem)}.cam-modal .cam-speech-button{flex-basis:2.75rem;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0}.cam-mode-picker .wheel-picker-item{font-size:clamp(.82rem,3.4vw,.95rem)}.cam-modal .cam-photo-meal-type-picker{--wheel-item-width:clamp(5.5rem, 26vw, 7rem)}.cam-mode-copy{width:100%}.cam-hint{font-size:clamp(.72rem,3vw,.85rem)}.cam-hint-detail{font-size:clamp(.62rem,2.5vw,.7rem)}.cam-receipt-overlay{gap:.5rem}.cam-receipt-frame{width:min(72%,18rem)}.cam-receipt-miniature{padding:.3rem}.cam-receipt-toggle{font-size:clamp(.65rem,2.8vw,.78rem)}.cam-receipt-empty{font-size:clamp(.65rem,2.8vw,.75rem)}.cam-receipt-review-content .cam-receipt-preview{width:min(100%,16rem)}.cam-receipt-review-tools .cam-btn{padding-inline:.5rem;font-size:clamp(.78rem,3.4vw,.9rem)}.cam-btn-capture{width:68px;height:68px}.cam-btn-gallery{width:2.75rem;height:2.75rem}.cam-action-bar{padding:.4rem 0}.cam-review-layout{flex-direction:column;gap:1rem}.cam-review-image-section{width:100%;max-width:100%}.cam-macro-pill{flex:1;min-width:0}.cam-processing{padding:2rem 1rem}}@media (max-width:480px){.cam-receipt-count{font-size:clamp(.68rem,3vw,.8rem)}.cam-receipt-guide-label{padding:.25rem;font-size:clamp(.68rem,3vw,.8rem)}}@media (max-width:380px){.cam-receipt-overlay{gap:.35rem}.cam-receipt-miniature{flex-basis:23%}}@media (max-height:480px) and (orientation:landscape){.auth-page .auth-card{padding:1rem 1.25rem}.auth-page .auth-header{margin-bottom:.75rem}.auth-page .auth-header-icon,.auth-page .auth-subtitle{display:none}.auth-page .auth-title{font-size:1.25rem}.coach-session-modal>.base-modal-header{padding-block:.35rem}.exercise-session-stage{padding:.25rem .25rem 0}.exercise-session-footer{gap:.35rem;padding:.35rem}.ai-chat-overlay.ai-chat-overlay{--ai-chat-header-height:3.25rem}.ai-chat-overlay .ai-chat-header{min-height:3.25rem;padding-block:.25rem}.ai-chat-overlay .ai-chat-messages{padding-block:.5rem}.ai-chat-overlay .ai-chat-confirmations{max-height:min(48dvh,100% - 5rem);padding-block:.4rem}:is(.ai-chat-overlay:has(.ai-chat-edit-preview) .ai-chat-messages,.ai-chat-overlay:has(.ai-chat-edit-preview) .ai-chat-jump){display:none}.ai-chat-overlay:has(.ai-chat-edit-preview) .ai-chat-confirmations{flex:1;max-height:none}.ai-chat-overlay .ai-chat-edit-preview{flex:1;grid-template-rows:auto 1fr;grid-template-columns:minmax(9rem,.7fr) minmax(0,1fr);column-gap:.75rem;display:grid}.ai-chat-overlay .ai-chat-edit-preview>header{grid-area:1/1}.ai-chat-overlay .ai-chat-edit-diff{grid-area:1/2/span 2}.ai-chat-overlay .ai-chat-edit-actions{grid-area:2/1;align-self:end}.ai-chat-overlay .ai-chat-edit-note{display:none}.ai-chat-overlay:has(.ai-chat-edit-preview) .ai-chat-attachment{margin-block:.25rem}.ai-chat-overlay:has(.ai-chat-edit-preview) .ai-chat-attachment-copy p{display:none}.cam-receipt-controls{padding-block:.35rem max(.35rem, var(--safe-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.cam-receipt-controls .cam-mode-panel,.cam-receipt-controls .cam-mode-copy{grid-column:1}.cam-receipt-controls .cam-action-bar{grid-area:1/2/span 2}.cam-receipt-controls .cam-hint{font-size:clamp(.68rem,1.8vw,.78rem)}.cam-receipt-controls .cam-hint-detail{font-size:clamp(.58rem,1.5vw,.66rem)}.cam-receipt-overlay{justify-content:flex-start}.cam-receipt-frame{width:45%}.cam-receipt-toggle{gap:0}.cam-receipt-toggle svg{width:1rem;height:1rem}.cam-receipt-review-content{flex-direction:row;align-items:stretch}.cam-receipt-instructions{flex:1;min-width:0;overflow:auto}.cam-receipt-review-content .cam-receipt-preview{flex:0 40%}.cam-receipt-review .cam-btn{padding-block:.3rem}}@media (max-width:480px){nav.navbar-mobile-logged-in{padding-left:.5rem;padding-right:.5rem}.navbar-mobile-logged-in .mobile-nav-items{gap:.15rem}.navbar-mobile-logged-in .mobile-nav-item{padding:.25rem .2rem}div.navbar-action-bar{gap:.4rem;padding-left:.5rem;padding-right:.5rem}.navbar-action-bar .navbar-ai-input-group{padding-left:12px}.navbar-action-bar .navbar-ai-input-group[data-input-mode=chat]{--navbar-focus-orbit-duration:3s}.navbar-voice-mode{gap:.5rem}.navbar-voice-visualizer{flex-basis:2.75rem;height:2.75rem}.navbar-voice-status{font-size:.8rem}}@media (max-width:380px){.navbar-mobile-logged-in .navbar-mobile-hamburger{flex-basis:40px;width:40px}.navbar-mobile-logged-in .mobile-nav-item svg{width:20px;height:20px}.navbar-mobile-logged-in .mobile-nav-label{font-size:.58rem}.navbar-mobile-logged-in .mobile-nav-item.active{padding:.25rem .2rem}.navbar-action-bar .navbar-camera-btn{--cam-raise:16px;width:56px}.navbar-action-bar .navbar-camera-btn svg{width:22px;height:22px}.navbar-voice-visualizer{flex-basis:2.5rem}.navbar-voice-status{font-size:.72rem}.navbar-voice-cancel{width:2.75rem;height:2.75rem}}@media (max-height:500px) and (orientation:landscape){.diary-top-panel{max-height:45%;overflow:clip}.hero{padding:.75rem;padding-top:calc(.75rem + var(--safe-top))}.hero h1{margin-bottom:.3rem;font-size:1.1rem}.hero p{margin-bottom:.4rem;font-size:.65rem;display:none}.modal{max-height:90dvh}nav.navbar-mobile-logged-in{padding-top:.25rem;padding-bottom:.25rem}.navbar-mobile-logged-in .mobile-nav-label{display:none}div.navbar-action-bar{padding-top:.35rem;padding-bottom:calc(.35rem + var(--safe-bottom,0px))}.navbar-action-bar .navbar-camera-btn{--cam-raise:13px;width:52px}.navbar-action-bar .navbar-camera-btn svg{width:21px;height:21px}}@media (max-width:640px){.diary-compact-steps-side{padding:.1rem .1rem .1rem .35rem}.diary-day-cell.balance-positive{background:var(--green-bright)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell.balance-positive{background:color-mix(in srgb, var(--green-bright) 14%, transparent)}}.diary-day-cell.balance-negative{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell.balance-negative{background:color-mix(in srgb, var(--red-strong) 24%, transparent)}}.diary-day-cell--strip.balance-positive{background:var(--green-bright)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell--strip.balance-positive{background:color-mix(in srgb, var(--green-bright) 40%, transparent)}}.diary-day-cell--strip.balance-negative{background:var(--red-strong)}@supports (color:color-mix(in lab, red, red)){.diary-day-cell--strip.balance-negative{background:color-mix(in srgb, var(--red-strong) 40%, transparent)}}.diary-skeleton-insight{height:62px;padding:.45rem .55rem}.diary-skeleton-widget-card{padding:.7rem .6rem}.diary-insights{margin-bottom:.15rem;padding:0 .55rem .35rem}.diary-insight-dot{width:clamp(1.5rem,6vw,1.75rem);height:.875rem}.diary-insight-card{gap:.45rem}.diary-insight-icon{width:24px;height:24px;font-size:clamp(.78rem,3vw,.9rem)}.diary-insight-title{font-size:clamp(.8rem,3vw,.9rem)}.diary-insight-message{font-size:clamp(.75rem,2.5vw,.82rem);line-height:1.45}.diary-widgets-row{width:100%}.diary-date-strip,.diary-day-cell--strip{touch-action:pan-y}.diary-widgets-row>.timeline-carousel{flex-basis:100%;width:100%}.timeline-carousel-slide{padding:5px}.timeline-carousel-slide-calories{align-items:center}.diary-insight-ai-tag{font-size:clamp(.52rem,2vw,.58rem)}.diary-insight-ai-loading{font-size:clamp(.58rem,2.5vw,.65rem)}}@media (max-width:480px){.diary-skeleton-insight{height:60px}.diary-skeleton-widget-stats,.diary-skeleton-widget-macros{gap:.35rem}.diary-insights{padding-inline:.5rem}.diary-insight-icon{width:22px;height:22px}}@media (max-width:380px){.diary-insights{border-left-width:2px}.diary-insight-icon{display:none}.diary-insight-dot.active:before{width:.75rem}.diary-insight-ai-tag{display:none}}@media (max-height:500px) and (orientation:landscape){.diary-insights{margin-bottom:.1rem;padding-inline:.5rem}}@media (max-width:640px){.ai-insight-modal{max-width:100%;margin:0}.ai-insight-modal-header{font-size:clamp(.82rem,3vw,.95rem)}.ai-insight-modal-header-icon{width:24px;height:24px;font-size:.75rem}.ai-insight-modal-title{font-size:clamp(.9rem,3.5vw,1.05rem)}.ai-insight-modal-content{font-size:clamp(.9rem,3.8vw,1rem);line-height:1.5}.ai-insight-modal-content table,.ai-insight-modal-content table.ai-insight-weekly-table{font-size:clamp(.68rem,2.5vw,.78rem)}.ai-insight-modal-content thead th{padding:.3rem .4rem}.ai-insight-modal-content tbody td,.ai-insight-weekly-table tfoot th,.ai-insight-weekly-table tfoot td{padding:.25rem .4rem}.ai-insight-weekly-table tbody tr.is-today{box-shadow:inset 2px 0 0 var(--accent)}.ai-insight-weekly-overview{padding:.55rem .6rem}.ai-insight-weekly-table-wrap{overscroll-behavior-x:contain}.ai-insight-modal-content ul,.ai-insight-modal-content ol{padding-left:1rem}}@media (max-width:1024px) and (max-height:500px) and (orientation:landscape){.cam-controls{padding-block:.5rem max(.5rem, var(--safe-bottom));gap:.35rem}.cam-controls.cam-capture-controls{gap:.35rem}.cam-modal .cam-capture-description{min-height:2.75rem;max-height:4rem}.cam-modal-body>.cam-container{gap:.35rem}.cam-modal .base-modal-header{padding-block:max(.25rem, var(--safe-top)) .25rem}.cam-modal .cam-btn-capture{width:3rem;height:3rem}.cam-modal .cam-barcode-status{min-height:3rem}}@media (max-width:640px){.cam-barcode-status{word-break:break-word;box-sizing:border-box;min-width:0;overflow:hidden}.cam-barcode-overlay .cam-scan-frame{aspect-ratio:2.2;width:92%}.diary-meal-entry.camera-focus{outline-offset:1px}.diary-macro-chip{padding:.12rem .2rem;font-size:.52rem}.diary-meal-merge-hint{gap:.35rem;font-size:clamp(.75rem,3.4vw,.88rem)}.diary-drop-hint{min-height:2.2rem;padding:.3rem .55rem;font-size:clamp(.64rem,2.9vw,.74rem)}.diary-section-drop-zone>span{font-size:.8rem}.diary-section-drop-zone small{font-size:.6rem}.diary-meal-entry.has-ai-attempt{grid-template-rows:minmax(68px,auto) auto;grid-template-columns:56px minmax(0,1fr) 7.25rem;row-gap:0}.diary-meal-entry.status-skipped:not([data-ai-status=queued]):not([data-ai-status=processing]){opacity:.7}.diary-section-empty>.ai-request-status-edit{width:100%}.mp-mode-panel>div{padding:.75rem}.mp-mode-wheel{width:min(100%,16rem);min-width:min(100%,15rem)}.mp-long-press-hint{overflow-wrap:anywhere;box-sizing:border-box;min-width:0;max-width:100%}.mp-date-divider{margin-block:.375rem}.mp-secondary-btn.sm.mp-date-icon-btn{flex:0 0 36px;width:36px;height:44px;min-height:44px}.mp-date-actions-right{flex-wrap:nowrap}.mp-long-press-row{gap:.375rem}.ai-image-tag{top:.2rem;left:.2rem;right:auto}.ai-image-tag.ai-image-tag-top-right{left:auto;right:.2rem}.calorie-carryover-switch{min-width:44px;min-height:44px}}@media (max-width:380px){.admin-ai-call-filters{grid-template-columns:1fr}}@media (max-width:640px){.admin-notify-quick-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.admin-notify-selected-grid{grid-template-columns:minmax(0,1fr)}.admin-notify-group-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:4rem;padding:.45rem .3rem;display:flex}.admin-notify-group-title{font-size:clamp(.62rem,2.6vw,.78rem);line-height:1.2}.admin-notify-group-detail{display:none}.admin-notify-group-count{min-width:0;padding:.1rem .35rem;font-size:clamp(.65rem,2.5vw,.78rem)}.admin-notify-selected{padding:.75rem}.admin-notify-selected-heading{flex-wrap:wrap}.admin-ai-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ai-review-metrics>div:last-child{grid-column:1/-1}.admin-ai-review-overview-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.meal-items-modal.base-modal,.meal-item-detail-modal.base-modal{width:100%;height:100dvh;max-height:100dvh;padding-top:var(--safe-top);box-sizing:border-box;border-radius:0}.meal-items-modal .base-modal-footer,.meal-item-detail-modal .base-modal-footer{padding-bottom:max(.5rem, var(--safe-bottom))}.meal-items-modal .base-modal-body{padding:0 .75rem .75rem}.meal-item-detail-modal .base-modal-body{padding:.75rem}.meal-item-detail-sections{grid-template-columns:minmax(0,1fr)}.meal-item-detail-section{padding:0}.meal-item-detail-lines{gap:.35rem}.meal-item-detail-line-marker{flex-basis:1.25rem}.meal-item-detail-nutrition .meal-nutrition-facts{padding:0}.meal-item-detail-nutrition>summary{gap:.35rem}.meal-item-detail-header .base-modal-title{font-size:clamp(.95rem,4vw,1.1rem)}.meal-item-editor-heading{flex-direction:column;align-items:stretch;padding-inline-end:0}.meal-item-editor-identity{flex-basis:auto;grid-template-columns:clamp(5.5rem,25vw,7rem) minmax(0,1fr);gap:.65rem}.meal-item-edit-card label{gap:.15rem;font-size:clamp(.65rem,2.6vw,.75rem)}.meal-item-edit-card input,.meal-item-type-input{padding:.4rem .5rem}.meal-item-type-input{padding-inline-end:2.25rem}.meal-item-editor-fields{gap:.35rem}.exercise-sets-editor{gap:.4rem}.exercise-set-headings,.exercise-set-row{gap:.35rem}.exercise-set-headings{font-size:.7rem}.exercise-set-number,.exercise-set-remove{min-height:2.75rem}.exercise-set-mobile-label{display:none}.meal-item-portions,.meal-item-primary-fields{gap:.4rem;margin-block:.5rem}.meal-item-portions{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-item-primary-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-item-detail-edit-fields{gap:.5rem}.meal-item-detail-section>:not(summary),.meal-item-detail-section>p.meal-item-detail-empty{margin-inline:.65rem}.meal-item-detail-section>:last-child{margin-bottom:.65rem}.meal-item-detail-edit-fields>label{column-gap:.25rem;font-size:clamp(.65rem,2.6vw,.75rem)}.meal-item-detail-edit-fields input{padding:.4rem .5rem}.meal-nutrient-edit-value{width:clamp(6rem,30vw,7.5rem)}.meal-nutrition-facts{padding:.8rem}.meal-nutrition-priority dl,.meal-nutrition-priority h4{padding-inline:.65rem}.meal-content-card{padding:.8rem}.diary-meal-entry-expanded .meal-content-card{padding:.8rem .8rem 0}.diary-meal-entry-expanded .meal-total-card .meal-macro-summary dt{font-size:clamp(.62rem,2.5vw,.72rem)}.diary-meal-entry-expanded .meal-total-card .meal-macro-summary dd,.meal-items-modal .meal-total-card .meal-macro-summary dd{font-size:clamp(.85rem,3.4vw,1rem)}.diary-meal-entry-expanded .diary-status-btn{width:2.75rem;height:2.75rem}.meal-items-layout.has-cover-image{grid-template-columns:clamp(5rem,22vw,7rem) minmax(0,1fr);gap:.55rem}.meal-main-image{width:clamp(5rem,22vw,7rem);height:clamp(5rem,22vw,7rem)}.meal-main-image-wrap,.meal-item-detail-image-wrap{max-width:100%}.meal-inline-ai-actions .btn,.meal-card-menu-button,.meal-card-edit-button,.meal-card-status-button{min-width:2.75rem;min-height:2.75rem}.meal-card-menu-delete{padding-inline:.5rem}.meal-actions-menu .meal-card-menu-delete{touch-action:manipulation}.meal-card-actions{gap:.25rem}.meal-items-panel .meal-add-item{min-height:2.75rem}.meal-item-card,.meal-total-card{padding:.5rem 0}.meal-item-exercise-image-wrap{width:clamp(2.75rem,15vw,3.75rem)}.meal-items-panel .meal-item-exercise-image-wrap{width:clamp(5rem,22vw,7rem)}.meal-item-card.meal-item-edit-card{padding:.65rem}.meal-item-edit-card .meal-item-controls{width:auto;margin:-.65rem -.65rem .65rem;padding-inline:.65rem}.meal-item-edit-card .meal-item-editor-collapse{margin-inline:0}.meal-items-modal .modal-label-opt{flex:1}.meal-target-progress small{font-size:clamp(.65rem,2.5vw,.75rem)}.meal-target-values{column-gap:.2rem}.meal-total-card .meal-macro-summary dd{font-size:clamp(1rem,4vw,1.2rem)}.meal-pinned-totals .meal-nutrient-row{gap:.4rem}.meal-nutrition-facts>dl .meal-nutrient-row,.meal-pinned-totals .meal-nutrient-row{min-height:calc(2.5rem + 1px)}.meal-nutrient-row:has(.nutrient-pin-button){gap:.4rem}.meal-nutrition-heading{gap:.35rem}.nutrient-pin-button{min-width:2.75rem;min-height:2.75rem;padding:0}.meal-nutrient-row .nutrient-pin-button{margin-block:-.125rem}.meal-macro-badges>div{padding:.12rem .25rem}.meal-macro-badges dt,.meal-macro-badges dd,.mp-review-day-macro-tag{font-size:clamp(.55rem,2.2vw,.62rem)}.meal-view-actions .btn{flex:1}}@media (max-width:480px){.meal-macro-summary{gap:.3rem}}@media (max-width:380px){.meal-macro-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px) and (orientation:landscape){.meal-item-primary-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.meal-macro-summary.meal-exercise-macro-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-health-card{padding:.8rem}.meal-item-name-field{width:100%}:is(.base-modal-backdrop:has(>.meal-items-modal),.base-modal-backdrop:has(>.meal-item-detail-modal)){padding:0}.meal-view-heading .base-modal-title{font-size:clamp(.9rem,3.5vw,1.15rem)}.meal-item-editor-photo{align-self:start}.meal-item-serving,.meal-workout-details{font-size:clamp(.62rem,2.4vw,.7rem)}.meal-item-serving{white-space:nowrap;margin-inline-start:.2em;display:inline}.meal-workout-details{white-space:normal;margin-inline-start:0;display:block}.meal-items-modal .base-modal-header{min-height:4.5rem}.diary-top-panel{filter:none;flex:none;margin-bottom:.15rem}.diary-top-panel .ui-card-glass,.diary-top-panel .timeline-card{background:var(--surface-canvas);box-shadow:var(--shadow-card-rest);-webkit-backdrop-filter:none}.diary-moving-metric{min-width:0}.diary-morph-expanded{padding:.75rem .55rem .35rem}.diary-morph-summary{padding-block:.125rem}.diary-docked-metrics{gap:.2rem}.diary-docked-metric{padding:.2rem .1rem}.diary-docked-metric .diary-compact-macro-label{font-size:clamp(.625rem,2.2vw,.6875rem)}.diary-docked-metric .diary-compact-macro-values{font-size:clamp(.75rem,2.6vw,.875rem)}.diary-calorie-card .diary-morph-expanded{gap:.4rem;padding:.6rem .75rem}.diary-calorie-overview{gap:.5rem}.diary-calorie-header-actions{flex-shrink:0}.diary-calorie-breakdown{gap:.35rem}.diary-calorie-stat{padding:.2rem .3rem}.diary-calorie-stat-value{font-size:.9rem}.diary-calorie-card[data-carryover] .diary-calorie-overview{grid-template-columns:minmax(0,3.5fr) minmax(0,1fr)}.diary-calorie-card[data-carryover] .diary-calorie-breakdown{grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.6fr);gap:.2rem}.diary-calorie-card[data-carryover] .diary-calorie-stat{padding-inline:.2rem}.diary-calorie-card[data-carryover] .diary-calorie-stat-value{font-size:.72rem}.diary-calorie-carryover{padding-left:.5rem}.diary-calorie-card .diary-compact-bottom-row{gap:.5rem}.diary-calorie-card .diary-compact-macros-side{gap:.45rem}.diary-calorie-card .diary-compact-steps-side{padding-left:.5rem}.diary-calorie-card .diary-compact-macro-values,.diary-calorie-card .diary-compact-steps-value{font-size:.8rem}.diary-calorie-card .diary-morph-summary{padding-block:.3rem;padding-inline:.5rem}}@media (max-width:380px){.diary-morph-summary{padding-inline:.4rem}.diary-docked-metrics{gap:.15rem}}@media (max-width:640px) and (orientation:landscape){.diary-docked-metric{padding-block:.2rem}.timeline-carousel-track:has(.diary-calorie-card){--diary-calorie-height:12.5rem}.diary-calorie-card .diary-morph-expanded{gap:.4rem;padding-block:.5rem}}@media (max-width:640px){.meal-entry-filters{gap:.85rem;padding:.85rem}.meal-entry-filter-options button{padding-inline:.25rem}:is(.base-modal-backdrop:has(>.base-modal.copy-month-modal),.base-modal-backdrop:has(>.base-modal.clear-month-modal)){align-items:stretch;padding:0}.base-modal.copy-month-modal,.base-modal.clear-month-modal{width:100%;max-width:none;height:100dvh;min-height:0;max-height:100dvh;padding-top:var(--safe-top,0px);border-radius:0;flex:auto}.copy-month-modal .base-modal-body,.clear-month-modal .base-modal-body{flex:1;gap:.75rem;min-height:0;padding-inline:1rem}.copy-month-modal .base-modal-footer,.clear-month-modal .base-modal-footer{padding:.75rem 1rem calc(.75rem + var(--safe-bottom,0px))}.copy-month-modal-body .import-selects{gap:.5rem}.mp-regeneration-preference-modal .mp-primary-btn,.mp-regeneration-preference-modal .mp-secondary-btn{min-height:44px}.monthly-planner-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:0}.monthly-planner-backdrop>.monthly-planner-modal{box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;padding-top:var(--safe-top,0px);border-radius:0}.monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-header{padding:8px 18px;padding-inline:clamp(1rem,4.5vw,1.25rem)}.monthly-planner-terminal-error{width:calc(100% - 36px);margin-top:8px}.monthly-planner-backdrop>.monthly-planner-modal .monthly-planner-error{margin-block:12px}.monthly-planner-body{min-width:0;padding:12px 18px}.monthly-planner-modal>.monthly-planner-shell-body{min-height:0;padding:0}.monthly-planner-backdrop>.monthly-planner-modal .monthly-planner-body>.mp-footer-actions{padding-bottom:calc(1rem + var(--safe-bottom,0px));flex-shrink:0}.monthly-planner-body .monthly-planner-generating{gap:1rem;padding:.75rem .25rem}.monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-footer{padding:12px 18px calc(32px + var(--safe-bottom,0px))}.monthly-planner-backdrop>.monthly-planner-modal .mp-footer-actions>:is(.mp-primary-btn,.mp-secondary-btn){min-height:44px;padding:.75rem 1rem}.monthly-planner-close{min-width:44px;min-height:44px}.mp-section-card{padding:12px}.mp-section-card.mp-premium-card{padding:.875rem}.mp-premium-card .mp-premium-header{gap:.5rem}.mp-premium-card .mp-feature-row{gap:.625rem;padding:.625rem}.mp-premium-card .mp-premium-icon,.mp-premium-card .mp-feature-icon{flex-basis:2.125rem;width:2.125rem;height:2.125rem}.mp-premium-card .mp-premium-heading h3{font-size:clamp(.9rem,3.5vw,1rem)}.mp-premium-card .mp-feature-title{font-size:clamp(.8rem,3.3vw,.9rem)}.mp-premium-card .mp-feature-description{font-size:clamp(.72rem,2.9vw,.78rem)}.mp-review-summary{gap:.5rem;padding-inline:.75rem}.mp-review-summary-header{border-bottom:1px solid var(--border);min-height:2.5rem;padding-block:.25rem}.mp-review-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;display:grid}.mp-review-stat{border-radius:.5rem;min-width:0;padding:.5rem .25rem}.mp-review-stat-value{font-size:13px}.mp-review-stat-label{font-size:8px}.mp-review-config-row{gap:.375rem}.mp-review-config-group-label{flex-basis:100%}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-days{gap:.375rem;padding:.375rem}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-day-header{margin-bottom:.25rem;padding-block:.25rem}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-day-divider{margin-block:.25rem}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-day-meals{gap:.375rem;margin-top:.375rem}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-meal-actions{padding-block:0}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-meal-card{padding:.375rem}.mp-review-day-row:hover{transform:none}.mp-review-day-date{font-size:12px}.monthly-planner-backdrop>.monthly-planner-modal .mp-review-footer-actions{padding:12px 16px calc(24px + var(--safe-bottom,0px));flex-direction:column;align-items:stretch;gap:10px}.mp-review-footer-summary{justify-content:center}.mp-review-footer-buttons{width:100%}.mp-review-footer-buttons .mp-secondary-btn,.mp-review-footer-buttons .mp-primary-btn{flex:1;justify-content:center;min-height:44px;padding-inline:8px}.mp-wizard-steps{gap:0;padding:12px 18px 0;overflow-x:auto}.mp-wizard-step-dot span{font-size:clamp(.65rem,2.8vw,.72rem)}}@media (max-width:480px){.monthly-planner-terminal-error{width:calc(100% - 24px)}.monthly-planner-body,.monthly-planner-footer,.monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-footer{padding-inline:12px}}@media (max-width:380px){.monthly-planner-terminal-error{width:calc(100% - 16px)}.mp-section-card.mp-premium-card{padding:.75rem}.mp-premium-card .mp-premium-badge{padding-inline:.375rem;font-size:clamp(.55rem,2.3vw,.6rem)}.monthly-planner-body,.monthly-planner-footer,.monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-footer{padding-inline:8px}.mp-review-day-row{overflow-wrap:anywhere;min-width:0}}@media (max-width:640px) and (orientation:landscape){.monthly-planner-body .monthly-planner-generating{gap:.75rem;padding-block:.5rem}.mp-premium-card .mp-feature-row{min-height:3.75rem;padding-block:.375rem}.monthly-planner-modal{height:100dvh;max-height:100dvh}.monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-header{padding-block:.5rem}}@media (max-width:640px){[data-keyboard-open] .monthly-planner-backdrop>.monthly-planner-modal>.monthly-planner-header{padding-block:.25rem}[data-keyboard-open] .monthly-planner-footer{padding-block:.35rem}.btn,.btn-icon,.sidebar-vscode-bottom-btn,.sidebar-vscode-link,.sidebar-hamburger{min-height:44px}.btn-icon,.sidebar-vscode-link,.sidebar-hamburger{min-width:44px}.clear-date-range{grid-template-columns:1fr}.clear-date-input{font-size:1rem}.wellness-modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);border-radius:0}.wellness-modal-body{gap:1.1rem;padding-inline:.9rem}.tracker-tab-content{gap:1.1rem;max-width:100%}.tracker-modal{height:100dvh}.tracker-tabs button{padding:.55rem .2rem;font-size:clamp(.7rem,2.5vw,.8rem)}.tracker-tabs button>span:last-child{gap:.25rem}.tracker-tabs .tracker-settings-tab{padding-inline:.35rem}.tracker-settings-alert{top:-.5rem;right:-.55rem}.wellness-actions .health-disconnect-button{flex:0 0 2.75rem}.wellness-card{gap:.25rem;min-height:0;padding:.45rem .65rem .75rem}.wellness-card-metrics{gap:.4rem}.wellness-metric-group{gap:.35rem}.wellness-sleep-group{padding-left:.4rem}.wellness-metric{gap:.1rem .4rem;min-height:2.75rem;padding:.3rem .55rem}.wellness-metric strong{font-size:clamp(1.35rem,4.5vw,1.8rem)}.wellness-goal-summary{gap:.2rem;margin-top:.1rem}.wellness-goal-caption{font-size:clamp(.58rem,2.1vw,.65rem)}.wellness-goal-meter{height:.22rem}.wellness-quick-actions{gap:.4rem;width:100%}.wellness-card .wellness-quick-actions button{min-height:2rem;padding-inline:.2rem;font-size:clamp(.62rem,2.3vw,.72rem)}.wellness-form-grid,.health-connect-categories{grid-template-columns:1fr}.wellness-form-grid.wellness-water-fields,.wellness-form-grid.wellness-sleep-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.wellness-duration-presets,.wellness-history-row{gap:.4rem}.wellness-history-detail span{font-size:clamp(.7rem,2.8vw,.8rem)}.wellness-card-header,.wellness-card-footer{font-size:clamp(.6rem,2vw,.75rem)}.tracker-entry-datetime{gap:.25rem .6rem}.wellness-history-detail .tracker-source-tag{font-size:clamp(.6rem,2.5vw,.7rem)}.tracker-weight-stats{gap:.5rem}.tracker-photo-capture{min-height:2.75rem}}@media (max-width:380px){.wellness-card-footer>span{display:none}.wellness-metric{padding-inline:.45rem}.wellness-sleep-group{padding-left:.3rem}.wellness-card-metrics{gap:.3rem}.wellness-history-icon{display:none}}@media (max-width:640px) and (orientation:landscape){.wellness-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.shared-filter-row{gap:.5rem}.shared-filter-search{min-height:44px;padding:.6rem 2.2rem .6rem 2.1rem;font-size:.9rem}.shared-filter-panel{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:70dvh;padding:.75rem}.shared-filter-panel.is-pinned{width:100%;max-width:100%;max-height:min(70dvh, calc(100dvh - var(--safe-top,0px) - var(--safe-bottom,0px) - 2rem));overflow:hidden auto}.ai-voice-call-trigger{flex-basis:3.25rem;width:3.25rem;height:3.25rem}.ai-voice-call-controls{width:min(17rem,100vw - 5.5rem)}.ai-voice-call-control-actions>button{flex-direction:column;gap:.2rem;min-height:3.5rem;font-size:.75rem}}@media (max-width:380px){.ai-voice-call-controls{width:calc(100vw - 5.5rem)}}@media (min-width:641px) and (max-width:1024px){.settings-modal>.settings-modal-body{padding:.375rem}.settings-modal-body .profile-form-body .wizard-content{padding:.25rem}.base-modal.ui-preferences-modal{max-width:min(30rem,100%)}.ui-preferences-card{padding:.6rem}.ui-preferences-heading{font-size:.9rem}.ui-preferences-row{grid-template-columns:4.5rem minmax(0,1fr)}.ui-preferences-toggle{font-size:.8rem}.sidebar-signout-profile-action{touch-action:manipulation}.diary-compact-preferences-button{min-width:44px;min-height:44px}.diary-insight-interval{height:2px}.diary-cal-month-label{font-size:.65rem}.diary-cal-mode-toggle .diary-cal-metric-label{font-size:.85rem}.diary-day-cell--strip.today{border-radius:var(--radius-sm)}.diary-default-goal{--diary-default-goal-font-size:.7rem}.calendar-stats-toggle{touch-action:manipulation}.pwa-banner{min-width:0;padding-inline:max(1rem, var(--safe-left)) max(1rem, var(--safe-right))}.pwa-banner-actions{justify-content:flex-end}.ingredients-month-nav{min-width:44px;min-height:44px}.diary-section-add-space>.diary-add-btn--header{padding:.45rem}.exercise-session-stage{padding:.75rem .75rem 0}.coach-session-modal>.base-modal-header{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.exercise-session-footer{gap:.5rem}.coach-call-stage{--coach-call-ring-size:clamp(10rem, 31dvh, 18rem);padding:.75rem}.coach-call-stage-content{gap:.65rem}.coach-call-stage-controls{gap:.6rem}.ai-chat-edit-columns{gap:.85rem}.ai-chat-meal-card strong{font-size:.82rem}.ai-chat-attachment{margin-inline:1rem}.app-action-feedback.app-action-feedback.is-floating{max-width:min(32rem,100vw - 2rem)}.navbar-voice-visualizer{min-width:2.75rem;min-height:2.75rem}.ai-chat-overlay.ai-chat-overlay{border-radius:1.5rem;inset-inline:max(1.25rem,50vw - 21rem)}.ai-chat-resize-handle{--ai-chat-grip-width:2rem}.ai-chat-meal-card{--ai-chat-meal-image-size:3rem}.ai-chat-attachment-image,.ai-chat-edit-image{--ai-chat-preview-image-size:2.75rem}.ai-chat-messages{padding:1.25rem}.ai-chat-connection-status{padding-inline:1.25rem}.ai-chat-message-meta{gap:1rem}.ai-chat-delete-preview{max-width:32rem}.ai-chat-confirmations .ai-chat-delete-preview{margin-inline:auto}.ai-chat-delete-details>button{padding-inline:.65rem}.ai-chat-delete-preview li+li{padding-top:.4rem}.ai-chat-kept-items li{line-height:1.5}.ai-chat-welcome{padding-block:2rem}.date-time-input{max-width:100%;min-height:2.9rem}.mp-review-meal-actions{gap:.5rem}.mp-review-meal-card{padding:.5rem}.monthly-planner-body .monthly-planner-generating{padding:1rem .5rem}.monthly-planner-terminal-error{width:calc(100% - 56px)}.mp-section-card.mp-premium-card{padding:1rem}.mp-premium-card .mp-feature-row{padding:.75rem}.mp-premium-card .mp-feature-copy,.ui-empty-state,.ui-stat-item,.ui-animated-list,.ui-animated-item,.ui-animated-disclosure,.lb-skeleton-chips{max-width:100%}.ui-card,.ui-progress{min-width:0;max-width:100%}.diary-meals-list{padding-bottom:calc(80px + var(--safe-bottom,0px));gap:.95rem}.base-modal.cam-modal{max-width:min(100%,40rem)}.cam-header-content{gap:.75rem}.cam-focus-marker{--cam-focus-size:3rem}.cam-mode-picker .wheel-picker-item{font-size:clamp(.9rem,1.6vw,1rem)}.cam-hint{font-size:clamp(.85rem,1.6vw,1rem)}.cam-receipt-overlay{gap:1rem}.cam-receipt-frame{width:min(72%,22rem)}.cam-receipt-toggle{font-size:clamp(.7rem,1.3vw,.8rem)}.cam-receipt-review-content .cam-receipt-preview{width:min(100%,20rem)}.ai-request-status{width:100%}.offline-cache-control{max-width:100%}.base-modal.ingredients-scan-review-modal{max-width:min(100%,34rem)}.ai-ingredients-source{max-width:22rem}.ai-request-heading{align-items:center}.ai-request-actions>.diary-status-btn{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;flex-basis:2.75rem;block-size:2.75rem;inline-size:2.75rem}}@media (max-width:1024px){.heading-xl{font-size:clamp(1.6rem,4.5vw,2.4rem)}.heading-lg{font-size:clamp(1.3rem,3.5vw,1.7rem)}.heading-md{font-size:clamp(1rem,2.5vw,1.2rem)}.heading-sm{font-size:clamp(.88rem,2vw,1rem)}.text-body{font-size:clamp(.82rem,1.8vw,.92rem)}.text-sm{font-size:clamp(.7rem,1.5vw,.8rem)}.diary-meal-title-item.text-sm{font-size:.8rem}.text-xs{font-size:clamp(.62rem,1.2vw,.7rem)}.text-lg{font-size:clamp(.88rem,2vw,1rem)}}@media (max-width:768px){.dashboard-stats-grid,.home-stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-profile-card{text-align:center;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-top-row{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:center}.dashboard-profile-card .profile-stats-row,.dashboard-profile-card .profile-carousel{flex-shrink:0}.dashboard-profile-card .profile-info{word-break:break-word;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-avatar{flex-shrink:0}.dashboard-profile-card .profile-public-link{text-align:center;box-sizing:border-box;word-break:break-word;width:100%;min-width:0;max-width:100%;margin-left:0;overflow:hidden}.profile-public-link,.profile-private-badge{text-align:center;margin-left:0}.dashboard-profile-card .public-url{word-break:break-all;max-width:100%;display:inline-block;overflow:hidden}.dashboard-details-grid{width:100%;min-width:0;max-width:100%;overflow-x:auto}.hero h1{font-size:2rem}.home-library-grid,.form-row{grid-template-columns:1fr}.auth-form .register-country-private-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.6rem 1.2rem}.footer-content{text-align:center;flex-direction:column;align-items:center}.dashboard-widgets-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}.dashboard-diary-widget{grid-column:span 2}.widget-card{padding:.5rem}.widget-stat-value{font-size:.85rem}.widget-title{font-size:.6rem}.widget-icon{font-size:.75rem}.donut-chart-svg{max-width:100px}.dashboard-profile-card{gap:.65rem;padding:1rem}.profile-avatar{width:40px;height:40px;font-size:1.05rem}.profile-name{font-size:.92rem}.profile-stat-pill{gap:.06rem;padding:.18rem .32rem}.widget-stat-item{padding:.28rem .18rem}.widget-stat-item:before{left:25%;right:25%}.widget-stats-grid{gap:.2rem}.widget-goal-name,.widget-goal-values{font-size:.56rem}.widget-goal-track{height:4px}.profile-form-header{top:calc(var(--app-tabs-height,58px) + var(--safe-top,0px))}.profile-form-body{padding:.1rem .2rem}.profile-form .form-row{grid-template-columns:1fr 1fr;gap:.6rem}.profile-form .wizard-summary-content>.macro-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.profile-form .wizard-summary-content>.macro-goal-grid>.form-group+.form-group{padding-left:.5rem}}@media (min-width:769px) and (max-width:1024px){.profile-form .profile-goal-section>.activity-target-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.lb-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.lb-container{padding:0 .7rem 2rem}.lb-hero{padding:1.4rem .5rem .9rem}.lb-hero-title{font-size:clamp(1.3rem,4.5vw,1.6rem)}.lb-hero-subtitle{font-size:.8rem}.lb-tabs{border-radius:0;gap:.3rem;margin:.7rem 0 .9rem;padding:0}.lb-tab{border-radius:0;min-height:44px;padding:.45rem .55rem;font-size:.78rem}.lb-tab-count{padding:.06rem .35rem;font-size:.62rem}.lb-search-bar{gap:.3rem;margin-bottom:.5rem}.lb-search-input{border-radius:var(--radius-md);min-height:44px;padding:.5rem 1.8rem;font-size:.82rem}.lb-filter-toggle{border-radius:var(--radius-md);min-height:44px;padding:.5rem .7rem;font-size:.75rem}.lb-filter-panel{border-radius:var(--radius-lg);gap:.7rem;padding:.7rem .9rem}.lb-filter-chips{gap:.25rem}.lb-chip{padding:.28rem .55rem;font-size:.72rem}.lb-card{border-radius:var(--radius-lg)}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.18rem .45rem;font-size:.68rem}.lb-card-action-btns{gap:4px}.lb-card-action-btns .lb-quick-add-btn{width:26px;height:26px;font-size:.78rem}.lb-card-content{gap:.3rem;padding:.55rem}.lb-card-title{font-size:.82rem}.lb-card-macros{gap:.2rem}.lb-card-recipe-preview{font-size:.68rem}.lb-macro-bar-label{font-size:.62rem}.lb-empty{padding:1.8rem .9rem}.lb-empty-icon{font-size:2rem}.lb-empty-title{font-size:1rem}}@media (min-width:641px) and (max-width:1024px){.pricing-page.pricing-page{padding:0 1rem 2.5rem}.pricing-page .pricing-hero{margin-bottom:0;padding:2rem .75rem .5rem}.pricing-page .pricing-hero-title{font-size:clamp(1.6rem,3vw,2rem)}.pricing-page .pricing-comparison{max-width:44rem;margin-bottom:2rem;padding:1.5rem}.pricing-page .pricing-grid{scroll-snap-type:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:44rem;margin-inline:auto;padding:1rem 0 0;display:grid;overflow:visible}.pricing-page .pricing-card{flex:unset;scroll-snap-align:unset;box-sizing:border-box;overflow-wrap:anywhere;margin-right:0;padding:1.5rem}.pricing-page .pricing-card-price{min-height:7rem}.pricing-page .pricing-card-price .pricing-renewal-note{max-width:100%}.pricing-page .pricing-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - .75rem)}.pricing-page .pricing-carousel-dots{display:none}}@media (max-width:768px){.sidebar-mobile-overlay{background:var(--overlay-darker);z-index:401;display:block;position:fixed;inset:0}.calendar-stats-toggle,.calendar-nav-btn,.calendar-actions-btn,.calendar-actions-toggle{touch-action:manipulation}.calendar-header{gap:.125rem;padding:.25rem .625rem}.calendar-header.is-sticky{top:calc(var(--app-tabs-height,58px) + var(--safe-top,0px))}.navbar-mobile-logged-in{padding:.4rem .75rem;padding-inline:max(.75rem, var(--safe-left,0px)) max(.75rem, var(--safe-right,0px));background:var(--app-navbar-bg,var(--navbar-bg,var(--surface-canvas)));border-bottom:1px solid var(--border-subtle);box-shadow:0 2px 12px var(--shadow-sm2);top:var(--safe-top,0px);z-index:440;box-sizing:border-box;align-items:center;gap:.25rem;display:flex;position:sticky}[data-ios-pwa] .navbar-mobile-logged-in{padding-block:.25rem}[data-keyboard-open] .navbar-mobile-logged-in{display:none!important}[data-keyboard-open]:has(.lb-search-input:focus,.community-search-input:focus) .navbar-mobile-logged-in{display:flex!important}.navbar-mobile-hamburger{flex:0 0 44px;width:44px;height:44px}.mobile-nav-items{flex:1;justify-content:space-around;align-items:center;gap:.25rem;min-width:0;display:flex}.mobile-nav-item{border-radius:var(--radius-md);min-width:0;min-height:44px;color:var(--text-muted);transition:background var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:.3rem .25rem;text-decoration:none;display:flex;position:relative}.mobile-nav-item.active{background:var(--accent-dim);color:var(--accent);border-radius:999px}.mobile-nav-item:active{transform:scale(.93)}.mobile-nav-item.active .mobile-nav-label{font-weight:600}.mobile-nav-item svg{flex-shrink:0;width:22px;height:22px}.mobile-nav-label{letter-spacing:.01em;white-space:nowrap;font-size:.625rem;font-weight:500;line-height:1}.navbar-action-bar{transform:translate3d(0, calc(0px - var(--keyboard-height,0px)), 0);padding:.5rem .75rem;padding-inline:max(.75rem, var(--safe-left,0px)) max(.75rem, var(--safe-right,0px));padding-bottom:calc(.5rem + var(--safe-bottom,0px));min-height:calc(60px + var(--safe-bottom,0px));background:var(--app-navbar-bg,var(--surface-canvas));border-top:1px solid var(--border-subtle);box-shadow:0 -6px 20px var(--shadow-sm2);z-index:440;box-sizing:border-box;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}[data-ios-pwa] .navbar-action-bar{padding-bottom:max(.5rem, var(--safe-bottom,0px))}[data-ios-pwa-dock] .navbar-action-bar{top:var(--app-pwa-dock-bottom);transition:none;position:absolute;bottom:auto;transform:translateY(-100%)}[data-ios-pwa-dock] .ai-chat-overlay.ai-chat-overlay{--ai-chat-bottom-gap:calc(var(--ai-chat-composer-height,4rem) + 1.5rem);--ai-chat-available-height:max(0px, calc(var(--app-pwa-visible-height) - var(--ai-chat-top-gap) - var(--ai-chat-bottom-gap)));top:calc(var(--app-pwa-dock-bottom) - var(--ai-chat-bottom-gap));position:absolute;bottom:auto;translate:0 -100%}[data-keyboard-open]:not([data-navbar-input-active]):not([data-navbar-keyboard]) .navbar-action-bar{display:none!important}.navbar-action-bar .navbar-ai-input-group{flex:1;min-width:0}.navbar-action-bar .navbar-ai-input-group[data-input-mode=chat]{min-height:54px}.navbar-diary-context{gap:.5rem}.navbar-camera-btn{--cam-raise:18px;width:68px;margin-top:calc(var(--cam-raise) * -1.16);border:4px solid var(--card-bg);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.navbar-camera-btn:before{content:"";border:1px solid var(--card-border);clip-path:inset(0 0 calc(100% - (var(--cam-raise) - 5px)) 0);pointer-events:none;border-radius:999px;position:absolute;inset:-4px}.navbar-camera-btn:active{transform:scale(.92)}.navbar-camera-btn svg{width:24px;height:24px}body:has(.navbar-action-bar) main:not(:has(>.diary-page)){padding-bottom:calc(70px + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .jump-today{bottom:calc(5.25rem + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .toast-container{bottom:calc(82px + var(--safe-bottom,0px))}}@media (min-width:641px) and (max-width:1024px){.hero{padding:2rem 1.5rem;padding-top:calc(2rem + var(--safe-top))}.hero h1{font-size:clamp(1.8rem,3.5vw,2.4rem)}.table-wrap table{font-size:.75rem}.modal{max-width:440px}.diary-meal-entry.camera-focus{outline-offset:2px}.diary-meal-merge-hint{font-size:.85rem}.diary-drop-hint{font-size:.72rem}.diary-section-drop-zone>span{font-size:.85rem}.admin-ai-call-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-system-config-row{grid-template-columns:minmax(0,1fr)}.admin-system-config-row-tools>button{width:44px;min-width:44px;height:44px;min-height:44px}.admin-system-config-row.is-ai{grid-template-columns:minmax(0,1fr)}.admin-system-config-row.is-ai>.admin-system-config-provider-column,.admin-system-config-row.is-ai>.admin-system-config-control{grid-column:1}.admin-system-config-ai-routing{padding:.8rem}.admin-system-config-ai-routing-grid,.admin-system-config-ai-provider-row{grid-template-columns:minmax(8rem,1fr) repeat(3,minmax(5rem,.65fr))}.admin-system-config-table-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-system-config-table-header.is-ai{grid-template-columns:minmax(0,1fr) minmax(6rem,.5fr) minmax(0,1fr)}.admin-system-config-provider-column{text-align:left;justify-self:start}.admin-system-config-header-tools{flex-wrap:wrap}.admin-system-config-search{padding:.5rem}.admin-system-config-source-switch[data-tooltip]:after{max-width:min(22rem,100vw - 4rem)}.admin-system-config-add-modal .admin-system-config-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-system-config-add-top-fields,.admin-system-config-add-form>.admin-system-config-description-field,.admin-system-config-add-form>.admin-system-config-secret-choice,.admin-system-config-add-form>p{grid-column:1/-1}.admin-ai-call-row{grid-template-columns:10px minmax(0,1fr) auto}.admin-ai-call-row-meta{grid-column:2/3;align-items:flex-start}.admin-ai-call-row-image,.admin-ai-call-image-chip{grid-area:1/3/span 2;align-self:center}.diary-insights{padding:0 .8rem .35rem}.diary-insight-dot{height:.875rem}.diary-insight-icon{width:28px;height:28px;font-size:1rem}.diary-insight-title{font-size:.88rem}.diary-insight-message{font-size:.8rem}.ai-insight-modal-content table.ai-insight-weekly-table{font-size:clamp(.72rem,1.5vw,.8rem)}.admin-notify-quick-groups,.admin-notify-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-items-modal.base-modal,.meal-item-detail-modal.base-modal{width:min(92%,46rem);max-height:92dvh}.exercise-sets-editor{gap:.55rem}.exercise-set-headings,.exercise-set-row{gap:.6rem}.meal-item-portions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:641px) and (max-width:768px){.meal-item-editor-heading{flex-wrap:wrap}}@media (min-width:641px) and (max-width:1024px){.meal-health-card,.meal-nutrition-priority{width:100%}.meal-item-name-field{flex-basis:55%}.meal-view-heading{width:100%}.meal-item-editor-identity{grid-template-columns:clamp(7rem,18vw,9rem) minmax(0,1fr)}.meal-item-serving,.meal-workout-details{font-size:clamp(.75rem,1.5vw,.85rem)}.meal-item-serving{white-space:nowrap;margin-inline-start:.25em;display:inline}.meal-workout-details{white-space:normal;margin-inline-start:0;display:block}.meal-item-card,.meal-total-card{padding:.6rem 0}.meal-item-exercise-image-wrap{width:clamp(3.25rem,7vw,4.5rem)}.meal-items-panel .meal-item-exercise-image-wrap{width:clamp(5.5rem,20vw,9rem)}.diary-compact-exercise-target{font-size:.62em}.wellness-goal-divider{margin:.75rem 0}.profile-form .wizard-summary-content.wellness-goal-content>.macro-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1rem)}.water-reminder-period{flex-wrap:wrap}.meal-target-progress small{font-size:clamp(.7rem,1.4vw,.8rem)}td.meal-td{height:8rem}.meal-content-card{padding:.9rem}}@media (min-width:641px) and (max-width:767px){.meal-item-detail-sections{grid-template-columns:minmax(0,1fr)}}@media (min-width:641px) and (max-width:1024px){.meal-macro-badges dt,.meal-macro-badges dd{font-size:clamp(.64rem,1.3vw,.72rem)}.mp-review-day-macro-tag{font-size:clamp(.58rem,1.2vw,.66rem)}.meal-items-modal .base-modal-header{min-height:4.75rem}.diary-top-panel{filter:none;flex:none;margin-bottom:.15rem}.diary-top-panel .ui-card-glass,.diary-top-panel .timeline-card{background:var(--surface-canvas);box-shadow:var(--shadow-card-rest);-webkit-backdrop-filter:none}.base-modal.mp-regeneration-preference-modal{width:min(92%,36rem);max-width:36rem;max-height:90dvh}.diary-moving-metric{box-sizing:border-box}.diary-morph-card{max-width:100%}.diary-docked-metrics{gap:.4rem}.diary-docked-metric{padding-inline:.2rem}.diary-calorie-card .diary-morph-expanded{padding-inline:1rem}.diary-calorie-card .diary-morph-summary{padding-block:.35rem}.diary-calorie-overview{gap:.75rem}.wellness-modal{width:min(94%,48rem);max-height:calc(100dvh - 2rem)}.tracker-tabs button{padding-inline:.3rem}.tracker-tabs .tracker-settings-tab{padding-inline:.4rem}.tracker-settings-alert{top:-.5rem;right:-.6rem}.tracker-tab-content{max-width:100%}.tracker-modal{height:calc(100dvh - 2rem)}.wellness-card{padding:.8rem}.wellness-card-metrics{gap:.8rem}.wellness-metric-group{gap:.55rem}.wellness-sleep-group{padding-left:.8rem}.wellness-metric strong{font-size:clamp(1.4rem,2.8vw,1.9rem)}.wellness-quick-actions{width:100%}.wellness-goal-summary{max-width:100%}.wellness-goal-caption{font-size:.68rem}.wellness-actions button{flex:auto}.wellness-actions .health-disconnect-button{flex:0 0 2.75rem}.wellness-duration-presets{gap:.5rem}.tracker-source-tag{overflow-wrap:anywhere;max-width:100%}.tracker-entry-datetime{gap:.3rem .65rem}.tracker-weight-chart .weight-timeline{max-width:100%}}@media print{.sidebar-admin-panel,.coach-session-backdrop{display:none}.lb-container.lb-container{padding-block:0}}@media (min-width:1025px){.settings-modal>.settings-modal-body{padding:.375rem}.settings-modal-body .profile-form-body .wizard-content{padding:.25rem}.base-modal.ui-preferences-modal{max-width:30rem}.ui-preferences-card{padding:.65rem}.ui-preferences-heading{font-size:.9rem}.ui-preferences-row{grid-template-columns:4.5rem minmax(0,1fr)}.ui-preferences-toggle{font-size:.85rem}.diary-compact-preferences-button{min-width:44px;min-height:44px}.diary-insight-interval{height:2px}.diary-cal-month-label{font-size:.65rem}.diary-cal-mode-toggle .diary-cal-metric-label{font-size:.85rem}.diary-day-cell--strip.today{border-radius:var(--radius-sm)}.diary-default-goal{--diary-default-goal-font-size:.75rem}.cam-focus-marker{--cam-focus-size:3.25rem}.timeline-carousel-track:has(.diary-default-goal){--diary-default-goal-track-height:220px}.pwa-banner{min-width:0;padding-inline:max(1.5rem, var(--safe-left)) max(1.5rem, var(--safe-right))}body.sidebar-expanded .pwa-banner{margin-inline-start:220px}body.sidebar-collapsed .pwa-banner{margin-inline-start:52px}.pwa-banner-actions{justify-content:flex-end}.ingredients-month-nav{min-width:44px;min-height:44px}.diary-section-add-space>.diary-add-btn--header{padding:.5rem}.coach-session-modal>.base-modal-header{padding-block:1.25rem}.exercise-session-conversation .ai-chat-messages{padding:1.5rem}.exercise-session-footer{gap:.75rem}.coach-call-stage{--coach-call-ring-size:clamp(11rem, 33dvh, 20rem);padding:1.25rem}.coach-call-stage-heading{font-size:1.25rem}.btn.coach-call-stage-control{padding-inline:1.25rem}.ai-chat-edit-columns{gap:.5rem}.ai-chat-rich-text .ai-chat-meal-card{padding:.55rem}.ai-chat-attachment{margin-inline:.75rem}.app-action-feedback.app-action-feedback.is-floating{max-width:32rem}body.sidebar-expanded .app-action-feedback.is-floating{inset-inline-start:calc(220px + 1rem)}body.sidebar-collapsed .app-action-feedback.is-floating{inset-inline-start:calc(52px + 1rem)}.navbar-voice-visualizer{min-width:2.75rem;min-height:2.75rem}body:has(.ai-chat-overlay){--ai-chat-panel-width:clamp(22rem, 27vw, 25rem)}body.sidebar-expanded main,body.sidebar-collapsed main{transition:margin-left .25s cubic-bezier(.16,1,.3,1),margin-right .25s cubic-bezier(.16,1,.3,1)}body:has(.ai-chat-overlay) main{margin-right:calc(var(--ai-chat-panel-width) + 2rem)}.ai-chat-overlay.ai-chat-overlay{width:var(--ai-chat-panel-width);border-radius:1.25rem;inset-inline:auto 1rem}.ai-chat-resize-handle{--ai-chat-grip-width:1.75rem}.ai-chat-meal-card{--ai-chat-meal-image-size:2.75rem}.ai-chat-attachment-image,.ai-chat-edit-image{--ai-chat-preview-image-size:2.5rem}.ai-chat-header{padding-inline:1rem .5rem}.ai-chat-messages{gap:1rem;padding:1rem}.ai-chat-connection-status{padding-inline:1rem}.ai-chat-message{max-width:94%;padding-inline:.85rem}.ai-chat-message-meta{gap:.85rem}.ai-chat-delete-preview{padding:.7rem}.ai-chat-confirmations{padding:.6rem}.ai-chat-delete-details>button{font-size:.73rem}.ai-chat-delete-preview li+li{padding-top:.35rem}.ai-chat-kept-items li{font-size:.76rem}body:has(.ai-chat-overlay) .navbar-action-bar.navbar-action-bar{width:var(--ai-chat-panel-width);transform:translate3d(0, calc(0px - var(--keyboard-height,0px)), 0);left:auto;right:1rem}.ai-voice-call-controls{width:min(22rem,100vw - 7rem)}.pricing-page .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-page .pricing-card{overflow-wrap:anywhere;padding:clamp(1rem,2vw,2rem)}.pricing-page .pricing-card.is-annual{transform:translateY(-.35rem)}.pricing-page .pricing-card.is-annual:hover{transform:translateY(-.55rem)}.wellness-goal-settings,.wellness-goal-divider{max-width:100%}.water-reminder-period .meal-reminder-time-field:hover:not(:disabled),.reminder-interval-select:hover:not(:disabled){border-color:var(--accent)}}@media (min-width:769px){:root:not([data-native=true]) body.sidebar-collapsed:has(.float-logo:not(.hidden)) .user-dashboard{padding-block-start:3.5rem}:root:not([data-native=true]) body.sidebar-collapsed:has(.float-logo:not(.hidden)) .user-dashboard .calendar-header.is-sticky{top:calc(3.5rem + var(--safe-top,0px))}.navbar{padding-inline:max(1.5rem, var(--safe-left,0px)) max(1.5rem, var(--safe-right,0px))}.float-logo{padding-inline-end:max(1rem, var(--safe-right,0px))}.navbar-action-bar{left:calc(50% + 110px);bottom:calc(1rem + var(--safe-bottom,0px));transform:translate3d(-50%, calc(0px - var(--keyboard-height,0px)), 0);border:1px solid var(--border-subtle);background:var(--app-navbar-bg,var(--surface-canvas));width:min(60rem,100vw - 260px);box-shadow:var(--shadow-floating);z-index:440;box-sizing:border-box;border-radius:1rem;align-items:center;gap:.65rem;padding:.5rem .65rem;display:flex;position:fixed}body.sidebar-collapsed .navbar-action-bar{width:min(60rem,100vw - 92px);left:calc(50% + 26px)}.navbar-action-bar .navbar-ai-input-group{flex:1;min-width:0}.navbar-action-bar .navbar-ai-action-controls{align-items:center;gap:.125rem}.navbar-diary-context strong{font-size:.75rem}.navbar-action-bar .navbar-camera-btn{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--text-on-accent);background:var(--accent);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.navbar-action-bar .navbar-camera-btn:hover:not(:disabled){background:var(--accent-hover)}body:has(.navbar-action-bar) main:not(:has(>.diary-page)){padding-bottom:calc(6rem + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .diary-meals-list{padding-bottom:calc(6rem + var(--safe-bottom,0px))}}@media (min-width:1440px){.admin-ai-call-totals{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.navbar-action-bar,.ai-chat-overlay,[data-keyboard-open] .base-modal-backdrop,[data-keyboard-open] .base-modal-backdrop>.base-modal,body.sidebar-expanded main,body.sidebar-collapsed main{transition:none}.btn,.btn-icon,.modal-btn,.ui-card-default,.ui-card-glass,.ui-progress-indicator,.mobile-nav-item,.navbar-links a,.navbar-camera-btn,.sidebar-vscode,.sidebar-vscode-header,.sidebar-vscode-logo,.sidebar-vscode-title,.sidebar-hamburger,.sidebar-vscode-link,.sidebar-vscode-bottom-btn{transition-duration:.01ms}}@media (min-width:1025px){.date-time-input{max-width:100%}.sidebar-vscode.expanded .sidebar-vscode-link:not(.active):hover,.sidebar-vscode.expanded .sidebar-vscode-bottom-btn:not(.active):hover{transform:translate(2px)}.mp-review-meal-actions{gap:.5rem}.mp-review-meal-card{padding:.5rem}.mp-review-meal-card-wrapper,.monthly-planner-body .monthly-planner-generating{max-width:100%}.monthly-planner-terminal-error{max-width:600px}}@media print{.mp-review-meal-actions{display:none}:root:not([data-native=true]) body.sidebar-collapsed:has(.float-logo:not(.hidden)) .user-dashboard{padding-block-start:0}.mp-review-meal-card-wrapper{break-inside:avoid}:is(.monthly-planner-modal:has(.monthly-planner-generating),.monthly-planner-body:has(.monthly-planner-generating),.monthly-planner-generating){height:auto;max-height:none;overflow:visible}.mp-gen-day-item{break-inside:avoid}}@media (prefers-color-scheme:dark){.monthly-planner-generating{scrollbar-color:var(--border) transparent}}@media (min-width:1025px){.mp-section-card.mp-premium-card{max-width:36rem;margin-inline:auto}.mp-premium-card .mp-feature-row{min-height:4.75rem}}@media print{.mp-premium-card,.mp-feature-row{break-inside:avoid;box-shadow:none}.mp-premium-card .mp-premium-select-all{display:none}}@media (prefers-color-scheme:dark){.mp-premium-card .mp-feature-row[data-selected=true]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mp-premium-card .mp-feature-row[data-selected=true]{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}}}@media (prefers-reduced-motion:reduce){.mp-feature-row,.mp-premium-select-all{transition:none}}@media (min-width:1025px){.ui-empty-state,.ui-stat-item,.ui-animated-list,.ui-animated-item,.ui-animated-disclosure,.lb-skeleton-chips{max-width:100%}}@media print{.ui-animated-item,.ui-animated-list{opacity:1!important;transform:none!important}}@media (prefers-color-scheme:dark){.lb-card:hover{box-shadow:var(--shadow-card-hover)}}@media (prefers-reduced-motion:reduce){.lb-card,.lb-macro-bar-fill,.library-modern-card,.ingredients-ai-section,.ingredients-ai-section-title{transition:none}}@media (min-width:1025px){.ui-card,.ui-progress{max-width:100%}}@media print{.ui-card{break-inside:avoid}body:has(.ai-chat-overlay) main{margin-right:0!important}.ui-card-glass{-webkit-backdrop-filter:none}.ui-progress-indicator{transition:none}}@media (prefers-reduced-motion:reduce){.ui-progress-indicator{transition:none}}@media print{:is(html:has(.diary-page),body:has(.diary-page)){height:auto;overflow:visible}.diary-page,.diary-swipe-area,.diary-day-content,.diary-meals-list{display:block;overflow:visible}main:has(>.diary-page){display:block;overflow:visible}.diary-track{height:auto;display:block;transform:none!important}.diary-track-page[aria-hidden=true]{display:none}.diary-track-page{height:auto}.diary-top-panel{overflow:visible;height:auto!important}.diary-top-panel-content{overflow:visible;transform:none!important}.diary-insights,.diary-insight-card,.diary-insight-body{opacity:1!important;transform:none!important}.diary-insight-interval,.cam-modal-backdrop,.admin-system-config-search,.admin-system-config-search-toggle,.admin-system-config-value-toggle,.admin-system-config .admin-system-config-input-wrap[data-tooltip]:after,.admin-system-config .admin-system-config-source-switch[data-tooltip]:after,.ai-request-actions,.ai-request-reopen,.ai-ingredients-review-actions,.offline-cache-control{display:none}.ai-request-spinner{animation:none}.ai-request-status{break-inside:avoid}}@media (prefers-reduced-motion:reduce){.admin-system-config-value-toggle .admin-system-config-provider-track,.admin-system-config-value-toggle .admin-system-config-provider-track>span{transition:none}.offline-cache-spinner{animation:none}.ai-request-spinner{animation-duration:3s}}@media (min-width:1025px){.offline-cache-control{max-width:100%}.diary-meals-list{overflow-anchor:none;gap:1.15rem}body:has(.navbar-action-bar) main:not(:has(>.diary-page)){padding-bottom:calc(6rem + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .diary-meals-list{padding-bottom:calc(6rem + var(--safe-bottom,0px))}.cam-mode-panel{width:100%;max-width:38rem;margin-inline:auto}.base-modal.cam-modal{max-width:40rem;margin-inline:auto}.cam-header-content{gap:1rem}.cam-receipt-overlay{gap:1.25rem}.cam-receipt-frame{width:min(72%,24rem)}.cam-receipt-toggle{font-size:clamp(.7rem,1vw,.8rem)}.cam-receipt-review-content .cam-receipt-preview{width:min(100%,22rem)}.ai-request-actions{justify-content:center}.base-modal.ingredients-scan-review-modal{margin-inline:auto}.ai-ingredients-source{max-width:24rem}.diary-top-panel{filter:none}.diary-top-panel .ui-card-glass,.diary-top-panel .timeline-card{background:var(--surface-canvas);box-shadow:var(--shadow-card-rest);-webkit-backdrop-filter:none}.diary-skeleton-date-strip{box-sizing:border-box;width:100%;max-width:1100px;margin:1rem auto .5rem;padding:0 1rem}.diary-page:has(.diary-skeleton-date-strip){box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:0 1rem 1rem}.diary-skeleton-panel{flex-direction:row;align-items:stretch;gap:1rem;max-width:none;margin-top:.5rem}.diary-skeleton-insight{flex:1 1 0;height:auto;min-height:180px}.diary-skeleton-widget{flex:0 320px;width:320px}.diary-skeleton-list{max-width:none;margin-top:1rem}.diary-skeleton-row{min-height:100px}}@media print{.hero{padding:1rem;color:#000!important;background:#fff!important}.hero h1 span{color:var(--accent)!important}.hero-badge{border-color:var(--card-border)!important}.stat-num{color:var(--accent)!important}.stat{border-color:var(--card-border)!important;background:var(--card-bg)!important}.modal-backdrop,.jump-today,.pwa-banner,.tips-bar{display:none!important}.legend{position:static!important}footer{page-break-after:avoid}.table-wrap table{box-shadow:none!important}}@media (prefers-color-scheme:dark){.auth-page:before{background:radial-gradient(circle, var(--accent-soft-bg-dim) 0%, transparent 70%)}.auth-page:after{background:radial-gradient(circle, var(--accent-soft-bg-faint) 0%, transparent 70%)}.auth-card{box-shadow:0 8px 40px var(--shadow-dark), 0 1px 3px var(--shadow-medium);border-color:var(--white-soft-6)}.auth-card:after{content:"";background:linear-gradient(135deg, var(--white-soft-2) 0%, transparent 50%);pointer-events:none;border-radius:5px;position:absolute;inset:0}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 4px var(--accent-focus-shadow-strong)}.btn-auth{box-shadow:0 4px 16px var(--accent-btn-shadow-dim)}}@media (min-width:1025px){.diary-meal-entry.camera-focus{outline-offset:3px}.diary-meal-merge-hint{font-size:.92rem}.diary-drop-hint{font-size:.78rem}.diary-section-drop-zone>span{font-size:.9rem}.diary-insights{padding:0 .9rem .35rem}.diary-insight-card{gap:.7rem}.diary-insight-icon{width:30px;height:30px;font-size:1.05rem}.diary-insight-title{font-size:.9rem}.diary-insight-message{font-size:.82rem;line-height:1.45}.diary-insight-card:hover .diary-insight-title{text-underline-offset:3px;text-decoration:underline}.diary-insight-dot{height:.75rem}.diary-insight-dot:before{width:.375rem;height:.375rem}.diary-insight-dot.active:before{width:1rem}.ai-insight-weekly-table-wrap{margin-inline:auto}.dashboard-profile-card .profile-top-row{flex-direction:row;justify-content:center;align-items:center;position:relative}.dashboard-profile-card .profile-top-row-left{flex-direction:row;align-items:center}.dashboard-profile-card .profile-info{text-align:left;align-items:flex-start}.dashboard-profile-card .profile-stats-row{flex-wrap:nowrap}.dashboard-profile-card .profile-carousel{position:absolute;right:0}.dashboard-widgets-grid{grid-template-columns:repeat(4,1fr)}.dashboard-widgets-grid>.timeline-card:nth-child(2){grid-area:1/1}.dashboard-diary-widget{--dashboard-calorie-height:12.25rem;grid-area:1/2/auto/span 2}.admin-notify-group-card:not(:disabled):hover,.admin-notify-clear:hover,.admin-notify-remove-user:hover{border-color:var(--accent);background:var(--hover-bg)}.admin-system-config{max-width:76rem;margin:0 auto}.admin-system-config-search{max-width:48rem}.admin-system-config-source-switch[data-tooltip]:after{max-width:22rem}.admin-system-config-row{grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr)}.admin-system-config-row.is-ai{grid-template-columns:minmax(14rem,.8fr) minmax(7rem,.45fr) minmax(18rem,1.2fr)}.admin-system-config-table-header{grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr)}.admin-system-config-table-header.is-ai{grid-template-columns:minmax(14rem,.8fr) minmax(7rem,.45fr) minmax(18rem,1.2fr)}.admin-notify-group-card:not(:disabled):hover{transform:translateY(-1px)}.meal-macro-summary.meal-exercise-total-summary{grid-template-columns:repeat(8,minmax(0,1fr))}.meal-items-modal.base-modal,.meal-item-detail-modal.base-modal{width:min(80vw,54rem);max-width:54rem;max-height:90dvh;margin:auto}.meal-item-primary-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-item-portions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.meal-items-modal.base-modal,.meal-item-detail-modal.base-modal{width:100%;height:auto;max-height:none;box-shadow:none;overflow:visible}.meal-items-modal .base-modal-body{max-height:none;overflow:visible}.meal-view-actions,.meal-item-controls,.meal-item-photo-controls,.meal-view-video,.nutrient-pin-button,.meal-card-menu,.meal-card-menu-button{display:none}.meal-content-card,.meal-item-card,.meal-nutrition-facts{break-inside:avoid}}@media (prefers-color-scheme:dark){.meal-item-card,.meal-nutrition-facts,.meal-total-card{color:var(--foreground);border-color:var(--border)}.meal-nutrition-facts{background:var(--card)}}@media (min-width:1025px){.meal-health-card,.meal-nutrition-priority{max-width:100%}}@media print{.meal-health-card{break-inside:avoid}}@media (min-width:1025px){.meal-item-name-suggestions{max-width:100%}.meal-view-heading .base-modal-title{font-size:clamp(1.05rem,1.5vw,1.3rem)}.meal-item-editor-identity{grid-template-columns:clamp(8rem,12vw,10rem) minmax(0,1fr)}.meal-item-editor-fields{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;display:flex}.exercise-sets-editor{gap:.65rem}.exercise-set-headings,.exercise-set-row{gap:.75rem}.meal-item-editor-fields>*{width:100%;min-width:0}.meal-item-serving,.meal-workout-details{font-size:.8em}.meal-item-serving{white-space:nowrap;margin-inline-start:.25em;display:inline}.meal-workout-details{white-space:normal;margin-inline-start:0;display:block}.meal-item-card,.meal-total-card{padding:.65rem 0}.meal-item-exercise-image-wrap{width:clamp(4rem,5vw,5rem)}.meal-target-progress,.meal-content-card,.meal-macro-badges>div{max-width:100%}.meal-label-footer .meal-label-tag{display:none}.meal-items-modal .base-modal-header{min-height:5rem}.base-modal.mp-regeneration-preference-modal{width:min(36rem,100vw - 2rem);max-width:36rem}.meal-items-modal .meal-nutrition-facts .meal-nutrient-row{min-height:calc(2rem + 1px)}.diary-moving-metric,.diary-morph-card{max-width:100%}.diary-docked-metrics{gap:.65rem;margin-inline:auto}.diary-docked-metric{padding-inline:.3rem}.timeline-carousel-track:has(.diary-calorie-card){--diary-calorie-height:12.25rem}.diary-calorie-card .diary-morph-expanded{gap:.5rem;padding-inline:1rem}.diary-calorie-card .diary-morph-summary{padding-block:.4rem}.diary-calorie-breakdown{gap:.75rem}}@media print{.diary-moving-metric,.diary-moving-part{transform:translate(var(--diary-from-x), var(--diary-from-y))!important;width:var(--diary-from-width)!important;height:var(--diary-from-height)!important;font-size:var(--diary-from-font-size)!important}[data-expanded-detail]{opacity:1!important}.diary-compact-card.diary-morph-card{position:relative;height:auto!important}.diary-morph-expanded{position:relative;opacity:1!important;visibility:visible!important;height:auto!important}.diary-top-panel{height:auto!important}.diary-top-panel-content{opacity:1!important;visibility:visible!important;transform:none!important}.diary-calorie-card{break-inside:avoid;box-shadow:none}.diary-calorie-card .diary-morph-expanded{min-height:12rem}.diary-calorie-compact-surface,.diary-calorie-goals-hint{display:none}}@media (prefers-color-scheme:dark){.diary-morph-card,.diary-docked-metric{color:var(--foreground)}}@media (min-width:1025px){.wellness-modal{max-width:min(52rem,100vw - 4rem);margin:auto}.tracker-tabs{max-width:100%}.tracker-tabs button:hover{color:var(--foreground)}.wellness-actions .health-disconnect-button{flex:0 0 2.75rem}.tracker-tabs .tracker-settings-tab{justify-self:stretch}.tracker-settings-alert{top:-.55rem;right:-.65rem}.tracker-tab-content,.wellness-card{max-width:100%}.wellness-card-metrics{gap:.85rem}.wellness-sleep-group{padding-left:.85rem}.wellness-goal-summary{gap:.3rem}.wellness-goal-caption{font-size:.68rem}.wellness-quick-actions{width:100%}.wellness-entry-form{max-width:100%}.wellness-duration-presets{gap:.6rem}.tracker-source-tag{overflow-wrap:anywhere}.tracker-entry-datetime{gap:.3rem .65rem}.tracker-photo-capture:hover{border-color:var(--accent);background:var(--hover-bg)}}@media print{.wellness-quick-actions,.wellness-row-actions,.wellness-entry-form,.health-connect-panel,.wellness-modal-switch{display:none}.tracker-modal{height:auto;max-height:none}.tracker-tab-content{overflow:visible;opacity:1!important;transform:none!important}.wellness-card,.wellness-history-row{break-inside:avoid}.tracker-weight-chart summary{display:none}}@media (prefers-reduced-motion:reduce){.wellness-card *,.wellness-modal *,.health-connect-panel *{transition:none}.diary-calorie-overview{animation:none}.diary-calorie-card,.diary-calorie-card *{transition:none}}@media (min-width:1025px){.profile-form .profile-goal-section>.activity-target-row{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-compact-exercise-target{font-size:.62em}}.image-uploader{flex-direction:column;align-items:center;gap:.55rem;display:flex;position:relative}.image-uploader-label{text-align:center}.image-uploader-trigger{border:2px dashed var(--border);background:var(--card-bg,#1e1e2e);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff0a}.image-uploader-trigger:before{content:"";opacity:0;z-index:-1;background:conic-gradient(#0000,#e651001f,#e651000f,#0000 70%,#e651001a,#0000);border-radius:50%;transition:opacity .5s;position:absolute;inset:-3px}.image-uploader-trigger:after{content:"";-webkit-mask-composite:xor;opacity:0;pointer-events:none;z-index:0;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;background:conic-gradient(from 180deg,#0000 40%,#e6510014,#0000 60%) border-box;border:1.5px solid #0000;border-radius:50%;transition:opacity .5s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.image-uploader-trigger:focus-visible{border-color:var(--accent,#e65100);box-shadow:0 0 0 3px #e6510059}.image-uploader-trigger:not(.has-image):hover{border-color:var(--accent,#e65100);background:#e651000f;transform:scale(1.1);box-shadow:0 4px 20px #e651002e,inset 0 1px #ffffff0f}.image-uploader-trigger:not(.has-image):hover:before{opacity:1;animation:3s linear infinite iu-rotate-glow}.image-uploader-trigger:not(.has-image):hover:after{opacity:1;animation:4s linear infinite reverse iu-rotate-glow}@keyframes iu-rotate-glow{to{transform:rotate(360deg)}}.image-uploader-trigger:not(.has-image) .iu-pulse-ring{opacity:0;pointer-events:none;border:2px solid #e6510033;border-radius:50%;transition:opacity .3s;position:absolute;inset:-4px}.image-uploader-trigger:not(.has-image):hover .iu-pulse-ring{opacity:1;animation:1.5s ease-out infinite iu-pulse-ring}@keyframes iu-pulse-ring{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.image-uploader-trigger:active{transform:scale(.92)}.image-uploader-ripple{pointer-events:none;z-index:5;background:radial-gradient(circle,#e651004d,#0000 70%);border-radius:50%;animation:.7s ease-out forwards iu-ripple-anim;position:absolute;transform:scale(0)}@keyframes iu-ripple-anim{0%{opacity:1;transform:scale(0)}60%{opacity:.6}to{opacity:0;transform:scale(4)}}.image-uploader-trigger.has-image{border-style:solid;border-color:var(--border);box-shadow:0 2px 12px #00000026,inset 0 1px #ffffff08}.image-uploader-trigger.has-image:hover{border-color:#0000;transform:none;box-shadow:0 4px 24px #0003,0 0 0 1px #e6510026}.image-uploader-trigger.has-image:hover .image-uploader-camera-overlay{opacity:1;-webkit-backdrop-filter:blur(6px)saturate(1.2)}.image-uploader-trigger.has-image:hover .image-uploader-img{filter:brightness(.5)blur(4px);transform:scale(1.08)}.image-uploader-trigger.uploading{pointer-events:none;border-style:solid;border-color:var(--accent,#e65100);background:#e6510014;animation:1.2s ease-in-out infinite iu-upload-pulse;box-shadow:0 0 #e651004d}@keyframes iu-upload-pulse{0%,to{box-shadow:0 0 #e651004d}50%{box-shadow:0 0 0 10px #e6510000}}.image-uploader-progress-bar{background:linear-gradient(90deg, var(--accent,#e65100), #ff8a50);z-index:6;border-radius:0 0 50% 50%/0 0 2px 2px;height:2.5px;transition:width .3s;position:absolute;bottom:0;left:0;box-shadow:0 0 6px #e6510066}.image-uploader-trigger.drag-over{border-color:var(--accent,#e65100);background:#e651001a;border-style:solid;animation:.8s ease-in-out infinite alternate iu-drag-pulse;transform:scale(1.06);box-shadow:0 0 0 4px #e6510026,0 6px 28px #e6510040}@keyframes iu-drag-pulse{0%{box-shadow:0 0 0 4px #e6510026,0 6px 28px #e6510033}to{box-shadow:0 0 0 7px #e6510014,0 6px 32px #e6510040}}.image-uploader-trigger.drag-over .image-uploader-camera-icon{background:var(--accent,#e65100);transform:scale(1.15)}.image-uploader-trigger.drag-over .image-uploader-camera-icon svg{animation:.5s ease-in-out infinite alternate iu-bounce}@keyframes iu-bounce{0%{transform:translateY(-1px)}to{transform:translateY(3px)}}.image-uploader-camera-icon{background:linear-gradient(135deg, var(--accent,#e65100), #ff7a2e);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 2px 6px #e6510040}.image-uploader-camera-icon svg{width:12px;height:12px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.image-uploader-trigger:not(.has-image):hover .image-uploader-camera-icon{transform:rotate(-12deg)scale(1.12);box-shadow:0 3px 10px #e6510059}.image-uploader-trigger:not(.has-image):hover .image-uploader-camera-icon svg{transform:scale(1.08)}.image-uploader-trigger.has-image .image-uploader-camera-icon{opacity:0;-webkit-backdrop-filter:blur(4px);width:100%;height:100%;box-shadow:none;background:#0000008c;border-radius:50%;transition:all .35s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.image-uploader-trigger.has-image:hover .image-uploader-camera-icon{opacity:1;transform:translate(-50%,-50%)scale(1)}.image-uploader-trigger.has-image .image-uploader-camera-icon svg{opacity:0;width:20px;height:20px;transition:all .35s cubic-bezier(.34,1.56,.64,1) 50ms;transform:scale(.4)}.image-uploader-trigger.has-image:hover .image-uploader-camera-icon svg{opacity:1;transform:scale(1)}.image-uploader-img{object-fit:cover;will-change:transform;border-radius:50%;width:100%;height:100%;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:block}.image-uploader-camera-overlay{-webkit-backdrop-filter:blur(3px);color:#fff;opacity:0;z-index:2;background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:absolute;inset:0}.image-uploader-view-btn{color:#fff;cursor:pointer;opacity:0;z-index:3;text-transform:uppercase;letter-spacing:.05em;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;gap:3px;font-size:.6rem;font-weight:600;transition:opacity .3s;display:flex;position:absolute;inset:0}.image-uploader-trigger.has-image:hover .image-uploader-view-btn{opacity:1}.image-uploader-view-btn:hover{background:#00000080}.image-uploader-text{color:var(--text-muted);text-align:center;line-height:1.3;transition:color .25s,transform .3s}.image-uploader-trigger:hover+.image-uploader-text{color:var(--accent,#e65100);transform:translateY(-1px)}.image-uploader-text .image-uploader-hint{color:var(--text-muted);opacity:.6;margin-top:1px;font-size:.55rem;display:block}.image-uploader-remove{border:2.5px solid var(--card-bg,#1e1e2e);color:#fff;cursor:pointer;z-index:4;opacity:0;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;line-height:1;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;bottom:-3px;right:-3px;transform:scale(.5);box-shadow:0 2px 8px #ef44444d}.image-uploader-trigger.has-image:hover .image-uploader-remove{opacity:1;transform:scale(1)}.image-uploader-remove:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 3px 14px #dc262673;transform:scale(1.2)!important}.image-uploader-remove:active{transform:scale(.85)!important}.image-uploader-remove svg{width:10px;height:10px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.image-uploader-remove:hover svg{transform:rotate(90deg)}.image-uploader-spinner{border:2.5px solid #e651001f;border-top-color:var(--accent,#e65100);border-right-color:var(--accent,#e65100);border-radius:50%;width:20px;height:20px;animation:.6s cubic-bezier(.4,0,.2,1) infinite iu-spin}@keyframes iu-spin{to{transform:rotate(360deg)}}.image-uploader-success{z-index:1;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards iu-success-pop;display:flex;box-shadow:0 2px 8px #22c55e59}.image-uploader-success svg{color:#fff;stroke-dasharray:20;stroke-dashoffset:20px;width:11px;height:11px;animation:.35s .1s forwards iu-success-draw}@keyframes iu-success-pop{0%{opacity:0;transform:scale(0)rotate(-45deg)}50%{opacity:1;transform:scale(1.3)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes iu-success-draw{to{stroke-dashoffset:0}}.image-uploader-input{display:none}.image-uploader-error{color:#ef4444;text-align:center;background:#ef444414;border-radius:4px;max-width:140px;margin:0;padding:2px 8px;font-size:.6rem;font-weight:500;line-height:1.3;animation:.45s ease-in-out iu-shake}@keyframes iu-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.image-uploader .image-uploader-restrictions{background:var(--card-bg,#1e1e2e);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;border-radius:6px;padding:4px 8px;font-size:.55rem;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 4px 16px #0003}.image-uploader-trigger:not(.has-image):hover~.image-uploader-restrictions{opacity:1;transform:translate(-50%)translateY(0)}.image-uploader-sm .image-uploader-trigger{border-width:1.5px;width:34px;height:34px}.image-uploader-sm .image-uploader-camera-icon{width:17px;height:17px;box-shadow:0 1.5px 4px #e6510040}.image-uploader-sm .image-uploader-camera-icon svg{width:9px;height:9px}.image-uploader-sm .image-uploader-text{font-size:.58rem}.image-uploader-sm .image-uploader-remove{border-width:2px;width:16px;height:16px;bottom:-2px;right:-2px}.image-uploader-sm .image-uploader-remove svg{width:8px;height:8px}.image-uploader-sm .image-uploader-trigger.has-image .image-uploader-camera-icon svg{width:14px;height:14px}.image-uploader-sm .image-uploader-spinner{border-width:2px;width:15px;height:15px}.image-uploader-sm .image-uploader-success{width:16px;height:16px}.image-uploader-sm .image-uploader-success svg{width:8px;height:8px}.image-uploader-sm .image-uploader-progress-bar{height:2px}.image-uploader-lg .image-uploader-trigger{border-width:2.5px;width:56px;height:56px}.image-uploader-lg .image-uploader-trigger.has-image{width:88px;height:88px}.image-uploader-lg .image-uploader-camera-icon{width:28px;height:28px;box-shadow:0 3px 8px #e651004d}.image-uploader-lg .image-uploader-camera-icon svg{width:15px;height:15px}.image-uploader-lg .image-uploader-text{font-size:.72rem}.image-uploader-lg .image-uploader-remove{border-width:3px;width:22px;height:22px;bottom:-3px;right:-3px}.image-uploader-lg .image-uploader-remove svg{width:11px;height:11px}.image-uploader-lg .image-uploader-trigger.has-image .image-uploader-camera-icon svg{width:24px;height:24px}.image-uploader-lg .image-uploader-spinner{border-width:3px;width:24px;height:24px}.image-uploader-lg .image-uploader-success{width:26px;height:26px}.image-uploader-lg .image-uploader-success svg{width:13px;height:13px}.image-uploader-lg .image-uploader-progress-bar{height:3px}@keyframes iu-overlay-fade{0%{opacity:0}to{opacity:1}}.image-uploader-preview-delete{border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid var(--error-border);min-height:44px;color:var(--error-color);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;gap:.4rem;padding:.5rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;display:inline-flex}.image-uploader-preview-delete:hover{background:var(--danger-hover)}.image-uploader-preview-delete svg{width:16px;height:16px}.image-uploader-preview-change{border-radius:var(--radius-sm);background:var(--accent);min-height:44px;color:var(--text-on-accent);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);box-shadow:0 4px 16px var(--accent-glow);border:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.image-uploader-preview-change:hover{background:var(--accent-hover);box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.image-uploader-preview-change:active{transform:scale(.97)}@media (prefers-color-scheme:dark){.image-uploader-trigger{background:#1e1e2ecc;box-shadow:0 2px 8px #00000040,inset 0 1px #ffffff0d}.image-uploader-trigger:not(.has-image):hover{background:#e6510014}.image-uploader-trigger.has-image:hover{box-shadow:0 4px 24px #00000059,0 0 0 1px #e6510033}}@media (prefers-reduced-motion:reduce){.image-uploader-trigger,.image-uploader-trigger:before,.image-uploader-trigger:after,.image-uploader-camera-icon,.image-uploader-camera-icon svg,.image-uploader-img,.image-uploader-remove,.image-uploader-remove svg,.image-uploader-text,.image-uploader-error,.image-uploader-preview-delete,.image-uploader-preview-change{transition:none!important;animation:none!important}.image-uploader-trigger:not(.has-image):hover{transform:none}.image-uploader-ripple{display:none}}.subscription-section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem;position:relative;overflow:hidden}.subscription-section.is-premium{border-color:var(--amber);background:linear-gradient(135deg, var(--card-bg) 0%, #fbbf240a 100%)}.subscription-section.is-premium:before{content:"";background:linear-gradient(90deg,#f59e0b,#fbbf24,#f59e0b);height:3px;position:absolute;top:0;left:0;right:0}.subscription-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.subscription-header h3{margin:0}.subscription-badge{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:.4rem;margin-left:auto;padding:.35rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.subscription-badge.badge-premium{color:#1a1a1a;background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 8px #fbbf2459}.subscription-badge.badge-free{background:var(--accent-soft-bg);color:var(--accent)}.subscription-badge.badge-canceled{background:var(--danger-bg);color:var(--red);border:1px solid var(--red-soft)}.premium-card{background:linear-gradient(135deg,#fbbf240f 0%,#fbbf2405 100%);border:1px solid #fbbf2433;border-radius:5px;margin-bottom:1rem;padding:1.25rem}.premium-plan-name{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.premium-plan-name svg{color:#f59e0b;width:1.25rem;height:1.25rem}.subscription-plan-term{border:1px solid var(--accent);margin-left:.25rem;padding:.22rem .55rem}@supports (color:color-mix(in lab, red, red)){.subscription-plan-term{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border))}}.subscription-plan-term{background:var(--accent-soft-bg);color:var(--accent);text-transform:uppercase;border-radius:999px;font-size:.68rem;font-weight:750;line-height:1.2}.subscription-entitlements{gap:1rem;margin:1rem 0 1.25rem;display:grid}.subscription-benefits,.subscription-usage{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);min-width:0;padding:1rem 1.1rem}.subscription-entitlements-heading,.subscription-usage-meter-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.subscription-entitlements-heading h4{color:var(--heading);margin:0;font-size:1rem}.subscription-entitlements-heading>span{color:var(--text-light);font-size:.78rem}.subscription-benefits ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.subscription-benefits li{color:var(--text-main);align-items:flex-start;gap:.5rem;font-size:.86rem;line-height:1.45;display:flex}.subscription-benefits li svg{color:var(--accent);flex:none;margin-top:.1rem}.subscription-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem;margin-top:.9rem;display:grid}.subscription-usage-meter{min-width:0}.subscription-usage-meter-header{align-items:center;margin-bottom:.4rem;font-size:.84rem}.subscription-usage-label{color:var(--text-main)}.subscription-usage-meter-header strong{color:var(--accent);white-space:nowrap}.subscription-usage-track{background:var(--border-subtle);border-radius:999px;height:.45rem;overflow:hidden}.subscription-usage-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.subscription-usage-track span.is-unlimited{opacity:.45}.subscription-usage-caption{color:var(--text-light);margin-top:.35rem;font-size:.74rem;display:block}.subscription-timeline{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.timeline-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.timeline-dot.dot-active{background:var(--success);box-shadow:0 0 0 3px var(--success-soft-bg)}.timeline-dot.dot-warning{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft-bg);animation:2s infinite pulse-dot}.timeline-dot.dot-expired{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.timeline-dot.dot-canceled{background:#a1a1aa;box-shadow:0 0 0 3px #a1a1aa33}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}.timeline-text{color:var(--text-main);font-size:.9rem;font-weight:500}.timeline-date{color:var(--text-light);margin-left:auto;font-size:.85rem;font-weight:600}.subscription-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.subscription-actions .btn{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);white-space:nowrap;border:none;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.subscription-actions .btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-outline{border:1px solid var(--card-border);color:var(--text-main);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.subscription-section .btn-ghost{color:var(--text-light);background:0 0;border:1px solid #0000}.subscription-section .btn-ghost:hover:not(:disabled){background:var(--accent-soft-bg);color:var(--accent)}.btn-billing{border:1px solid var(--card-border);color:var(--text-light);background:0 0;padding:.45rem 1rem;font-size:.8rem}.btn-billing:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-resubscribe{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.btn-resubscribe:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.free-plan-card{border:1px dashed var(--card-border);text-align:center;background:linear-gradient(135deg,#3b82f60a 0%,#3b82f605 100%);border-radius:5px;margin-bottom:1rem;padding:1.25rem}.free-plan-card p{margin:0 0 .75rem}.free-plan-card .btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:5px;align-items:center;gap:.4rem;padding:.55rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #f59e0b4d}.free-plan-card .btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.billing-toggle{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--card-border);color:var(--text-light);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;font-weight:500;display:inline-flex}.billing-toggle:focus-visible,.btn-load-more:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.billing-toggle.is-open{background:var(--accent-soft-bg);border-color:var(--accent);color:var(--accent)}.billing-section{border-top:1px solid var(--card-border);margin-top:1rem;padding-top:1rem}.billing-summary{color:var(--text-light);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:flex}.billing-summary:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:6px;height:6px;display:inline-block}.billing-card-grid{gap:.6rem;display:grid}@keyframes billing-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.billing-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);flex-direction:column;gap:.4rem;padding:.75rem .9rem;animation:.3s both billing-card-in;display:flex}.billing-card:first-child{animation-delay:20ms}.billing-card:nth-child(2){animation-delay:40ms}.billing-card:nth-child(3){animation-delay:60ms}.billing-card:nth-child(4){animation-delay:80ms}.billing-card:nth-child(5){animation-delay:.1s}.billing-card:nth-child(6){animation-delay:.12s}.billing-card:nth-child(7){animation-delay:.14s}.billing-card:nth-child(8){animation-delay:.16s}.billing-card:nth-child(9){animation-delay:.18s}.billing-card:nth-child(10){animation-delay:.2s}.billing-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.billing-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.billing-card-body{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.billing-card-footer{border-top:1px dashed var(--card-border);align-items:center;gap:.3rem;padding-top:.2rem;display:flex}.billing-date{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.01em}.billing-invoice{color:var(--text-light);background:var(--accent-soft-bg);letter-spacing:.02em;cursor:help;white-space:nowrap;border-radius:5px;padding:.15rem .45rem;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.72rem;transition:background .15s,color .15s}.billing-invoice:hover{background:var(--accent-dim,#e651001f);color:var(--accent,#e65100)}.billing-amount{font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--heading);font-weight:700}.billing-payment{color:var(--text-main);align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.billing-payment-unknown{color:var(--text-light);font-size:.75rem}.payment-icon{flex-shrink:0;font-size:.85rem;line-height:1}.payment-label{font-weight:500}.status-badge{text-transform:capitalize;white-space:nowrap;border-radius:5px;align-items:center;gap:.3rem;padding:.2rem .65rem .2rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.status-icon{flex-shrink:0;font-size:.6rem;line-height:1}.status-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-badge.status-billed{background:var(--success-soft-bg);color:var(--success)}.status-badge.status-billed .status-dot{background:var(--success)}.status-badge.status-paid{background:var(--info-soft-bg);color:var(--blue)}.status-badge.status-paid .status-dot{background:var(--blue)}.status-badge.status-completed{background:var(--success-soft-bg);color:var(--success)}.status-badge.status-completed .status-dot{background:var(--success)}.status-badge.status-past_due{background:var(--amber-soft-bg);color:var(--amber)}.status-badge.status-past_due .status-dot{background:var(--amber)}.status-badge.status-canceled{background:var(--surface-raised);color:var(--text-muted)}.status-badge.status-canceled .status-dot{background:var(--text-muted)}.status-badge.status-default{background:var(--surface-raised);color:var(--text-muted)}.status-badge.status-default .status-dot{background:var(--text-muted)}.billing-load-more{justify-content:center;margin-top:.75rem;display:flex}.btn-load-more{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--card-border);color:var(--text-light);background:0 0;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-load-more:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft-bg)}.btn-load-more:disabled{opacity:.5;cursor:not-allowed}.billing-skeleton{gap:.6rem;display:grid}.billing-card-skeleton{background:var(--card-bg);border:1px solid var(--card-border);border-radius:5px;flex-direction:column;gap:.5rem;padding:.75rem .9rem;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--card-border) 25%, #8080801f 50%, var(--card-border) 75%);background-size:200% 100%;border-radius:5px;height:.85rem;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-line-date{width:40%}.skeleton-line-invoice{width:55%}.skeleton-line-amount{width:30%;height:1.1rem}.skeleton-line-payment{width:35%}.skeleton-line-status{width:25%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.billing-empty{color:var(--text-light);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;display:flex}.billing-empty svg{opacity:.4}.billing-empty p{margin:0;font-size:.85rem}.error-message{color:var(--red);background:var(--danger-bg);border-radius:var(--radius-sm);border:1px solid var(--red-soft);align-items:center;gap:.4rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}@media (prefers-reduced-motion:reduce){.billing-card,.billing-toggle,.btn-load-more,.timeline-dot.dot-warning{transition:none;animation:none}}.ai-chat-overlay{--ai-chat-top-gap:calc(1rem + var(--safe-top,0px));--ai-chat-bottom-gap:calc(var(--ai-chat-composer-height,4rem) + 1.5rem + var(--safe-bottom,0px) + var(--keyboard-height,0px));--ai-chat-available-height:max(0px, calc(100dvh - var(--ai-chat-top-gap) - var(--ai-chat-bottom-gap)));--ai-chat-header-height:4.5rem;z-index:430;inset-inline:max(1rem,50vw - 27rem);top:auto;bottom:var(--ai-chat-bottom-gap);height:clamp(min(16rem, var(--ai-chat-available-height)), var(--ai-chat-preferred-height,min(68dvh, 40rem)), var(--ai-chat-available-height));max-height:var(--ai-chat-available-height);box-sizing:border-box;isolation:isolate;min-height:0;color:var(--foreground);background:var(--surface-canvas);border:1px solid var(--accent);flex-direction:column;margin-block:0;display:flex;position:fixed;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ai-chat-overlay{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border-subtle))}}.ai-chat-overlay{box-shadow:var(--shadow-floating);transform-origin:bottom;transition:top var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), bottom var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1), max-height var(--keyboard-motion-duration,0s) cubic-bezier(.25, .1, .25, 1);border-radius:1.5rem;animation:.3s cubic-bezier(.16,1,.3,1) both ai-chat-enter}.ai-chat-overlay.is-closing{pointer-events:none;animation:.22s ease-in both ai-chat-exit}.ai-chat-resize-handle{z-index:3;box-sizing:border-box;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:flex-start;width:2.75rem;min-height:2.75rem;margin-inline:auto;padding-top:.125rem;display:flex;position:absolute;inset-block-start:0;inset-inline:0}.ai-chat-resize-handle>span{width:var(--ai-chat-grip-width,2rem);background:var(--text-muted);opacity:.55;border-radius:999px;height:.2rem}.ai-chat-resize-handle:hover>span,.ai-chat-resize-handle:focus-visible>span,.ai-chat-resize-handle[data-dragging]>span{background:var(--accent);opacity:1}.ai-chat-resize-handle:focus-visible{outline-offset:-3px}.ai-chat-header{min-height:var(--ai-chat-header-height);background:linear-gradient(120deg, var(--accent-dim), transparent 70%);touch-action:pan-x;border-bottom:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .75rem .75rem 1rem;display:flex}.ai-chat-identity{align-items:center;gap:.7rem;min-width:0;display:flex}.ai-chat-avatar{border:1px solid var(--accent);flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.ai-chat-avatar{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent)}}.ai-chat-avatar{color:var(--accent);background:var(--surface-canvas);border-radius:.95rem}.ai-chat-heading{gap:.2rem;min-width:0;display:grid}.ai-chat-heading strong{letter-spacing:-.025em;font-size:.97rem}.ai-chat-subtitle{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.7rem;line-height:1.4;display:flex}.ai-chat-status-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-chat-presence{background:var(--accent);border-radius:50%;flex-shrink:0;width:.35rem;height:.35rem}.ai-chat-presence.is-active{animation:1.8s ease-in-out infinite ai-chat-presence-pulse}.ai-chat-avatar.is-active svg{animation:1.5s ease-in-out infinite ai-chat-voice-wave}.ai-chat-header-actions{align-items:center;gap:.1rem;display:flex}.ai-chat-header button{min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;transition:color .16s,background .16s,transform .16s;display:inline-flex}.ai-chat-header button:hover,.ai-chat-header button[aria-expanded=true]{color:var(--accent);background:var(--accent-dim)}.ai-chat-header button:active{transform:scale(.92)}.ai-chat-header button:disabled{opacity:.4;cursor:wait}.ai-chat-history{z-index:2;top:calc(var(--ai-chat-header-height) + .5rem);width:min(21rem,100% - 1.5rem);max-height:min(65%, calc(100% - var(--ai-chat-header-height) - 1rem));overscroll-behavior:contain;border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-floating);border-radius:1rem;gap:.3rem;padding:.5rem;animation:.18s ease-out both ai-chat-popover-enter;display:grid;position:absolute;right:.75rem;overflow:auto}.ai-chat-history-heading{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;padding:.5rem .65rem;font-size:.7rem;font-weight:650}.ai-chat-history button{text-align:left;min-height:3.5rem;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.65rem;padding:.65rem;font-size:.85rem;transition:background .16s;display:flex}.ai-chat-history button>span{overflow-wrap:anywhere;flex:1;gap:.3rem;min-width:0;display:grid}.ai-chat-history button>svg{color:var(--text-muted);flex-shrink:0}.ai-chat-history button:hover,.ai-chat-history button[aria-current=true]{background:var(--accent-dim)}.ai-chat-history button[aria-current=true]>svg{color:var(--accent)}.ai-chat-history .ai-chat-load-more{min-height:2.75rem;color:var(--accent);justify-content:center;font-weight:600}.ai-chat-history button:disabled{opacity:.6;cursor:wait}.ai-chat-history small{color:var(--text-muted);font-size:.7rem}.ai-chat-history-empty{color:var(--text-muted);margin:0;padding:.75rem;font-size:.85rem}.ai-chat-messages{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.25rem;scroll-padding-block:1.25rem;display:flex;overflow-y:auto}.ai-chat-message{border:1px solid var(--border-subtle);overflow-wrap:anywhere;border-radius:1.15rem;flex-shrink:0;max-width:min(88%,38rem);padding:.75rem 1rem;animation:.26s cubic-bezier(.16,1,.3,1) both ai-chat-message-enter}.ai-chat-user-action{box-sizing:border-box;min-width:0;max-width:100%;color:var(--text-muted);flex:none;align-self:center;align-items:center;gap:.375rem;margin:0;padding:.125rem .25rem;font-size:.75rem;line-height:1.4;display:flex}.ai-chat-user-action>svg{color:var(--accent);flex:none}.ai-chat-user-action>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-chat-message-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:.45rem;font-size:.65rem;line-height:1.4;display:flex}.ai-chat-message-meta>span{align-items:center;gap:.3rem;font-weight:650;display:inline-flex}.ai-chat-voice-origin{color:inherit;opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-chat-message-meta time{white-space:nowrap;font-size:.62rem}.ai-chat-message p{white-space:pre-wrap;unicode-bidi:plaintext;margin:0;font-size:.9rem;line-height:1.65}.ai-chat-message.is-user{border-color:var(--accent);align-self:flex-end;margin-left:auto}@supports (color:color-mix(in lab, red, red)){.ai-chat-message.is-user{border-color:color-mix(in srgb, var(--accent) 23%, var(--border-subtle))}}.ai-chat-message.is-user{color:var(--foreground);background:var(--accent-dim);border-bottom-right-radius:.3rem}.ai-chat-message.is-assistant{color:var(--foreground);background:var(--surface-raised);border-bottom-left-radius:.3rem;align-self:flex-start;margin-right:auto}.ai-chat-message.is-assistant .ai-chat-message-meta>span{color:var(--accent)}.ai-chat-message.is-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.ai-chat-message.is-error{border-color:color-mix(in srgb, var(--danger) 30%, var(--border-subtle))}}.ai-chat-message.is-error{color:var(--foreground);background:var(--error-bg)}.ai-chat-confirmations{border-top:1px solid var(--border-subtle);background:var(--surface-canvas);flex-direction:column;flex-shrink:1;min-height:0;max-height:min(48dvh,22rem);padding:.7rem;display:flex}.ai-chat-delete-preview{border:1px solid var(--danger);flex-direction:column;flex-shrink:1;width:100%;min-width:0;min-height:0;padding:.7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-chat-delete-preview{border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border-subtle))}}.ai-chat-delete-preview{background:var(--surface-raised);overflow-wrap:anywhere;border-radius:.85rem;overflow:hidden}.ai-chat-delete-content{overscroll-behavior:contain;min-height:0;overflow-y:auto}.ai-chat-delete-heading{align-items:flex-start;gap:.65rem;display:flex}.ai-chat-delete-icon{width:3.25rem;height:3.25rem;color:var(--red-strong);background:var(--error-bg);border-radius:.65rem;flex-shrink:0;place-items:center;display:grid}.ai-chat-delete-image{object-fit:cover;border-radius:.65rem;flex-shrink:0;width:3.25rem;height:3.25rem}.ai-chat-delete-heading>div{gap:.18rem;min-width:0;display:grid}.ai-chat-delete-heading p{color:var(--text-muted);margin:0;font-size:.67rem}.ai-chat-delete-heading strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.ai-chat-delete-heading>div>span{color:var(--text-muted);text-transform:capitalize;font-size:.72rem}.ai-chat-delete-preview ul{border-block:1px solid var(--border-subtle);gap:.3rem;margin:.6rem 0;padding:.5rem 0;list-style:none;display:grid}.ai-chat-delete-preview li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .75rem;font-size:.8rem;line-height:1.4;display:flex}.ai-chat-delete-preview li+li{border-top:1px solid var(--border-subtle);padding-top:.35rem}.ai-chat-delete-preview small{color:var(--text-muted);font-size:.72rem}.ai-chat-delete-source{color:var(--text-muted);margin:.5rem 0 0;font-size:.72rem;line-height:1.4}.ai-chat-delete-item{align-items:baseline;gap:.4rem;display:inline-flex}.ai-chat-delete-item>span{color:var(--red-strong);font-weight:700}.ai-chat-kept-item{align-items:baseline;gap:.4rem;display:inline-flex}.ai-chat-kept-item>span{color:var(--accent);font-weight:700}.ai-chat-delete-preview .ai-chat-kept-items{border-bottom:0;margin-bottom:.35rem;padding-bottom:0}.ai-chat-delete-details>button{border:1px solid var(--border-subtle);width:100%;min-height:2.75rem;color:var(--text-muted);background:var(--surface-canvas);font:inherit;cursor:pointer;border-radius:.6rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.75rem;display:flex}.ai-chat-delete-details>button:hover{color:var(--accent);border-color:var(--accent)}.ai-chat-delete-details>button[aria-expanded=true]>svg{transform:rotate(180deg)}.ai-chat-delete-note{color:var(--text-muted);margin:.5rem 0;font-size:.72rem;line-height:1.4}.ai-chat-delete-actions{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.65rem;display:grid}.ai-chat-delete-actions button{border:1px solid var(--border-subtle);background:var(--surface-canvas);min-width:0;min-height:2.75rem;color:var(--foreground);font:inherit;cursor:pointer;border-radius:.7rem;justify-content:center;align-items:center;gap:.4rem;padding:.6rem;font-size:.8rem;font-weight:600;transition:background .16s;display:inline-flex}.ai-chat-delete-actions .ai-chat-delete-confirm{background:var(--error-bg);color:var(--red-strong);border-color:#0000}.ai-chat-delete-actions button:hover:not(:disabled){background:var(--accent-dim)}.ai-chat-delete-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ai-chat-delete-actions button:disabled{opacity:.5;cursor:wait}.ai-chat-message button{min-height:2.75rem;color:var(--text-on-accent);background:var(--accent);font:inherit;cursor:pointer;border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;margin-top:.75rem;padding:.5rem 1rem;font-size:.8rem;font-weight:650;transition:background .16s,transform .16s;display:inline-flex}.ai-chat-message button:hover{background:var(--accent-hover)}.ai-chat-message button:active{transform:scale(.97)}.ai-chat-message button:disabled{opacity:.6;cursor:wait}.ai-chat-welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:min-content;padding:2rem .25rem;animation:.35s ease-out both ai-chat-message-enter;display:flex}.ai-chat-welcome-icon{border:1px solid var(--accent);place-items:center;width:4.5rem;height:4.5rem;margin-bottom:1.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.ai-chat-welcome-icon{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border-subtle))}}.ai-chat-welcome-icon{color:var(--accent);background:linear-gradient(145deg, var(--accent-dim), var(--surface-raised));border-radius:1.5rem;transform:rotate(-6deg)}.ai-chat-welcome-icon svg{transform:rotate(6deg)}.ai-chat-eyebrow{color:var(--accent);letter-spacing:.15em;font-size:.62rem;font-weight:700}.ai-chat-welcome h2{color:var(--foreground);letter-spacing:-.04em;margin:.65rem 0;font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.2}.ai-chat-welcome>p{color:var(--text-muted);margin:0;font-size:.87rem;line-height:1.7}.ai-chat-suggestions{gap:.5rem;width:min(100%,19rem);margin-top:1.75rem;display:grid}.ai-chat-suggestions button{border:1px solid var(--border-subtle);min-height:2.9rem;color:var(--foreground);background:var(--surface-raised);font:inherit;cursor:pointer;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .9rem;font-size:.82rem;transition:background .16s,border-color .16s,transform .16s;display:flex}.ai-chat-suggestions button svg{color:var(--text-muted);transition:transform .16s}.ai-chat-suggestions button:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ai-chat-suggestions button:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-subtle))}}.ai-chat-suggestions button:hover{background:var(--accent-dim)}.ai-chat-suggestions button:hover svg{color:var(--accent);transform:translate(2px,-2px)}.ai-chat-suggestions button:active{transform:scale(.98)}.ai-chat-status{color:var(--text-muted);align-self:flex-start;margin:0;padding:.5rem;font-size:.8rem}.ai-chat-status.ai-chat-typing{border:1px solid var(--border-subtle);width:fit-content;color:var(--accent);background:var(--surface-raised);border-radius:1rem 1rem 1rem .3rem;align-items:center;gap:.25rem;padding:.85rem 1rem;animation:.2s ease-out both ai-chat-message-enter;display:flex}.ai-chat-typing>span{background:currentColor;border-radius:50%;width:.3rem;height:.3rem;animation:1.25s ease-in-out infinite ai-chat-typing-bounce}.ai-chat-typing>span:nth-child(2){animation-delay:.15s}.ai-chat-typing>span:nth-child(3){animation-delay:.3s}.ai-chat-typing small{color:var(--text-muted);margin-left:.4rem;font-size:.72rem}.ai-chat-connection-status{box-sizing:border-box;border-top:1px solid var(--solid-white);flex-shrink:0;align-items:center;gap:.65rem;min-width:0;min-height:2.75rem;padding:.75rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-chat-connection-status{border-top:1px solid color-mix(in srgb, var(--solid-white) 15%, transparent)}}.ai-chat-connection-status{background:var(--footer-bg);color:var(--solid-white)}.ai-chat-connection-status>svg{flex-shrink:0}.ai-chat-connection-status>div{overflow-wrap:anywhere;min-width:0}.ai-chat-connection-status strong{font-size:.8rem;font-weight:650;line-height:1.4;display:block}.ai-chat-connection-status p{color:var(--solid-white);margin:.15rem 0 0}@supports (color:color-mix(in lab, red, red)){.ai-chat-connection-status p{color:color-mix(in srgb, var(--solid-white) 75%, transparent)}}.ai-chat-connection-status p{font-size:.75rem;line-height:1.4}.ai-chat-jump{border:1px solid var(--border-subtle);max-width:calc(100% - 2rem);min-height:2.75rem;color:var(--foreground);background:var(--surface-raised);box-shadow:var(--shadow-floating);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:.4rem;margin:.35rem auto;padding:.55rem .85rem;font-size:.75rem;display:inline-flex;position:static}.ai-chat-overlay :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@keyframes ai-chat-enter{0%{opacity:0;transform:translateY(1rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ai-chat-exit{to{opacity:0;transform:translateY(.75rem)scale(.98)}}@keyframes ai-chat-message-enter{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes ai-chat-popover-enter{0%{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:translateY(0)}}@keyframes ai-chat-typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}@keyframes ai-chat-presence-pulse{50%{opacity:.4;box-shadow:0 0 0 .2rem var(--accent-dim)}}@keyframes ai-chat-voice-wave{50%{transform:scaleY(.7)}}@media (prefers-reduced-motion:reduce){.ai-chat-overlay,.ai-chat-overlay.is-closing,.ai-chat-message,.ai-chat-welcome,.ai-chat-history,.ai-chat-presence.is-active,.ai-chat-avatar.is-active svg,.ai-chat-status.ai-chat-typing,.ai-chat-typing>span{animation:none}.ai-chat-header button,.ai-chat-message button,.ai-chat-suggestions button,.ai-chat-suggestions button svg,.ai-chat-delete-actions button{transition:none}}@media print{.ai-chat-overlay{display:none!important}}.ai-chat-attachment{border:1px solid var(--border-subtle);background:var(--accent-dim);border-radius:.85rem;flex:none;align-items:center;gap:.6rem;min-width:0;margin:.5rem .75rem .65rem;padding:.5rem;animation:.18s ease-out both ai-chat-message-enter;display:flex}.ai-chat-attachment-image,.ai-chat-edit-image{flex:0 0 var(--ai-chat-preview-image-size,2.5rem);width:var(--ai-chat-preview-image-size,2.5rem);height:var(--ai-chat-preview-image-size,2.5rem);object-fit:cover;background:var(--accent-dim);border-radius:.6rem}.ai-chat-attachment-copy{flex:1;min-width:0}.ai-chat-attachment-copy small{color:var(--text-muted);overflow-wrap:anywhere;font-size:.62rem;line-height:1.5;display:block}.ai-chat-attachment-copy strong{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-size:.8rem;display:block;overflow:hidden}.ai-chat-attachment-copy p{color:var(--text-muted);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.7rem;line-height:1.45}.ai-chat-attachment>button{width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;flex:0 0 2.75rem;place-items:center;display:grid}.ai-chat-attachment>button:hover{color:var(--foreground);background:var(--surface-raised)}.ai-chat-attachment>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ai-chat-attachment{animation:none}}@media print{.ai-chat-attachment{display:none}}.ai-chat-rich-text{overflow-wrap:anywhere;min-width:0;font-size:.88rem;line-height:1.6}.ai-chat-message .ai-chat-rich-text p{white-space:normal}.ai-chat-message.is-user .ai-chat-rich-text p{white-space:pre-wrap}.ai-chat-rich-text>:first-child{margin-top:0}.ai-chat-rich-text>:last-child{margin-bottom:0}.ai-chat-rich-text h3{color:var(--foreground);margin:.8rem 0 .35rem;font-size:.95rem;line-height:1.4}.ai-chat-rich-text p+p,.ai-chat-rich-text ul,.ai-chat-rich-text ol{margin-block:.55rem}.ai-chat-rich-text ul,.ai-chat-rich-text ol{padding-inline-start:1.3rem}.ai-chat-rich-text li+li{margin-top:.3rem}.ai-chat-rich-text code{background:var(--accent-dim);color:var(--foreground);white-space:pre-wrap;border-radius:.25rem;padding:.1rem .25rem;font-size:.85em}.ai-chat-rich-text a{color:var(--accent);text-underline-offset:.2em;align-items:center;min-height:2.75rem;text-decoration:underline;display:inline-flex}.ai-chat-rich-text a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ai-chat-meal-cards{gap:.5rem;margin-top:.65rem;display:grid}.ai-chat-rich-text .ai-chat-meal-card{border:1px solid var(--border-subtle);color:var(--foreground);background:var(--surface-canvas);border-radius:.7rem;align-items:start;gap:.5rem;padding:.65rem;text-decoration:none;display:flex}.ai-chat-meal-card>span:nth-child(2){flex:1;min-width:0}.ai-chat-meal-card-image{flex:0 0 var(--ai-chat-meal-image-size,2.75rem);width:var(--ai-chat-meal-image-size,2.75rem);height:var(--ai-chat-meal-image-size,2.75rem);object-fit:cover;background:var(--accent-dim);border-radius:.45rem}.ai-chat-meal-card strong{white-space:pre-line;font-size:.78rem;line-height:1.45;display:block}.ai-chat-meal-card small{color:var(--text-muted);margin-block:.2rem;font-size:.65rem;display:block}.ai-chat-nutrition{color:var(--text-muted);flex-wrap:wrap;gap:.25rem .55rem;font-size:.68rem;display:flex}.ai-chat-nutrition b{color:var(--foreground);font-weight:600}.ai-chat-edit-preview{border:1px solid var(--border-subtle);min-width:0;min-height:0;color:var(--foreground);background:var(--surface-raised);border-radius:.85rem;flex-direction:column;padding:.65rem;display:flex;overflow:hidden}.ai-chat-edit-preview>header{flex-shrink:0;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.ai-chat-edit-preview>header>svg{color:var(--accent);flex-shrink:0}.ai-chat-edit-preview>header>div{min-width:0}.ai-chat-edit-preview small{color:var(--text-muted);font-size:.65rem;display:block}.ai-chat-edit-preview strong{overflow-wrap:anywhere;font-size:.8rem;display:block}.ai-chat-edit-diff{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow:auto}.ai-chat-edit-columns{overflow-wrap:anywhere;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;font-size:.73rem;line-height:1.45;display:grid}.ai-chat-edit-columns>span:first-child{color:var(--text-muted)}.ai-chat-edit-columns>span:last-child{color:var(--foreground)}.ai-chat-edit-diff>.ai-chat-edit-columns{color:var(--text-muted);padding-bottom:.35rem;font-size:.63rem}.ai-chat-edit-diff section{border-top:1px solid var(--border-subtle);padding-block:.45rem}.ai-chat-edit-diff h3{color:var(--accent);margin:0 0 .3rem;font-size:.66rem;font-weight:600}.ai-chat-edit-note{color:var(--text-muted);flex-shrink:0;margin:.45rem 0 0;font-size:.63rem;line-height:1.4}.ai-chat-edit-actions{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-top:.55rem;display:grid}.ai-chat-edit-actions button{border:1px solid var(--border-subtle);background:var(--surface-canvas);min-height:2.75rem;color:var(--foreground);font:inherit;cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;gap:.35rem;padding:.4rem;font-size:.73rem;display:flex}.ai-chat-edit-actions button:last-child{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.ai-chat-edit-actions button:disabled{opacity:.5;cursor:wait}.ai-chat-edit-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media print{.ai-chat-edit-preview{display:none}}[data-app-feedback]{outline:2px solid var(--accent);outline-offset:3px;border-radius:.75rem;scroll-margin-block:6rem;transition:outline-color .25s}[data-app-feedback=error]{outline-color:var(--danger)}[data-app-feedback=success] .meal-card-status-button svg{animation:.28s ease-out app-feedback-status}.app-action-feedback{min-width:0;color:var(--foreground);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:.75rem;align-items:center;gap:.5rem;padding:.35rem .5rem .35rem .75rem;font-size:.8rem;line-height:1.4;animation:.2s ease-out app-feedback-enter;display:flex}.app-action-feedback.is-inline{margin-top:.65rem}.app-action-feedback.is-floating{z-index:2400;inset-inline:1rem;bottom:calc(6rem + var(--safe-bottom,0px));width:fit-content;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-floating);margin-inline:auto;position:fixed}.app-action-feedback>svg{color:var(--accent);flex-shrink:0}.app-action-feedback[data-phase=error]>svg{color:var(--danger)}.app-action-feedback[data-phase=processing]>svg{animation:1s linear infinite app-feedback-spin}.app-action-feedback>span{overflow-wrap:anywhere;min-width:0}.app-action-feedback>button{min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.app-action-feedback>button:hover{background:var(--surface-hover);color:var(--foreground)}.app-action-feedback>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@keyframes app-feedback-enter{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes app-feedback-spin{to{transform:rotate(360deg)}}@keyframes app-feedback-status{0%{transform:scale(.7)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app-action-feedback,.app-action-feedback[data-phase=processing]>svg,[data-app-feedback=success] .meal-card-status-button svg{animation:none}[data-app-feedback]{transition:none}}@media print{.app-action-feedback{display:none}[data-app-feedback]{outline:none}}
