@charset "UTF-8";.toast-notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.toast-content-wrapper{background-color:#fff;padding:25px 35px;border-radius:12px;box-shadow:0 8px 25px #00000026;display:flex;flex-direction:column;align-items:center;gap:15px;min-width:280px;max-width:400px;text-align:center;animation:scaleUp .2s ease-out}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.toast-message-content{display:flex;flex-direction:column;align-items:center;gap:10px}.toast-message{margin:0;font-size:1.1rem;font-weight:500;color:#333}.toast-content-wrapper.error .toast-message{color:#c62828}.toast-content-wrapper.success .toast-message{color:#2e7d32}.toast-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#fecb2e;animation:spin 1s linear infinite}.toast-icon{font-size:2.5rem;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.toast-icon.success-icon{background-color:#4caf50;animation:popIn .3s ease-out}.toast-icon.error-icon{background-color:#f44336;animation:popIn .3s ease-out}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.toast-close-button{margin-top:10px;padding:8px 20px;background-color:#f44336;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:700;transition:background-color .2s}.toast-close-button:hover{background-color:#d32f2f}.toast-notification,.toast-notification.visible{display:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.modal-content{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow-y:auto;position:relative;animation:scaleUp .3s ease-out}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.confirmation-modal-content{background-color:#fff;padding:0;border-radius:12px;box-shadow:0 8px 25px #00000026;width:90%;max-width:450px;display:flex;flex-direction:column;overflow:hidden;animation:scaleUp .2s ease-out}.confirmation-header{padding:20px 25px;display:flex;align-items:center;gap:15px;border-bottom:1px solid #eee}.confirmation-header.variant-danger{background-color:#fff4f4}.confirmation-header.variant-primary{background-color:#fffbeb}.confirmation-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirmation-header.variant-danger .confirmation-icon{background-color:#fdd;color:#c0392b}.confirmation-header.variant-primary .confirmation-icon{background-color:#fdecc0;color:#e67e22}.confirmation-icon svg{width:24px;height:24px}.confirmation-header h3{margin:0;font-size:1.3rem;font-weight:600}.confirmation-header.variant-danger h3{color:#c0392b}.confirmation-header.variant-primary h3{color:#5f4c00}.confirmation-message{padding:25px;font-size:1rem;line-height:1.6;color:#333}.confirmation-message strong{color:#000}.confirmation-actions{padding:15px 25px;display:flex;justify-content:flex-end;gap:10px;background-color:#f8f9fa;border-top:1px solid #eee}.confirmation-actions button{padding:10px 18px;font-size:.9rem}.button-danger{background-color:#dc3545;color:#fff}.button-danger:hover:not(:disabled){background-color:#c82333}.button-danger:disabled{background-color:#f1b0b7}@media (max-width: 480px){.confirmation-actions{flex-direction:column-reverse}.confirmation-actions button{width:100%}}.top-nav{display:flex;justify-content:space-between;align-items:center;padding:8px 40px;background-color:#fff;box-shadow:0 2px 4px #0000;position:sticky;top:0;z-index:1000;border-bottom:1px solid #e9ecef;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out}.top-nav.scrolled{background-color:transparent;box-shadow:0 4px 6px #00000014;border-bottom-color:transparent}.top-nav.scrolled:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffff80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:-1}.logo-button-nav{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.nav-logo-image{height:auto;width:200px;max-width:100%;display:block;transition:opacity .2s ease}.logo-button-nav:hover .nav-logo-image{opacity:.85}.top-nav-page-title{display:none}.nav-links-container{display:flex;gap:12px;flex-grow:1;justify-content:center;min-width:0}.nav-link{color:#3a4d4c;background-color:transparent;padding:8px 16px;border:none;border-radius:6px;text-decoration:none;font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;letter-spacing:.5px;text-align:center;position:relative;display:inline-flex;align-items:center;gap:8px}.nav-link svg{display:block}.nav-link .nav-link-text{display:inline}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:50%;transform:translate(-50%);background-color:#fecb2e;transition:width .3s ease}.nav-link:hover,.nav-link:focus{color:#3a4d4c;background-color:#f8f9fa}.nav-link.active{color:#3a4d4c}.nav-link.active:after,.nav-link:hover:after{width:70%}.user-actions-container{display:flex;align-items:center;position:relative}.user-menu-toggle-button{background:transparent;border:1px solid #e9ecef;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;padding:0}.user-menu-toggle-button svg{stroke:#3a4d4c;transition:stroke .2s ease}.user-menu-toggle-button:hover,.user-menu-toggle-button:focus{background-color:#f8f9fa;border-color:#dee2e6;outline:none}.user-menu-toggle-button:focus-visible{box-shadow:0 0 0 2px #fecb2e66}.user-menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;background-color:#fff;border-radius:8px;box-shadow:0 5px 25px #0000001a;border:1px solid #e9ecef;z-index:1001;min-width:220px;padding:8px 0;overflow:hidden;animation:userMenuFadeIn .2s ease-out}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-dropdown-item{display:block;width:100%;text-align:left;padding:12px 20px;font-size:.95rem;color:#3a4d4c;background:none;border:none;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:background-color .15s ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-dropdown-item:hover{background-color:#f8f9fa}.user-menu-dropdown-item.profile-link{font-weight:600;border-bottom:1px solid #f0f0f0}.user-menu-dropdown-item.logout-button{color:#c0392b;font-weight:500;text-transform:none;letter-spacing:normal}.user-menu-dropdown-item.logout-button:hover{background-color:#fdd;color:#a93226}.user-menu-dropdown-item.logout-button:disabled{color:#999;background-color:transparent;cursor:not-allowed}@media (max-width: 992px){.top-nav{padding:10px 15px;flex-wrap:nowrap;justify-content:space-between}.logo-nav-container{flex-grow:0;flex-shrink:0}.nav-logo-image{height:40px;width:auto}.user-actions-container{flex-grow:0;flex-shrink:0}.top-nav-page-title{display:block;flex-grow:1;text-align:center;font-size:1.1rem;font-weight:600;color:#3a4d4c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;min-width:0}.nav-links-container{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-around;align-items:stretch;background-color:#fff;border-top:1px solid #e9ecef;box-shadow:0 -2px 8px #0000000f;height:65px;padding:5px 0;overflow-x:initial;min-width:initial;flex-grow:initial}.nav-link{flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 8px;height:100%;font-size:.7rem;font-weight:500;text-transform:none;white-space:nowrap;flex-grow:1;border-radius:4px}.nav-link svg{display:block;width:24px;height:24px;margin-bottom:0}.nav-link .nav-link-text{display:block}.nav-link:after{display:none}.nav-link:hover,.nav-link:focus{background-color:#f8f9fa}.nav-link.active{background-color:transparent;color:#fecb2e}.nav-link.active svg{stroke:#fecb2e}.nav-link.active .nav-link-text{color:#fecb2e}}@media (max-width: 480px){.nav-logo-image{height:36px}}.main-header{background-color:#fecb2e;color:#3a4d4c;padding:100px 40px;text-align:center;position:relative;overflow:hidden}.main-header:before{content:"";display:none}.floating-icons-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.floating-icon{position:absolute;display:block;bottom:-10%;animation:float-up 25s infinite linear;text-shadow:0 0 8px rgba(0,0,0,.2)}.main-header .logo-container{position:relative;z-index:2}.logo-container{margin-bottom:10px}.logo-text{font-size:4.5rem;font-weight:700;color:#3a4d4c}.tagline{display:block;font-size:1.25rem;color:#3a4d4c;margin-top:10px;font-weight:400;opacity:.9}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-500px) rotate(360deg);opacity:0}}.floating-icon:nth-child(1){left:10%;animation-duration:22s;animation-delay:-2s;font-size:2.5rem}.floating-icon:nth-child(2){left:20%;animation-duration:25s;animation-delay:-15s;font-size:4rem}.floating-icon:nth-child(3){left:35%;animation-duration:28s;animation-delay:-5s;font-size:3rem}.floating-icon:nth-child(4){left:50%;animation-duration:24s;animation-delay:0s;font-size:4.5rem}.floating-icon:nth-child(5){left:65%;animation-duration:20s;animation-delay:-10s;font-size:2.8rem}.floating-icon:nth-child(6){left:75%;animation-duration:26s;animation-delay:-20s;font-size:3.5rem}.floating-icon:nth-child(7){left:85%;animation-duration:23s;animation-delay:-8s;font-size:5rem}.floating-icon:nth-child(8){left:5%;animation-duration:29s;animation-delay:-25s;font-size:3.2rem}.floating-icon:nth-child(9){left:90%;animation-duration:26s;animation-delay:-12s;font-size:3.8rem}.floating-icon:nth-child(10){left:45%;animation-duration:21s;animation-delay:-18s;font-size:3rem}@media (max-width: 768px){.main-header{padding:80px 20px}.logo-text{font-size:3rem}.tagline{font-size:1.1rem}.floating-icon{font-size:2.2rem}.floating-icon:nth-child(2){font-size:2.8rem}.floating-icon:nth-child(4){font-size:3.2rem}.floating-icon:nth-child(7){font-size:3.8rem}}.main-footer{background-color:#333;color:#fff;text-align:center;padding:20px;font-size:.9rem;margin-top:auto}.kcal-summary{margin-top:25px;padding:20px;background-color:#fffbeb;border-radius:8px;border:1px solid #e0cf99}.kcal-summary h3{margin-top:0;margin-bottom:20px;color:#5f4c00;font-size:1.25rem;font-weight:600;text-align:center}.kcal-summary .chart-area{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.kcal-summary .chart-bar-group{display:flex;flex-direction:column;gap:4px}.kcal-summary .bar-label{font-size:.9rem;color:#5f4c00}.kcal-summary .bar-wrapper{width:100%;background-color:#f0f0f0;border-radius:4px;height:22px;overflow:hidden;position:relative}.kcal-summary .bar-fill{height:100%;border-radius:4px;transition:width .5s ease-in-out;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;color:#fff;font-size:.8rem;box-sizing:border-box}.kcal-summary .bar-percentage-text{color:#fff;font-weight:700;font-size:.85rem;text-shadow:1px 1px 1px rgba(0,0,0,.3)}.kcal-summary .total-kcal-display{margin-top:20px;font-size:1.2rem;font-weight:700;color:#27ae60;text-align:right;border-top:1px solid #f0e6c1;padding-top:12px}.kcal-summary .total-kcal-display strong{color:inherit}@media (max-width: 768px){.food-editor-multistep-container .kcal-summary{margin-top:12px;padding:12px}.food-editor-multistep-container .kcal-summary h3{margin-bottom:12px;font-size:1rem}.food-editor-multistep-container .kcal-summary .chart-area{gap:6px}.food-editor-multistep-container .kcal-summary .bar-wrapper{height:16px}.food-editor-multistep-container .kcal-summary .bar-label{font-size:.8rem}.food-editor-multistep-container .kcal-summary .bar-percentage-text{font-size:.75rem}.food-editor-multistep-container .kcal-summary .total-kcal-display{margin-top:12px;padding-top:8px;font-size:1rem}}#food-table-region{min-height:400px;display:flex;flex-direction:column;scroll-margin-top:110px}#food-table-region .no-results-message{padding:20px;text-align:center;font-style:italic;color:#555;flex-grow:1;display:flex;align-items:center;justify-content:center}.food-list-container{margin-top:10px}.food-list-header-row,.food-card-row{display:grid;grid-template-columns:3fr 1.5fr .8fr .8fr .8fr .8fr .8fr 1fr 1.2fr;gap:15px;align-items:center}.food-list-header-row{padding:10px 15px}.food-list-header-cell{font-weight:700;color:#5f4c00;font-size:.9rem;text-align:center}.food-list-header-cell.sortable{cursor:pointer}.food-list-header-cell.cell-alimento,.food-list-header-cell.cell-brand_name{text-align:left}.food-card-row{background-color:#fff;border:1px solid #f0e6c1;border-radius:8px;padding:12px 15px;margin-bottom:8px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;position:relative}.food-card-row:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000012}.food-card-row.expanded{background-color:#fffbeb;border-color:#fecb2e;box-shadow:0 2px 8px #fecb2e4d;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.food-list-cell{font-size:.95rem;color:#333;text-align:center;min-width:0}.food-list-cell.cell-alimento,.food-list-cell.cell-brand_name,.food-list-cell.cell-seccionAlimento{text-align:left}.food-list-cell strong{font-weight:600}.food-name-cell-content{display:flex;align-items:center;gap:10px}.food-name-editable{cursor:pointer;color:#3a4d4c;font-weight:500;text-decoration:none;display:inline-block;padding:2px 0}.food-name-editable:hover{text-decoration:underline;color:#e67e22}.food-name-readonly{cursor:default;color:#555;font-weight:500;display:flex;align-items:center;gap:6px}.food-list-container .button-expand{background-color:#ffc107;color:#212529;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;padding:0;transition:background-color .2s ease,transform .1s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.food-list-container .button-expand:hover{background-color:#e0a800;transform:scale(1.05)}.food-detail-expanded-row{background-color:#fffbeb;border:1px solid #fecb2e;border-top:none;padding:15px;border-radius:0 0 8px 8px;margin-bottom:8px}.food-detail-expanded-row .nutrient-chart-container{background-color:transparent;border:none;padding:0;margin:0;box-shadow:none}@keyframes highlight-and-fade-in{0%{background-color:#fffbeb;transform:scale(.98);opacity:.5}50%{background-color:#fffbeb;transform:scale(1.02);opacity:1}to{background-color:#fff;transform:scale(1);opacity:1}}.food-card-row.new-item-highlight{animation:highlight-and-fade-in 1.5s ease-out forwards}@media (max-width: 992px){.food-list-header-row{display:none}.food-card-row{display:flex;flex-wrap:wrap;padding:12px;gap:8px;align-items:baseline}.food-list-cell.cell-alimento{flex-basis:100%;order:1;padding-bottom:8px;margin-bottom:4px;border-bottom:1px dotted #f0e6c1;font-size:1.1rem;display:block;text-align:left}.food-card-row:not(.expanded) .food-list-cell:not(.cell-alimento){display:none}.food-card-row.expanded .food-list-cell:not(.cell-alimento){display:flex}.food-list-cell:not(.cell-alimento){flex:1 1 70px;order:2;flex-direction:column;align-items:center;padding:4px;background-color:#f8f9fa;border-radius:4px;border-bottom:none;font-size:.9rem}.food-list-cell:before{content:attr(data-label);font-weight:400;color:#777;font-size:.7rem;margin-bottom:2px;text-align:center;position:static;margin-right:0}.food-list-cell.cell-alimento:before{display:none}.food-card-row.expanded .food-list-cell.cell-alimento{border-bottom:none;margin-bottom:0;padding-bottom:0}}.filters-container{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px;margin-top:10px}.filter-item{display:flex;min-width:0}.search-filter{flex:2 1 200px}.section-filter,.macro-filter,.brand-filter{flex:1 1 150px}.kcal-filter{flex:0 1 110px}.reset-filter{flex-shrink:0}.search-input,.section-filter-select,.kcal-filter-input,.macro-filter-select,.brand-filter-select{width:100%;padding:12px;border:1px solid #e0cf99;border-radius:5px;font-size:.9rem;box-sizing:border-box;background-color:#fff;color:#333}.search-input:focus,.section-filter-select:focus,.kcal-filter-input:focus,.macro-filter-select:focus,.brand-filter-select:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 .2rem #e67e2240}.kcal-filter-input[type=number]::-webkit-outer-spin-button,.kcal-filter-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.kcal-filter-input[type=number]{-moz-appearance:textfield}.reset-filters-button{padding:12px 24px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:8px;white-space:nowrap}@media (min-width: 1100px){.filters-container{flex-wrap:nowrap}}@media (max-width: 768px){.food-list-section .filters-container{display:none}}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding:10px 0;border-top:1px solid #f0e6c1}.pagination-controls span{font-size:.95rem;color:#5f4c00}.pagination-controls button{padding:8px 16px;font-size:.9rem}@media (max-width: 768px){.pagination-controls{flex-direction:column;gap:10px}.pagination-controls button{width:100%}}.food-author-info{text-align:right;font-size:.85rem;color:#777;margin-bottom:15px;padding-bottom:8px;border-bottom:1px dotted #e0cf99}.food-author-info strong{color:#555}.nutrient-chart-container{margin-top:20px;margin-bottom:20px;padding:20px;background-color:#fffbeb;border:1px solid #ffe082;border-radius:8px}.chart-title{font-size:1.4rem;color:#8c5c00;margin-top:0;margin-bottom:20px;text-align:center}.food-notes-section{background-color:#fefcf5;border-left:4px solid #fecb2e;padding:12px 15px;margin-bottom:20px;border-radius:4px}.food-notes-section p{margin:0;font-size:.95rem;color:#5f4c00;line-height:1.6}.chart-area{display:flex;flex-direction:column;gap:15px}.chart-bar-group{display:flex;flex-direction:column;gap:5px}.bar-label{font-size:.95rem;color:#5f4c00}.bar-wrapper{width:100%;background-color:#f0f0f0;border-radius:4px;height:25px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .5s ease-in-out;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;color:#fff;font-size:.8rem;box-sizing:border-box}.bar-percentage-text{color:#fff;font-weight:700;font-size:.85rem;text-shadow:1px 1px 1px rgba(0,0,0,.4)}.total-kcal-display{margin-top:20px;font-size:1.2rem;font-weight:700;color:#28a745;text-align:right}@media (max-width: 600px){.chart-title{font-size:1.2rem}.bar-label{font-size:.9rem}.bar-percentage-text{font-size:.8rem}.total-kcal-display{font-size:1.1rem}}@media (max-width: 992px){.nutrient-chart-container{padding:0;margin:0;border:none;box-shadow:none;background-color:transparent}.food-author-info{margin-bottom:12px;padding-bottom:6px}.food-notes-section{padding:9px 12px;margin-bottom:15px}.chart-area{gap:10px}.chart-bar-group{gap:3px}.bar-wrapper{height:20px}.bar-label{font-size:.85rem}.bar-percentage-text{font-size:.75rem}.total-kcal-display{margin-top:15px;font-size:1rem}}.homepage-container{display:flex;flex-direction:column;flex-grow:1;background-color:#fff}.homepage-content{flex-grow:1;padding:0 0 60px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInZoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes homeSlideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes homeSlideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes homeSlideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-up,.animate-fade-in-zoom,.animate-slide-in-left,.animate-slide-in-up,.animate-slide-in-right,.feature-card,.beta-callout-section{opacity:0}.animate-fade-in-up.is-visible{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-zoom.is-visible{animation:fadeInZoom .5s ease-out forwards}.animate-slide-in-left.is-visible{animation:homeSlideInLeft .6s ease-out forwards}.animate-slide-in-up.is-visible{animation:homeSlideInUp .6s ease-out forwards}.animate-slide-in-right.is-visible{animation:homeSlideInRight .6s ease-out forwards}.feature-card.is-visible{animation:fadeInZoom .5s ease-out forwards}.features-section{padding:60px 20px;text-align:center}.features-section-header{width:90%;max-width:1200px;margin:0 auto 40px;text-align:center}.features-section-header h2{font-size:2.8rem;font-weight:700;color:#3a4d4c}.features-section-header p{font-size:1.15rem;color:#555;line-height:1.7}.section-header{max-width:700px;margin:0 auto 40px}.section-header h2{font-size:2.5rem;color:#3a4d4c;margin-bottom:15px}.section-header p{font-size:1.15rem;color:#555;line-height:1.7}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;max-width:1200px;margin:0 auto}.feature-card{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;padding:40px 30px;box-shadow:0 4px 15px #0000000d;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;text-decoration:none;color:inherit;position:relative;transform-style:preserve-3d;transition:transform .3s ease-out,box-shadow .4s ease-out;transform:perspective(1000px)}.feature-card:hover{transform:perspective(1000px) translateY(-8px);box-shadow:0 10px 20px #0000001a}.feature-card.tilt-enabled{transform:perspective(1000px) rotateY(var(--y-rotation, 0deg)) rotateX(var(--x-rotation, 0deg))}.feature-card.tilt-enabled:hover{transform:perspective(1000px) translateY(-8px) rotateY(var(--y-rotation)) rotateX(var(--x-rotation));box-shadow:0 15px 35px #0003}.feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 50%),rgba(255,255,255,.4),rgba(255,255,255,0) 50%);opacity:0;transition:opacity .2s ease-out;border-radius:inherit;pointer-events:none}.feature-card.tilt-enabled:hover:before{opacity:1}.feature-icon{font-size:3rem;margin-bottom:25px;line-height:1}.feature-card h3{font-size:1.6rem;color:#3a4d4c;margin-bottom:15px}.feature-card p{font-size:1.05rem;color:#555;line-height:1.6;margin-bottom:25px;flex-grow:1}.feature-link{font-weight:600;color:#3a4d4c;text-decoration:none;position:relative;padding-bottom:2px}.feature-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#fecb2e;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.feature-card:hover .feature-link:after{transform:scaleX(1)}.beta-callout-section{padding:50px 40px;margin:60px auto;width:90%;max-width:800px}.beta-callout-content{max-width:100%;margin:0;text-align:center}.beta-callout-section h3{font-size:2.5rem;font-weight:700;margin-top:0;margin-bottom:15px;color:#3a4d4c}.beta-callout-section p{font-size:1.1rem;opacity:1;line-height:1.7;margin-bottom:25px;color:#3a4d4c}.cta-button{font-size:1.1rem;font-weight:700;padding:14px 28px}.homepage-carousel-section{width:85%;margin:60px auto}.carousel-container{position:relative;width:100%;margin:0;overflow:hidden;box-shadow:0 8px 25px #0000001a;aspect-ratio:16 / 10;min-height:350px;max-height:80vh;border-radius:12px}@media (min-width: 768px){.carousel-container{min-height:550px}}.carousel-slides{display:flex;transition:transform .5s ease-in-out;height:100%}.carousel-slide{min-width:100%;box-sizing:border-box;height:100%;position:relative;background-color:#212529}.carousel-image{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}.carousel-slide-overlay{position:absolute;bottom:0;left:0;right:0;padding:80px 40px 40px;background:linear-gradient(to top,#000000e6 20%,#0000);color:#fff;text-align:left;transition:opacity .3s ease;opacity:1;pointer-events:none}.carousel-slide-overlay h3{font-size:1.8rem;font-weight:600;margin:0 0 5px;text-shadow:2px 2px 5px rgba(0,0,0,.8)}.carousel-slide-overlay p{font-size:1.1rem;margin:0;text-shadow:1px 1px 4px rgba(0,0,0,.9)}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background-color:#0006;color:#fff;border:none;padding:0;cursor:pointer;border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.carousel-button:hover{background-color:#000000b3}.carousel-button.prev{left:10px}.carousel-button.next{right:10px}.carousel-dots{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.carousel-dot{width:10px;height:10px;border-radius:50%;background-color:#ffffff80;border:none;cursor:pointer;padding:0;transition:background-color .2s,transform .2s}.carousel-dot.active{background-color:#fff;transform:scale(1.2)}.value-prop-section{padding:60px 20px;background-color:#fff}.value-prop-item{display:grid;grid-template-columns:1fr;align-items:center;gap:30px;width:90%;max-width:1000px;margin:40px auto}.value-prop-item:last-child{margin-bottom:0}.value-prop-image-wrapper{overflow:hidden;border-radius:12px;height:100%;aspect-ratio:1 / 1;max-height:400px}.value-prop-image{width:100%;height:130%;object-fit:cover;transform:translateY(-15%);transition:transform .2s ease-out}.value-prop-text{text-align:center}.value-prop-text h3{font-size:1.8rem;color:#3a4d4c;margin-bottom:15px}.value-prop-text p{font-size:1.1rem;color:#555;line-height:1.7}@media (min-width: 768px){.value-prop-item{grid-template-columns:1fr 1fr;gap:50px;text-align:left}.value-prop-item:nth-child(2n) .value-prop-image-wrapper{order:2}.value-prop-text{text-align:left}}.benefits-section{padding:60px 20px;background-color:#f8f9fa;text-align:center}.benefits-grid{display:grid;grid-template-columns:1fr;gap:30px;max-width:1200px;margin:0 auto}@media (min-width: 600px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.benefits-grid{grid-template-columns:repeat(3,1fr)}}.benefit-item{background-color:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 15px #0000000d;border-top:4px solid #fecb2e;min-width:0}.benefit-icon{font-size:3rem;margin-bottom:20px;color:#3a4d4c;display:inline-block}.benefit-item h3{font-size:1.5rem;color:#3a4d4c;margin-top:0;margin-bottom:15px}.benefit-item p{font-size:1rem;color:#555;line-height:1.6;margin:0}@media (max-width: 768px){.features-section-header h2{font-size:2.2rem}.section-header h2{font-size:2rem}.section-header p,.features-section-header p{font-size:1.05rem}.value-prop-text h3{font-size:1.5rem}.value-prop-text p{font-size:1rem}.beta-callout-section h3{font-size:2rem}.beta-callout-section p{font-size:1rem}.carousel-slide-overlay{padding:60px 20px 20px}.carousel-slide-overlay h3{font-size:1.5rem}.carousel-slide-overlay p{font-size:1rem}}.crud-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:transparent}.container.crud-container{max-width:1200px;margin:0 auto 20px;padding:25px;background-color:#fff;border-radius:0 0 10px 10px;box-shadow:0 4px 25px #0000000d;flex-grow:1;box-sizing:border-box;width:100%;overflow-x:hidden}.crud-container>h1{color:#3a4d4c;text-align:center;margin-top:10px;margin-bottom:25px;font-size:2.2rem}.crud-container>h2{color:#5f4c00;margin-top:35px;margin-bottom:20px;border-bottom:2px solid #f0e6c1;padding-bottom:8px;font-size:1.8rem}.fetch-error-message{color:#c0392b;background-color:#fdd;border:1px solid #fbb;padding:10px;border-radius:4px;margin-top:10px}.mobile-filter-sheet-form .filters-container{display:contents}.mobile-filter-sheet-form .filter-item{display:flex;flex-direction:column;gap:4px;width:100%;flex-basis:auto!important}.mobile-filter-sheet-form .filter-item.search-filter{display:none}.mobile-filter-sheet-form .filter-item select,.mobile-filter-sheet-form .filter-item input{width:100%;padding:10px 12px!important;font-size:1rem!important;height:auto!important}.mobile-filter-sheet-form .reset-filters-button{width:100%;margin-top:5px}@media (max-width: 768px){.container.crud-container{padding:20px}.container.crud-container>h1{font-size:1.8rem}.crud-container>h2{font-size:1.5rem}}.food-list-section>h2:not(#food-list-section-title){display:none}.food-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.food-list-header>h2{color:#6a5928;margin:0;border-bottom:none;padding-bottom:0;font-size:2rem;font-weight:700}.food-list-header .button-primary{background-color:#fcc934;color:#3a4d4c;border-radius:8px;font-weight:700;padding:12px 24px;font-size:.9rem}.food-list-header .button-primary:hover:not(:disabled){background-color:#eab629}.mobile-filter-header,.fab-add-new-food{display:none}@media (max-width: 768px){.food-list-section{overflow-x:hidden}.food-list-header{display:none}.mobile-filter-header{display:flex;gap:12px;align-items:center;margin-bottom:20px}.mobile-search-wrapper{flex-grow:1;position:relative}.mobile-search-wrapper:before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;font-size:1rem;pointer-events:none}.mobile-search-input{width:100%;padding:12px 15px 12px 40px;font-size:1rem;border:1px solid #e0cf99;border-radius:8px;box-sizing:border-box;background-color:#fff}.mobile-filter-button{flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #e0cf99;background-color:#fff;color:#5f4c00;border-radius:8px;display:flex;align-items:center;justify-content:center}.fab-add-new-food{display:flex;align-items:center;justify-content:center;position:fixed;bottom:80px;right:20px;width:56px;height:56px;background-color:#fecb2e;color:#3a4d4c;border-radius:50%;border:none;box-shadow:0 4px 12px #0003;z-index:1001;cursor:pointer;transition:background-color .2s,transform .2s}.fab-add-new-food:hover{background-color:#eab629;transform:scale(1.05)}.fab-add-new-food svg{width:24px;height:24px}}.food-editor-modal-content{background-color:#f8f9fa;padding:0;max-width:900px}@media (max-width: 768px){.food-editor-modal-overlay{align-items:stretch;padding:0}.food-editor-modal-content{flex:1;width:100%;max-width:100%;height:auto;max-height:100%;border-radius:0;animation:none}}.food-editor-multistep-container{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;box-sizing:border-box;background-color:#f8f9fa;overflow:hidden}.food-editor-header{padding:10px 15px;flex-shrink:0;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;z-index:10;display:flex;flex-direction:column;gap:10px}.header-top-row .header-title{grid-column:2 / 3;text-align:center;font-size:1rem;font-weight:500;color:#555;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-top-row .modal-close-button{grid-column:3 / 4;justify-self:end;align-self:center;background:none;border:none;font-size:1.8rem;font-weight:700;color:#888;cursor:pointer;line-height:1;padding:0 5px}.food-editor-scrollable-body{flex-grow:1;overflow-y:auto;padding:20px 15px;-webkit-overflow-scrolling:touch;min-height:0}.food-form .food-form-grid{display:grid;gap:20px;grid-template-columns:1fr}.food-form .food-form-grid.macros{grid-template-columns:repeat(3,1fr);gap:10px}.food-form .food-form-grid.single-column{grid-template-columns:1fr}.food-form .form-group label{font-size:.9rem;margin-bottom:4px}.food-form .form-group input,.food-form .form-group select,.food-form .form-group textarea{padding:10px;font-size:.95rem}.food-form-grid-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-step-content{animation:stepFadeIn .4s ease-out}.form-actions{padding:4px 15px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}.food-editor-singlepage-container{display:flex;flex-direction:column;height:100%;width:100%;box-sizing:border-box}.food-editor-header{padding:20px 25px;flex-shrink:0;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.food-editor-header h3{margin:0;font-size:1.5rem;color:#5f4c00}.food-editor-header .modal-close-button{background:none;border:none;font-size:1.8rem;font-weight:700;color:#888;cursor:pointer;line-height:1;padding:0 5px}.food-editor-scrollable-body{flex-grow:1;overflow-y:auto;padding:20px 25px;background-color:#f8f9fa}.food-form-single-page .form-content-area{display:grid;grid-template-columns:2fr 1fr;gap:25px;align-items:stretch}.food-form-single-page .form-fields-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-content:start}.food-form-single-page .form-group{display:flex;flex-direction:column}.form-group-alimento,.form-group-marca{grid-column:span 3}.form-group-cantidad,.form-group-medida,.form-group-seccion,.form-group-proteina,.form-group-grasa,.form-group-carb{grid-column:span 2}.form-group-notas{grid-column:1 / -1}.food-form-single-page .form-summary-area{display:flex;height:100%}.food-form-single-page .form-summary-area .kcal-summary{display:flex;flex-direction:column;flex-grow:1;width:100%}.food-form-single-page .form-summary-area .kcal-summary .total-kcal-display{margin-top:auto}.form-actions{margin-top:auto;padding:15px 25px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:10px}.form-actions .button-delete{margin-right:auto}@media (max-width: 900px){.food-form-single-page .form-content-area{grid-template-columns:1fr}}@media (max-width: 500px){.food-form-single-page .form-fields-grid{grid-template-columns:1fr}.form-group-alimento,.form-group-marca,.form-group-cantidad,.form-group-medida,.form-group-seccion,.form-group-proteina,.form-group-grasa,.form-group-carb,.form-group-notas{grid-column:span 1}}.persons-crud-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:#f8f9fa}.container.persons-crud-container{max-width:1200px;margin:0 auto 20px;padding:25px;background-color:transparent;border-radius:0;box-shadow:none;flex-grow:1}.persons-crud-container>h1{display:none}.profile-page-header{background-image:linear-gradient(135deg,#fffbeb,#fdecc0);color:#3a4d4c;padding:40px 30px;border-radius:12px;margin-bottom:30px;position:relative;overflow:hidden;text-align:center;border:1px solid rgba(255,255,255,.1)}.profile-page-header .header-content{position:relative;z-index:2}.profile-page-header h1{margin:0 0 5px;font-size:2.5rem;font-weight:600;color:#3a4d4c}.profile-page-header p{margin:0;font-size:1.1rem;opacity:.8;color:#5f4c00}.particles-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.particle{position:absolute;background-color:#fecb2e66;border-radius:50%;animation:floatParticle 25s infinite linear;bottom:-20px}@keyframes floatParticle{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-100vh) scale(.5);opacity:0}}.particle:nth-child(1){left:10%;width:15px;height:15px;animation-duration:22s;animation-delay:-2s}.particle:nth-child(2){left:20%;width:25px;height:25px;animation-duration:25s;animation-delay:-15s}.particle:nth-child(3){left:35%;width:10px;height:10px;animation-duration:28s;animation-delay:-5s}.particle:nth-child(4){left:50%;width:30px;height:30px;animation-duration:24s;animation-delay:0s}.particle:nth-child(5){left:65%;width:20px;height:20px;animation-duration:20s;animation-delay:-10s}.particle:nth-child(6){left:75%;width:12px;height:12px;animation-duration:26s;animation-delay:-20s}.particle:nth-child(7){left:85%;width:18px;height:18px;animation-duration:23s;animation-delay:-8s}.profile-summary-dashboard{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}@media (min-width: 992px){.profile-summary-dashboard{grid-template-columns:repeat(4,1fr);gap:20px}}.summary-card{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;text-align:center;box-shadow:0 4px 20px #0000000d;opacity:0;animation:profileCardSlideInUp .5s forwards}@keyframes profileCardSlideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.summary-card-icon{font-size:2rem;margin-bottom:10px}.summary-card-label{font-size:.9rem;color:#555;margin-bottom:5px;display:block}.summary-card-value{font-size:1.5rem;font-weight:600;color:#3a4d4c}.person-form-section{margin-bottom:30px;padding:25px;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000d;border:1px solid #e8e8e8}.collapsible-profile-header{display:flex;align-items:center;cursor:pointer}.clickable-form-title{color:#3a4d4c;margin:0;font-size:1.6rem;-webkit-user-select:none;user-select:none;transition:color .2s ease;flex-grow:1;position:relative;padding-right:35px}.clickable-form-title:hover{color:#fecb2e}.toggle-icon{width:24px;height:24px;transition:transform .3s ease-in-out;position:relative}.clickable-form-title .toggle-icon{position:absolute;right:0;top:50%;transform:translateY(-50%)}.toggle-icon:before{content:"▼";font-size:1rem;color:#3a4d4c;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle-icon.expanded{transform:rotate(180deg)}.collapsible-content{padding-top:20px;margin-top:20px;border-top:1px solid #e9ecef}.collapsible-subsection{margin-bottom:20px;border:1px solid #e9ecef;border-radius:6px;background-color:#f8f9fa}.collapsible-subsection-header{display:flex;align-items:center;cursor:pointer;padding:12px 15px}.collapsible-subsection-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#3a4d4c;flex-grow:1;position:relative;padding-right:30px}.collapsible-subsection-header h4 .toggle-icon{position:absolute;right:0;top:50%;transform:translateY(-50%)}.collapsible-subsection-content{padding:0 15px 15px;border-top:1px solid #e9ecef}@media (max-width: 768px){.profile-page-header h1{font-size:2rem}.profile-page-header p{font-size:1rem}.clickable-form-title{font-size:1.4rem}}.person-form .person-form-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:25px}@media (min-width: 768px){.person-form .person-form-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px) and (min-width: 500px){.person-form .person-form-grid{grid-template-columns:repeat(2,1fr)}}.birthday-group .birthday-display-format{font-size:.85rem;color:#555;margin-top:5px;display:block}@media (min-width: 768px){.person-form-grid .activity-level-group{grid-column:span 2}}.person-form input[type=date]{position:relative;color:#333}.person-form input[type=date]:before{content:attr(placeholder);position:absolute;top:50%;left:12px;transform:translateY(-50%);color:#6c757d;pointer-events:none}.person-form input[type=date]:valid:before{display:none}.person-form input[type=date]:focus:before{display:none}.person-table .button-view-measures{background-color:#17a2b8;color:#fff;padding:6px 10px;font-size:.8rem;text-transform:none;margin-right:5px}.person-table .button-view-measures:hover{background-color:#138496}.person-table tr.selected-row{background-color:#ffe082!important;font-weight:700}.person-table tr.selected-row td{color:#5f4c00}.measure-form .form-group label{font-size:.9rem}.measure-table{margin-top:0}.measure-table th.measure-delete-col,.measure-table td.measure-actions-cell{width:50px;text-align:center;padding-right:5px;padding-left:5px}.button-delete-measure-minimalist{background:none;border:none;color:#c0392b;font-size:1.5rem;font-weight:700;line-height:1;padding:0;cursor:pointer;transition:color .2s ease;text-transform:none;letter-spacing:normal}.button-delete-measure-minimalist:hover,.button-delete-measure-minimalist:focus{color:#a93226;transform:none;box-shadow:none;background-color:transparent;outline:none}.button-delete-measure-minimalist:focus-visible{outline:1px dotted #a93226;outline-offset:1px}@media (max-width: 768px){.measure-table td.measure-actions-cell{padding-left:0!important;text-align:center}.measure-table td.measure-actions-cell:before{display:none}}.measures-evolution-chart-section{background-color:#fff;border:none;margin-top:0}.measures-evolution-chart-section h3{display:none}.charts-container-flex{display:flex;flex-direction:column;gap:20px;align-items:center;margin-top:10px}.metric-chart-group{padding:15px;background-color:#fff;border-radius:.5rem;border:1px solid #d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;width:100%;max-width:700px;flex-grow:0;flex-shrink:0;flex-basis:auto;min-width:300px}.metric-chart-group.no-evolution-data{min-height:150px;justify-content:center;flex-basis:100%}.metric-chart-group.no-evolution-data p{font-style:italic;color:#777;text-align:center}.metric-chart-title{font-size:1.1rem;color:#333;margin-top:0;margin-bottom:15px;text-align:center;font-weight:500}.metric-chart-group svg.responsive-svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}.axis-text{font-size:.7rem;fill:#555}.date-text{font-size:.65rem}.chart-point-label{font-size:.6rem;fill:#333;font-weight:500;pointer-events:none}.chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:10px;font-size:.8rem}.legend-item{display:flex;align-items:center;gap:5px}.legend-color-box{width:12px;height:12px;display:inline-block}@media (max-width: 700px){.charts-container-flex{flex-direction:column;align-items:center}.metric-chart-group.combined-chart,.metric-chart-group.get-chart,.metric-chart-group{width:100%;max-width:550px;min-width:0;flex-basis:auto}}@media (max-width: 768px){.metric-chart-title{font-size:1rem}.chart-point-label{font-size:.55rem}}.user-management-section{width:100%}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.user-management-header h2{text-transform:none;margin:0;font-size:2rem}.role-badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500;color:#fff;background-color:#6c757d;text-transform:none}.role-badge.role-admin{background-color:#c0392b}.role-badge.role-nutritionist{background-color:#2980b9}.role-badge.role-patient{background-color:#27ae60}.role-badge.role-planificador{background-color:#f39c12}.user-editor-modal-content{max-width:500px;padding:0}.user-editor-header{padding:20px 25px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.user-editor-header h3{margin:0;font-size:1.5rem;color:#3a4d4c}.user-editor-scrollable-body{padding:25px;display:flex;flex-direction:column;gap:15px}.user-editor-scrollable-body small{font-size:.8rem;color:#555;margin-top:-10px}.user-editor-actions{margin-top:10px;padding:15px 25px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.user-management-header{flex-direction:column;align-items:flex-start;gap:15px}.user-management-header h2{font-size:1.8rem}}.recipes-crud-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:transparent}.container.recipes-crud-container{max-width:1200px;width:100%;margin:0 auto 20px;padding:25px;background-color:#fff;border-radius:0 0 10px 10px;box-shadow:0 4px 25px #0000000d;flex-grow:1;overflow-x:hidden;box-sizing:border-box}.recipes-crud-container>h1{color:#3a4d4c;text-align:center;margin-top:10px;margin-bottom:35px;font-size:2.5rem;font-weight:700}.filter-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1500;display:flex;flex-direction:column;justify-content:flex-end;animation:fadeIn .3s ease-out}.filter-sheet-content{background-color:#f8f9fa;border-top-left-radius:16px;border-top-right-radius:16px;padding:0;box-shadow:0 -4px 15px #0000001a;animation:slideInUp .3s ease-out;display:flex;flex-direction:column;max-height:55vh}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-sheet-title{font-size:1.3rem;color:#3a4d4c;text-align:center;margin:0;padding:20px 20px 15px;flex-shrink:0}.filter-sheet-scrollable-area{overflow-y:auto;flex-grow:1;min-height:0;padding:0 20px}.filter-sheet-footer{padding:15px 20px 20px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#f8f9fa}.filter-sheet-footer button{width:100%}.mobile-filter-sheet-form{display:flex;flex-direction:column;gap:15px;padding:10px 0}.mobile-filter-sheet-form .recipe-filters-container{display:contents}.mobile-filter-sheet-form .recipe-filter-group{display:flex;flex-direction:column;gap:4px;width:100%;flex-basis:auto!important}.mobile-filter-sheet-form .recipe-filter-group.recipe-filter-name{display:none}.mobile-filter-sheet-form .recipe-filter-group select,.mobile-filter-sheet-form .recipe-filter-group input{width:100%;padding:10px 12px!important;font-size:1rem!important;height:auto!important}.mobile-filter-sheet-form .recipe-filter-reset-button{width:100%;margin-top:5px}@media (max-width: 992px){.recipes-crud-container>h1.page-main-title{display:none}}@media (max-width: 768px){.container.recipes-crud-container{padding:20px}.recipes-crud-container>h1{font-size:1.8rem}}.recipe-form{width:100%;box-sizing:border-box}.recipe-form .form-grid{display:grid;grid-template-columns:1fr;gap:18px}.recipe-form .form-group label{color:#6a5928;font-weight:700}.recipe-form .form-group input[type=text],.recipe-form .form-group input[type=number],.recipe-form .form-group select,.recipe-form .form-group textarea{border:1px solid #e0cf99;border-radius:8px}.recipe-form .form-group small.form-text,.recipe-form .form-group small.text-muted{font-size:.8rem;color:#6c757d;margin-top:4px;display:block}.recipe-form .form-group.form-group-full-width{grid-column:1 / -1}.recipe-form-top-row{grid-column:1 / -1;display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;align-items:start}@media (max-width: 768px){.recipe-form .form-grid,.recipe-form-top-row{grid-template-columns:1fr}}.recipe-list-container{margin-top:10px}.recipe-list-header-row,.recipe-card-row{display:grid;grid-template-columns:4fr 1.5fr .8fr 1fr 1fr;gap:15px;align-items:center}.recipe-list-header-row{padding:10px 15px}.recipe-list-header-cell{font-weight:700;color:#5f4c00;font-size:.9rem;text-align:left}.recipe-list-header-cell:not(.cell-receta):not(.cell-diet_type){text-align:center}.recipe-card-row{background-color:#fff;border:1px solid #f0e6c1;border-radius:8px;padding:12px 15px;margin-bottom:8px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;position:relative}.recipe-card-row:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000012}.recipe-card-row.expanded{background-color:#fff;border-color:#f0e6c1;box-shadow:0 4px 15px #00000012;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.recipe-list-cell{font-size:.95rem;color:#333;text-align:left;min-width:0}.recipe-list-cell:not(.cell-receta):not(.cell-diet_type){text-align:center}.recipe-list-cell strong{font-weight:600}.recipe-name-cell-content{display:flex;align-items:center;gap:8px}.recipe-list-container .button-expand{background-color:#ffc107;color:#212529;border:none;width:32px;height:32px;text-align:center;border-radius:50%;font-size:1.5rem;font-weight:700;cursor:pointer;padding:0;transition:background-color .2s ease,transform .1s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recipe-list-container .button-expand:hover{background-color:#e0a800;transform:scale(1.05)}.recipe-name-editable{cursor:pointer;color:#3a4d4c;font-weight:500;text-decoration:none;display:inline-block;padding:2px 0}.recipe-name-editable:hover{text-decoration:underline;color:#e67e22}.recipe-name-and-tags-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-wrap:wrap;min-width:0}.tags-list-inline{display:flex;flex-wrap:wrap;gap:4px}.tag-pill-inline{background-color:#e9ecef;color:#495057;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.recipe-detail-expanded-row{background-color:#fff;border:1px solid #f0e6c1;border-top:none;padding:0;border-radius:0 0 8px 8px;margin-bottom:8px}.recipe-detail-expanded-row td{padding:0!important;border:none!important}@media (max-width: 992px){.recipe-list-header-row{display:none}.recipe-card-row{display:flex;flex-wrap:wrap;padding:12px;gap:8px;align-items:baseline}.recipe-list-cell.cell-receta{flex-basis:100%;order:1;padding-bottom:8px;margin-bottom:4px;border-bottom:1px dotted #f0e6c1;font-size:1.1rem;display:block;text-align:left}.recipe-card-row:not(.expanded) .recipe-list-cell:not(.cell-receta){display:none}.recipe-card-row.expanded .recipe-list-cell:not(.cell-receta){display:flex}.recipe-list-cell:not(.cell-receta){flex:1 1 80px;order:2;flex-direction:column;align-items:center;padding:4px;background-color:#f8f9fa;border-radius:4px;border-bottom:none;font-size:.9rem}.recipe-list-cell:before{content:attr(data-label);font-weight:400;color:#777;font-size:.7rem;margin-bottom:2px;text-align:center;position:static;margin-right:0}.recipe-list-cell.cell-receta:before{display:none}.recipe-card-row.expanded .recipe-list-cell.cell-receta{border-bottom:none;margin-bottom:0;padding-bottom:0}}.ingredient-form{padding:15px;background-color:#fff;border-radius:4px;border:1px solid #f5edd8;margin-bottom:0;width:100%;box-sizing:border-box}.ingredient-form .form-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.ingredient-form .form-grid>.form-group{flex:1 1 250px;min-width:200px}.ingredient-form .form-grid>.quantity-group,.ingredient-form .form-grid>.unit-group{flex:0 1 100px}.ingredient-form .form-grid>.form-actions{flex-shrink:0;margin:0}.ingredient-form .form-text.text-muted{flex-basis:100%;margin-top:5px}.ingredient-form h4{margin-top:0}.ingredient-form .form-group small.form-text{font-size:.8rem;color:#6c757d;margin-top:4px}.ingredient-search-input-container{position:relative}.ingredient-search-input{display:block;width:100%;padding:12px;border:1px solid #e0cf99;border-radius:5px;font-size:1rem;box-sizing:border-box;background-color:#fff;color:#333}.ingredient-search-input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 .2rem #e67e2240}.ingredient-search-loading{font-size:.8rem;color:#e67e22;font-style:italic;margin-top:4px;padding-left:2px}.ingredient-suggestions-list{list-style:none;padding:0;margin:0;border:1px solid #e0cf99;border-top:none;border-radius:0 0 5px 5px;max-height:200px;overflow-y:auto;position:absolute;top:100%;left:0;width:100%;background-color:#fff;z-index:100;box-shadow:0 4px 8px #0000001a;box-sizing:border-box}.suggestion-item{padding:10px 12px;cursor:pointer;font-size:.95rem}.suggestion-item:hover,.suggestion-item.active{background-color:#f0f0f0}.suggestion-no-results{padding:10px 12px;font-size:.95rem;color:#6c757d;font-style:italic;background-color:#fff;border:1px solid #e0cf99;border-top:none;border-radius:0 0 5px 5px;text-align:center;position:absolute;top:100%;left:0;width:100%;z-index:100;box-sizing:border-box}@media (max-width: 768px){.ingredient-form{padding-top:0}}.ingredient-list-container{margin-top:0;width:100%;box-sizing:border-box}.ingredient-list{list-style:none;padding:0}.ingredient-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #f0e6c1;background-color:#fffcf2;border-radius:4px;margin-bottom:8px}.ingredient-info{flex-grow:1}.ingredient-info strong{color:#5f4c00}.ingredient-macros{font-size:.85rem;color:#333;margin-top:4px}.ingredient-macros span{margin-right:8px}@media (max-width: 768px){.ingredient-list-container{margin-top:0}.ingredient-list-item{padding:8px 10px;margin-bottom:6px}.ingredient-macros{font-size:.8rem;margin-top:2px}}.recipe-nutrient-summary{width:100%}.recipe-filters-container{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;align-items:stretch}.recipe-filter-group{display:flex;flex-direction:column;min-width:0}.recipe-filter-name{flex-grow:1;min-width:200px}.recipe-filter-diet,.recipe-filter-macro,.recipe-filter-tag{flex-basis:220px;flex-shrink:0;min-width:0}.recipe-filter-actions{flex-shrink:0;display:flex;align-items:stretch;min-width:0}.recipe-filter-name-input,.recipe-filter-diet-select,.recipe-filter-macro-select,.recipe-filter-tag-input{width:100%;padding:12px;border:1px solid #e0cf99;border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:#fff;color:#333;height:100%}.recipe-filter-name-input::placeholder,.recipe-filter-tag-input::placeholder{color:#999}.recipe-filter-name-input:focus,.recipe-filter-diet-select:focus,.recipe-filter-macro-select:focus,.recipe-filter-tag-input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 .2rem #e67e2240}.recipe-filter-reset-button{height:100%;padding:12px 24px;font-size:.9rem;border-radius:8px;background-color:#e9ecef}@media (max-width: 992px){.recipe-filter-name{flex-basis:100%}}@media (max-width: 768px){.recipes-list-section .recipe-filters-container{display:none}}.recipe-total-nutrient-chart{background-color:#f8f9fa;padding:15px;border-radius:6px;width:100%;box-sizing:border-box}.recipe-total-nutrient-chart h4{font-size:1.1rem;color:#5f4c00;margin-top:0;margin-bottom:10px;border-bottom:1px solid #f0e6c1;padding-bottom:5px}.no-data-message-chart{padding:15px;text-align:center;font-style:italic;color:#777;background-color:#f9f9f9;border-radius:4px}.nutrient-bars-container{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.macro-row{display:flex;flex-direction:column;gap:4px}.macro-label{font-size:.9rem;color:#333;font-weight:500}.macro-bar-wrapper{width:100%;height:24px;background-color:#e9ecef;border-radius:4px;overflow:hidden}.macro-bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;transition:width .5s ease-in-out}.macro-percentage{color:#fff;font-weight:700;font-size:.75rem;text-shadow:1px 1px 1px rgba(0,0,0,.3)}.portion-totals{margin-top:15px;border-top:1px solid #dee2e6;padding-top:10px}.portion-totals p{margin:5px 0;font-size:.95rem}.portion-totals p strong{color:#5f4c00}.recipes-list-section{margin-bottom:30px;padding:0;background-color:transparent;border:none;width:100%;box-sizing:border-box}.recipe-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recipe-list-header>h2{color:#6a5928;margin:0;border-bottom:none;padding-bottom:0;font-size:2rem;font-weight:700}.recipe-list-header .button-primary{background-color:#fcc934;color:#3a4d4c;border-radius:8px;font-weight:700;padding:12px 24px;font-size:.9rem}.recipe-list-header .button-primary:hover:not(:disabled){background-color:#eab629}.mobile-filter-header,.fab-add-new-recipe{display:none}@media (max-width: 768px){.recipes-list-section{overflow-x:hidden}.recipe-list-header{display:none}.mobile-filter-header{display:flex;gap:12px;align-items:center;margin-bottom:20px}.mobile-search-wrapper{flex-grow:1;position:relative}.mobile-search-wrapper:before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;font-size:1rem;pointer-events:none}.mobile-search-input{width:100%;padding:12px 15px 12px 40px;font-size:1rem;border:1px solid #e0cf99;border-radius:8px;box-sizing:border-box;background-color:#fff}.mobile-filter-button{flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #e0cf99;background-color:#fff;color:#5f4c00;border-radius:8px;display:flex;align-items:center;justify-content:center}.fab-add-new-recipe{display:flex;align-items:center;justify-content:center;position:fixed;bottom:80px;right:20px;width:56px;height:56px;background-color:#fecb2e;color:#3a4d4c;border-radius:50%;border:none;box-shadow:0 4px 12px #0003;z-index:1001;cursor:pointer;transition:background-color .2s,transform .2s}.fab-add-new-recipe:hover{background-color:#eab629;transform:scale(1.05)}.fab-add-new-recipe svg{width:24px;height:24px}}#recipe-table-region{scroll-margin-top:110px}.recipe-ai-modal-content{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:650px;max-height:90vh;display:flex;flex-direction:column;overflow-y:auto}.recipe-ai-modal-content h3{margin-top:0;margin-bottom:20px;color:#5f4c00;font-size:1.6rem;text-align:center;border-bottom:1px solid #f0e6c1;padding-bottom:10px}.ai-recipe-form .form-group{margin-bottom:15px}.ai-recipe-form .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#5f4c00}.ai-recipe-form textarea,.ai-recipe-form input[type=text],.ai-recipe-form input[type=number],.ai-recipe-form select{width:100%;padding:10px;border:1px solid #e0cf99;border-radius:5px;font-size:1rem;box-sizing:border-box;background-color:#fff}.ai-recipe-form textarea:focus,.ai-recipe-form input[type=text]:focus,.ai-recipe-form input[type=number]:focus,.ai-recipe-form select:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 .2rem #e67e2240}.ai-ingredient-search-container{position:relative;margin-bottom:8px}.ai-suggestions-list{list-style:none;padding:0;margin:0;border:1px solid #e0cf99;border-top:none;border-radius:0 0 5px 5px;max-height:150px;overflow-y:auto;position:absolute;top:100%;left:0;width:100%;background-color:#fff;z-index:1010;box-shadow:0 3px 6px #0000001a}.ai-suggestion-item{padding:8px 10px;cursor:pointer;font-size:.9rem}.ai-suggestion-item:hover,.ai-suggestion-item.active{background-color:#f0f0f0}.ai-selected-ingredients-tags{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;min-height:20px}.ai-ingredient-tag{background-color:#e67e22;color:#fff;padding:5px 10px;border-radius:15px;font-size:.85rem;display:inline-flex;align-items:center;gap:6px}.ai-ingredient-tag button{background:none;border:none;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;padding:0;line-height:1;opacity:.7}.ai-ingredient-tag button:hover{opacity:1}.ai-constraints-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:20px}.ai-modal-status{text-align:center;font-style:italic;color:#e67e22;padding:20px}.ai-modal-error{margin:10px 0}.ai-generated-recipe-display{margin-top:15px;border-top:1px solid #eee;padding-top:15px}.ai-generated-recipe-display h4{font-size:1.3rem;color:#e67e22;margin-top:0;margin-bottom:10px}.ai-generated-recipe-display h5{font-size:1.1rem;color:#5f4c00;margin-top:15px;margin-bottom:8px}.ai-generated-recipe-display p{margin-bottom:8px;line-height:1.5}.ai-generated-recipe-display p strong{font-weight:600}.ai-ingredient-list{list-style:disc;padding-left:25px;margin-bottom:15px}.ai-ingredient-list li{margin-bottom:5px}.ai-instructions-text{background-color:#f9f9f9;padding:10px 15px;border-radius:4px;border:1px solid #f0f0f0;max-height:200px;overflow-y:auto;white-space:pre-wrap}.ai-instructions-text p{margin:0 0 8px;line-height:1.6}.ai-instructions-text p:last-child{margin-bottom:0}.recipe-ai-modal-content .modal-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.recipe-ai-modal-content .modal-actions button{padding:10px 18px;font-size:.9rem}.recipe-ai-modal-content .modal-actions:has(button:only-child){justify-content:flex-end}.recipe-editor-modal-content{background-color:#fff;padding:0;width:90%;max-width:900px}.modal-close-button{position:absolute;top:15px;right:20px;background:none;border:none;font-size:2rem;font-weight:700;color:#888;cursor:pointer;line-height:1;padding:0;transition:color .2s ease;text-transform:none;letter-spacing:normal}.modal-close-button:hover{color:#333;transform:none;box-shadow:none}@media (max-width: 768px){.recipe-editor-modal-overlay{align-items:stretch;padding:0}.recipe-editor-modal-content{flex:1;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;animation:none;padding:0}}.recipe-detail-expanded-view{padding:15px;display:flex;flex-direction:column;gap:20px}.recipe-author-info{text-align:right;font-size:.85rem;color:#777;margin-bottom:10px;padding-bottom:5px;border-bottom:1px dotted #e0e0e0}.recipe-detail-expanded-view h4{font-size:1.1rem;color:#5f4c00;margin-top:0;margin-bottom:10px;border-bottom:1px solid #f0e6c1;padding-bottom:5px}.recipe-notes-section p{font-size:.9rem;line-height:1.6;white-space:pre-wrap;margin:0}.recipe-tag-input-container{width:100%}.recipe-tag-input-container label{display:block;margin-bottom:6px;font-weight:700;color:#6a5928}.tags-display-area{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #e0cf99;border-radius:8px;background-color:#fffcf2;min-height:46px;box-sizing:border-box;cursor:text}.tag-pill{background-color:#fecb2e;color:#3a4d4c;padding:5px 10px;border-radius:15px;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:background-color .2s}.tag-remove-button{background:none;border:1px solid transparent;color:#3a4d4c;font-size:1rem;font-weight:700;cursor:pointer;padding:0;width:18px;height:18px;border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.tag-remove-button:hover{background-color:#0000001a;color:#000}.tag-input-field{flex-grow:1;border:none;background:transparent;outline:none;font-size:1rem;padding:4px;min-width:150px;color:#333}.tag-suggestions-list{list-style:none;padding:0;margin:4px 0 0;border:1px solid #e0cf99;border-radius:5px;max-height:150px;overflow-y:auto;background-color:#fff;box-shadow:0 3px 6px #0000001a;position:relative;z-index:100}.tag-suggestion-item{padding:8px 12px;cursor:pointer;font-size:.9rem}.tag-suggestion-item:hover,.tag-suggestion-item.active{background-color:#f0f0f0}.recipe-editor-multistep-container{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;box-sizing:border-box;background-color:#f8f9fa;overflow:hidden}.recipe-editor-header{padding:8px 15px;flex-shrink:0;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;z-index:10;display:flex;flex-direction:column;gap:8px}.header-top-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:28px}.header-top-row .header-title{grid-column:2 / 3;text-align:center;font-size:1rem;font-weight:500;color:#555;margin:0}.header-top-row .modal-close-button{grid-column:3 / 4;justify-self:end;background:none;border:none;font-size:1.8rem;color:#888}.recipe-editor-scrollable-body{flex-grow:1;overflow-y:auto;padding:20px 15px;-webkit-overflow-scrolling:touch}.form-step-content{display:flex;flex-direction:column;gap:15px;animation:stepFadeIn .4s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recipe-form-inline-group{display:grid;grid-template-columns:1fr 1fr;gap:15px}.progress-bar-container{display:flex;justify-content:space-between;align-items:center;position:relative;width:100%;margin:0}.progress-bar-line{position:absolute;top:50%;left:0;right:0;height:4px;background-color:#e0e0e0;transform:translateY(-50%);z-index:1}.progress-bar-line:before{content:"";position:absolute;top:0;left:0;height:100%;background-color:#fecb2e;transition:width .4s ease-out}.progress-bar-container[data-step="1"] .progress-bar-line:before{width:0%}.progress-bar-container[data-step="2"] .progress-bar-line:before{width:100%}.progress-step{z-index:2;position:relative}.progress-step-circle{width:24px;height:24px;border-radius:50%;background-color:#fff;color:#ccc;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:background-color .3s ease,border-color .3s ease,color .3s ease;border:2px solid #e0e0e0}.progress-step.active .progress-step-circle{border-color:#fecb2e;background-color:#fecb2e;color:#3a4d4c}.progress-step.completed .progress-step-circle{border-color:#fecb2e;background-color:#fecb2e;color:#3a4d4c;font-size:1.1rem}.form-actions{padding:10px 15px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}.actions-right{display:flex;align-items:center;gap:10px}.form-actions button{padding:10px 12px;font-size:.85rem;font-weight:600;white-space:nowrap}.recipe-editor-singlepage-container{display:flex;flex-direction:column;flex-grow:1;min-height:0;width:100%;box-sizing:border-box}.recipe-editor-header{padding:20px 25px;flex-shrink:0;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.recipe-editor-header h3{margin:0;font-size:1.5rem;color:#5f4c00}.recipe-editor-header .modal-close-button{background:none;border:none;font-size:1.8rem;font-weight:700;color:#888;cursor:pointer;line-height:1;padding:0 5px}.recipe-editor-scrollable-body{flex-grow:1;overflow-y:auto;padding:20px 25px;background-color:#f8f9fa;min-height:0}.recipe-editor-grid{display:grid;grid-template-columns:1fr;gap:15px;align-items:start}.recipe-editor-main-content{display:flex;flex-direction:column;gap:8px}.ingredients-management-section{display:flex;flex-direction:column;gap:10px}.recipe-form-nutrient-summary-bottom{margin-top:15px}.recipe-form-nutrient-summary-bottom h4{font-size:1.1rem;color:#5f4c00;margin-top:0;margin-bottom:10px;border-bottom:1px solid #f0e6c1;padding-bottom:5px}.form-actions.recipe-main-actions{margin-top:auto;padding:15px 25px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:10px}.form-actions.recipe-main-actions .button-delete{margin-right:auto}.recipe-detail-modal-content{max-width:800px;padding:0}.recipe-detail-modal-header{padding:20px 25px;border-bottom:1px solid #e9ecef}.recipe-detail-modal-header h3{font-size:1.8rem;color:#3a4d4c;margin:0 0 10px;text-align:center}.recipe-detail-header-info{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;text-align:center}.recipe-detail-header-info p{margin:0;font-size:1rem;color:#555}.recipe-detail-header-info strong{color:#333;margin-right:6px}.recipe-detail-modal-body{padding:15px 25px 40px}.recipe-detail-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.ingredients-column h4,.summary-column h4,.recipe-detail-notes h4{font-size:1.2rem;color:#5f4c00;margin-top:0;margin-bottom:15px}.recipe-detail-ingredients-list{list-style:disc;padding-left:20px;margin:0;font-size:.95rem}.recipe-detail-ingredients-list li{margin-bottom:8px;line-height:1.5}.summary-column .recipe-total-nutrient-chart{background-color:transparent;padding:0;border:none}.recipe-detail-notes{margin-top:25px;padding-top:20px;border-top:1px dashed #dee2e6}.recipe-detail-notes p{margin:0;line-height:1.6;white-space:pre-wrap;font-size:.95rem;background-color:#f8f9fa;padding:10px;border-radius:4px;border:1px solid #e9ecef}@media (max-width: 768px){.recipe-detail-modal-grid{grid-template-columns:1fr}.recipe-detail-modal-header h3{font-size:1.5rem}.recipe-detail-modal-body{padding:20px}}.nutriplan-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:transparent}.container.nutriplan-container{max-width:1200px;width:100%;margin:0 auto 20px;padding:25px;background-color:#fff;border-radius:0 0 10px 10px;box-shadow:0 4px 25px #0000000d;flex-grow:1;overflow-x:hidden;box-sizing:border-box}.nutriplan-container>h1{color:#3a4d4c;text-align:center;margin-top:10px;margin-bottom:25px;font-size:2.2rem}.plan-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.plan-list-header h2{margin:0;color:#5f4c00;font-size:1.8rem}.plan-list-header-actions{display:flex;gap:10px;flex-wrap:wrap}.plan-list-header-actions button{display:inline-flex;align-items:center;gap:8px}.plan-editor-modal-content{background-color:#f8f9fa;padding:0;max-width:800px}.plan-editor-header{padding:20px 25px;flex-shrink:0;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.plan-editor-header h3{margin:0;font-size:1.5rem;color:#5f4c00}.plan-editor-header .modal-close-button{position:static;font-size:1.8rem}.plan-editor-scrollable-body{flex-grow:1;overflow-y:auto;padding:20px 25px;background-color:#f8f9fa}.plan-editor-modal-content .plan-form .form-actions{margin-top:auto;padding:15px 25px;border-top:1px solid #e0e0e0;flex-shrink:0;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:10px}.search-plan-modal-content{background-color:#fff;padding:0;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.search-plan-header{padding:15px 20px;border-bottom:1px solid #eee;flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.search-plan-header h3{margin:0;font-size:1.2rem;color:#3a4d4c}.search-plan-scrollable-body{flex-grow:1;overflow-y:auto;padding:10px}.shared-plan-list{list-style:none;padding:0;margin:0}.shared-plan-item{padding:12px 15px;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.shared-plan-item:last-child{border-bottom:none}.shared-plan-item:hover{background-color:#f8f9fa}.shared-plan-item.selected{background-color:#fffbeb;font-weight:700;border-left:4px solid #fecb2e}.shared-plan-name{color:#333}.shared-plan-kcal{color:#777;font-size:.9rem}.search-plan-footer{padding:15px 20px;border-top:1px solid #eee;flex-shrink:0;display:flex;justify-content:flex-end;gap:10px}@media (max-width: 768px){.container.nutriplan-container{padding:20px}.nutriplan-container>h1{font-size:1.8rem}.plan-list-header h2{font-size:1.6rem;width:100%}.plan-list-header-actions{width:100%;justify-content:space-between}.plan-list-header-actions button{flex-grow:1}}.plan-form .form-group label{font-weight:500}.form-group-kcal-objective{margin-bottom:1rem}.form-group-kcal-objective .macro-label-group{display:flex;align-items:center}.form-group-kcal-objective .macro-label-group label{margin-bottom:0}.kcal-objective-header{display:flex;align-items:center;margin-bottom:6px}.input-with-get-container{display:flex;align-items:center;gap:12px}.form-group .input-with-get-container input[type=number]{width:200px;flex:none}.current-get-container{display:flex;align-items:center;gap:8px;flex-shrink:0}.current-get-display{font-size:.8rem;font-style:italic;color:#555;white-space:nowrap}.use-get-button{background-color:#e9ecef;color:#3a4d4c;border:1px solid #ced4da;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s ease;flex-shrink:0}.use-get-button:hover{background-color:#dee2e6;border-color:#adb5bd}.use-get-button svg{width:12px;height:12px;stroke-width:2}.plan-direct-targets-container{margin-top:10px;padding-top:0;margin-bottom:25px}.plan-direct-targets-section-title{font-size:1.1rem;color:#8c5c00;margin-bottom:15px;font-weight:600}.direct-targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:10px}.plan-form .direct-targets-grid>.form-group{min-width:0}.plan-direct-targets-container .form-text.text-muted{font-size:.8rem;color:#6c757d;margin-top:10px;display:block;text-align:center}.plan-macro-inputs-container{margin-top:25px;padding-top:15px;border-top:1px dashed #f0e6c1}.plan-macro-section-title{font-size:1.1rem;color:#8c5c00;margin-bottom:15px;font-weight:600}.macro-sliders-grid{grid-template-columns:1fr;gap:15px;margin-bottom:10px}@media (min-width: 600px){.macro-sliders-grid{grid-template-columns:1fr}}.plan-macro-inputs-container .form-group{position:relative}.plan-macro-inputs-container .form-group label{font-size:.9rem;margin-bottom:8px}.macro-kcal-display{font-size:.8em;color:#555;margin-left:4px}.slider-container{display:flex;align-items:center;gap:10px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;flex-grow:1;height:8px;background:#e0cf99;border-radius:5px;outline:none;opacity:.9;transition:opacity .15s ease-in-out;cursor:pointer}input[type=range]:hover{opacity:1}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;background:#e67e22;border-radius:50%;border:3px solid #fff;cursor:pointer;box-shadow:0 1px 3px #0000004d;transition:background-color .2s ease}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#e67e22;border-radius:50%;border:3px solid #fff;cursor:pointer;box-shadow:0 1px 3px #0000004d;transition:background-color .2s ease}input[type=range]#carb_percentage_range_styled::-webkit-slider-thumb{background-color:#2980b9}input[type=range]#carb_percentage_range_styled::-moz-range-thumb{background-color:#2980b9}input[type=range]#carb_percentage_range_styled:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #2980b966}input[type=range]#carb_percentage_range_styled:focus::-moz-range-thumb{box-shadow:0 0 0 3px #2980b966}input[type=range]#prot_percentage_range_styled::-webkit-slider-thumb{background-color:#27ae60}input[type=range]#prot_percentage_range_styled::-moz-range-thumb{background-color:#27ae60}input[type=range]#prot_percentage_range_styled:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #27ae6066}input[type=range]#prot_percentage_range_styled:focus::-moz-range-thumb{box-shadow:0 0 0 3px #27ae6066}input[type=range]#fat_percentage_range_styled::-webkit-slider-thumb{background-color:#f39c12}input[type=range]#fat_percentage_range_styled::-moz-range-thumb{background-color:#f39c12}input[type=range]#fat_percentage_range_styled:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #f39c1266}input[type=range]#fat_percentage_range_styled:focus::-moz-range-thumb{box-shadow:0 0 0 3px #f39c1266}.plan-macro-inputs-container .form-text.text-muted{font-size:.8rem;color:#6c757d;margin-top:10px;display:block;text-align:center}.info-icon-button{background:none;border:none;color:#e67e22;font-size:1.1rem;font-weight:700;cursor:help;padding:0 4px;line-height:1;border-radius:50%;transition:color .2s,background-color .2s;text-transform:none;letter-spacing:normal;margin-right:6px}.info-icon-button:hover,.info-icon-button:focus{color:#d35400;background-color:#fef3e0;outline:none}.tooltip-container{position:absolute;background-color:#3e3e3e;color:#fff;padding:12px 15px;border-radius:6px;box-shadow:0 4px 12px #00000040;z-index:1050;width:auto;max-width:320px;opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility 0s linear .2s;pointer-events:none}.tooltip-content h5{font-size:1rem;color:gold;margin-top:0;margin-bottom:10px;border-bottom:1px solid #555;padding-bottom:5px}@media (max-width: 768px){.direct-targets-grid{grid-template-columns:1fr}}.plan-list-wrapper{display:flex;flex-direction:column;gap:16px}.plan-list-container{display:grid;grid-template-columns:1fr;gap:12px}.inactive-plans-toggle{background-color:#f8f9fa;border:1px solid #dee2e6;padding:12px 20px;border-radius:8px;cursor:pointer;text-align:center;font-weight:600;color:#495057;transition:background-color .2s ease,color .2s ease;display:flex;justify-content:center;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.inactive-plans-toggle:hover{background-color:#e9ecef}.inactive-plans-toggle .toggle-arrow{transition:transform .3s cubic-bezier(.25,.1,.25,1)}.inactive-plans-toggle.expanded .toggle-arrow{transform:rotate(180deg)}.inactive-plans-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease-out}.inactive-plans-container.expanded{grid-template-rows:1fr}.inactive-plans-container>.plan-list-container{min-height:0;overflow:hidden}.plan-card{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;padding:15px 20px;box-shadow:0 4px 12px #0000000d;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;cursor:pointer;display:flex;flex-direction:column;gap:12px;position:relative}.plan-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}.plan-card.selected{border-color:#fecb2e;box-shadow:0 4px 12px #fecb2e4d}.plan-card-header{display:flex;flex-direction:column;align-items:stretch;gap:8px}.plan-card-title-group{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px}.plan-card-title{font-size:1.1rem;margin:0;font-weight:600;color:#3a4d4c;white-space:normal;overflow:hidden;text-overflow:ellipsis}.plan-card-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.plan-card-kcal{font-size:.85rem;font-weight:500;color:#555;white-space:nowrap;flex-shrink:0}.macro-distribution-bar-container{min-width:100px;flex-grow:1}.macro-distribution-bar{display:flex;width:100%;height:20px;border-radius:10px;overflow:hidden;background-color:#e9ecef}.macro-bar-segment{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700}.macro-bar-segment.carbs{background-color:#2980b9}.macro-bar-segment.protein{background-color:#27ae60}.macro-bar-segment.fat{background-color:#f39c12}.plan-card-body{display:flex;justify-content:space-around;align-items:center;text-align:center;padding-top:12px;border-top:1px solid #f0f0f0}.macro-gram-item{display:flex;flex-direction:column;align-items:center;gap:2px}.macro-icon{font-size:1.5rem;line-height:1}.macro-label{font-size:.8rem;color:#777;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:4px}.macro-value{font-size:1rem;font-weight:600;color:#333}.protein-per-kg{font-size:.75rem;font-weight:400;color:#555;background-color:#f0f0f0;padding:1px 5px;border-radius:4px;display:inline-block}.plan-actions-menu-container{position:relative;display:inline-flex}.plan-kebab-button{background:transparent;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#5f4c00;transition:background-color .2s}.plan-actions-dropdown{position:absolute;top:100%;right:0;background-color:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;border:1px solid #e9ecef;z-index:101;min-width:120px;padding:5px 0;animation:dropdown-fade-in .15s ease-out}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.plan-actions-dropdown .dropdown-item{display:block;width:100%;text-align:left;padding:8px 15px;font-size:.9rem;color:#333;background:none;border:none;cursor:pointer}.plan-actions-dropdown .dropdown-item:hover{background-color:#f8f9fa}.plan-actions-dropdown .delete-item{color:#c0392b}.plan-actions-dropdown .delete-item:hover{background-color:#fdd;color:#a93226}.plan-status-toggle{display:flex;align-items:center;position:relative}.toggle-switch{position:relative;width:40px;height:22px;background-color:#ccc;border-radius:11px;border:none;cursor:pointer;transition:background-color .2s ease-in-out,opacity .2s;padding:0}.toggle-switch[aria-checked=true]{background-color:#fecb2e}.toggle-switch:disabled{cursor:not-allowed;opacity:.7}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:transform .2s ease-in-out}.toggle-switch[aria-checked=true] .toggle-knob{transform:translate(18px)}.status-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#fecb2e;animation:spin .8s linear infinite;margin-right:8px}.plan-status-toggle .status-spinner+.toggle-switch{opacity:.5}@keyframes arrive-and-highlight{0%{transform:translateY(30px) scale(.98);opacity:.7;background-color:#fffbeb;box-shadow:0 2px 8px #0000001a}to{transform:translateY(0) scale(1);opacity:1;background-color:#fff;box-shadow:0 4px 12px #fecb2e4d;border-color:#fecb2e}}.plan-card.highlight-active{position:relative;animation:arrive-and-highlight .6s cubic-bezier(.25,.1,.25,1) forwards}@media (min-width: 769px){.plan-card-header{flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.plan-card-title-group{flex-wrap:nowrap;gap:15px;min-width:0}.plan-card-title{font-size:1.25rem;white-space:nowrap;flex-grow:0;overflow:hidden;text-overflow:ellipsis}.plan-card-kcal{font-size:1rem}.macro-distribution-bar-container{min-width:150px}.macro-gram-item{gap:4px}.macro-icon{font-size:1.8rem}.macro-value{font-size:1.1rem}.macro-label{flex-direction:row}.plan-card-controls .plan-status-toggle{position:absolute;bottom:15px;right:20px}}.weekly-schedule-cards-container{display:flex;flex-direction:column;gap:25px;margin-top:20px}.day-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 15px #0000000f;overflow:hidden}.day-card-header{padding:15px 20px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-direction:column;gap:12px}.day-card-title-group{display:flex;justify-content:space-between;align-items:center;width:100%}.day-card-header h3{margin:0;font-size:1.5rem;color:#3a4d4c;font-weight:600}.day-card-kcal{font-size:1.1rem;font-weight:500;color:#27ae60;white-space:nowrap}.day-card-kcal.exceeded{color:#c0392b;font-weight:600}.day-card-kcal span{font-weight:700}.day-card-toggle-icon{display:none}.day-card-macros-summary{display:flex;flex-direction:column;gap:10px;width:100%}.macro-summary-pill{display:flex;flex-direction:column;gap:4px}.macro-pill-info{display:flex;justify-content:space-between;align-items:baseline}.macro-summary-pill.exceeded .macro-pill-values{color:#c0392b;font-weight:700}.segmented-progress-bar-container{width:100%;height:16px;background-color:#e9ecef;border-radius:8px;overflow:hidden;border:1px solid #dee2e6}.macro-summary-pill.exceeded .segmented-progress-bar-container{border-color:#c0392b}.segmented-progress-bar{display:flex;width:100%;height:100%}.progress-segment{height:100%;transition:width .3s ease,filter .2s ease;cursor:help}.progress-segment:hover{filter:brightness(1.15)}.macro-pill-label,.macro-pill-values{font-size:.8rem}.macro-pill-label{font-weight:500;color:#555}.macro-pill-values{font-weight:600;color:#333}.day-card-legend-container{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;padding-top:8px;border-top:1px dashed #dee2e6}.legend-item{display:flex;align-items:center;gap:6px}.legend-color-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.legend-label{font-size:.75rem;color:#444}.day-card-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;padding:20px}.meal-slot-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:12px;display:flex;flex-direction:column}.meal-slot-card h4{margin:0 0 10px;font-size:1rem;font-weight:600;color:#555;text-align:center;border-bottom:1px solid #eee;padding-bottom:5px}.meal-slot-recipes-list{flex-grow:1;display:flex;flex-direction:column;gap:8px;min-height:40px}.assigned-recipe-pill{background-color:#fffbeb;border:1px solid #f0e6c1;border-radius:15px;padding:6px 8px 6px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.assigned-recipe-pill:hover{transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.recipe-pill-info{display:flex;flex-direction:column;min-width:0}.recipe-pill-name{font-size:.85rem;font-weight:500;color:#5f4c00;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.recipe-pill-kcal{font-size:.75rem;color:#777}.remove-recipe-pill-btn{background-color:#fde8e8;color:#c0392b;border:1px solid #fbcaca;border-radius:50%;width:22px;height:22px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;flex-shrink:0;margin-top:2px}.remove-recipe-pill-btn:hover{background-color:#c0392b;color:#fff;border-color:#c0392b}.assign-recipe-button{margin-top:10px;width:100%;padding:8px;background-color:#e9ecef;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-weight:500;cursor:pointer;transition:background-color .2s}.assign-recipe-button:hover{background-color:#dee2e6}.schedule-tooltip{position:fixed;background-color:#333;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;pointer-events:none;z-index:100;white-space:nowrap}@media (max-width: 768px){.day-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.day-card-title-group{padding-right:25px}.day-card-toggle-icon{display:inline-block;border:solid #3a4d4c;border-width:0 2px 2px 0;padding:4px;transform:rotate(45deg);transition:transform .3s ease-out;position:absolute;right:20px;top:20px}.day-card.expanded .day-card-toggle-icon{transform:rotate(-135deg)}.day-card-body{display:none}.day-card.expanded .day-card-body{display:grid}}.assign-recipe-modal-content{max-width:550px;max-height:80vh}.assign-recipe-modal-content h3{margin-top:0;margin-bottom:20px;color:#5f4c00;font-size:1.5rem;text-align:center;flex-shrink:0}.assign-recipe-modal-content>form{display:flex;flex-direction:column;flex-grow:1;min-height:0}.assign-recipe-modal-content .form-group{margin-bottom:15px;flex-shrink:0}.assign-recipe-modal-content .form-group label{display:block;margin-bottom:5px;font-weight:500;color:#5f4c00}.assign-recipe-modal-content .recipe-search-modal-input{width:100%;padding:10px;border:1px solid #e0cf99;border-radius:5px;font-size:1rem;box-sizing:border-box}.assign-recipe-modal-content .recipe-search-modal-input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 .2rem #e67e2240}.recipe-results-list{list-style:none;padding:8px;margin:0 0 15px;overflow-y:auto;border:1px solid #dee2e6;border-radius:8px;background-color:#f8f9fa;flex-grow:1;min-height:60px;display:flex;flex-direction:column;gap:4px}.recipe-result-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 15px;cursor:pointer;border-bottom:none;background-color:#fffbeb;border-radius:5px;transition:background-color .15s ease-in-out,box-shadow .2s ease,transform .1s ease;gap:15px}.recipe-result-item:last-child{border-bottom:none}.recipe-result-item:hover{background-color:#fff9e6;box-shadow:0 2px 5px #00000014;transform:translateY(-1px)}.recipe-result-item.already-in-slot{background-color:#e9ecef;color:#495057;cursor:default}.recipe-result-item.already-in-slot:hover{background-color:#dde2e6;box-shadow:none;transform:none}.recipe-result-item .recipe-name-modal{font-size:.95rem;font-weight:500;min-width:0;word-break:break-word}.recipe-info-and-tags-wrapper{display:flex;flex-direction:row;align-items:center;gap:8px;flex-grow:1;min-width:0;flex-wrap:wrap}.tags-list-inline-modal{display:flex;flex-wrap:wrap;gap:4px}.tag-pill-inline-modal{background-color:#e9ecef;color:#495057;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500;white-space:nowrap}.recipe-details-modal{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex-shrink:0;gap:2px}.recipe-kcal-modal{font-size:.9rem;font-weight:700;color:#333}.recipe-macros-modal{font-size:.75rem;color:#6c757d}.recipe-list-message{padding:20px;text-align:center;font-style:italic;color:#555;flex-grow:1;display:flex;align-items:center;justify-content:center}.assign-recipe-modal-content .form-actions.modal-actions{flex-shrink:0;margin-top:auto;padding-top:15px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.plan-dashboard-container{margin-top:0;padding:0;background-color:transparent;border-radius:8px;border:none}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.plan-dashboard-view-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #cccccc;border-radius:4px;padding:10px 35px 10px 15px;font-size:1rem;color:#333;cursor:pointer;width:auto;min-width:200px;max-width:fit-content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23555555'%3E%3Cpath d='M8 10.707L2.646 5.354a.5.5 0 0 1 .708-.708L8 9.293l4.646-4.647a.5.5 0 0 1 .708.708L8 10.707z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;line-height:1.5;display:block}.plan-dashboard-view-select:focus{outline:none;border-color:#2980b9;box-shadow:0 0 0 .2rem #2980b940}.dashboard-section{margin-bottom:25px;padding:20px;background-color:#fff;border-radius:8px;border:1px solid #d6eaf8}.dashboard-section:last-child{margin-bottom:0}.dashboard-section-title{font-size:1.4rem;color:#1f638f;margin-top:0;margin-bottom:15px;text-align:center;border-bottom:1px solid #b0dff7;padding-bottom:10px}.sequenced-charts-container{display:flex;flex-direction:column;gap:25px;align-items:stretch}.daily-kcal-day-summary,.unified-meal-schedule-chart-container{background-color:#fff;padding:15px;border-radius:6px;box-shadow:0 2px 6px #0000000f;display:flex;flex-direction:column;height:100%}.daily-kcal-day-summary.no-data-container,.unified-meal-schedule-chart-container.no-data-container{align-items:center;justify-content:center;min-height:150px}.daily-kcal-day-title{font-size:1.1rem;color:#5f4c00;margin:0 0 15px;text-align:center;border-bottom:1px dashed #e0cf99;padding-bottom:8px;flex-shrink:0}.meal-schedule-specific-title{font-size:1.25rem;color:#5f4c00;margin:0 0 15px;text-align:center;border-bottom:1px dashed #e0cf99;padding-bottom:10px;flex-shrink:0;font-weight:600}.daily-kcal-day-summary .nutrient-bar-chart-plan{display:flex;flex-direction:column;gap:8px;flex-grow:1}.bar-group-plan{display:flex;flex-direction:column;gap:3px}.bar-label-plan{font-size:.85rem;color:#444}.bar-wrapper-plan{width:100%;background-color:#f0f0f0;border-radius:3px;height:20px;overflow:hidden;position:relative}.bar-fill-plan{height:100%;border-radius:3px;transition:width .5s ease-in-out;display:flex;align-items:center;justify-content:flex-start;padding-left:6px;box-sizing:border-box}.bar-percentage-plan{color:#fff;font-weight:500;font-size:.75rem;text-shadow:1px 1px 1px rgba(0,0,0,.25)}.daily-total-kcal-summary{margin:15px 0 0 auto;padding-top:8px;font-size:.95rem;font-weight:500;color:#e67e22;border-top:1px solid #eee;flex-shrink:0;text-align:right}.unified-meal-bars-area{display:flex;justify-content:space-around;align-items:flex-end;height:150px;gap:8px;padding-bottom:5px;flex-grow:1}.unified-meal-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;max-width:70px;height:100%;justify-content:flex-end}.unified-meal-bar-group.no-data-bar{justify-content:flex-end}.unified-meal-bar-placeholder{font-size:.8rem;color:#999;text-align:center}.unified-meal-bar-stacked{width:80%;max-width:40px;height:100%;display:flex;flex-direction:column;background-color:#f0f0f0;border-radius:3px 3px 0 0;overflow:hidden}.unified-bar-segment{width:100%;transition:height .5s ease-out;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;text-shadow:1px 1px 0px rgba(0,0,0,.2)}.unified-bar-segment span{font-weight:600}.unified-bar-segment.carb{background-color:#2980b9}.unified-bar-segment.prot{background-color:#27ae60}.unified-bar-segment.fat{background-color:#f39c12}.unified-meal-bar-label,.unified-meal-bar-total-kcal{text-align:center;white-space:nowrap}.unified-meal-bar-label{font-size:.75rem;color:#555;margin-top:5px}.unified-meal-bar-total-kcal{font-size:.85rem;color:#333;font-weight:600;margin-top:3px}@media (max-width: 768px){.dashboard-section-title{font-size:1.2rem}.sequenced-charts-container{grid-template-columns:1fr}}.weekly-schedule-section{margin-top:20px;margin-bottom:30px;padding:20px;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0}.weekly-schedule-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:15px}.weekly-schedule-header h3{color:#333;margin:0;border-bottom:none;padding-bottom:0;font-size:1.4rem;font-weight:600;flex-grow:1}.weekly-schedule-header-actions,.manual-save-controls{display:flex;align-items:center;gap:15px;flex-shrink:0}.manual-save-status-indicator{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:4px;font-size:.9rem;transition:opacity .3s ease-out}.manual-save-status-indicator .status-spinner{width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#e67e22;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.manual-save-status-indicator .status-message{font-weight:500}.manual-save-status-indicator .status-message.success{color:#2e7d32}.manual-save-status-indicator .status-message.error{color:#c62828}.nutriplan-actions-footer{margin-top:25px;padding-top:20px;border-top:1px solid #e0e0e0;display:flex;justify-content:center}.report-button{padding:12px 25px;font-size:1rem}@media (max-width: 768px){.weekly-schedule-section,.plan-dashboard-container{width:100%;box-sizing:border-box;overflow-x:hidden}.weekly-schedule-header{flex-direction:column;align-items:flex-start;gap:10px}.weekly-schedule-header h3{font-size:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.manual-save-controls{width:100%;flex-direction:column;align-items:stretch;gap:8px}.manual-save-status-indicator{width:100%;justify-content:center;min-width:0}.nutriplan-actions-footer{padding-top:15px;margin-top:20px}.report-button{width:100%}}.shopping-list-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:transparent}.container.shopping-list-container{max-width:1200px;margin:0 auto 20px;padding:25px;background-color:#fff;border-radius:0 0 10px 10px;box-shadow:0 4px 25px #0000000d;flex-grow:1;width:100%;box-sizing:border-box}.shopping-list-header-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}h2.shopping-list-plan-title{margin:0;color:#3a4d4c;font-size:1.8rem}.shopping-list-grid-layout{display:grid;grid-template-columns:1fr 350px;gap:25px;align-items:flex-start}.shopping-list-grid-layout.right-pane-collapsed{grid-template-columns:1fr}.shopping-list-grid-layout.right-pane-collapsed .shopping-list-right-pane{display:none}.shopping-list-left-pane,.shopping-list-right-pane{background-color:transparent;border:none;border-radius:0;padding:0}.shopping-list-left-pane.single-column-view{margin-bottom:20px}.shopping-list-main-title{font-size:1.5rem;color:#5f4c00;margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #f0e6c1}.toggle-pane-button-wrapper{text-align:right;margin-bottom:15px}.toggle-pane-button{background-color:#e9ecef;border:1px solid #dee2e6;font-size:.8rem;padding:6px 12px;border-radius:6px}.shopping-list-display-container{display:flex;flex-direction:column;gap:25px}.shopping-list-section-title{font-size:1.3rem;font-weight:600;color:#3a4d4c;margin:0 0 15px;padding-bottom:8px;border-bottom:2px solid #fecb2e}.shopping-list-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.shopping-list-item{display:flex;gap:10px;align-items:center;padding:12px 15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000012;transition:opacity .3s ease,box-shadow .2s ease,transform .2s ease}.shopping-list-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.shopping-list-item.checked{opacity:.65;background-color:#f9f9f9}.shopping-list-item.checked .shopping-item-name{text-decoration:line-through;color:#777}.shopping-item-main-content{display:flex;align-items:flex-start;gap:12px;flex-grow:1;min-width:0}.shopping-item-main-content input[type=checkbox]{width:20px;height:20px;flex-shrink:0;cursor:pointer;margin-top:2px}.shopping-item-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-grow:1;min-width:0;cursor:pointer}.shopping-item-line-one{display:flex;align-items:baseline;gap:10px;width:100%}.shopping-item-line-two{padding-left:0}.shopping-item-quantity{font-weight:600;color:#3a4d4c;white-space:nowrap;font-size:.9rem;flex-shrink:0}.shopping-item-name{font-size:.95rem;font-weight:500;color:#333;white-space:normal;word-break:break-word;min-width:0}.shopping-item-brand{font-size:.8rem;font-style:italic;color:#6c757d}.shopping-item-actions{display:flex;align-items:center;flex-shrink:0}.remove-custom-item-btn{background:none;border:none;color:#c0392b;font-size:1.5rem;font-weight:700;cursor:pointer;padding:0 5px;line-height:1;transition:color .2s ease}.remove-custom-item-btn:hover{color:#a93226}.shopping-item-toggle-btn{background:#e9ecef;border:1px solid #dee2e6;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background-color .2s ease;padding:0}.shopping-item-toggle-btn:hover{background-color:#dee2e6}.shopping-item-toggle-btn svg{transition:transform .2s ease;stroke:#495057}.shopping-item-toggle-btn.expanded svg{transform:rotate(180deg)}.shopping-item-details-row{padding:0;background-color:#f8f9fa;border-radius:0 0 8px 8px;box-shadow:inset 0 3px 5px #0000000a;overflow:hidden;animation:fadeInDetails .3s ease-out;margin-top:-12px;margin-bottom:12px;border:1px solid #e9ecef;border-top:none}@keyframes fadeInDetails{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recipe-source-list{list-style:none;padding:10px 15px 15px 50px;margin:0}.recipe-source-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem;color:#555;border-bottom:1px dotted #e0e0e0}.recipe-source-item:last-child{border-bottom:none}.recipe-source-name{font-style:italic}.recipe-source-quantity{font-weight:500;color:#333}.list-export-footer{margin-top:25px;padding-top:15px;border-top:1px solid #f0e6c1;display:flex;justify-content:flex-end}@media (max-width: 992px){.shopping-list-grid-layout{grid-template-columns:1fr}.toggle-pane-button-wrapper{display:none}.shopping-list-right-pane{display:block!important}}@media (max-width: 480px){.shopping-list-item{padding:10px;align-items:flex-start}.shopping-item-line-one{gap:8px}.shopping-item-name,.shopping-item-quantity{font-size:.85rem}.shopping-item-brand{font-size:.75rem}}.charts-grid-sl{display:grid;grid-template-columns:1fr;gap:30px;margin-top:20px}@media (min-width: 768px){.charts-grid-sl{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}.shopping-list-chart{background-color:#fff;padding:20px;border-radius:6px;box-shadow:0 3px 10px #00000012}.chart-section-title{font-size:1.3rem;color:#5f4c00;margin-top:0;margin-bottom:20px;text-align:center;border-bottom:1px solid #f0e6c1;padding-bottom:10px}.chart-area-sl{display:flex;flex-direction:column;gap:12px}.chart-bar-group-sl{display:flex;flex-direction:column;gap:4px}.bar-label-sl{font-size:.9rem;color:#333}.bar-wrapper-sl{width:100%;background-color:#e9ecef;border-radius:4px;height:28px;overflow:hidden;position:relative}.bar-fill-sl{height:100%;border-radius:4px;transition:width .6s ease-in-out;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;color:#fff;font-size:.8rem;font-weight:500;box-sizing:border-box}.bar-fill-sl.section-bar{background-color:#76c7c0}.bar-percentage-text-sl{color:#fff;font-weight:700;font-size:.85rem;text-shadow:1px 1px 1px rgba(0,0,0,.2)}.total-kcal-display-sl{margin-top:15px;padding-top:10px;text-align:right;font-size:1.1rem;font-weight:700;color:#e67e22;border-top:1px solid #f0e6c1}.no-data-message{font-style:italic;color:#777;text-align:center;padding:20px;background-color:#f9f9f9;border-radius:4px;min-height:100px;display:flex;align-items:center;justify-content:center}@media (max-width: 600px){.chart-section-title{font-size:1.1rem}.bar-label-sl{font-size:.85rem}.bar-wrapper-sl{height:24px}.bar-percentage-text-sl{font-size:.8rem}.total-kcal-display-sl{font-size:1rem}}.export-pdf-button+.export-pdf-button{margin-left:10px}.custom-items-section.collapsible-white-section{margin-top:20px;margin-bottom:25px;padding:20px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;width:100%;box-sizing:border-box}.custom-items-section .collapsible-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.custom-items-section .collapsible-section-header .clickable-form-title{color:#333;margin:0;font-size:1rem;border-bottom:none;padding-bottom:0;cursor:pointer;position:relative;padding-right:30px;-webkit-user-select:none;user-select:none;transition:color .2s ease;flex-grow:1}.custom-items-section .collapsible-section-header .clickable-form-title:hover{color:#e67e22}.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);width:20px;height:20px;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;color:#333}.custom-items-section .collapsible-section-header .clickable-form-title:hover .toggle-icon{color:#e67e22}.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon:before,.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon:after{content:"";position:absolute;background-color:currentColor;transition:transform .3s ease,background-color .3s ease}.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon:before{width:16px;height:3px;transform:translate(-50%,-50%);left:50%;top:50%}.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon:after{width:3px;height:16px;transform:translate(-50%,-50%);left:50%;top:50%}.custom-items-section .collapsible-section-header .clickable-form-title .toggle-icon.expanded:after{transform:translate(-50%,-50%) rotate(90deg)}.custom-items-section .collapsible-content{margin-top:15px;padding-top:20px;border-top:1px dashed #e0e0e0}.custom-item-form{max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.custom-item-form .form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:flex-end;margin-bottom:0}.custom-item-form .form-group{margin-bottom:0}.custom-item-form .form-group label{font-size:.72rem;font-weight:500}.custom-item-form .form-actions{margin-top:0;justify-content:flex-start}.custom-item-form .add-custom-item-button{padding:10px 15px;font-size:.9rem}@media (max-width: 768px){.custom-items-section .collapsible-section-header .clickable-form-title{font-size:1rem}.custom-item-form .form-grid{grid-template-columns:1fr}.custom-item-form .form-actions{justify-content:stretch}.custom-item-form .add-custom-item-button{width:100%}}.login-page-container{width:100%;background-image:url(https://images.pexels.com/photos/1279330/pexels-photo-1279330.jpeg);background-size:cover;background-position:center}.login-form-wrapper{background-color:#ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:30px 40px;border-radius:10px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center}.login-form-wrapper>.login-header,.login-form-wrapper>.login-form,.login-form-wrapper>.social-login-divider,.login-form-wrapper>.form-actions{width:100%}.login-header{margin-bottom:25px;text-align:center}.login-page-logo-image{height:auto;width:250px;max-width:100%;display:block;margin:0 auto 20px}.login-header a{text-decoration:none}.login-form .form-group{text-align:left;margin-bottom:20px}.login-form-wrapper .form-actions{display:block;background:transparent;padding:0;border:0;margin-top:20px}.login-form-wrapper .form-actions button{width:100%;padding:14px 20px;font-size:1.1rem}.social-login-divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#eee}.social-login-divider:before,.social-login-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.3)}.social-login-divider .divider-text{padding:0 10px;font-size:.9rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.button-google-signin{background-color:#fff;color:#4a4a4a;border:1px solid #DADCE0;padding:12px 20px;font-size:1rem;font-weight:500;border-radius:5px;cursor:pointer;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:none;letter-spacing:normal}.button-google-signin:hover:not(:disabled){background-color:#f8f9fa;border-color:#c6cacc;box-shadow:0 1px 3px #0000001a;transform:none}.button-google-signin:active:not(:disabled){background-color:#f1f3f4;box-shadow:inset 0 1px 2px #0000001a;transform:none}.button-google-signin:disabled{background-color:#f5f5f5;color:#aeaeae;border-color:#e0e0e0;cursor:not-allowed}.google-icon{width:18px;height:18px}.login-footer-links{margin-top:25px;font-size:.9rem}.login-footer-links p{margin:8px 0}.link-button{background:none;border:none;color:#fecb2e;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;text-transform:none;letter-spacing:normal}.link-button:hover{color:#fff}@media (max-width: 480px){.login-form-wrapper{padding:25px 20px;background-color:#0003}.login-page-logo-image{width:220px;margin-bottom:15px}}.tour-page-outer-container{display:flex;flex-direction:column;flex-grow:1;background-color:#fff}.container.tour-page-container{max-width:900px;margin:0 auto 30px;padding:30px 25px;background-color:transparent;flex-grow:1}.tour-page-header{text-align:center;margin-bottom:40px;padding:20px;background-color:#fffbeb;border-radius:8px;border:1px solid #f0e6c1}.tour-page-header h1{color:#3a4d4c;font-size:2.6rem;margin-top:0;margin-bottom:15px}.tour-page-header .tour-intro{font-size:1.2rem;color:#3a4d4c;line-height:1.7;max-width:750px;margin:0 auto}.tour-search-bar-container{margin-bottom:30px;position:relative}.tour-search-input{width:100%;padding:12px 15px 12px 40px;font-size:1.1rem;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.tour-search-input:focus{outline:none;border-color:#fecb2e;box-shadow:0 0 0 3px #fecb2e40}.tour-search-bar-container:before{content:"🔍";position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#aaa;font-size:1rem}.tour-no-results{text-align:center;font-size:1.1rem;color:#555;margin:40px 0;padding:20px;background-color:#f8f9fa;border-radius:8px}.tour-benefits-summary{text-align:left;margin-bottom:40px;padding:25px 30px;background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 15px #00000012}.tour-benefits-summary h3{color:#3a4d4c;font-size:1.5rem;margin-top:0;margin-bottom:20px;text-align:center}.tour-benefits-summary ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.tour-benefits-summary li{display:flex;align-items:flex-start;gap:15px}.tour-benefits-summary .benefit-icon{background-color:#27ae60;color:#fff;font-weight:700;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.tour-benefits-summary li div{flex-grow:1}.tour-benefits-summary h4{font-size:1.15rem;color:#333;margin-top:0;margin-bottom:5px}.tour-benefits-summary p{color:#555;font-size:1rem;line-height:1.6;margin:0}.tour-features-list{display:flex;flex-direction:column;gap:30px;margin-bottom:40px;margin-top:40px}.tour-feature-section{background-color:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:25px 30px;box-shadow:0 4px 12px #0000000a;transition:box-shadow .2s ease-in-out}.tour-feature-section:hover{box-shadow:0 6px 18px #0000000f}.tour-feature-header{display:flex;align-items:center;margin-bottom:15px}.tour-feature-icon-minimalist{font-size:2.5rem;color:#fecb2e;margin-right:20px;padding:5px;line-height:1}.tour-feature-title-minimalist{color:#3a4d4c;font-size:1.8rem;margin:0;text-align:left}.tour-feature-content{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.tour-feature-summary{font-size:1.05rem;color:#4a4a4a;line-height:1.6;margin-bottom:15px;font-style:italic;padding-left:5px;border-left:3px solid #fdecc0}.tour-steps-toggle{background-color:transparent;border:none;color:#3a4d4c;padding:8px 10px;font-size:.9rem;font-weight:500;border-radius:5px;cursor:pointer;margin-bottom:10px;transition:background-color .2s,color .2s;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:normal}.tour-steps-toggle:hover,.tour-steps-toggle:focus{background-color:#f0f0f0;color:#fecb2e;outline:none}.tour-steps-toggle:focus-visible{outline:2px solid #fecb2e;outline-offset:2px}.toggle-arrow{display:inline-block;transition:transform .2s ease-in-out}.toggle-arrow.expanded{transform:rotate(180deg)}.tour-feature-steps-collapsible{width:100%;padding-left:5px;margin-bottom:15px;max-height:500px;overflow:hidden;transition:max-height .3s ease-in-out,opacity .3s ease-in-out;opacity:1}.tour-feature-steps{list-style:disc;padding-left:20px;font-size:1rem;color:#333;line-height:1.6}.tour-feature-steps li{margin-bottom:8px}.tour-feature-steps a,.faq-answer a{color:#3a4d4c;text-decoration:underline;font-weight:500}.tour-feature-steps a:hover,.faq-answer a:hover{color:#2b3938;text-decoration:none}.tour-feature-button{padding:10px 20px;font-size:.95rem;margin-top:10px;align-self:flex-start}.faq-section{margin-top:40px;padding:25px 0;background-color:transparent;border-radius:0;border:none}.faq-title{color:#3a4d4c;font-size:2rem;text-align:center;margin-top:0;margin-bottom:25px}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{background-color:#fff;border-radius:6px;overflow:hidden}.faq-item.expanded{border:2px solid #fecb2e;box-shadow:0 2px 8px #fecb2e40}.faq-item+.faq-item{margin-top:10px}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 20px;background-color:transparent;border:none;border-bottom:1px solid #e0e0e0;text-align:left;font-size:1.1rem;font-weight:500;color:#212121;cursor:pointer;transition:background-color .2s;text-transform:none;letter-spacing:normal}.faq-item:last-child>.faq-question:not([aria-expanded=true]){border-bottom:none}.faq-item .faq-question[aria-expanded=true]{border-bottom:none;color:#212121}.faq-question:hover{background-color:#f8f8f8}.faq-question .faq-arrow{font-size:.9em;color:#757575;transition:transform .2s ease-in-out,color .2s ease-in-out}.faq-question[aria-expanded=true] .faq-arrow{transform:rotate(180deg);color:#fecb2e}.faq-answer{padding:15px 20px;font-size:1rem;color:#333;line-height:1.7;background-color:transparent}.faq-answer p{margin:0 0 10px}.faq-answer p:last-child{margin-bottom:0}.faq-answer code{background-color:#e9ecef;padding:2px 6px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9em}.faq-answer ul{list-style:disc;padding-left:25px;margin-top:10px}.faq-answer ul li{margin-bottom:8px}.faq-answer h5{font-size:1.1rem;color:#3a4d4c;margin-top:15px;margin-bottom:8px}.tour-page-cta-section{text-align:center;margin-top:30px;padding:25px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.tour-page-cta-section p{font-size:1.3rem;color:#3a4d4c;margin-bottom:15px;font-weight:500}.tour-cta-button{padding:12px 30px;font-size:1.1rem}@media (max-width: 768px){.tour-page-header h1{font-size:2.2rem}.tour-page-header .tour-intro{font-size:1.1rem}.tour-feature-title-minimalist{font-size:1.6rem}.tour-feature-icon-minimalist{font-size:2.2rem;margin-right:15px}.tour-feature-summary{font-size:1rem}.tour-steps-toggle{font-size:.85rem}.tour-feature-steps{font-size:.95rem}.faq-title{font-size:1.7rem}.faq-question{font-size:1rem;padding:12px 15px}.faq-answer{font-size:.95rem;padding:12px 15px}.tour-page-cta-section p{font-size:1.15rem}.tour-cta-button{font-size:1rem}}.onboarding-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2500;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.onboarding-modal-content{background-color:#f8f9fa;padding:0;border-radius:12px;box-shadow:0 10px 30px #0003;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:scaleUp .3s ease-out}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.onboarding-step-indicator{padding:20px 40px 0;display:flex;justify-content:center;gap:10px;margin-bottom:20px}.step-dot{width:12px;height:12px;border-radius:50%;background-color:#e0e0e0;transition:background-color .3s ease}.step-dot.active{background-color:#fecb2e}.onboarding-step-content{text-align:center;padding:0 40px 25px;flex-grow:1;overflow-y:auto}.onboarding-modal-content .onboarding-step-content:has(.onboarding-step-header){padding:0}.onboarding-step-header{background-color:#e9ecef;padding:20px 40px;text-align:left}.onboarding-step-header h2{font-size:1.8rem;color:#3a4d4c;margin-top:0;margin-bottom:10px}.onboarding-step-header p{font-size:1rem;color:#555;line-height:1.6;margin-bottom:0}.onboarding-form-container{background-color:#fff;padding:25px 40px}.onboarding-form-container .person-form .form-actions{display:none}.onboarding-step-content h2{font-size:2rem;color:#3a4d4c;margin-bottom:15px}.onboarding-step-content p{font-size:1.1rem;color:#555;line-height:1.6;margin-bottom:25px}.onboarding-get-result{background-color:#fffbeb;padding:20px;border-radius:8px;margin:20px 0;border:1px solid #f0e6c1}.onboarding-get-result h3{margin-top:0;color:#5f4c00}.onboarding-get-result .get-value{font-size:2.5rem;font-weight:700;color:#e67e22;display:block;margin:10px 0}.onboarding-info-step{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0}.onboarding-info-icon{font-size:4rem;margin-bottom:20px;line-height:1}.onboarding-info-step h2{font-size:1.8rem}.onboarding-info-step p{max-width:500px;margin:0}.onboarding-actions{margin-top:auto;padding:20px 40px;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center;gap:15px;background-color:#f8f9fa}.onboarding-actions .skip-button{background:none;border:none;color:#777;text-decoration:underline;cursor:pointer;padding:0;font-size:.9rem;text-transform:none;letter-spacing:normal}.onboarding-actions .skip-button:hover{color:#333}.onboarding-actions .nav-buttons{display:flex;gap:10px}.onboarding-actions .nav-buttons button{font-size:1rem}.onboarding-actions .nav-buttons.step-2-buttons{justify-content:flex-start;flex-grow:1}@media (max-width: 600px){.onboarding-modal-content{padding:0}.onboarding-step-indicator{padding:15px 25px 0}.onboarding-step-content{padding:0 25px 20px}.onboarding-step-header{padding:15px 25px}.onboarding-form-container{padding:20px 25px}.onboarding-step-content h2,.onboarding-step-header h2{font-size:1.6rem}.onboarding-step-content p,.onboarding-step-header p{font-size:1rem}.onboarding-actions{padding:15px 25px;flex-direction:column-reverse}.onboarding-actions .nav-buttons{width:100%;display:flex;flex-direction:column}.onboarding-actions .nav-buttons button{width:100%}.onboarding-actions .nav-buttons.step-2-buttons{flex-direction:row;justify-content:space-between;flex-wrap:wrap}.onboarding-actions .nav-buttons.step-2-buttons button{flex-grow:1}}.beta-signup-modal-content{max-width:500px;padding:0}.beta-signup-header{padding:25px 30px;text-align:center;border-bottom:1px solid #e9ecef}.beta-signup-header h3{margin-top:0;margin-bottom:10px;font-size:1.6rem;color:#3a4d4c}.beta-signup-header p{margin:0;font-size:1rem;color:#555;line-height:1.6}.beta-signup-form{padding:20px 30px 30px;display:flex;flex-direction:column;gap:15px}.beta-signup-form .form-group label{font-weight:500}.beta-signup-form .form-actions{margin-top:10px;justify-content:center}.beta-signup-form .form-actions button{width:100%;padding:12px;font-size:1.1rem}@media (max-width: 480px){.beta-signup-header{padding:20px}.beta-signup-header h3{font-size:1.4rem}.beta-signup-form{padding:20px}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;padding:0;background-color:#f8f9fa;color:#343a40;overflow-x:hidden}.app-container.modal-open{overflow:hidden}.app-container{max-width:100%;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}button{padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s ease-in-out,transform .1s ease,box-shadow .2s ease;letter-spacing:.5px}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 5px #0000001a}button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;box-shadow:none;transform:none}.button-primary{background-color:#fecb2e;color:#3a4d4c}.button-primary:hover:not(:disabled){background-color:#eab629}.button-secondary{background-color:#e9ecef;color:#3a4d4c}.button-secondary:hover:not(:disabled){background-color:#dee2e6}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-bottom:25px}.form-group{display:flex;flex-direction:column}.form-grid>.form-group{min-width:0}.form-group label{margin-bottom:6px;font-weight:700;color:#3a4d4c}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{padding:12px;border:1px solid #ced4da;border-radius:5px;font-size:1rem;box-sizing:border-box;width:100%;background-color:#fff;color:#333;font-family:inherit}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23555555'%3E%3Cpath d='M8 10.707L2.646 5.354a.5.5 0 0 1 .708-.708L8 9.293l4.646-4.647a.5.5 0 0 1 .708.708L8 10.707z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:35px}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#fecb2e;box-shadow:0 0 0 .2rem #fecb2e59}.form-actions{margin-top:25px;display:flex;gap:12px;justify-content:flex-end}.table-responsive{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;box-shadow:0 2px 8px #00000014;table-layout:auto}table th,table td{border:1px solid #e9ecef;padding:12px 15px;text-align:left;vertical-align:middle;font-size:.9rem;line-height:1.4}table th{background-color:#fffbeb;color:#3a4d4c;font-weight:600;font-size:.9rem;line-height:1.3;text-align:left}table tbody tr:nth-child(2n){background-color:#f8f9fa}table tbody tr:hover{background-color:#e9ecef}table .actions-cell{white-space:nowrap;text-align:right}table .actions-cell button{margin:0 3px}.button-edit{background-color:#e9ecef;color:#3a4d4c;padding:8px 12px;text-transform:none}.button-edit:hover:not(:disabled){background-color:#dee2e6}.button-delete{background-color:#757575;color:#fff;padding:8px 12px;text-transform:none}.button-delete:hover:not(:disabled){background-color:#dc3545}.button-small{padding:6px 10px;font-size:.8rem;text-transform:none}.fetch-error-message,.auth-error-message{color:#c0392b;background-color:#fdd;border:1px solid #fbb;padding:10px;border-radius:4px;margin:10px 0;text-align:center}.no-results-message{padding:20px;text-align:center;font-style:italic;color:#555}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:#fff}.macro-label-group{display:flex;align-items:center}.macro-label-group label{margin-bottom:0!important}.info-icon-button{display:inline-flex;align-items:center;justify-content:center;background:#fecb2e;color:#fff;border:none;font-size:.9rem;font-style:italic;font-weight:700;cursor:help;width:20px;height:20px;padding:0;border-radius:50%;transition:transform .2s,background-color .2s;text-transform:none;letter-spacing:normal;margin:0 6px;line-height:1}.info-icon-button:hover,.info-icon-button:focus{background-color:#eab629;transform:scale(1.1);outline:none}.info-icon-button:focus-visible{box-shadow:0 0 0 2px #fecb2e66}.tooltip-container{position:fixed;background-color:#3e3e3e;color:#fff;padding:12px 15px;border-radius:6px;box-shadow:0 4px 12px #00000040;z-index:1050;width:auto;max-width:350px;opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility 0s linear .2s;pointer-events:none}.tooltip-container.mifflin-tooltip{max-width:450px}.tooltip-container.visible{opacity:1;visibility:visible;transition:opacity .2s ease-in-out;pointer-events:auto}.tooltip-content h5{font-size:1rem;color:#fecb2e;margin-top:0;margin-bottom:10px;border-bottom:1px solid #555;padding-bottom:5px}.tooltip-content h6{font-size:.9rem;color:khaki;margin-top:10px;margin-bottom:5px}.tooltip-content ul{list-style:disc;padding-left:20px;margin:0 0 10px}.tooltip-content li{font-size:.85rem;line-height:1.5;margin-bottom:5px}.tooltip-content li strong{color:khaki}.tooltip-content p{font-size:.85rem;line-height:1.5;margin:0 0 8px}.tooltip-content p:last-child{margin-bottom:0}.tooltip-content p strong{color:#b0c4de}.tooltip-content p em{color:#98fb98;display:block;margin-top:3px}@media (max-width: 768px){table thead{display:none}table,table tbody,table tr,table td{display:block;width:100%}table tr{margin-bottom:15px;border:1px solid #dee2e6;border-radius:4px;padding:10px;background-color:#fff!important;box-sizing:border-box}table td{padding:10px 10px 10px 105px;position:relative;border:none;border-bottom:1px dotted #e9ecef;text-align:left;font-size:.9rem;word-break:break-word;box-sizing:border-box}table td:last-child{border-bottom:none}table td:before{content:attr(data-label);position:absolute;top:10px;left:10px;width:80px;padding-right:5px;font-weight:700;text-align:left;white-space:normal;word-break:break-word;overflow:hidden;text-overflow:ellipsis;color:#3a4d4c;box-sizing:border-box;line-height:1.3}table .actions-cell{text-align:right;padding-left:10px!important;display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}table .actions-cell:before{display:none}table .actions-cell button{margin:0;width:auto;min-width:initial;padding:6px 10px;font-size:.8rem}}@media (max-width: 992px){body{padding-bottom:65px}.page-main-title{display:none}}
