.glass-card{background:var(--card-glass-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow),inset 0 1px 0 var(--white-10);transition:var(--transition-all-400-std);position:relative;overflow:hidden;display:flex;flex-direction:column}.glass-card:hover{transform:var(--card-hover-transform);box-shadow:var(--card-hover-shadow),var(--glow-primary);border-color:var(--card-hover-border)}.glass-card .card-img-top{height:15rem;min-height:15rem;object-fit:contain;border-radius:.5rem .5rem 0 0;position:relative;transition:var(--transition-transform-300)}.glass-card .card-body{background:transparent;position:relative;padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.glass-card .card-title{font-size:var(--fs-xl);font-weight:700;margin-bottom:1rem;line-height:1.3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.glass-card .card-footer{background:var(--glass-white-3);border:none;border-top:1px solid var(--glass-white-10);padding:1rem 1.5rem;position:relative}.glass-card .card-footer .btn{backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;transition:var(--transition-all-300);position:relative;overflow:hidden}.glass-card .card-footer .btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--white-20),transparent);transition:left .5s ease}.glass-card .card-footer .btn:hover:before{left:100%}.glass-card .card-footer .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--glass-black-20)}.glass-card .card-footer .btn-sm{backdrop-filter:blur(10px);padding:.25rem .5rem;border-radius:.425rem;font-weight:500;transition:var(--transition-all-300);position:relative;overflow:hidden}.glass-card:has(.dropdown-menu.show){overflow:visible}.glass-card:has(.dropdown .btn.show){overflow:visible}.card.glass-card:has([aria-expanded=true]){overflow:visible}.glass-card .dropdown-menu{backdrop-filter:blur(20px);background:var(--surface-31);border:1px solid var(--glass-card-dropdown-border);box-shadow:var(--shadow-25);z-index:var(--z-1050)}.stat-metric,.stat-card{--stat-accent: var(--color-primary);--stat-accent-alpha: 10%;display:flex;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--stat-metric-bg);border:1px solid var(--stat-metric-border)}.stat-metric--success,.stat-card-success{--stat-accent: var(--color-success)}.stat-metric--warning,.stat-card-warning{--stat-accent: var(--stat-warning-ink);--stat-accent-alpha: 15%}.stat-metric--info,.stat-card-info{--stat-accent: var(--color-info)}.stat-metric--secondary,.stat-card-secondary{--stat-accent: var(--color-secondary)}.stat-metric--danger,.stat-card-danger{--stat-accent: var(--color-danger)}.stat-metric__icon,.stat-icon{flex-shrink:0}.stat-metric__icon{width:2.5rem;height:2.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl)}.stat-metric .stat-metric__icon,.stat-card-primary .stat-icon,.stat-card-success .stat-icon,.stat-card-warning .stat-icon,.stat-card-info .stat-icon,.stat-card-secondary .stat-icon,.stat-card-danger .stat-icon{background:color-mix(in srgb,var(--stat-accent) var(--stat-accent-alpha),transparent);color:var(--stat-accent)}.stat-metric__content,.stat-content{margin-left:.75rem;min-width:0}.stat-metric__value,.stat-value{display:block;font-size:1.125rem;font-weight:600;line-height:1.2}.stat-metric__label,.stat-label{display:block;font-size:var(--fs-sm);color:var(--bs-secondary-color);white-space:nowrap}@media(max-width:576px){.stat-metric,.stat-card{padding:.5rem .75rem}.stat-metric__icon,.stat-icon{width:32px;height:32px;font-size:var(--fs-md)}.stat-metric__value,.stat-value{font-size:var(--fs-md)}.stat-metric__content,.stat-content{margin-left:.5rem}}.empty-state{--empty-state-pad: 0;--empty-state-icon-size: var(--fs-5xl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--empty-state-pad)}.empty-state--compact{--empty-state-pad: 1.75rem 1rem;--empty-state-icon-size: var(--fs-4xl)}.empty-state i:where(:not(.btn i)){font-size:var(--empty-state-icon-size);color:var(--bs-secondary-color);margin-bottom:1rem;opacity:.5}.empty-state-icon{width:6rem;height:6rem;display:flex;align-items:center;justify-content:center;background:var(--futuristic-accent-light);border-radius:var(--radius-full);margin-bottom:2rem;box-shadow:0 8px 1.5rem var(--futuristic-shadow);animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state-icon i{font-size:var(--fs-5xl);color:var(--futuristic-accent)}.empty-state h4,.empty-state h5,.empty-state .empty-state__title{font-weight:600;margin-bottom:.5rem}.empty-state h4{color:var(--futuristic-text-primary);font-size:1.625rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.02em}.empty-state p{margin:0;color:var(--futuristic-text-secondary);font-size:1.0625rem;line-height:1.6}.empty-state__actions{margin-top:1rem}.empty-state--compact p{font-size:var(--fs-body)}.section-header{--section-header-pad: .75rem 1rem;--section-header-bg: var(--bs-body-bg);--section-header-title-size: var(--fs-body-lg);padding:var(--section-header-pad);background:var(--section-header-bg);border-bottom:1px solid var(--bs-border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.section-header h6{margin:0;font-size:var(--section-header-title-size);font-weight:600;display:flex;align-items:center;gap:.5rem}.section-header .section-count,.page-section-header .section-count{font-size:var(--fs-sm);color:var(--bs-secondary-color);font-weight:400;margin-left:.375rem}@media(max-width:576px){.section-header{--section-header-pad: .5rem .75rem;--section-header-title-size: var(--fs-body-sm)}}.chip,.grocery-filter-chip{--chip-bg: var(--bs-body-bg);--chip-color: var(--bs-secondary-color);--chip-border: var(--bs-border-color);--chip-active-bg: var(--bs-primary);--chip-active-color: var(--fitsate-on-primary);--chip-active-border: var(--bs-primary);--chip-min-height: 34px;--chip-pad: .2rem .7rem;--chip-font-size: var(--fs-body-sm);display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;min-height:var(--chip-min-height);padding:var(--chip-pad);border:1px solid var(--chip-border);border-radius:var(--radius-2xl);background:var(--chip-bg);color:var(--chip-color);font-size:var(--chip-font-size);white-space:nowrap}.chip--sm{--chip-min-height: 26px;--chip-pad: .1rem .5rem;--chip-font-size: var(--fs-sm)}.chip.active,.grocery-filter-chip.active{border-color:var(--chip-active-border);background:var(--chip-active-bg);color:var(--chip-active-color)}.chip.active .badge,.grocery-filter-chip.active .badge{background:var(--white-25)!important;color:var(--bs-white)!important}.view-type-btn,.nutrition-mode-btn{border-radius:var(--radius-md)!important;margin:0 2px;border:none!important;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;height:36px;flex:1;white-space:nowrap;display:flex;align-items:center;justify-content:center;z-index:var(--z-2)}.view-type-btn:hover,.nutrition-mode-btn:hover{transform:translateY(-1px)}.view-type-btn:hover i,.nutrition-mode-btn:hover i{transform:scale(1.15)}.view-type-btn.btn-primary,.nutrition-mode-btn.btn-primary{box-shadow:0 3px 10px #1848304d}[data-bs-theme=dark] .view-type-btn.btn-primary,[data-bs-theme=dark] .nutrition-mode-btn.btn-primary{box-shadow:0 3px 10px #8bb43c4d}.view-type-btn.btn-primary:after,.nutrition-mode-btn.btn-primary:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(24,72,48,.3) 0%,transparent 70%);opacity:.6;z-index:-1;animation:pulse 2s infinite}[data-bs-theme=dark] .view-type-btn.btn-primary:after,[data-bs-theme=dark] .nutrition-mode-btn.btn-primary:after{background:radial-gradient(circle at center,rgba(139,180,60,.3) 0%,transparent 70%)}.view-type-btn.btn-primary i,.nutrition-mode-btn.btn-primary i{animation:iconPulse 2s infinite}.view-type-btn.btn-outline-primary,.nutrition-mode-btn.btn-outline-primary{background-color:transparent;color:var(--bs-secondary-color)}.view-type-btn.btn-outline-primary:hover,.nutrition-mode-btn.btn-outline-primary:hover{background-color:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}.settings-inline-panel{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.5rem;background:var(--bs-tertiary-bg);border-radius:var(--radius-lg);border:1px solid var(--bs-border-color)}.settings-inline-panel .btn-group .btn{padding:.25rem .75rem;font-size:var(--fs-sm);border-radius:.375rem!important;transition:var(--transition-all-200)}.settings-inline-panel .btn-group .btn:not(:last-child){margin-right:2px}.settings-inline-panel .btn-group .btn.btn-primary{box-shadow:0 2px 8px #1848304d!important}.settings-inline-panel .btn-group{background:var(--glass-black-4);border-radius:var(--radius-md);padding:3px;gap:0;width:auto}[data-bs-theme=dark] .settings-inline-panel .btn-group{background:var(--white-06)}.settings-inline-panel .view-type-btn,.settings-inline-panel .nutrition-mode-btn{height:30px;min-width:max-content;padding:0 .5rem;font-size:var(--fs-body-sm);flex:1;white-space:nowrap;display:flex;align-items:center;justify-content:center;border-radius:7px!important;border:none!important;background:transparent!important;box-shadow:none!important;transition:background .18s ease,color .18s ease,transform .18s ease;position:relative;overflow:hidden;margin:0}.settings-inline-panel .nutrition-mode-btn.active:not(.btn-primary){background:transparent!important;color:var(--bs-secondary-color)!important;box-shadow:none!important}.settings-inline-panel .view-type-btn:hover,.settings-inline-panel .nutrition-mode-btn:hover{background:rgba(var(--bs-primary-rgb),.08)!important;color:var(--bs-primary)!important;transform:translateY(-1px)}.settings-inline-panel .view-type-btn.btn-primary,.settings-inline-panel .nutrition-mode-btn.btn-primary{background:var(--fitsate-forest-30)!important;box-shadow:0 2px 8px #18483066!important}[data-bs-theme=dark] .settings-inline-panel .view-type-btn.btn-primary,[data-bs-theme=dark] .settings-inline-panel .nutrition-mode-btn.btn-primary{background:#8bb43c4d!important;box-shadow:0 2px 8px #8bb43c66!important}.settings-inline-panel .view-type-btn.btn-primary:hover,.settings-inline-panel .nutrition-mode-btn.btn-primary:hover{transform:translateY(-1px);background:#18483099!important;color:var(--bs-white)!important}[data-bs-theme=dark] .settings-inline-panel .view-type-btn.btn-primary:hover,[data-bs-theme=dark] .settings-inline-panel .nutrition-mode-btn.btn-primary:hover{background:#8bb43c99!important}[data-bs-theme=dark] .settings-inline-panel{background:var(--glass-white-3);border-color:var(--glass-white-10)}[data-bs-theme=dark] .nutrition-mode-btn:not(:last-child):after{background:transparent}[data-bs-theme=dark] .nutrition-mode-btn:hover,[data-bs-theme=dark] .view-type-btn:hover{background:#8bb43c1f!important;color:var(--fitsate-lime, var(--fitsate-lime))!important}.share-link-panel{padding:.75rem;border:1px solid var(--bs-border-color);border-radius:var(--radius-md);background:var(--bs-tertiary-bg);transition:box-shadow .3s ease,border-color .3s ease}.share-link-panel.share-link-ready{border-color:var(--bs-primary);box-shadow:0 0 0 .25rem rgba(var(--bs-primary-rgb),.25)}.share-link-input{font-family:var(--bs-font-monospace);font-size:var(--fs-body-sm, .875rem)}.share-link-panel [data-vis]{display:none}.share-targets{display:flex;flex-wrap:wrap;gap:.4rem}.share-target{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.2rem .7rem;border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);background:var(--bs-body-bg);color:var(--bs-body-color);font-size:var(--fs-body-sm, .875rem);text-decoration:none;white-space:nowrap}.share-target:hover,.share-target:focus-visible{border-color:var(--bs-primary);color:var(--bs-body-color)}.share-target .mdi{font-size:1.1rem;line-height:1}.share-target[data-target=whatsapp] .mdi{color:#25d366}.share-target[data-target=viber] .mdi{color:#7360f2}.share-target[data-target=telegram] .mdi{color:#229ed9}.share-target[data-target=facebook] .mdi{color:#1877f2}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.pwa-standalone{overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pwa-standalone a,.pwa-standalone button,.pwa-standalone .btn,.pwa-standalone .nav-link,.pwa-standalone .navbar,.pwa-standalone label{-webkit-user-select:none;user-select:none}.pwa-standalone input,.pwa-standalone textarea,.pwa-standalone select,.pwa-standalone [contenteditable],.pwa-standalone .markdown-content,.pwa-standalone .selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#pwa-nav-progress{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:4px;z-index:21000;pointer-events:none;background:#4d722d1f;opacity:0;visibility:visible!important;transition:opacity .2s ease}#pwa-nav-progress.active{opacity:1}#pwa-nav-progress .pwa-nav-progress-bar{height:100%;width:30%;background:linear-gradient(90deg,var(--fitsate-olive),var(--fitsate-lime),var(--fitsate-lime-light),var(--fitsate-olive));background-size:200% 100%;box-shadow:0 0 12px #8bb43cb3;border-radius:0 3px 3px 0;animation:pwa-nav-progress-slide 1.1s ease-in-out infinite,pwa-nav-progress-shimmer 1.4s linear infinite}@keyframes pwa-nav-progress-slide{0%{margin-left:-30%;width:30%}50%{margin-left:35%;width:40%}to{margin-left:100%;width:30%}}@keyframes pwa-nav-progress-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.pwa-update-banner{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:#212529f2;color:var(--bs-white);padding:12px 18px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000040;z-index:19000;display:flex;gap:12px;align-items:center;backdrop-filter:blur(10px);max-width:92vw}.pwa-update-banner button{border:none;background:var(--fitsate-olive);color:var(--bs-white);padding:6px 14px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer}.pwa-update-banner button.pwa-dismiss{background:transparent;color:#ccc}.pwa-install-btn{display:none}.pwa-install-btn.available{display:inline-flex}#app-loading-overlay{position:fixed;inset:0;z-index:21500;display:flex;align-items:center;justify-content:center;background-color:var(--bs-body-bg, #ffffff);visibility:visible!important;opacity:1;pointer-events:auto;padding-top:env(safe-area-inset-top,0px);transition:opacity .35s ease}html.app-loaded #app-loading-overlay{opacity:0;visibility:hidden!important;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}.app-loading-inner{display:flex;flex-direction:column;align-items:center;gap:1.15rem}.app-loading-spinner{position:relative;width:64px;height:64px}.app-loading-orbit{position:absolute;inset:0;border-radius:var(--radius-full);border:3px solid transparent;border-top-color:var(--fitsate-lime);border-right-color:var(--fitsate-olive);animation:app-loading-spin .9s linear infinite}.app-loading-orbit:after{content:"";position:absolute;inset:7px;border-radius:var(--radius-full);border:3px solid transparent;border-bottom-color:var(--fitsate-forest);border-left-color:var(--fitsate-lime-light);animation:app-loading-spin 1.4s linear infinite reverse}.app-loading-core{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:var(--radius-full);background:var(--fitsate-lime);box-shadow:0 0 16px var(--fitsate-lime);animation:app-loading-pulse 1.1s ease-in-out infinite}.app-loading-text{font-weight:700;letter-spacing:.14em;text-transform:lowercase;color:var(--text-2);font-size:1.05rem;opacity:.85;animation:app-loading-fade 1.6s ease-in-out infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@keyframes app-loading-pulse{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.1);opacity:1}}@keyframes app-loading-fade{0%,to{opacity:.45}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){.app-loading-orbit,.app-loading-orbit:after,.app-loading-core,.app-loading-text,#pwa-nav-progress .pwa-nav-progress-bar{animation-duration:0s!important;animation-iteration-count:1!important}}#pwa-status-bar{display:none}.pwa-standalone #pwa-status-bar{display:block;position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:var(--pwa-statusbar-bg);z-index:21200;visibility:visible!important;pointer-events:none;transition:background-color .3s ease}.pwa-standalone body{padding-top:env(safe-area-inset-top,0px)}.pwa-standalone header.sticky-top,.pwa-standalone #header.sticky-top{top:env(safe-area-inset-top,0px)}
