*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:.75rem;padding-left:.75rem}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}@media(min-width:1400px){.container{max-width:1320px}}.row{display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--mp-gutter-y, 0));margin-right:calc(-.5 * var(--mp-gutter-x, 1.5rem));margin-left:calc(-.5 * var(--mp-gutter-x, 1.5rem))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--mp-gutter-x, 1.5rem) * .5);padding-left:calc(var(--mp-gutter-x, 1.5rem) * .5);margin-top:var(--mp-gutter-y, 0)}.g-3{--mp-gutter-x: 1rem;--mp-gutter-y: 1rem}.g-4{--mp-gutter-x: 1.5rem;--mp-gutter-y: 1.5rem}@media(min-width:1200px){.g-xl-5{--mp-gutter-x: 3rem;--mp-gutter-y: 3rem}}.col-12,.col-sm-6{flex:0 0 auto;width:100%}@media(min-width:576px){.col-sm-6{width:50%}}@media(min-width:768px){.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}}@media(min-width:992px){.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}}@media(min-width:1200px){.col-xl-4{flex:0 0 auto;width:33.333333%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-grow-1{flex-grow:1!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.align-items-start{align-items:flex-start!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}@media(min-width:576px){.gap-sm-3{gap:1rem!important}}.w-100{width:100%!important}.h-100{height:100%!important}.min-vh-100{min-height:100vh!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.sticky-top{position:sticky;top:0;z-index:1020}.text-center{text-align:center!important}.text-start{text-align:left!important}.text-end{text-align:right!important}@media(min-width:768px){.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}}.small,small{font-size:.875em}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.75rem}.h4{font-size:1.5rem}.h5{font-size:1.25rem}.h6{font-size:1rem}.fs-6{font-size:1rem!important}.fw-bold{font-weight:700!important}.rounded{border-radius:.375rem!important}.rounded-0{border-radius:0!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--mp-border, #e2e8f0)!important}.border-bottom{border-bottom:1px solid var(--mp-border, #e2e8f0)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-auto{margin-right:auto!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.pt-2{padding-top:.5rem!important}.pt-4{padding-top:1.5rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}@media(min-width:768px){.mb-md-0{margin-bottom:0!important}.mt-md-0{margin-top:0!important}.p-md-5{padding:3rem!important}}@media(min-width:992px){.p-lg-5{padding:3rem!important}}.text-white{color:#fff!important}.text-dark{color:#111827!important}.text-danger{color:var(--mp-danger, #ef4444)!important}.text-success{color:var(--mp-success, #22c55e)!important}.text-warning{color:var(--mp-warning, #f59e0b)!important}.text-primary{color:var(--mp-primary, #16a34a)!important}.text-body-secondary,.text-muted{color:var(--mp-text-muted, #64748b)!important}.bg-light{background-color:var(--mp-light, #f1f5f9)!important}.bg-primary{background-color:var(--mp-primary, #16a34a)!important}.bg-secondary{background-color:var(--mp-gray, #475569)!important}.bg-success{background-color:var(--mp-success, #22c55e)!important}.bg-danger{background-color:var(--mp-danger, #ef4444)!important}.bg-warning{background-color:var(--mp-warning, #f59e0b)!important}.bg-info{background-color:var(--mp-info, #3b82f6)!important}.bg-primary,.bg-secondary,.bg-success,.bg-danger{color:#fff!important}.bg-warning,.bg-info,.bg-light{color:#111827!important}.bg-warning.text-white,.bg-info.text-white,.bg-light.text-white{color:#fff!important}.btn-check{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-weight:500;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;user-select:none;border:1px solid transparent;padding:.55rem 1rem;border-radius:.375rem;transition:all .2s ease}.btn-group{display:inline-flex;align-items:center}.btn:disabled,.btn.disabled{opacity:.65;pointer-events:none}.btn-sm{padding:.4rem .75rem;font-size:.875rem}.btn-lg{padding:.75rem 1.25rem;font-size:1.125rem}.btn-light{color:#111827;background-color:#f8fafc;border-color:#e2e8f0}.btn-light:hover,.btn-light:focus{color:#0f172a;background-color:#fff;border-color:#cbd5e1}.form-control,.form-select{display:block;width:100%;padding:.55rem .75rem;border:1px solid var(--mp-border, #cbd5e1);border-radius:.375rem;background-color:#fff;color:var(--mp-text, #0f172a)}.form-control:focus,.form-select:focus{outline:0;border-color:var(--mp-primary, #16a34a);box-shadow:0 0 0 .2rem #16a34a33}.form-label{display:inline-block;margin-bottom:.35rem}.form-text{font-size:.875rem;color:var(--mp-text-muted, #64748b)}.alert{position:relative;padding:.85rem 1rem;border:1px solid transparent;border-radius:.5rem}.alert-dismissible{padding-right:3rem}.alert-success{color:#14532d;background-color:#dcfce7;border-color:#bbf7d0}.alert-danger{color:#7f1d1d;background-color:#fee2e2;border-color:#fecaca}.alert-warning{color:#78350f;background-color:#fef3c7;border-color:#fde68a}.alert-info{color:#0c4a6e;background-color:#e0f2fe;border-color:#bae6fd}.alert-link{font-weight:700;text-decoration:underline}.btn-close{position:absolute;top:.75rem;right:.75rem;width:1rem;height:1rem;padding:0;border:0;background:transparent;cursor:pointer;opacity:.65}.btn-close:before,.btn-close:after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:2px;background:currentColor;transform-origin:center}.btn-close:before{transform:translate(-50%,-50%) rotate(45deg)}.btn-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.btn-close:hover{opacity:1}.badge{display:inline-block;padding:.35em .6em;font-size:.75em;font-weight:600;line-height:1;text-align:center;white-space:nowrap;border-radius:.375rem}.breadcrumb{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumb-item+.breadcrumb-item:before{content:"/";padding:0 .5rem;color:var(--mp-text-muted, #64748b)}.navbar{position:relative;z-index:1000}.navbar-brand,.nav-link,.dropdown-item{text-decoration:none}.navbar .container,.navbar .container-fluid{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.navbar-toggler{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.4);border-radius:.375rem;background:transparent;color:#fff}.navbar-toggler-icon,.navbar-toggler-icon:before,.navbar-toggler-icon:after{display:block;width:1.2rem;height:2px;background:currentColor;border-radius:2px;content:""}.navbar-toggler-icon{position:relative}.navbar-toggler-icon:before{position:absolute;top:-.35rem}.navbar-toggler-icon:after{position:absolute;top:.35rem}.navbar-collapse{flex-basis:100%;flex-grow:1}.navbar-collapse.show{display:block}.collapse:not(.show){display:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;padding-left:0;margin:0}.nav-item{position:relative}@media(min-width:992px){.navbar-expand-lg,.navbar-expand-lg .container,.navbar-expand-lg .container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-nav{flex-direction:row;align-items:center}}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:12rem;list-style:none;margin:.125rem 0 0;padding:.5rem;background:var(--mp-bg, #fff);border:1px solid var(--mp-border, #e2e8f0);border-radius:.5rem}.dropdown-menu.show{display:block}.dropdown-menu-end{right:0;left:auto}.dropdown-divider{height:0;margin:.4rem 0;overflow:hidden;border-top:1px solid var(--mp-border, #e2e8f0)}.dropdown-item{display:block;width:100%;padding:.5rem .75rem;color:inherit;text-decoration:none;background:transparent;border-radius:.375rem}.list-unstyled{padding-left:0;list-style:none}.display-4{font-size:2.5rem;font-weight:300;line-height:1.2}.img-fluid{max-width:100%;height:auto}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;padding:1rem}.modal-open{overflow:hidden}.modal.show{display:block}.modal-dialog{position:relative;width:auto;max-width:520px;margin:1.75rem auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;background-color:var(--mp-bg, #fff);border:1px solid var(--mp-border, #e2e8f0);border-radius:.5rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background:#0000008c}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{display:none;position:relative;width:100%;transition:opacity .35s ease}.carousel-item.active{display:block}.carousel-indicators{position:absolute;right:0;bottom:.75rem;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;width:1.8rem;height:.2rem;padding:0;margin-right:.25rem;margin-left:.25rem;border:0;text-indent:-999px;cursor:pointer;background-color:#ffffff80}.carousel-indicators .active{background-color:#fff}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;cursor:pointer}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 0 0 .708L10.293 8l-5.647 5.646a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708l-6-6a.5.5 0 0 0-.708 0z'/%3e%3c/svg%3e")}.card{display:flex;flex-direction:column;min-width:0}.card-img-top{width:100%}.card-body{flex:1 1 auto}.card-footer{margin-top:auto}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.my-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(2px);justify-content:center;align-items:center;z-index:1050}.my-modal-content{background:var(--mp-white, white);border-radius:var(--mp-radius-lg, 12px);box-shadow:var(--mp-shadow-lg, 0 10px 15px rgba(0, 0, 0, .1));position:relative;z-index:1000;max-height:90vh;overflow-y:auto}#dynamicModalContent .modal{display:block;position:relative;z-index:auto;background:none;opacity:1}#dynamicModalContent .modal-dialog{max-width:1000px;margin:auto;top:10%;left:50%;transform:translate(-50%);position:relative}#dynamicModalContent .modal-content{display:block;position:relative;z-index:auto;background:var(--mp-white, white);border-radius:var(--mp-radius-lg, 12px);overflow:hidden;box-shadow:var(--mp-shadow-lg, 0 10px 15px rgba(0, 0, 0, .1));border:1px solid var(--mp-border, #e2e8f0)}#dynamicModalContent .modal-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#dynamicModalContent .modal-header,#dynamicModalContent .modal-footer{padding:10px;text-align:right}.panel-title{color:var(--mp-text, #000)}.mp-border-none{border:none!important}.mp-radius-16{border-radius:16px}.mp-max-w-500{max-width:500px}.mp-max-w-600{max-width:600px}.mp-pre-wrap-scroll{overflow-x:auto;white-space:pre-wrap}.mp-error-status-code{font-size:4rem;font-weight:200;line-height:1}.mp-icon-3xl{font-size:3rem}.mp-icon-4xl{font-size:4rem}.mp-icon-5xl{font-size:5rem}.recipe-dietary-badge{top:10px;left:10px;z-index:1;color:#fff!important}.recipe-dietary-badge.bg-info,.recipe-dietary-badge.bg-success{color:#fff!important}.recipe-card-image{height:200px;object-fit:cover}.menu-thumb-box{width:50px;height:50px}.menu-thumb-image{width:50px;height:50px;object-fit:cover}.mp-text-fill-initial{-webkit-text-fill-color:initial}.mp-display-none{display:none}.mp-col-w-15{width:15%}.mp-col-w-60{width:60px}.mp-col-w-50{width:50px}.mp-col-w-40{width:40px}.mp-col-w-100{width:100px}.mp-col-w-40pct{width:40%}.mp-col-w-5pct{width:5%}.mp-col-w-12pct{width:12%}.mp-col-w-13pct{width:13%}.mp-col-w-10pct{width:10%}.mp-menu-inline-list{margin:0;padding-left:20px}.mp-h-150-cover{height:150px;object-fit:cover}.mp-max-h-400{max-height:400px}.mp-h-200-overflow-hidden{height:200px;overflow:hidden}.mp-size-full-cover{width:100%;height:100%;object-fit:cover}.mp-max-h-250-auto{max-height:250px;width:auto}.mp-img-fluid-auto{max-width:100%;height:auto}.mp-summary-field{display:flex;align-items:center;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;border:1px solid var(--mp-border, #e2e8f0);border-radius:var(--bs-border-radius, 12px);background-color:var(--bs-tertiary-bg, #f8fafc);color:var(--mp-text, #0f172a)}.mp-thumb-80-cover{max-width:80px;max-height:80px;object-fit:cover}.mp-mobile-meal-card-date-empty{position:relative;display:inline-block;margin:1rem}.password-strength-bar .strength-segment{height:4px;background:#e9ecef}.password-strength-container.strength-1 .strength-segment:nth-child(-n+1){background:#ffc107}.password-strength-container.strength-2 .strength-segment:nth-child(-n+2){background:#17a2b8}.password-strength-container.strength-3 .strength-segment:nth-child(-n+3){background:#0d6efd}.password-strength-container.strength-4 .strength-segment:nth-child(-n+4){background:#198754}.password-strength-label.strength-label-0{color:#dc3545}.password-strength-label.strength-label-1{color:#ffc107}.password-strength-label.strength-label-2{color:#17a2b8}.password-strength-label.strength-label-3{color:#0d6efd}.password-strength-label.strength-label-4{color:#198754}#apiSpinnerOverlay{position:fixed;inset:0;background:#0f172a59;display:none;align-items:center;justify-content:center;z-index:1060}#apiSpinnerOverlay .api-spinner-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 10px 30px #0f172a33;text-align:center;min-width:140px}.drag-handle{cursor:move;padding:8px;color:#6c757d}.drag-handle:hover{color:#495057}.ingredient-move-controls{display:none;gap:.35rem;margin-left:.35rem}.ingredient-move-controls .btn{min-width:2rem;min-height:2rem;padding:.2rem .4rem}.ingredient-remove-btn{white-space:nowrap}#ingredients-list .ingredient-row{padding:.5rem .45rem;border:1px solid var(--mp-border, #d0d7e2);border-radius:.75rem}#ingredients-list .ingredient-row:nth-child(odd){background:#0f172a0d}#ingredients-list .ingredient-row:nth-child(2n){background:#0f172a1a}[data-theme=dark] #ingredients-list .ingredient-row:nth-child(odd),[data-theme=system] #ingredients-list .ingredient-row:nth-child(odd){background:#ffffff08}[data-theme=dark] #ingredients-list .ingredient-row:nth-child(2n),[data-theme=system] #ingredients-list .ingredient-row:nth-child(2n){background:#ffffff14}@media(min-width:768px){#ingredients-list .ingredient-row>.row{display:grid;grid-template-columns:1.8rem minmax(0,1.9fr) minmax(5.5rem,.7fr) minmax(8.5rem,1fr) auto;column-gap:.65rem;align-items:center;margin-left:0;margin-right:0}#ingredients-list .ingredient-row>.row>[class*=col-]{padding-left:0;padding-right:0}}.recipe-edit-actions-row{gap:.5rem 0}.recipe-edit-actions{display:flex;flex-direction:column;align-items:stretch;gap:.6rem}.mp-table-consistent tbody tr.mp-data-row,.ingredient-row.mp-data-row{transition:background-color var(--mp-transition)}.recipe-add-page #ingredients-list .ingredient-row>.row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(5.5rem,6.25rem) minmax(10rem,1fr) minmax(7.25rem,auto) auto;column-gap:.6rem;align-items:center;width:100%;margin:0!important}.recipe-add-page #ingredients-list .ingredient-row>.row>[class*=col-]{padding-left:0;padding-right:0;width:auto;max-width:none;flex:initial}.recipe-add-page #ingredients-list .ingredient-name-col{min-width:0;width:100%}.recipe-add-page #ingredients-list .ingredient-name-col .form-control,.recipe-add-page #ingredients-list .ingredient-unit-col .form-control{width:100%}.recipe-add-page #ingredients-list .ingredient-qty-col .form-control{min-width:5.5rem;width:100%}.recipe-add-page #ingredients-list .ingredient-remove-col{display:flex;justify-content:flex-end;min-width:5.5rem}.recipe-add-page #ingredients-list .ingredient-optional-col,.recipe-edit-page #ingredients-list .ingredient-optional-col{display:flex;align-items:center;justify-content:center;min-width:7rem}.recipe-add-page #ingredients-list .ingredient-optional-check,.recipe-edit-page #ingredients-list .ingredient-optional-check{display:inline-flex;align-items:center;gap:.45rem;margin:0;white-space:nowrap;padding:.38rem .65rem;border:1px solid var(--mp-border, #3a3d45);border-radius:999px;background:#ffffff0a;max-width:100%}.recipe-add-page #ingredients-list .ingredient-optional-check .form-check-input,.recipe-edit-page #ingredients-list .ingredient-optional-check .form-check-input{margin-top:0;float:none}.recipe-add-page #ingredients-list .ingredient-optional-check .form-check-label,.recipe-edit-page #ingredients-list .ingredient-optional-check .form-check-label{line-height:1;font-size:.92rem}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex{width:100%;align-items:center;justify-content:flex-end}.recipe-add-page #ingredients-list .ingredient-remove-col .btn{min-width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.recipe-add-page #ingredients-list .ingredient-edit-btn,.recipe-edit-page #ingredients-list .ingredient-edit-btn{color:#9a6700;border-color:#d6a700;background:#fff7e0}.recipe-add-page #ingredients-list .ingredient-edit-btn:hover,.recipe-edit-page #ingredients-list .ingredient-edit-btn:hover{color:#fff;background:#9a6700;border-color:#9a6700}@media(min-width:1025px){.recipe-add-page #ingredients-list .ingredient-row{padding:.55rem .65rem}.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1.9fr) minmax(5.5rem,6.25rem) minmax(11rem,1fr) auto;column-gap:.9rem}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex{gap:.7rem}}.recipe-edit-page #ingredients-list .ingredient-row>.row{display:grid;grid-template-columns:3.75rem minmax(16rem,1fr) minmax(5.75rem,6.25rem) minmax(9.5rem,10.5rem) minmax(7.25rem,auto) auto;column-gap:.6rem;align-items:center;width:100%;margin:0!important}.recipe-edit-page #ingredients-list .ingredient-row>.row>[class*=col-]{padding-left:0;padding-right:0;width:auto;max-width:none;flex:initial}.recipe-edit-page #ingredients-list .ingredient-controls-col{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:.45rem}.recipe-edit-page #ingredients-list .ingredient-name-col,.recipe-edit-page #ingredients-list .ingredient-unit-col{min-width:0}.recipe-edit-page #ingredients-list .ingredient-name-col .form-control,.recipe-edit-page #ingredients-list .ingredient-unit-col .form-control{width:100%}.recipe-edit-page #ingredients-list .ingredient-qty-col .form-control{min-width:5.5rem;width:100%}.recipe-edit-page #ingredients-list .ingredient-remove-col{display:flex;justify-content:flex-end;min-width:6.25rem}.recipe-edit-page #ingredients-list .ingredient-remove-col>.d-flex{width:100%;align-items:center;justify-content:flex-end}.recipe-edit-page #ingredients-list .ingredient-remove-col .btn{min-width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.availability-section,.recipe-edit-page .form-group:has(#days-group),.recipe-edit-page .form-group:has(#seasons-group){display:flex;flex-direction:column;gap:1rem}.availability-group{display:flex;flex-direction:column;gap:.75rem}.availability-group-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.availability-all-toggle{min-width:4rem;white-space:nowrap}.availability-all-toggle.active{background:var(--mp-primary, #0d6efd);border-color:var(--mp-primary, #0d6efd);color:#fff}.availability-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .85rem}.availability-option{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0}.availability-option .form-check-input{margin:0;flex:0 0 auto}.availability-option .form-check-label{line-height:1.2}@media(min-width:1100px){.recipe-edit-page #ingredients-list .ingredient-row{padding:.55rem .65rem}.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:2.25rem minmax(0,1.8fr) minmax(5.5rem,6.25rem) minmax(11rem,1fr) auto;grid-template-areas:"controls name qty unit remove";column-gap:.9rem}.recipe-edit-page #ingredients-list .ingredient-controls-col{grid-area:controls;justify-content:center}.recipe-edit-page #ingredients-list .ingredient-name-col{grid-area:name}.recipe-edit-page #ingredients-list .ingredient-qty-col{grid-area:qty}.recipe-edit-page #ingredients-list .ingredient-unit-col{grid-area:unit}.recipe-edit-page #ingredients-list .ingredient-remove-col{grid-area:remove}.recipe-edit-page #ingredients-list .ingredient-remove-col>.d-flex{gap:.7rem}}.mp-table-consistent tbody tr.mp-data-row>td{transition:background-color var(--mp-transition)}.mp-btn-unified{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;min-height:2.7rem;padding:.5rem 1rem}.mp-btn-unified.btn-sm{min-height:2.45rem;padding:.4rem .9rem}.recipe-edit-save-btn{width:100%;min-height:3rem}.recipe-edit-ingredient-actions{display:flex;flex-wrap:wrap;gap:.6rem}.recipe-edit-secondary-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.5rem}.recipe-edit-secondary-actions .btn{min-height:2.4rem}@media(min-width:768px){.recipe-edit-actions .btn,.recipe-edit-ingredient-actions .btn{width:auto}.recipe-edit-actions{flex-direction:row;align-items:center;justify-content:space-between}.recipe-edit-ingredient-actions{flex-wrap:nowrap;align-items:center}.recipe-edit-save-btn{width:auto;min-width:12rem}.recipe-edit-secondary-actions{flex-wrap:nowrap}.recipe-edit-secondary-actions .btn,.recipe-edit-ingredient-actions .btn{white-space:nowrap}}@media(min-width:768px)and (max-width:1366px){.recipe-edit-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;width:100%}.recipe-edit-save-btn{width:100%;min-width:0}.recipe-edit-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%}.recipe-edit-secondary-actions .btn{width:100%;min-width:0;justify-content:center}}.ingredient-edit-footer{padding:.9rem 1rem 1rem}.ingredient-edit-actions{display:flex;flex-direction:column;gap:.6rem;width:100%}.ingredient-edit-save-btn{width:100%;min-height:3rem}.ingredient-edit-secondary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;width:100%}.ingredient-edit-secondary-actions .btn{width:100%;min-height:2.65rem}.draggable-container.dragging{opacity:.5}.menu-row.drop-hover{background-color:#d4edda}.mp-notify-container{position:fixed;top:1rem;right:1rem;z-index:1080;width:min(28rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.mp-notify-item{margin:0;box-shadow:0 .65rem 1.4rem #0f172a33;pointer-events:auto}.mp-notify-item .btn-close{opacity:.75}.edit-menu-reorder-controls{display:none;align-items:center;gap:.25rem;padding-right:.5rem;justify-content:flex-end;width:100%}.edit-menu-reorder-controls .btn{min-width:2.25rem;min-height:2.25rem;padding:.25rem .5rem}@media(hover:none),(pointer:coarse){.edit-menu-page{padding-left:0;padding-right:0;margin-left:-.5rem;margin-right:-.5rem}#menuTable.edit-menu-table{width:100%;table-layout:auto}#menuTable.edit-menu-table th,#menuTable.edit-menu-table td{padding:.55rem .45rem;vertical-align:middle}#menuTable.edit-menu-table th:nth-child(1),#menuTable.edit-menu-table td:nth-child(1){width:56px}#menuTable.edit-menu-table th:nth-child(4),#menuTable.edit-menu-table td:nth-child(4){width:84px}#menuTable.edit-menu-table th:nth-child(5),#menuTable.edit-menu-table td:nth-child(5){width:0;padding:0}#menuTable.edit-menu-table .meal-thumbnail,#menuTable.edit-menu-table .meal-thumb-image,#menuTable.edit-menu-table .menu-thumb-box{width:44px;height:44px}#menuTable.edit-menu-table td:nth-child(2){white-space:nowrap}#menuTable.edit-menu-table td:nth-child(3){white-space:nowrap}.edit-menu-drag-handle{display:none}.edit-menu-reorder-controls{display:flex;padding-right:.1rem}.edit-menu-reorder-controls .btn{min-width:2.1rem;min-height:2.1rem;padding:.2rem .45rem}.draggable-container .meal-select{display:none}#menuTable .custom-meal-input{display:none!important}#menuTable .recipe-link{display:none}.recipe-edit-page{padding-left:.25rem;padding-right:.25rem}.kitchen-create-btn{width:100%}.recipe-edit-page #days-group,.recipe-edit-page #seasons-group{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-edit-actions .btn,.recipe-edit-ingredient-actions .btn{width:100%}.recipe-edit-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.recipe-edit-secondary-actions .btn{min-height:2.7rem}.ingredient-edit-footer{padding:.8rem}.ingredient-edit-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-drag-handle{display:none}#ingredients-list .ingredient-move-controls{display:inline-flex}#ingredients-list .ingredient-row{padding:.65rem;border:1px solid var(--mp-border, #3a3d45);border-radius:.75rem}#ingredients-list .ingredient-row>.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"controls controls controls" "name name name" "qty unit remove";gap:.5rem;align-items:center}#ingredients-list .ingredient-controls-col{grid-area:controls;padding:0}#ingredients-list .ingredient-remove-col{grid-area:remove;padding:0;display:flex;justify-content:flex-end;align-items:stretch}#ingredients-list .ingredient-name-col{grid-area:name;padding:0}#ingredients-list .ingredient-qty-col{grid-area:qty;padding:0}#ingredients-list .ingredient-unit-col{grid-area:unit;padding:0}#ingredients-list .ingredient-remove-btn{width:2.9rem;min-width:2.9rem;height:2.9rem;padding:0;display:inline-flex;align-items:center;justify-content:center}#ingredients-list .ingredient-move-controls .btn{min-width:2.9rem;min-height:2.9rem;padding:.35rem .6rem;font-size:1rem}.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"optional remove" "name name" "qty unit";gap:.75rem;width:100%;margin:0!important}.recipe-add-page #ingredients-list .ingredient-name-col{grid-area:name;padding:0}.recipe-add-page #ingredients-list .ingredient-qty-col{grid-area:qty;padding:0}.recipe-add-page #ingredients-list .ingredient-unit-col{grid-area:unit;padding:0}.recipe-add-page #ingredients-list .ingredient-optional-col{grid-area:optional;padding:0;justify-content:flex-start;min-width:0}.recipe-add-page #ingredients-list .ingredient-remove-col{grid-area:remove;padding:0;align-items:center;justify-content:flex-end;min-width:0}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex{width:auto;flex-direction:row;align-items:center;justify-content:flex-end;gap:.65rem}.recipe-add-page #ingredients-list .ingredient-qty-col .form-control,.recipe-add-page #ingredients-list .ingredient-unit-col .form-control{width:100%;min-width:0}.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:3.5rem minmax(12rem,1fr) minmax(5.5rem,6rem) minmax(8.5rem,9.25rem) minmax(7rem,auto) auto}.recipe-edit-page .recipe-image-share-actions,.recipe-add-page .card-header.d-flex.justify-content-between.align-items-center{gap:.75rem}.recipe-edit-page .recipe-image-share-actions .btn{flex:1 1 calc(50% - .375rem);width:auto;justify-content:center}}@media(min-width:1025px){.recipe-add-page #ingredients-list .ingredient-row{padding:.55rem .65rem}.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1.9fr) minmax(5.5rem,6.25rem) minmax(11rem,1fr) minmax(7.25rem,auto) auto;grid-template-areas:"name qty unit optional remove";column-gap:.9rem;gap:.9rem}.recipe-add-page #ingredients-list .ingredient-name-col{grid-area:name}.recipe-add-page #ingredients-list .ingredient-qty-col{grid-area:qty}.recipe-add-page #ingredients-list .ingredient-unit-col{grid-area:unit}.recipe-add-page #ingredients-list .ingredient-optional-col{grid-area:optional}.recipe-add-page #ingredients-list .ingredient-remove-col{grid-area:remove;align-items:center}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex{width:100%;flex-direction:row;align-items:center;justify-content:flex-end;gap:.7rem}}@media(min-width:768px){.recipe-edit-page #ingredients-list .ingredient-drag-handle{display:inline-flex;align-items:center;justify-content:center}.recipe-edit-page #ingredients-list .ingredient-move-controls{display:none}}@media(hover:none)and (pointer:coarse)and (max-width:1024px){.recipe-edit-page #ingredients-list .ingredient-drag-handle{display:none}.recipe-edit-page #ingredients-list .ingredient-move-controls{display:inline-flex}}@media(max-width:767.98px),(hover:none)and (pointer:coarse)and (max-width:1024px){.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"controls optional remove" "name name name" "qty unit unit";gap:.75rem;align-items:center}.recipe-edit-page #ingredients-list .ingredient-controls-col{grid-area:controls;padding:0}.recipe-edit-page #ingredients-list .ingredient-name-col{grid-area:name;padding:0;width:100%;min-width:0}.recipe-edit-page #ingredients-list .ingredient-qty-col{grid-area:qty;padding:0;width:100%}.recipe-edit-page #ingredients-list .ingredient-unit-col{grid-area:unit;padding:0;width:100%}.recipe-edit-page #ingredients-list .ingredient-remove-col{grid-area:remove;padding:0;align-items:center;justify-content:flex-end}.recipe-edit-page #ingredients-list .ingredient-optional-col{grid-area:optional;padding:0;justify-content:flex-start;min-width:0}.recipe-edit-page #ingredients-list .ingredient-remove-col>.d-flex{width:auto;align-items:center;justify-content:flex-end;flex-direction:row;gap:.65rem}.recipe-edit-page #ingredients-list .ingredient-controls-col,.recipe-edit-page #ingredients-list .ingredient-remove-col{min-height:2.9rem}.recipe-add-page #ingredients-list .ingredient-optional-check,.recipe-edit-page #ingredients-list .ingredient-optional-check{padding:.32rem .55rem;font-size:.9rem}.recipe-edit-page #ingredients-list .ingredient-qty-col .form-control,.recipe-edit-page #ingredients-list .ingredient-unit-col .form-control{width:100%;min-width:0}.recipe-edit-page #ingredients-list .ingredient-qty-col,.recipe-edit-page #ingredients-list .ingredient-unit-col,.recipe-edit-page #ingredients-list .ingredient-name-col .form-control{width:100%}.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"optional remove" "name name" "qty unit";gap:.75rem}.recipe-add-page #ingredients-list .ingredient-name-col{grid-area:name}.recipe-add-page #ingredients-list .ingredient-qty-col{grid-area:qty}.recipe-add-page #ingredients-list .ingredient-unit-col{grid-area:unit}.recipe-add-page #ingredients-list .ingredient-optional-col{grid-area:optional;justify-content:flex-start;min-width:0}.recipe-add-page #ingredients-list .ingredient-remove-col{grid-area:remove;min-width:0}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex{width:auto}}@media(max-width:360px)and (hover:none),(max-width:360px)and (pointer:coarse){.availability-options,.recipe-edit-page #days-group,.recipe-edit-page #seasons-group{grid-template-columns:minmax(0,1fr)}}#generateMenuModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;justify-content:center;align-items:center;z-index:9999}#generateMenuModalContent{background:var(--mp-bg, white);border-radius:12px;max-width:800px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}#generateMenuModalContent .modal-header{background-color:var(--mp-primary-dark, #1b5e20);color:#fff;padding:1rem 1.5rem;border-radius:12px 12px 0 0}#generateMenuModalContent .modal-header h5,#generateMenuModalContent .modal-header .modal-title{color:#fff}#generateMenuModalContent .modal-body{padding:1.5rem}.generate-menu-mobile-head{display:grid;grid-template-columns:56px minmax(0,1fr) 50px;gap:.75rem;align-items:center;padding:0 0 .5rem;margin-bottom:.35rem;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--mp-text-secondary, #6c757d);border-bottom:1px solid var(--mp-border, #dee2e6)}.generate-menu-mobile-head span:last-child{text-align:center}.generate-menu-table thead th{position:sticky;top:0;z-index:1;background:var(--mp-bg-secondary, #f7fafc);color:var(--mp-text, #1a202c);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--mp-border, #dee2e6)}.generate-menu-table thead th.text-center{text-align:center}.generate-menu-help{display:flex;flex-wrap:wrap;gap:.35rem}.generate-menu-help-drag,.generate-menu-help-keep{display:inline-flex;align-items:center;gap:.35rem}#generateMenuModalContent .modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--mp-border, #dee2e6);display:flex;justify-content:space-between;gap:1rem}#generateMenuModalContent .modal-footer>div{display:flex;gap:.75rem}@media(max-width:767.98px),(hover:none),(pointer:coarse){.generate-menu-help-drag,.generate-menu-table thead{display:none}.generate-menu-table thead th{font-size:.74rem;padding-top:.55rem;padding-bottom:.55rem}#generateMenuModalContent .modal-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}#generateMenuModalContent .modal-footer>div{width:100%}#generateMenuModalContent .generate-menu-footer-close,#generateMenuModalContent .generate-menu-footer-primary{display:flex}#generateMenuModalContent .generate-menu-footer-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#generateMenuModalContent .modal-footer .btn{width:100%;justify-content:center}}.keep-checkbox{width:20px;height:20px}.custom-meal-input{display:none;max-width:200px}.custom-meal-input.is-visible{display:block}.print-header{display:none;font-weight:700;font-size:1.25rem;margin-bottom:1rem}@media print{body{font-size:14pt;background:#fff}.print-header{display:block}.alert,.badge,.btn,.btn-group,.cookie-consent,.navbar,.page-title,.site-footer,.skip-link,.text-end,.weekly-menu-panel{display:none}.shopping-lists-section{margin-top:0}.shopping-list-panel{border:none;box-shadow:none}.panel-heading{border:none;background:none;padding:0 0 .5rem}.panel-title{font-size:15pt}.panel-body{padding:0}.shopping-item{font-size:30px;padding:.15rem 0}.shopping-checkbox{margin-right:.5rem}}.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1.8fr) minmax(5.5rem,6.25rem) minmax(10rem,1fr) auto;grid-template-areas:"name qty unit remove" "optional optional optional optional";row-gap:.55rem}.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:3.75rem minmax(16rem,1fr) minmax(5.75rem,6.25rem) minmax(9.5rem,10.5rem) auto;grid-template-areas:"controls name qty unit remove" ". optional optional optional .";row-gap:.55rem}.recipe-add-page #ingredients-list .ingredient-name-col,.recipe-edit-page #ingredients-list .ingredient-name-col{grid-area:name}.recipe-add-page #ingredients-list .ingredient-qty-col,.recipe-edit-page #ingredients-list .ingredient-qty-col{grid-area:qty}.recipe-add-page #ingredients-list .ingredient-unit-col,.recipe-edit-page #ingredients-list .ingredient-unit-col{grid-area:unit}.recipe-add-page #ingredients-list .ingredient-remove-col,.recipe-edit-page #ingredients-list .ingredient-remove-col{grid-area:remove}.recipe-edit-page #ingredients-list .ingredient-controls-col{grid-area:controls}.recipe-add-page #ingredients-list .ingredient-optional-col,.recipe-edit-page #ingredients-list .ingredient-optional-col{grid-area:optional;justify-content:flex-start;min-width:0}.recipe-add-page #ingredients-list .ingredient-optional-check,.recipe-edit-page #ingredients-list .ingredient-optional-check{display:inline-flex;align-items:center;gap:.6rem;padding:0;margin:0;min-height:2rem;max-width:100%;background:transparent;border:0;border-radius:0;white-space:normal}.recipe-add-page #ingredients-list .ingredient-optional-check .form-check-input,.recipe-edit-page #ingredients-list .ingredient-optional-check .form-check-input{margin:0;float:none}.recipe-add-page #ingredients-list .ingredient-optional-check .form-check-label,.recipe-edit-page #ingredients-list .ingredient-optional-check .form-check-label{line-height:1.2;font-size:.95rem}@media(min-width:1025px){.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1.9fr) minmax(5.5rem,6.25rem) minmax(11rem,1fr) auto;grid-template-areas:"name qty unit remove" "optional optional optional optional";row-gap:.65rem}.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:3.5rem minmax(12rem,1fr) minmax(5.5rem,6rem) minmax(8.5rem,9.25rem) auto;grid-template-areas:"controls name qty unit remove" ". optional optional optional ."}}@media(max-width:767.98px),(hover:none)and (pointer:coarse)and (max-width:1024px){.recipe-add-page #ingredients-list .ingredient-row>.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"name name" "optional optional" "qty unit" "remove remove";gap:.75rem}.recipe-edit-page #ingredients-list .ingredient-row>.row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"controls . remove" "name name name" "optional optional optional" "qty unit unit";gap:.75rem}.recipe-add-page #ingredients-list .ingredient-remove-col,.recipe-edit-page #ingredients-list .ingredient-remove-col{align-items:center;justify-content:flex-end;min-width:0}.recipe-add-page #ingredients-list .ingredient-remove-col>.d-flex,.recipe-edit-page #ingredients-list .ingredient-remove-col>.d-flex{width:auto;flex-direction:row;align-items:center;justify-content:flex-end;gap:.65rem}.recipe-add-page #ingredients-list .ingredient-optional-check,.recipe-edit-page #ingredients-list .ingredient-optional-check{font-size:.92rem}}#dynamicModalContent .modal-header{background:var(--mp-bg-secondary, #f7fafc);color:var(--mp-text, #1a202c);border-bottom:1px solid var(--mp-border, #e2e8f0)}#dynamicModalContent .modal-body{padding:15px}#dynamicModalContent .modal-header button{border:none;background:none;font-size:1.5rem;cursor:pointer;color:inherit}[data-theme=dark] #dynamicModalContent .modal-header button,[data-theme=system] #dynamicModalContent .modal-header button{color:var(--mp-text)}@media(prefers-color-scheme:dark){[data-theme=system] #dynamicModalContent .modal-header button{color:var(--mp-text)}}#dynamicModalContent table th{white-space:nowrap;padding-right:20px;vertical-align:middle}#dynamicModalContent table td{white-space:nowrap}.recipe-image img{width:100%;height:auto;overflow:hidden}.page-header h2{text-align:left;border-bottom:2px solid var(--mp-border, #e2e8f0);padding-bottom:.75rem;margin-bottom:1.5rem}.section-header{background:var(--mp-bg-secondary, #f7fafc);padding:.75rem 1rem;border-left:4px solid var(--mp-primary, #2e7d32);border-radius:0 var(--mp-radius-sm, 4px) var(--mp-radius-sm, 4px) 0;margin-bottom:1rem}.fc-event-title{white-space:normal;word-wrap:break-word;overflow:visible;line-height:1.2;padding:2px}.fc-day-grid-event .fc-content{height:auto}.fc-day-grid-event{margin-bottom:2px}:root{--day-cell-height: 120px}.fc .fc-daygrid-day{height:var(--day-cell-height);overflow:hidden}.fc .fc-daygrid-event img{object-fit:fill;width:100%;height:100%}.fc .fc-daygrid-event{margin:0;padding:0;height:100%;display:block}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color, #3788d8);background-color:#fff}#calendar{width:100%;max-width:none}.container{max-width:90%;padding:0}.leftright{margin:10px -20px}.loginbox{display:none}.right{text-align:right}.pull-left{float:left}.pull-right{float:right}.top-10{margin-top:-10px}.starList i{color:#fc0;-webkit-text-stroke:1px #b8860b}.fc-daygrid-event-harness a{border:none}h2.fc-toolbar-title{border:none;font-weight:bolder}.fa-star{color:#ffffff4d}.fa-star.filled{color:#fbbf24}.meal-stars{position:absolute;top:4px;left:6px;background:#0009;padding:3px;border-radius:4px;display:flex;align-items:center;z-index:10;font-size:10px}.meal-stars i{margin-right:1px;width:10px;height:10px;color:#d3d3d3}.meal-stars i.filled{color:gold}.meal-stars i:last-child{margin-right:0}.meal-date{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;padding:4px 6px;border-radius:4px;font-weight:700;font-size:12px;z-index:5}.meal-title{position:absolute;bottom:8px;left:8px;right:8px;background:#000000b3;color:#fff;padding:4px 6px;border-radius:4px;font-size:12px;font-weight:700;text-align:center;z-index:5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-card{position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--mp-bg-card, #f8f9fa);transition:background-color .2s}[data-theme=dark] .meal-card{background-color:var(--mp-bg-card, #2d3748)}.meal-img{width:100%;height:100%;object-fit:cover;object-position:center}.mobile-meal-card-image{height:140px;position:relative;overflow:hidden;background-color:var(--mp-bg-card, #f8f9fa);transition:background-color .2s}[data-theme=dark] .mobile-meal-card-image{background-color:var(--mp-bg-card, #2d3748)}.shopping-item{transition:opacity .2s ease}.shopping-item-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.shopping-item .item-text{word-break:break-word}.feature-remove-item{flex-shrink:0;width:30px;height:30px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.feature-remove-item i{margin:0}.shopping-item.checked{opacity:1;background-color:#6c757d14;border-radius:10px}.shopping-item.checked .item-text{text-decoration:line-through;color:var(--mp-text-muted, #6c757d)}[data-theme=dark] .shopping-item.checked{background-color:#94a3b82e}[data-theme=dark] .shopping-item.checked .item-text{color:var(--mp-text, #e5e7eb)}.shopping-checkbox{cursor:pointer;width:18px;height:18px;flex-shrink:0}#shopping-counter,#stock-counter{font-size:.75rem;vertical-align:middle}.panel-heading .btn-group{gap:.25rem}.how-it-works-step{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center}.landing-page{max-width:1100px}.landing-hero-carousel{position:relative;overflow:hidden;border-radius:0 0 18px 18px;background:#0f172a;box-shadow:0 20px 44px #02061759;height:clamp(320px,44vw,500px)}.landing-hero-carousel .carousel-item img{height:clamp(300px,44vw,500px);object-fit:cover;filter:saturate(1.03) contrast(1.05)}.landing-hero-carousel .carousel-inner,.landing-hero-carousel .carousel-item{height:100%}.landing-hero-carousel .carousel-item{position:relative}.landing-hero-carousel .carousel-item img{width:100%;height:100%;display:block;position:absolute;inset:0}.landing-hero-carousel .carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;border:none;background:#fff9}.landing-hero-overlay{position:absolute;inset:0;z-index:2;padding:1.1rem;color:#fff;background:linear-gradient(180deg,#00000085,#000000bd 58%,#000000e6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.landing-hero-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5.2vw,4.15rem);font-weight:750;line-height:1.1;letter-spacing:-.01em;text-shadow:0 5px 18px rgba(0,0,0,.95);color:#fff!important}.landing-hero-title.no-gradient{background:none!important;-webkit-text-fill-color:#ffffff!important;-webkit-background-clip:initial!important;background-clip:initial!important}.landing-hero-overlay p{max-width:37rem;font-size:1.08rem;color:#f8fafcf0;line-height:1.7;text-shadow:0 4px 12px rgba(0,0,0,.9)}.landing-page h3{font-weight:760;letter-spacing:-.012em}.landing-page p.text-body-secondary{color:#475569e6!important;line-height:1.72}.landing-story-link{color:#14532d;font-weight:600;text-decoration:underline;text-underline-offset:2px}.landing-story-link:hover,.landing-story-link:focus{color:#166534}[data-theme=dark] .landing-page p.text-body-secondary{color:#cbd5e1e6!important}[data-theme=dark] .landing-story-link{color:#86efac}[data-theme=dark] .landing-story-link:hover,[data-theme=dark] .landing-story-link:focus{color:#bbf7d0}.landing-hero-overlay .btn-lg{padding:.75rem 1.25rem;font-size:1.05rem}.landing-hero-overlay .btn-success{color:#fff}.landing-hero-overlay .btn-success:hover,.landing-hero-overlay .btn-success:focus,.landing-hero-overlay .btn-success:active{color:#fff;background:#15803d;border-color:#15803d}.landing-benefits-row{padding:.3rem 0 .6rem}.landing-benefit-item{font-size:1.16rem;font-weight:650;display:flex;align-items:center;gap:.55rem}.landing-benefit-item .icon{color:#16a34a}.landing-story-media{padding:.9rem .2rem}[data-theme=dark] .landing-story-media{background:transparent}.landing-device-scene{position:relative;min-height:540px}.landing-device{margin:0;position:absolute}.landing-device img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 55px #0f172a3b;border:1px solid rgba(148,163,184,.2)}.landing-device-laptop{width:min(100%,760px);top:0;right:0;z-index:1}.landing-device-phone{width:min(34%,235px);left:2%;bottom:30px;z-index:3}.landing-device-phone img{border-radius:26px}.landing-step-list{display:grid;gap:1rem;max-width:800px;margin:0 auto}.landing-step-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#f8fafccc}[data-theme=dark] .landing-step-item{background:#0f172abf}.landing-step-number{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#166534;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0;margin-top:.15rem}.landing-pricing-wrap{background:#f1f5f9b8;border:1px solid rgba(148,163,184,.24);border-radius:16px;padding:1.6rem 1rem 1.2rem}[data-theme=dark] .landing-pricing-wrap{background:#0f172a9e}.landing-pricing-wrap .col-md-4:nth-child(2) .card{transform:translateY(-8px);box-shadow:0 16px 36px #02061733}.plan-tier-footer{display:flex;align-items:stretch;justify-content:center;min-height:4.75rem}.plan-tier-footer-action,.plan-tier-footer-note{width:100%;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;text-align:center}.plan-tier-footer-note{padding:.5rem .9rem;font-weight:600;border:1px solid var(--mp-border, #d0d7e2);border-radius:.5rem;background:#94a3b814}[data-theme=dark] .plan-tier-footer-note,[data-theme=system] .plan-tier-footer-note{background:#ffffff0f}.landing-final-cta{margin-top:1rem;background:linear-gradient(135deg,#15803d,#16a34a 55%,#22c55e)}.landing-final-cta h3{font-size:clamp(1.8rem,3.2vw,2.5rem)}.landing-final-cta .btn-light{font-weight:700;font-size:1.12rem;padding:.85rem 2rem;color:#14532d;background:#fff;border-color:#fff;box-shadow:0 14px 30px #02061759}.landing-final-cta .btn-light:hover,.landing-final-cta .btn-light:focus{color:#14532d;background:#f8fafc;border-color:#f8fafc;box-shadow:0 18px 36px #02061766;transform:translateY(-1px)}@media(max-width:768px){.landing-hero-carousel{border-radius:0 0 12px 12px;height:clamp(460px,78vh,560px)}.landing-hero-carousel .carousel-inner,.landing-hero-carousel .carousel-item{height:100%}.landing-hero-title{font-size:clamp(1.9rem,8vw,2.7rem)}.landing-hero-overlay p{font-size:.86rem;max-width:30rem;margin-bottom:.8rem!important}.landing-hero-overlay .btn{font-size:.82rem;padding:.45rem .65rem}.landing-hero-overlay .d-flex{width:100%;max-width:430px;margin-inline:auto;gap:.55rem!important;flex-wrap:nowrap!important}.landing-hero-overlay .d-flex .btn{flex:1 1 0;white-space:nowrap}.landing-benefit-item{font-size:1.02rem}.landing-story-media{padding:0}.landing-device-scene{min-height:255px;display:block;margin-top:.4rem}.landing-device{position:absolute}.landing-device-laptop{width:min(86%,440px);right:0;top:12px;z-index:1}.landing-device-phone{width:min(36%,145px);left:2%;bottom:0;z-index:3}.landing-device img{border-radius:14px}.landing-device-phone img{border-radius:18px}.landing-pricing-wrap .col-md-4:nth-child(2) .card{transform:none}}.public-page{max-width:1120px}.public-hero{position:relative;overflow:hidden;border-radius:16px;padding:1.4rem 1.4rem 1.2rem;border:1px solid rgba(148,163,184,.25);background:linear-gradient(140deg,#0f172af5,#1e293bf5 45%,#1e40afe0);box-shadow:0 16px 38px #0206174d;color:#f8fafc}.public-hero-plain{background:transparent;border:none;box-shadow:none;padding:.2rem 0 .4rem;color:var(--mp-text, #0f172a)}.public-hero-plain:after{display:none}.public-hero-plain .public-hero-eyebrow{color:var(--mp-text-muted, #64748b)}.public-hero-plain .public-hero-title{color:var(--mp-text, #0f172a)!important;-webkit-text-fill-color:var(--mp-text, #0f172a)!important}.public-hero-plain .public-hero-subtitle{color:#475569eb}.public-hero:after{content:"";position:absolute;right:-80px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#22c55e3b,#22c55e00 70%);pointer-events:none}.public-hero-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0eb}.public-hero-title{margin:.55rem 0 .35rem;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700;line-height:1.2;color:#fff;background:none!important;-webkit-text-fill-color:#fff!important;-webkit-background-clip:initial!important;background-clip:initial!important}.public-hero-subtitle{margin:0;font-size:1.02rem;line-height:1.6;color:#f1f5f9f2;max-width:52rem}.public-surface{border-radius:14px;border:1px solid rgba(148,163,184,.2);background:var(--mp-bg-card, #fff);box-shadow:0 10px 30px #0f172a14}.icon{display:inline-block;width:1.25rem;height:1.25rem;flex:0 0 auto;vertical-align:middle;color:currentColor}.icon-xs{width:.95rem;height:.95rem}.icon-sm{width:1.05rem;height:1.05rem}.icon-lg{width:1.4rem;height:1.4rem}.icon-2xl{width:2rem;height:2rem}.icon-3xl,.page-info-button__icon{width:3rem;height:3rem}.public-kicker-row{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center}.public-kicker-row span{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.98rem;color:var(--mp-text, #0f172a)}.public-accent-icon{color:#16a34a}.recipes-controls-row .form-label{font-weight:600}.recipes-controls-row{padding:.1rem 0 .95rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(148,163,184,.25)}.community-toolbar{padding:1rem 1rem 1.05rem;border-radius:18px;background:radial-gradient(circle at top right,rgba(34,197,94,.1),transparent 28%),linear-gradient(180deg,#fffffffa,#f8fafcfa)}.community-toolbar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.community-toolbar-eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.community-toolbar-copy{color:#64748b;font-size:.95rem;line-height:1.5;max-width:44rem}.recipe-discovery-card{background:#fff;border-radius:16px;border:1px solid rgba(148,163,184,.18);box-shadow:0 10px 28px #0f172a14;transition:transform .18s ease,box-shadow .18s ease}.recipe-discovery-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px #0f172a1f}.recipe-discovery-card .recipe-card-image{height:220px}.community-gallery-card .card-body{padding:.9rem .95rem .7rem}.community-gallery-card img.card-img-top,.community-gallery-card .recipe-card-image{display:block;width:100%}.community-gallery-card{box-shadow:0 8px 22px #0f172a14}.community-gallery-card:hover{box-shadow:0 14px 30px #0f172a1f}.community-gallery-card .card-footer{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;background:#f8fafc9e;border-top:1px solid rgba(148,163,184,.2)}.community-gallery-card .card-footer .d-inline{display:inline-flex!important}.community-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.55rem;width:100%}.community-card-actions .btn,.community-card-actions .community-card-action-form{width:100%}.community-card-action-form{display:block;margin:0}.community-card-action-form .btn{width:100%}.community-card-hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.65rem;align-items:start;margin-bottom:.6rem}.community-card-image-link{display:block}.community-card-hero .recipe-card-image{width:92px;height:92px;border-radius:.75rem;object-fit:cover}.community-card-meta{min-width:0}.community-card-title-row{display:flex;gap:.6rem;align-items:flex-start;justify-content:space-between}.community-card-title-row .card-title{flex:1 1 auto;min-width:0;margin-bottom:.25rem}.community-card-title-row .community-reaction-row{margin-bottom:0;flex:0 0 auto}.community-card-title-link{color:inherit;text-decoration:none}.community-card-title-link:hover,.community-card-title-link:focus-visible{color:#0f172a;text-decoration:underline;text-underline-offset:.12em}.community-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin-bottom:.45rem;font-size:.92rem;color:#64748b}.community-type-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.26rem .6rem;border-radius:999px;background:#0f172a0f;color:#334155;font-weight:600}.community-stars-inline{display:inline-flex;align-items:center;gap:.12rem}.buzz-rating-star--chef{color:#f59e0b}.buzz-rating-star--community{color:#16a34a}.buzz-rating-star--empty{color:#94a3b8}.buzz-rating-star--empty-outline{color:#64748b}.community-rating-line{margin-bottom:0}.community-shared-by{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .55rem;font-size:.84rem;font-weight:600;color:#64748b}.community-reaction-row{display:inline-flex;flex-wrap:wrap;gap:.45rem;width:auto}.community-reaction-row .recipe-reaction-btn{width:auto;min-width:5.3rem;padding:.26rem .65rem;border-radius:999px;font-size:.95rem;line-height:1.2}@media(min-width:768px){.community-card-hero{grid-template-columns:minmax(0,1fr);gap:.7rem;align-items:start}.community-card-hero .recipe-card-image{width:100%;height:clamp(190px,18vw,250px);border-radius:.9rem;object-fit:cover}.community-card-meta{display:block}.community-card-title-row{align-items:center}.community-card-title-row .community-reaction-row{justify-content:flex-end;width:auto}.community-reaction-row .recipe-reaction-btn{min-width:4.75rem;padding:.22rem .62rem}}@media(max-width:767.98px){.community-card-hero{grid-template-columns:minmax(0,1fr);gap:.6rem}.community-card-image-link{width:100%}.community-card-hero .recipe-card-image{width:100%;height:clamp(180px,50vw,250px);border-radius:.9rem;object-fit:cover}.community-card-title-row{display:block}.community-card-title-row .community-reaction-row{margin-top:.5rem}.community-reaction-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%}.community-reaction-row .recipe-reaction-btn{width:100%;min-width:0;padding:.45rem .7rem}}.recipe-community-signal{font-weight:600}.recipe-card-description{margin-top:.25rem;margin-bottom:0;color:#64748b;font-size:.94rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spinner-remaining-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .62rem;border-radius:999px;font-size:.82rem;font-weight:550;color:#64748b;background:#f1f5f9c7;border:1px solid rgba(148,163,184,.22)}.spinner-page .spinner-stage{width:min(392px,92vw);height:min(392px,92vw)}.spinner-page .public-hero-plain{text-align:center}.spinner-page .public-hero-plain .public-hero-subtitle{margin-left:auto;margin-right:auto}.spinner-page .public-kicker-row{justify-content:center;text-align:center}.spinner-page .spinner-stage:before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at center,#16653414,#16653400 68%);z-index:0}.spinner-page .spinner-wheel{width:100%;height:100%;position:absolute;inset:0;z-index:1;box-shadow:0 12px 26px #02061738,inset 0 6px 14px #fff3;background:conic-gradient(#2e7d32 0deg 45deg,#43a047 45deg 90deg,#66bb6a 90deg 135deg,#f9a825 135deg 180deg,#fb8c00 180deg 225deg,#42a5f5 225deg 270deg,#1e88e5 270deg 315deg,#aed581 315deg 360deg)}.spinner-page .spinner-center.btn{width:clamp(134px,43vw,168px);height:clamp(134px,43vw,168px);min-width:clamp(134px,43vw,168px);min-height:clamp(134px,43vw,168px);max-width:clamp(134px,43vw,168px);max-height:clamp(134px,43vw,168px);background:linear-gradient(135deg,#166534,#15803d);border-color:#fff;box-shadow:0 16px 28px #0206174d}.spinner-page #resultArea .card{width:min(100%,520px)}.spinner-page #resultImage{height:clamp(170px,38vw,240px)}.public-page .card{border-radius:14px;border:1px solid rgba(148,163,184,.2);box-shadow:0 10px 28px #0f172a14}.public-page .card-header:not(.bg-primary):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-info):not(.bg-secondary):not(.bg-dark){background:#f8fafcb8;border-bottom:1px solid rgba(148,163,184,.18)}.public-page .card-header .h4,.public-page .card-header h4{margin:0}[data-theme=dark] .public-page .card-header:not(.bg-primary):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-info):not(.bg-secondary):not(.bg-dark){background:#111827eb;border-bottom-color:#94a3b838}.public-soft-note{border-radius:12px;padding:.75rem .9rem;background:#2563eb14;border:1px solid rgba(37,99,235,.2)}.public-detail-stage{position:relative}.public-detail-media,.public-detail-summary{border-radius:18px}.public-detail-media{padding:.9rem;background:radial-gradient(circle at bottom left,rgba(34,197,94,.1),transparent 36%),linear-gradient(180deg,#fffffffa,#f8fafcfa)}.public-detail-image{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;box-shadow:0 18px 38px #0f172a2e}.public-detail-media-actions{display:flex;justify-content:flex-end;margin-top:.7rem}.public-detail-summary{padding:1.1rem 1.1rem 1rem;background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 28%),linear-gradient(180deg,#fffffffa,#f8fafcfa)}.public-detail-summary-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:.9rem}.public-detail-eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.public-detail-primary-action{flex:0 0 auto}.public-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem}.public-detail-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .72rem;border-radius:999px;background:#0f172a12;color:#334155;font-weight:600;font-size:.92rem}.public-detail-chip--primary{background:linear-gradient(135deg,#2563eb29,#1e40af24);color:#1d4ed8}.public-detail-chip--dietary.is-vegan{background:#22c55e29;color:#166534}.public-detail-chip--dietary.is-vegetarian{background:#0ea5e924;color:#0369a1}.public-detail-chip--stars{background:#f59e0b1f;color:#92400e}.public-detail-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.public-detail-rating-panel,.public-detail-meta-card{padding:.9rem .95rem;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#ffffffb8}.public-detail-description{font-size:.98rem;line-height:1.65}.public-detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.public-detail-badge-row{display:flex;flex-wrap:wrap;gap:.4rem}.public-detail-link-row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1rem}.public-detail-attribution{display:inline-flex;align-items:center;gap:.42rem;font-size:.92rem;color:#64748b}.public-detail-section{padding:1.2rem;border-radius:18px}.public-detail-section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.95rem}.public-detail-section-eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.public-detail-serves-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.42rem .75rem;border-radius:999px;background:#22c55e1f;color:#166534;font-weight:700;font-size:.9rem}.public-detail-section-body{display:grid;gap:1rem}.public-detail-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.public-detail-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#ffffffc7}.public-detail-ingredient-name{font-size:.98rem;font-weight:600;color:#1e293b}.public-detail-ingredient-qty{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:4.5rem;padding:.32rem .62rem;border-radius:999px;background:#0f172a0f;color:#475569;font-size:.9rem;font-weight:700}.public-review-form{padding:1rem;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#ffffffb8}.public-review-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.95rem}.public-review-login-note{padding:.9rem 1rem}.public-review-list{display:grid;gap:.9rem}.public-review-card{padding:1rem 1.05rem;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:#ffffffad;box-shadow:0 8px 18px #0f172a0a}.public-review-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem}.public-review-author-block{display:grid;gap:.25rem}.public-review-author{font-size:1.02rem;font-weight:700;color:#166534;text-decoration:none}.public-review-author:hover,.public-review-author:focus-visible{color:#14532d;text-decoration:underline;text-underline-offset:.12em}.public-review-stars{display:inline-flex;flex-wrap:wrap;gap:.1rem}.public-review-date{color:#64748b;font-size:.88rem}.public-review-copy{margin:.85rem 0 0;color:#334155;line-height:1.65}.public-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;margin-top:.9rem}.public-detail-bottom-bar{display:flex;justify-content:flex-start}.public-page .btn .icon,.public-page .badge .icon,.public-page .community-type-pill .icon,.public-page .public-detail-chip .icon,.public-page .public-detail-attribution .icon,.public-page .public-review-actions .icon{margin-right:.4rem}.public-page .btn .icon:last-child,.public-page .badge .icon:last-child,.public-page .community-type-pill .icon:last-child,.public-page .public-detail-chip .icon:last-child,.public-page .public-detail-attribution .icon:last-child,.public-page .public-review-actions .icon:last-child{margin-right:0}.public-page .btn .icon+span,.public-page .public-review-actions .icon+span{margin-left:0}[data-theme=dark] .public-surface{background:#111827e6;border-color:#94a3b83d;box-shadow:0 10px 28px #02061759}[data-theme=dark] .public-kicker-row span{color:#e2e8f0}[data-theme=dark] .public-hero-plain .public-hero-eyebrow{color:#cbd5e1e6}[data-theme=dark] .public-hero-plain .public-hero-title{color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important}[data-theme=dark] .public-hero-plain .public-hero-subtitle{color:#cbd5e1e6}[data-theme=dark] .recipes-controls-row{border-bottom-color:#94a3b84d}[data-theme=dark] .community-toolbar{background:radial-gradient(circle at top right,rgba(34,197,94,.16),transparent 28%),linear-gradient(180deg,#0f172af2,#111827f2)}[data-theme=dark] .community-toolbar-eyebrow,[data-theme=dark] .community-toolbar-copy,[data-theme=dark] .community-shared-by,[data-theme=dark] .community-meta-line{color:#cbd5e1}[data-theme=dark] .community-type-pill{background:#94a3b824;color:#e2e8f0}[data-theme=dark] .buzz-rating-star--chef{color:#fbbf24}[data-theme=dark] .buzz-rating-star--community{color:#4ade80}[data-theme=dark] .buzz-rating-star--empty{color:#64748b}[data-theme=dark] .buzz-rating-star--empty-outline{color:#94a3b8}[data-theme=dark] .community-card-title-link:hover,[data-theme=dark] .community-card-title-link:focus-visible{color:#f8fafc}[data-theme=dark] .recipe-discovery-card{background:#111827eb;border-color:#94a3b83d;box-shadow:0 10px 28px #02061759}[data-theme=dark] .community-gallery-card .card-footer{background:#0f172ab8;border-top-color:#94a3b842}[data-theme=dark] .recipe-card-description{color:#cbd5e1}[data-theme=dark] .spinner-remaining-pill{color:#cbd5e1;background:#3341553d;border-color:#94a3b833}[data-theme=dark] .public-soft-note{background:#3b82f624;border-color:#60a5fa42}[data-theme=dark] .public-detail-media{background:radial-gradient(circle at bottom left,rgba(34,197,94,.14),transparent 36%),linear-gradient(180deg,#0f172af2,#111827f2)}[data-theme=dark] .public-detail-summary{background:radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 28%),linear-gradient(180deg,#0f172af2,#111827f2)}[data-theme=dark] .public-detail-eyebrow,[data-theme=dark] .public-detail-attribution,[data-theme=dark] .public-detail-section-eyebrow{color:#cbd5e1}[data-theme=dark] .public-detail-chip{background:#94a3b824;color:#e2e8f0}[data-theme=dark] .public-detail-chip--primary{background:linear-gradient(135deg,#2563eb3d,#1e40af38);color:#bfdbfe}[data-theme=dark] .public-detail-chip--dietary.is-vegan{background:#22c55e38;color:#bbf7d0}[data-theme=dark] .public-detail-chip--dietary.is-vegetarian{background:#0ea5e938;color:#bae6fd}[data-theme=dark] .public-detail-chip--stars{background:#f59e0b2e;color:#fde68a}[data-theme=dark] .public-detail-rating-panel,[data-theme=dark] .public-detail-meta-card,[data-theme=dark] .public-detail-list-item,[data-theme=dark] .public-review-form,[data-theme=dark] .public-review-card{background:#0f172aad;border-color:#94a3b833}[data-theme=dark] .public-detail-serves-pill{background:#22c55e33;color:#bbf7d0}[data-theme=dark] .public-detail-ingredient-name,[data-theme=dark] .public-review-copy{color:#e2e8f0}[data-theme=dark] .public-detail-ingredient-qty{background:#94a3b824;color:#cbd5e1}[data-theme=dark] .public-review-author{color:#86efac}[data-theme=dark] .public-review-author:hover,[data-theme=dark] .public-review-author:focus-visible{color:#bbf7d0}@media(max-width:768px){.public-hero{padding:1rem;border-radius:14px}.public-hero-subtitle{font-size:.95rem}.community-gallery-card>a .recipe-card-image,.community-gallery-card .card-img-top.recipe-card-image{height:160px}.spinner-public-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:420px;margin-left:auto;margin-right:auto}.spinner-public-ctas .btn{width:100%}.public-detail-summary{padding:.95rem}.public-detail-section{padding:1rem}.public-detail-rating-grid,.public-detail-meta-grid{grid-template-columns:minmax(0,1fr)}.public-review-card,.public-review-form{padding:.85rem}.public-detail-list-item{padding:.85rem .9rem}}@media(max-width:576px){.public-detail-list-item{align-items:flex-start;flex-direction:column}.public-detail-ingredient-qty{min-width:0}}@media(max-width:576px){.community-page{padding-left:.3rem;padding-right:.3rem}.community-toolbar{padding:.8rem .8rem .9rem}.community-toolbar-copy{font-size:.9rem}.community-page #recipesGrid .recipe-card{padding-left:.2rem;padding-right:.2rem}.community-gallery-card .card-body{padding:.65rem .65rem .45rem}.community-card-hero .recipe-card-image{width:100%;height:clamp(170px,52vw,230px);object-fit:cover}.community-gallery-card .card-title{margin-bottom:.35rem}.community-gallery-card .card-text{margin-bottom:.45rem}.community-gallery-card .card-footer{padding:.6rem .65rem .65rem}.community-card-actions{gap:.4rem}}.quick-try{border-radius:18px;background:#ffffffbf;box-shadow:0 14px 34px #00000012;backdrop-filter:blur(8px)}.feature-card{border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 10px 26px #0000000f;transition:transform .18s ease,box-shadow .18s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a}.secondary-wrap{border-radius:18px}.secondary-item{padding:10px 6px}.cta-final{border-radius:22px;background:radial-gradient(900px 420px at 10% 20%,rgba(25,135,84,.12),transparent 60%),radial-gradient(900px 420px at 90% 60%,rgba(13,110,253,.1),transparent 55%),#f8f9fa;box-shadow:0 16px 44px #00000014}.page-info-fab{position:fixed;bottom:24px;right:24px;z-index:1045}.page-info-button{width:48px;height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0d6efd;color:#fff;border:none;box-shadow:0 10px 24px #0d6efd59}.page-info-button:focus,.page-info-button:hover{background:#0b5ed7;color:#fff}.page-info-panel .offcanvas-body{position:relative;font-size:.98rem;line-height:1.6;padding:1.5rem;background:radial-gradient(circle at top left,rgba(40,207,135,.08),transparent 34%),linear-gradient(180deg,#09192cfa,#11253afa);color:#f1f5f9f0}.page-info-panel .offcanvas-header{align-items:flex-start;background:linear-gradient(135deg,#0d2138fa,#173a4efa);border-bottom:1px solid rgba(110,231,183,.18);color:#f8fafc;padding:1rem 1.25rem}.page-info-panel .btn-close{filter:invert(1) grayscale(1);opacity:.8}.page-info-panel .btn-close:hover,.page-info-panel .btn-close:focus{opacity:1}.page-info-panel__title-wrap{display:flex;align-items:center;gap:.9rem}.page-info-panel__brand-mark{width:56px;height:56px;flex:0 0 56px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:.35rem;background:linear-gradient(135deg,#22c55e2e,#60a5fa2e);box-shadow:0 12px 32px #080f2152,inset 0 0 0 1px #a7f3d02e}.page-info-panel__brand-image{width:100%;height:100%;object-fit:contain}.page-info-panel__eyebrow{margin-bottom:.15rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#86efac}.page-info-panel .offcanvas-title{color:#f8fafc}.page-info-panel__watermark{position:absolute;right:-1.25rem;bottom:-1.25rem;pointer-events:none;opacity:.07}.page-info-panel__watermark-image{width:180px;height:auto;object-fit:contain}.page-info-panel p,.page-info-panel li,.page-info-panel .text-body-secondary,.page-info-panel .small{color:#e2e8f0e6!important}.page-info-panel a{color:#a7f3d0}.page-info-panel a:hover,.page-info-panel a:focus{color:#d1fae5}.page-info-panel strong,.page-info-panel b,.page-info-panel h1,.page-info-panel h2,.page-info-panel h3,.page-info-panel h4,.page-info-panel h5,.page-info-panel h6{color:#f8fafc}.page-info-panel ul{margin-bottom:1rem}.page-info-panel li{margin-bottom:.35rem}.mp-touch-only-inline-flex{display:none!important}.recipe-image-upload-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.recipe-image-upload-actions .form-control{flex:1 1 240px}.recipe-image-upload-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px}.recipe-image-action--camera{position:static;min-height:42px;padding:.6rem .9rem;border-radius:12px;gap:.45rem;font-size:.95rem}@media(max-width:576px){.page-info-fab{bottom:16px;right:16px}.page-info-panel__brand-mark{width:48px;height:48px;flex-basis:48px}.page-info-panel__watermark-image{width:132px}}@media(hover:none),(pointer:coarse){.mp-touch-only-inline-flex{display:inline-flex!important}}.rating-widget .rating-stars{display:inline-flex;gap:4px}.rating-widget .rating-star{cursor:pointer;font-size:1.5rem;color:#ccc;transition:color .15s,transform .15s}.rating-widget .rating-star i{color:#ccc}.rating-widget .rating-star.active,.rating-widget .rating-star.active i{color:#ffc107}.rating-widget .rating-star:hover{transform:scale(1.1)}.rating-widget .rating-star.loading{opacity:.5;pointer-events:none}.rating-widget[data-authenticated=false] .rating-star{cursor:default}.rating-widget[data-authenticated=false] .rating-star:hover{transform:none}.review-item{background:transparent}.review-item:last-child{border-bottom:none!important}.like-btn{font-size:.875rem;padding:.25rem .5rem}.like-btn:disabled{opacity:.6;cursor:not-allowed}.review-like-section{display:flex;align-items:center}.spinner-stage,.spinner-stage *{box-sizing:border-box}.spinner-stage{position:relative;display:block;width:320px;height:320px;aspect-ratio:1 / 1}.spinner-wheel{position:absolute;inset:0;width:320px;height:320px;border-radius:50%;border:10px solid #fff;box-shadow:0 16px 40px #00000026;background:conic-gradient(#2e7d32 0deg 45deg,#4caf50 45deg 90deg,#81c784 90deg 135deg,#ffb74d 135deg 180deg,#ff8a65 180deg 225deg,#90caf9 225deg 270deg,#64b5f6 270deg 315deg,#aed581 315deg 360deg);transition:transform 3.2s cubic-bezier(.2,.7,.2,1)}.spinner-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:24px solid #1b5e20;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2));z-index:2}.spinner-center.btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;min-width:140px;min-height:140px;max-width:140px;max-height:140px;padding:0;border-radius:50%;border:6px solid #fff;box-shadow:0 12px 24px #00000026;font-size:.85rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;z-index:3;aspect-ratio:1 / 1;line-height:1.2}.spinner-center:disabled{cursor:not-allowed;opacity:.7}.card-img-top-container{height:250px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.card-img-top-container img{width:100%;height:100%;object-fit:cover}#resultArea .card{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rich-text-editor.form-control{min-height:120px;height:auto;padding:10px 12px;overflow:hidden}.rich-text-editor.form-control:empty:before{content:attr(data-placeholder);color:#9aa0a6}.recipe-image{display:flex;flex-direction:column;gap:.75rem}.recipe-image-frame{position:relative}.recipe-image-frame img,.recipe-image img{width:100%;height:100%;object-fit:contain;margin-top:20px}.recipe-image-action{position:absolute;top:25px;right:5px;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;background:#0f172acc;color:#fff;font-size:.85rem;cursor:pointer;box-shadow:0 6px 16px #0f172a40}.recipe-image-action:hover{background:#0f172af2}.recipe-edit-page .recipe-image-action--camera{top:auto;bottom:12px;right:5px}.recipe-image-share-actions{display:flex;flex-wrap:wrap;gap:.75rem}.recipe-image-share-actions .btn{flex:1 1 100%;width:100%;min-height:2.9rem;padding:.7rem 1rem;justify-content:center}.recipe-image-actions .btn-link{color:var(--mp-primary);padding-left:0}.recipe-image-actions .btn-link:hover{color:var(--mp-primary-dark)}.mp-helper-card{position:relative;width:100%}.mp-helper-card__bubble{position:relative;display:grid;grid-template-columns:minmax(110px,148px) 1fr;gap:1.1rem;padding:1.1rem 1.25rem 1.1rem 1rem;border:1px solid rgba(92,225,146,.45);border-radius:20px;background:linear-gradient(180deg,#5ce1921f,#5ce1920d),linear-gradient(135deg,#0e1b2bf5,#202f3df0);box-shadow:0 18px 40px #080f1e38;color:#f5fbff}.mp-helper-card__mascot{display:flex;align-items:flex-end;justify-content:center;position:relative;margin:-1.35rem 0 -.65rem -.9rem;pointer-events:none}.mp-helper-card__mascot picture{display:block}.mp-helper-card__mascot-image{display:block;width:clamp(132px,16vw,176px);height:auto;filter:drop-shadow(0 12px 20px rgba(8,15,30,.24));transform-origin:center bottom;animation:mp-helper-mascot-intro .98s cubic-bezier(.22,1,.36,1) both}.mp-helper-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background:#5ce19224;color:#8cf0b4;font-size:1.1rem;box-shadow:inset 0 0 0 1px #5ce19229}.mp-helper-card__content{min-width:0}.mp-helper-card__eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8cf0b4;margin-bottom:.35rem}.mp-helper-card__title{margin:0 0 .4rem;font-size:1.15rem;line-height:1.25;color:#f5fbff}.mp-helper-card__body{color:#f1f7fce6}.mp-helper-card__body p:last-child{margin-bottom:0}.mp-helper-card__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.9rem}.mp-helper-card__actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.mp-helper-card__actions .btn-outline-primary,.mp-helper-card__actions .btn-outline-success{border-width:2px;color:#f5fbff;border-color:#70f5a1e6;background:#0c211847}.mp-helper-card__actions .btn-outline-primary:hover,.mp-helper-card__actions .btn-outline-primary:focus,.mp-helper-card__actions .btn-outline-success:hover,.mp-helper-card__actions .btn-outline-success:focus{color:#08151f;background:#70f5a1;border-color:#70f5a1}@keyframes mp-helper-mascot-intro{0%{transform:scale(1.34) translateY(18px) rotate(0);opacity:0}42%{transform:scale(.9) translateY(-6px) rotate(0);opacity:1}58%{transform:scale(1.04) translateY(0) rotate(0);opacity:1}70%{transform:scale(1) translateY(0) rotate(-5deg);opacity:1}82%{transform:scale(1) translateY(0) rotate(4deg);opacity:1}92%{transform:scale(1) translateY(0) rotate(-2deg);opacity:1}to{transform:scale(1) translateY(0) rotate(0);opacity:1}}.empty-state-container .mp-helper-card{max-width:700px;margin:1rem auto 0;text-align:left}#generateMenuHelper{margin-bottom:.75rem}.generate-menu-empty-helper .mp-helper-card__actions .btn{flex:1 1 220px}@media(max-width:767.98px){.mp-helper-card__bubble{grid-template-columns:1fr;gap:.85rem;padding:1rem .95rem .95rem}.mp-helper-card__bubble:before{top:auto;bottom:-10px;left:30px;transform:rotate(135deg)}.mp-helper-card__icon{width:2.4rem;height:2.4rem}.mp-helper-card__mascot{justify-content:flex-start;margin:-1.2rem 0 -.25rem -.45rem}.mp-helper-card__mascot-image{width:min(146px,42vw)}.mp-helper-card__actions .btn{flex:1 1 100%}}.meal-type-badge{padding:.35em .65em;font-size:.75em;min-width:60px;text-align:center}.meal-type-badge[data-type=A]{background-color:#e57373;color:#fff}.meal-type-badge[data-type=B]{background-color:#81c784;color:#fff}.meal-type-badge[data-type=C]{background-color:#64b5f6;color:#fff}.meal-type-badge[data-type=D]{background-color:#fff176;color:#333}.meal-type-badge[data-type=E]{background-color:#ffb74d;color:#fff}.meal-type-badge[data-type=F]{background-color:#ba68c8;color:#fff}.meal-type-badge[data-type=G]{background-color:#4dd0e1;color:#fff}.meal-type-badge[data-type=H]{background-color:#a1887f;color:#fff}.meal-type-badge[data-type=""]{background-color:#bdbdbd;color:#fff}.drag-handle:active{cursor:grabbing}.menu-row.dragging{opacity:.5;background-color:var(--mp-light)}.menu-row.drop-target{background-color:var(--mp-primary-light)!important;outline:2px dashed var(--mp-primary)}.ingredient-row.dragging{opacity:.6}.drop-hover{background-color:#e0e0e0}.dragging{opacity:.5}.validation-warning{color:var(--mp-warning);font-size:.875rem}.validation-error{color:var(--mp-danger);font-size:.875rem}.invalid-feedback{color:#dc3545;font-size:.875em}.menu-save-overlay{position:fixed;inset:0;background:#0f172a59;display:none;align-items:center;justify-content:center;z-index:1060}.menu-save-overlay.is-visible{display:flex}.menu-save-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 10px 30px #0f172a33;text-align:center;min-width:160px}.shopping-item .remove-item-btn{opacity:0;transition:opacity .2s}.shopping-item:hover .remove-item-btn{opacity:1}@media print{.col-print-12{width:100%!important;max-width:100%!important;flex:0 0 100%!important}#shoppingListItems{font-size:10pt}#shoppingListItems .list-group-item{padding:.35rem .75rem}#shoppingListItems .form-check-input{width:.875em;height:.875em;print-color-adjust:exact;-webkit-print-color-adjust:exact}#shoppingListItems .badge{font-size:.7em;padding:.2em .4em}#shoppingListItems .shopping-item.checked .form-check-label{text-decoration:line-through;color:#888}}:root,[data-theme=light]{--bs-primary: #16a34a;--bs-primary-rgb: 22, 163, 74;--bs-secondary: #475569;--bs-secondary-rgb: 71, 85, 105;--bs-success: #22c55e;--bs-success-rgb: 34, 197, 94;--bs-danger: #ef4444;--bs-danger-rgb: 239, 68, 68;--bs-warning: #f59e0b;--bs-warning-rgb: 245, 158, 11;--bs-info: #3b82f6;--bs-info-rgb: 59, 130, 246;--bs-body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bs-body-font-size: 1rem;--bs-body-color: #0f172a;--bs-border-radius: 12px;--bs-border-radius-sm: 8px;--bs-border-radius-lg: 16px;--bs-border-color: #e2e8f0;--bs-link-color: #16a34a;--bs-link-hover-color: #15803d;--mp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mp-font-display: "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mp-font-size-xs: .75rem;--mp-font-size-sm: .875rem;--mp-font-size-base: 1rem;--mp-font-size-lg: 1.125rem;--mp-font-size-xl: 1.25rem;--mp-font-size-2xl: 1.75rem;--mp-font-size-3xl: 2.25rem;--mp-font-size-4xl: 3rem;--mp-primary: #16a34a;--mp-primary-dark: #15803d;--mp-primary-light: #22c55e;--mp-primary-glow: rgba(22, 163, 74, .4);--mp-accent: #f97316;--mp-accent-dark: #ea580c;--mp-accent-light: #fb923c;--mp-accent-glow: rgba(249, 115, 22, .4);--mp-gradient-primary: linear-gradient(135deg, #16a34a 0%, #15803d 100%);--mp-gradient-accent: linear-gradient(135deg, #f97316 0%, #ea580c 100%);--mp-gradient-hero: linear-gradient( 135deg, #16a34a 0%, #0d9488 50%, #0891b2 100% );--mp-gradient-warm: linear-gradient(135deg, #f97316 0%, #ef4444 100%);--mp-gradient-dark: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--mp-dark: #0f172a;--mp-gray: #475569;--mp-gray-light: #94a3b8;--mp-light: #f1f5f9;--mp-white: #ffffff;--mp-bg: #ffffff;--mp-bg-secondary: #f8fafc;--mp-text: #0f172a;--mp-text-muted: #64748b;--mp-border: #e2e8f0;--mp-success: #22c55e;--mp-warning: #f59e0b;--mp-danger: #ef4444;--mp-info: #3b82f6;--mp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--mp-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--mp-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--mp-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--mp-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--mp-shadow-glow: 0 0 40px var(--mp-primary-glow);--mp-shadow-glow-accent: 0 0 40px var(--mp-accent-glow);--mp-radius-sm: 4px;--mp-radius: 6px;--mp-radius-lg: 8px;--mp-radius-xl: 16px;--mp-radius-full: 9999px;--mp-space-1: .25rem;--mp-space-2: .5rem;--mp-space-3: .75rem;--mp-space-4: 1rem;--mp-space-5: 1.25rem;--mp-space-6: 1.5rem;--mp-space-8: 2rem;--mp-space-10: 2.5rem;--mp-space-12: 3rem;--mp-transition: .2s cubic-bezier(.4, 0, .2, 1);--mp-transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--mp-transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bs-body-bg: #121212;--bs-body-color: #e0e0e0;--bs-border-color: #424242;--bs-tertiary-bg: #1e1e1e;--bs-secondary-bg: #2d2d2d;--bs-emphasis-color: #ffffff;--bs-link-color: #81c784;--bs-link-hover-color: #a5d6a7;--bs-code-color: #f8bbd9;--bs-secondary-color: #b0b0b0;--bs-secondary-color-rgb: 176, 176, 176;--mp-primary: #4caf50;--mp-primary-dark: #2e7d32;--mp-primary-light: #81c784;--mp-accent: #ffa726;--mp-accent-dark: #ff6f00;--mp-accent-light: #ffcc80;--mp-dark: #e0e0e0;--mp-gray: #9e9e9e;--mp-gray-light: #757575;--mp-light: #2d2d2d;--mp-white: #1e1e1e;--mp-bg: #121212;--mp-bg-secondary: #1e1e1e;--mp-text: #e0e0e0;--mp-text-muted: #9e9e9e;--mp-border: #424242;--mp-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--mp-shadow: 0 2px 6px rgba(0, 0, 0, .5);--mp-shadow-lg: 0 4px 12px rgba(0, 0, 0, .6);--mp-shadow-xl: 0 8px 24px rgba(0, 0, 0, .7);--mp-gradient-primary: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);--mp-gradient-accent: linear-gradient(135deg, #ffa726 0%, #ff6f00 100%)}@media(prefers-color-scheme:dark){[data-theme=system]{--bs-body-bg: #121212;--bs-body-color: #e0e0e0;--bs-border-color: #424242;--bs-tertiary-bg: #1e1e1e;--bs-secondary-bg: #2d2d2d;--bs-emphasis-color: #ffffff;--bs-link-color: #81c784;--bs-link-hover-color: #a5d6a7;--bs-secondary-color: #b0b0b0;--bs-secondary-color-rgb: 176, 176, 176;--mp-primary: #4caf50;--mp-primary-dark: #2e7d32;--mp-primary-light: #81c784;--mp-accent: #ffa726;--mp-accent-dark: #ff6f00;--mp-accent-light: #ffcc80;--mp-dark: #e0e0e0;--mp-gray: #9e9e9e;--mp-gray-light: #757575;--mp-light: #2d2d2d;--mp-white: #1e1e1e;--mp-bg: #121212;--mp-bg-secondary: #1e1e1e;--mp-text: #e0e0e0;--mp-text-muted: #9e9e9e;--mp-border: #424242;--mp-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--mp-shadow: 0 2px 6px rgba(0, 0, 0, .5);--mp-shadow-lg: 0 4px 12px rgba(0, 0, 0, .6);--mp-shadow-xl: 0 8px 24px rgba(0, 0, 0, .7);--mp-gradient-primary: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);--mp-gradient-accent: linear-gradient(135deg, #ffa726 0%, #ff6f00 100%)}}[data-theme=dark] body{background-color:var(--mp-bg);color:var(--mp-text)}[data-theme=dark] .navbar .container,[data-theme=dark] .navbar .container-fluid,[data-theme=dark] .site-footer .container{background-color:transparent}@media(prefers-color-scheme:dark){[data-theme=system] body{background-color:var(--mp-bg);color:var(--mp-text)}[data-theme=system] .navbar .container,[data-theme=system] .navbar .container-fluid,[data-theme=system] .site-footer .container{background-color:transparent}}body{font-family:var(--mp-font-family);font-size:var(--mp-font-size-base);line-height:1.6;background-color:var(--mp-bg);color:var(--mp-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--mp-transition),color var(--mp-transition)}.text-muted,.text-body-secondary,.form-text{color:#5a6268}.card-text.text-muted,.card-text.text-body-secondary{color:#495057}[data-theme=dark] .card,[data-theme=system] .card{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}@media(prefers-color-scheme:dark){[data-theme=system] .card{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}}[data-theme=dark] .table,[data-theme=dark] .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg: var(--mp-bg-secondary);--bs-table-striped-bg: var(--mp-bg);color:var(--mp-text);border-color:var(--mp-border)}[data-theme=dark] .table th,[data-theme=dark] .table td{color:var(--mp-text)}[data-theme=dark] .table>:not(caption)>.table-secondary>*,[data-theme=dark] .table>:not(caption)>tr.table-secondary>*{--bs-table-color: var(--mp-text);--bs-table-bg: color-mix(in srgb, var(--mp-bg-secondary) 84%, #ffffff 16%)}@media(prefers-color-scheme:dark){[data-theme=system] .table>:not(caption)>.table-secondary>*,[data-theme=system] .table>:not(caption)>tr.table-secondary>*{--bs-table-color: var(--mp-text);--bs-table-bg: color-mix( in srgb, var(--mp-bg-secondary) 84%, #ffffff 16% )}}[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:var(--mp-bg-secondary);border-color:var(--mp-border);color:var(--mp-text)}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-select:focus{background-color:var(--mp-bg);border-color:var(--mp-primary);color:var(--mp-text)}[data-theme=dark] .form-control::placeholder{color:var(--mp-text-muted)}[data-theme=dark] .form-text{color:var(--mp-text-muted)}[data-theme=dark] .dropdown-menu{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}[data-theme=dark] .dropdown-item{color:var(--mp-text)}[data-theme=dark] .dropdown-item:hover,[data-theme=dark] .dropdown-item:focus{background-color:var(--mp-light);color:var(--mp-text)}[data-theme=dark] .dropdown-divider{border-color:var(--mp-border)}[data-theme=dark] .alert-danger{background-color:#e5393533;border-color:var(--mp-danger);color:#f8d7da}[data-theme=dark] .alert-success{background-color:#43a04733;border-color:var(--mp-success);color:#d4edda}[data-theme=dark] .alert-warning{background-color:#f59e0b33;border-color:var(--mp-warning);color:#fde68a}[data-theme=dark] .alert-info{background-color:#1e40af70;border-color:var(--mp-info);color:#eaf2ff}[data-theme=dark] .alert-info[data-message-id],[data-theme=dark] .admin-message.alert-info{color:#f3f8ff}[data-theme=dark] .alert-info[data-message-id] a,[data-theme=dark] .admin-message.alert-info a,[data-theme=dark] .alert-info a{color:#fff}[data-theme=dark] .alert-info[data-message-id] a:hover,[data-theme=dark] .alert-info[data-message-id] a:focus,[data-theme=dark] .admin-message.alert-info a:hover,[data-theme=dark] .admin-message.alert-info a:focus,[data-theme=dark] .alert-info a:hover,[data-theme=dark] .alert-info a:focus{color:#dbeafe}[data-theme=dark] .text-muted,[data-theme=dark] .text-body-secondary,[data-theme=dark] .form-text,[data-theme=dark] .card-text.text-muted,[data-theme=dark] .card-text.text-body-secondary{color:#b0b0b0!important}[data-theme=dark] .text-dark{color:#e5e7eb!important}[data-theme=dark] .bg-warning.text-dark,[data-theme=dark] .bg-info.text-dark,[data-theme=dark] .badge.bg-warning.text-dark,[data-theme=dark] .badge.bg-info.text-dark{color:#111827!important}@media(prefers-color-scheme:dark){[data-theme=system] .text-muted,[data-theme=system] .text-body-secondary,[data-theme=system] .form-text,[data-theme=system] .card-text.text-muted,[data-theme=system] .card-text.text-body-secondary{color:#b0b0b0!important}[data-theme=system] .text-dark{color:#e5e7eb!important}[data-theme=system] .bg-warning.text-dark,[data-theme=system] .bg-info.text-dark,[data-theme=system] .badge.bg-warning.text-dark,[data-theme=system] .badge.bg-info.text-dark{color:#111827!important}[data-theme=system] .alert-warning{background-color:#f59e0b33;border-color:var(--mp-warning);color:#fde68a}[data-theme=system] .alert-info{background-color:#1e40af70;border-color:var(--mp-info);color:#eaf2ff}[data-theme=system] .alert-info[data-message-id],[data-theme=system] .admin-message.alert-info{color:#f3f8ff}[data-theme=system] .alert-info[data-message-id] a,[data-theme=system] .admin-message.alert-info a,[data-theme=system] .alert-info a{color:#fff}[data-theme=system] .alert-info[data-message-id] a:hover,[data-theme=system] .alert-info[data-message-id] a:focus,[data-theme=system] .admin-message.alert-info a:hover,[data-theme=system] .admin-message.alert-info a:focus,[data-theme=system] .alert-info a:hover,[data-theme=system] .alert-info a:focus{color:#dbeafe}}[data-theme=dark] .list-group-item,[data-theme=dark] .accordion-item{background-color:var(--mp-bg-secondary);border-color:var(--mp-border);color:var(--mp-text)}[data-theme=dark] .accordion-button{background-color:var(--mp-bg-secondary);color:var(--mp-text)}[data-theme=dark] .accordion-button:not(.collapsed){background-color:var(--mp-bg);color:var(--mp-text)}[data-theme=dark] .accordion-button:after{filter:invert(1) grayscale(100%) brightness(200%)}[data-theme=dark] .accordion-body{background-color:var(--mp-bg-secondary);color:var(--mp-text)}[data-theme=dark] .modal-content{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{background-color:var(--mp-bg);border-color:var(--mp-border)}[data-theme=dark] .about-modal-body{background:linear-gradient(180deg,#121826,#0f172a)}[data-theme=dark] .about-modal-qr,[data-theme=dark] .about-modal-story{background:#111827;border-color:#334155}[data-theme=dark] .about-modal-version-pill{background:#4ade8029;color:#bbf7d0;border-color:#4ade8059}[data-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}[data-theme=dark] .nav-tabs{border-color:var(--mp-border)}[data-theme=dark] .nav-tabs .nav-link:hover{background:var(--mp-bg)}[data-theme=dark] .nav-tabs .nav-link.active{background:var(--mp-bg-secondary);border-color:var(--mp-primary)}[data-theme=dark] .page-link{background:var(--mp-bg);color:var(--mp-text)}[data-theme=dark] .page-link:hover{background:var(--mp-primary);color:#fff}[data-theme=dark] .breadcrumb-item a{color:var(--mp-text-muted)}[data-theme=dark] .breadcrumb-item.active{color:var(--mp-text)}[data-theme=dark] hr{border-color:var(--mp-border)}[data-theme=dark] .bg-light{background-color:var(--mp-bg-secondary)}[data-theme=dark] .container,[data-theme=dark] .container-fluid{background-color:transparent}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] .page-title,[data-theme=dark] .panel-title,[data-theme=dark] .panel-heading h3,[data-theme=dark] .modal-title{color:var(--mp-text);-webkit-text-fill-color:var(--mp-text);background:none}[data-theme=dark] .btn-outline-dark{color:var(--mp-text);border-color:var(--mp-text-muted)}[data-theme=dark] .btn-outline-dark:hover{background-color:var(--mp-text);border-color:var(--mp-text);color:var(--mp-bg)}[data-theme=dark] .panel,[data-theme=dark] .panel-default{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}[data-theme=dark] .panel-heading{background-color:var(--mp-bg);border-color:var(--mp-border);color:var(--mp-text)}[data-theme=dark] .panel-body{background-color:var(--mp-bg-secondary);color:var(--mp-text)}.bg-primary,.bg-secondary,.bg-success,.bg-danger,.bg-dark,.text-bg-primary,.text-bg-secondary,.text-bg-success,.text-bg-danger,.text-bg-dark{color:#fff!important}.bg-warning,.bg-info,.bg-light,.text-bg-warning,.text-bg-info,.text-bg-light{color:#111827!important}.card-header.bg-success{background-color:#15803d!important}.plan-tier-card{border-width:1px;border-style:solid;border-radius:16px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.plan-tier-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #02061729}.plan-tier-card-free{border-color:#3b82f670!important;box-shadow:0 14px 24px #1e40af1f}.plan-tier-card-premium{border-color:#0d948870!important;box-shadow:0 14px 24px #0d94881f}.plan-tier-card-family{border-color:#f9731675!important;box-shadow:0 14px 24px #b4530924}.plan-tier-card-free .card-body,.plan-tier-card-free .card-footer{background:linear-gradient(180deg,#1e40af0f,#1e40af03)}.plan-tier-card-premium .card-body,.plan-tier-card-premium .card-footer{background:linear-gradient(180deg,#0d94880f,#0d948803)}.plan-tier-card-family .card-body,.plan-tier-card-family .card-footer{background:linear-gradient(180deg,#b4530912,#b4530903)}.plan-tier-header.plan-tier-free,.plan-tier-header.plan-tier-premium,.plan-tier-header.plan-tier-family,.plan-tier-header.plan-tier-free h1,.plan-tier-header.plan-tier-free h2,.plan-tier-header.plan-tier-free h3,.plan-tier-header.plan-tier-free h4,.plan-tier-header.plan-tier-free h5,.plan-tier-header.plan-tier-free h6,.plan-tier-header.plan-tier-free .h1,.plan-tier-header.plan-tier-free .h2,.plan-tier-header.plan-tier-free .h3,.plan-tier-header.plan-tier-free .h4,.plan-tier-header.plan-tier-free .h5,.plan-tier-header.plan-tier-free .h6,.plan-tier-header.plan-tier-premium h1,.plan-tier-header.plan-tier-premium h2,.plan-tier-header.plan-tier-premium h3,.plan-tier-header.plan-tier-premium h4,.plan-tier-header.plan-tier-premium h5,.plan-tier-header.plan-tier-premium h6,.plan-tier-header.plan-tier-premium .h1,.plan-tier-header.plan-tier-premium .h2,.plan-tier-header.plan-tier-premium .h3,.plan-tier-header.plan-tier-premium .h4,.plan-tier-header.plan-tier-premium .h5,.plan-tier-header.plan-tier-premium .h6,.plan-tier-header.plan-tier-family h1,.plan-tier-header.plan-tier-family h2,.plan-tier-header.plan-tier-family h3,.plan-tier-header.plan-tier-family h4,.plan-tier-header.plan-tier-family h5,.plan-tier-header.plan-tier-family h6,.plan-tier-header.plan-tier-family .h1,.plan-tier-header.plan-tier-family .h2,.plan-tier-header.plan-tier-family .h3,.plan-tier-header.plan-tier-family .h4,.plan-tier-header.plan-tier-family .h5,.plan-tier-header.plan-tier-family .h6{color:#fff!important;-webkit-text-fill-color:#fff!important}.plan-tier-header.plan-tier-free{background-color:#1e40af!important;border-bottom:1px solid rgba(147,197,253,.32)}.plan-tier-header.plan-tier-premium{background-color:#0f766e!important;border-bottom:1px solid rgba(134,239,172,.3)}.plan-tier-header.plan-tier-family{background-color:#b45309!important;border-bottom:1px solid rgba(253,186,116,.34);color:#fff!important;-webkit-text-fill-color:#fff!important}.plan-tier-header{display:flex;align-items:center;justify-content:center;min-height:112px;position:relative}.plan-tier-header:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff24,#fff0 48%);pointer-events:none;z-index:0}.plan-tier-header>*{position:relative;z-index:1}.plan-tier-header .h4,.plan-tier-header h4,.plan-tier-header h3{margin:0!important;line-height:1.2;letter-spacing:.01em}.card-header.bg-primary,.card-header.bg-primary h1,.card-header.bg-primary h2,.card-header.bg-primary h3,.card-header.bg-primary h4,.card-header.bg-primary h5,.card-header.bg-primary h6,.card-header.bg-primary .h1,.card-header.bg-primary .h2,.card-header.bg-primary .h3,.card-header.bg-primary .h4,.card-header.bg-primary .h5,.card-header.bg-primary .h6,.card-header.bg-success,.card-header.bg-success h1,.card-header.bg-success h2,.card-header.bg-success h3,.card-header.bg-success h4,.card-header.bg-success h5,.card-header.bg-success h6,.card-header.bg-success .h1,.card-header.bg-success .h2,.card-header.bg-success .h3,.card-header.bg-success .h4,.card-header.bg-success .h5,.card-header.bg-success .h6{color:#fff!important;-webkit-text-fill-color:#fff!important}.card-header.bg-warning:not(.plan-tier-family),.card-header.bg-warning:not(.plan-tier-family) h1,.card-header.bg-warning:not(.plan-tier-family) h2,.card-header.bg-warning:not(.plan-tier-family) h3,.card-header.bg-warning:not(.plan-tier-family) h4,.card-header.bg-warning:not(.plan-tier-family) h5,.card-header.bg-warning:not(.plan-tier-family) h6,.card-header.bg-warning:not(.plan-tier-family) .h1,.card-header.bg-warning:not(.plan-tier-family) .h2,.card-header.bg-warning:not(.plan-tier-family) .h3,.card-header.bg-warning:not(.plan-tier-family) .h4,.card-header.bg-warning:not(.plan-tier-family) .h5,.card-header.bg-warning:not(.plan-tier-family) .h6{color:#111827!important;-webkit-text-fill-color:#111827!important}@media(prefers-color-scheme:dark){[data-theme=system] .container,[data-theme=system] .container-fluid{background-color:transparent}[data-theme=system] h1,[data-theme=system] h2,[data-theme=system] h3,[data-theme=system] h4,[data-theme=system] h5,[data-theme=system] h6,[data-theme=system] .page-title,[data-theme=system] .panel-title,[data-theme=system] .panel-heading h3,[data-theme=system] .modal-title{color:var(--mp-text);-webkit-text-fill-color:var(--mp-text);background:none}[data-theme=system] .btn-outline-dark{color:var(--mp-text);border-color:var(--mp-text-muted)}[data-theme=system] .btn-outline-dark:hover{background-color:var(--mp-text);border-color:var(--mp-text);color:var(--mp-bg)}[data-theme=system] .panel,[data-theme=system] .panel-default{background-color:var(--mp-bg-secondary);border-color:var(--mp-border)}[data-theme=system] .panel-heading{background-color:var(--mp-bg);border-color:var(--mp-border);color:var(--mp-text)}[data-theme=system] .panel-body{background-color:var(--mp-bg-secondary);color:var(--mp-text)}[data-theme=system] .btn-outline-secondary{color:#e5e7eb;border-color:#94a3b8}[data-theme=system] .btn-outline-secondary:hover,[data-theme=system] .btn-outline-secondary:focus{background:#334155;border-color:#cbd5e1;color:#fff}[data-theme=system] .btn-outline-primary{color:#bbf7d0;border-color:#4ade80}[data-theme=system] .btn-outline-primary:hover,[data-theme=system] .btn-outline-primary:focus{background:#16a34a;border-color:#22c55e;color:#fff}[data-theme=system] .btn-outline-danger{color:#fecaca;border-color:#f87171}[data-theme=system] .btn-outline-danger:hover,[data-theme=system] .btn-outline-danger:focus{background:#dc2626;border-color:#ef4444;color:#fff}[data-theme=system] .btn-outline-warning{color:#fde68a;border-color:#fbbf24}[data-theme=system] .btn-outline-warning:hover,[data-theme=system] .btn-outline-warning:focus{background:#f59e0b;border-color:#f59e0b;color:#111827}[data-theme=system] .btn-outline-info{color:#bfdbfe;border-color:#60a5fa}[data-theme=system] .btn-outline-info:hover,[data-theme=system] .btn-outline-info:focus{background:#2563eb;border-color:#3b82f6;color:#fff}}.btn{font-family:var(--mp-font-family);font-weight:600;font-size:var(--mp-font-size-sm);padding:.625rem 1.25rem;border-radius:var(--mp-radius);transition:all var(--mp-transition);letter-spacing:.01em;position:relative;overflow:hidden}.btn.page-info-button{position:fixed;right:20px;bottom:20px;z-index:1030}i.fa-circle-info{background-color:#000;border-radius:50%}.btn-lg{padding:.875rem 2rem;font-size:var(--mp-font-size-base);border-radius:var(--mp-radius-lg)}.btn-sm{padding:.375rem .875rem;font-size:var(--mp-font-size-xs)}.btn-primary{background:var(--mp-gradient-primary);border:none;color:#fff;box-shadow:0 4px 14px #16a34a66}.btn-primary:hover,.btn-primary:focus{filter:brightness(1.1);color:#fff}.btn-primary:active{filter:brightness(.95)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-accent{background:var(--mp-gradient-accent);border:none;color:#fff;box-shadow:0 4px 14px #f9731666}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f9731680;color:#fff}.btn-outline-primary{color:var(--mp-primary);border:2px solid var(--mp-primary);background:transparent}.btn-outline-primary:hover{background:var(--mp-primary);border-color:var(--mp-primary);color:#fff}.btn-outline-success{color:var(--mp-primary);border:2px solid var(--mp-primary);background:transparent}.btn-outline-success:hover,.btn-outline-success:focus{background:var(--mp-primary);border-color:var(--mp-primary);color:#fff}.btn-success{background:var(--mp-gradient-primary);border:none;box-shadow:0 4px 14px #22c55e66}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e80}.btn-warning{background:var(--mp-gradient-accent);border:none;color:#fff}.btn-warning:hover{color:#fff;transform:translateY(-2px)}.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-dark{color:#fff}.btn-info,.btn-warning,.btn-light{color:#111827}.btn-info:hover,.btn-warning:hover,.btn-light:hover,.btn-info:focus,.btn-warning:focus,.btn-light:focus{color:#111827}.btn-outline-secondary{color:#475569;border-color:#94a3b8;background:transparent;border-width:2px;font-weight:500}.btn-outline-secondary:hover{background:#f1f5f9;border-color:#64748b;color:#1f2937;transform:translateY(-1px)}[data-theme=dark] .btn-outline-secondary{color:#e5e7eb;border-color:#94a3b8}[data-theme=dark] .btn-outline-secondary:hover,[data-theme=dark] .btn-outline-secondary:focus{background:#334155;border-color:#cbd5e1;color:#fff}[data-theme=dark] .btn-outline-primary{color:#bbf7d0;border-color:#4ade80}[data-theme=dark] .btn-outline-primary:hover,[data-theme=dark] .btn-outline-primary:focus{background:#16a34a;border-color:#22c55e;color:#fff}[data-theme=dark] .btn-outline-danger{color:#fecaca;border-color:#f87171}[data-theme=dark] .btn-outline-danger:hover,[data-theme=dark] .btn-outline-danger:focus{background:#dc2626;border-color:#ef4444;color:#fff}[data-theme=dark] .btn-outline-warning{color:#fde68a;border-color:#fbbf24}[data-theme=dark] .btn-outline-warning:hover,[data-theme=dark] .btn-outline-warning:focus{background:#f59e0b;border-color:#f59e0b;color:#111827}[data-theme=dark] .btn-outline-info{color:#bfdbfe;border-color:#60a5fa}[data-theme=dark] .btn-outline-info:hover,[data-theme=dark] .btn-outline-info:focus{background:#2563eb;border-color:#3b82f6;color:#fff}.btn-ghost{background:transparent;border:none;color:var(--mp-text-muted)}.btn-ghost:hover{background:var(--mp-light);color:var(--mp-text)}.text-primary{color:var(--mp-primary)}.bg-primary{background-color:var(--mp-primary)}.btn-pill{border-radius:var(--mp-radius-full)}.navbar{background:linear-gradient(135deg,#1e293b,#0f172a);box-shadow:var(--mp-shadow-lg);padding:.75rem 1.5rem;backdrop-filter:blur(10px)}.navbar,.navbar .nav-link,.navbar .navbar-brand{color:#fff}.navbar .nav-link{color:#ffffffd9}.navbar .nav-link:hover{color:#fff}.navbar-brand{font-family:var(--mp-font-display);font-weight:700;font-size:1.35rem;display:flex;align-items:center;gap:12px;letter-spacing:-.02em}.navbar-brand .brand-icon{width:40px;height:40px;background:var(--mp-gradient-accent);border-radius:var(--mp-radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 4px 12px #f9731666;transition:transform var(--mp-transition),box-shadow var(--mp-transition)}.navbar-brand:hover .brand-icon{transform:rotate(-5deg) scale(1.05);box-shadow:0 6px 16px #f9731680}.navbar .nav-link{font-weight:500;font-size:var(--mp-font-size-sm);padding:.5rem 1rem;border-radius:var(--mp-radius);transition:all var(--mp-transition);position:relative}.navbar .nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--mp-accent);transition:all var(--mp-transition);transform:translate(-50%)}.navbar .nav-link:hover{background:#ffffff1a}.navbar .nav-link:hover:after{width:60%}.navbar .dropdown-menu{border:none;box-shadow:var(--mp-shadow-xl);border-radius:var(--mp-radius-lg);padding:.5rem;margin-top:.75rem;animation:dropdownFade .2s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar .dropdown-item{border-radius:var(--mp-radius);padding:.625rem 1rem;font-size:var(--mp-font-size-sm);font-weight:500;transition:all var(--mp-transition)}.navbar .dropdown-item:hover{background:var(--mp-light);transform:translate(4px)}.navbar .dropdown-item i{width:20px;opacity:.7}.card{border:1px solid var(--mp-border);border-radius:var(--mp-radius-xl);box-shadow:var(--mp-shadow);background:var(--mp-white);overflow:hidden;transition:all var(--mp-transition);position:relative}.card:hover{border-color:var(--mp-primary-light)}.card-header{background:var(--mp-bg-secondary);border-bottom:1px solid var(--mp-border);padding:var(--mp-space-5) var(--mp-space-6);font-weight:600;font-family:var(--mp-font-display)}.card-body{padding:var(--mp-space-6)}.card-footer{background:var(--mp-bg-secondary);border-top:1px solid var(--mp-border);padding:var(--mp-space-4) var(--mp-space-6)}.card-feature{text-align:center;padding:var(--mp-space-8)}.card-feature .feature-icon{width:64px;height:64px;background:var(--mp-gradient-primary);border-radius:var(--mp-radius-lg);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;margin-bottom:var(--mp-space-4);box-shadow:0 8px 16px #16a34a4d;transition:transform var(--mp-transition-bounce)}.card-feature:hover .feature-icon{transform:scale(1.1) rotate(-5deg)}.card-img-top{transition:transform var(--mp-transition-slow)}.card:hover .card-img-top{transform:scale(1.05)}.card-img-wrapper{overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--mp-font-display);color:var(--mp-dark);font-weight:700;line-height:1.2;letter-spacing:-.025em}h1{font-size:var(--mp-font-size-4xl);font-weight:800;background:var(--mp-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h1.no-gradient{background:none;-webkit-text-fill-color:var(--mp-dark)}h2{font-size:var(--mp-font-size-3xl)}h3{font-size:var(--mp-font-size-2xl)}h4{font-size:var(--mp-font-size-xl)}h5{font-size:var(--mp-font-size-lg);font-weight:600}h6{font-size:var(--mp-font-size-sm);text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--mp-text-muted)}.lead{font-size:var(--mp-font-size-xl);color:var(--mp-text-muted);font-weight:400;line-height:1.6}.text-gradient{background:var(--mp-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-accent{background:var(--mp-gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}a{color:var(--mp-primary);transition:color var(--mp-transition)}a:hover{color:var(--mp-primary-dark)}.form-label{font-size:var(--mp-font-size-sm);font-weight:500;color:var(--mp-text);margin-bottom:.375rem}.form-control,.form-select{font-family:var(--mp-font-family);font-size:var(--mp-font-size-base);padding:.625rem .875rem;border:1.5px solid var(--mp-border);border-radius:var(--mp-radius);transition:border-color var(--mp-transition),box-shadow var(--mp-transition)}.form-control:hover,.form-select:hover{border-color:var(--mp-gray-light)}.form-control:focus,.form-select:focus{border-color:var(--mp-primary);box-shadow:0 0 0 3px #2e7d3226}.form-control::placeholder{color:var(--mp-gray-light)}.input-group-text{background:var(--mp-bg-secondary);border:1.5px solid var(--mp-border);border-radius:var(--mp-radius)}.alert{border-radius:var(--mp-radius);border:none;padding:1rem 1.25rem;font-size:var(--mp-font-size-sm)}.alert-success{background-color:#f0fff4;border-left:4px solid var(--mp-success);color:#276749}.alert-danger{background-color:#fff5f5;border-left:4px solid var(--mp-danger);color:#c53030}.alert-warning{background-color:#fffaf0;border-left:4px solid var(--mp-warning);color:#c05621}.alert-info{background-color:#ebf8ff;border-left:4px solid var(--mp-info);color:#1e4e8c}.alert-info[data-message-id],.admin-message.alert-info{color:#1e3a5f}.alert-info[data-message-id] a,.admin-message.alert-info a,.alert-info a{color:#153e75;font-weight:600;text-decoration:underline;text-underline-offset:2px}.alert-info[data-message-id] a:hover,.alert-info[data-message-id] a:focus,.admin-message.alert-info a:hover,.admin-message.alert-info a:focus,.alert-info a:hover,.alert-info a:focus{color:#102a56}.site-footer{background:#0f172a;color:#94a3b8;padding:2rem 0;margin-top:auto;font-size:var(--mp-font-size-sm);position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--mp-gradient-hero)}.site-footer a{color:#94a3b8;text-decoration:none;transition:all var(--mp-transition)}.site-footer a:hover{color:#fff;padding-left:4px}.site-footer .footer-brand{color:#fff;font-weight:700;font-size:var(--mp-font-size-xl);font-family:var(--mp-font-display);display:flex;align-items:center;gap:.5rem}.site-footer .footer-brand i{color:var(--mp-accent)}.site-footer .footer-links{margin-bottom:.5rem;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem .55rem}.site-footer .footer-links a{padding:.25rem 0;position:relative}.site-footer .footer-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--mp-accent);transition:width var(--mp-transition)}.site-footer .footer-links a:hover:after{width:100%}@media(max-width:768px){.site-footer .col-md-6,.site-footer .col-md-6.text-md-end{text-align:center!important}.site-footer .footer-brand{justify-content:center;margin-bottom:.5rem}.site-footer .footer-links{justify-content:center;gap:.35rem .75rem}.site-footer .footer-links span[aria-hidden=true]{display:none}.site-footer a:hover{padding-left:0}}.hero{padding:var(--mp-space-12) 0;text-align:center;position:relative;overflow:hidden}.hero-gradient{background:var(--mp-gradient-hero);color:#fff}.hero-gradient h1{background:none;-webkit-text-fill-color:white;color:#fff;font-size:var(--mp-font-size-4xl);margin-bottom:var(--mp-space-4)}.hero-gradient .lead{color:#ffffffe6;font-size:var(--mp-font-size-xl)}.hero-animated{background:linear-gradient(-45deg,#16a34a,#0d9488,#3b82f6,#8b5cf6);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;opacity:.1;pointer-events:none}.hero:before{width:400px;height:400px;background:#fff;top:-100px;right:-100px}.hero:after{width:300px;height:300px;background:#fff;bottom:-80px;left:-80px}.auth-container{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--mp-gradient-dark);position:relative;overflow:hidden;margin:-1rem -.5rem;width:calc(100% + 1rem)}@media(max-width:576px){.auth-container{min-height:100vh;padding:6rem 1rem 3rem;margin:-1rem -.5rem;width:calc(100% + 1rem)}}.auth-container:before,.auth-container:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s ease-in-out infinite}.auth-container:before{width:500px;height:500px;background:var(--mp-primary);top:-200px;right:-200px}.auth-container:after{width:400px;height:400px;background:var(--mp-accent);bottom:-150px;left:-150px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}.auth-box{background:#fffffff2;backdrop-filter:blur(20px);border-radius:var(--mp-radius-xl);box-shadow:var(--mp-shadow-xl);padding:2.5rem;width:100%;max-width:420px;border:1px solid rgba(255,255,255,.2);position:relative;z-index:1;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-box h2{text-align:center;margin-bottom:.5rem;border-bottom:none;color:var(--mp-dark);font-size:var(--mp-font-size-2xl);background:none;-webkit-text-fill-color:var(--mp-dark)}.auth-box .auth-subtitle{text-align:center;color:var(--mp-text-muted);margin-bottom:1.5rem;font-size:var(--mp-font-size-sm)}.auth-box,.auth-box p,.auth-box label,.auth-box .form-label{color:var(--mp-text)}.auth-box a{color:var(--mp-primary);font-weight:600}.auth-box a:hover{color:var(--mp-primary-dark)}.auth-box a.btn,.auth-box a.btn:hover,.auth-box a.btn:focus{text-decoration:none}.auth-box a.btn-primary,.auth-box a.btn-primary:hover,.auth-box a.btn-primary:focus,.auth-box a.btn-success,.auth-box a.btn-success:hover,.auth-box a.btn-success:focus,.auth-box a.btn-danger,.auth-box a.btn-danger:hover,.auth-box a.btn-danger:focus,.auth-box a.btn-dark,.auth-box a.btn-dark:hover,.auth-box a.btn-dark:focus{color:#fff}.auth-box a.btn-light,.auth-box a.btn-light:hover,.auth-box a.btn-light:focus,.auth-box a.btn-warning,.auth-box a.btn-warning:hover,.auth-box a.btn-warning:focus,.auth-box a.btn-info,.auth-box a.btn-info:hover,.auth-box a.btn-info:focus{color:#111827}.auth-box .brand-header{text-align:center;margin-bottom:1.5rem}.auth-box .brand-header .brand-icon{width:80px;height:80px;background:var(--mp-gradient-primary);border-radius:var(--mp-radius-xl);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem;box-shadow:0 8px 24px #16a34a66;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 8px 24px #16a34a66}50%{box-shadow:0 8px 32px #16a34a99}}.auth-box .brand-header .brand-icon i{font-size:2.25rem;color:#fff}.auth-box .btn-primary{width:100%;padding:.875rem;font-size:var(--mp-font-size-base)}.auth-box .form-group{margin-bottom:1.25rem}.auth-box .divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--mp-text-muted);font-size:var(--mp-font-size-sm)}.auth-box .divider:before,.auth-box .divider:after{content:"";flex:1;height:1px;background:var(--mp-border)}.auth-box .divider span{padding:0 1rem}[data-theme=dark] .auth-box{background:var(--mp-bg-secondary)}[data-theme=dark] .auth-box,[data-theme=dark] .auth-box h2,[data-theme=dark] .auth-box p,[data-theme=dark] .auth-box label,[data-theme=dark] .auth-box .form-label{color:var(--mp-text)}[data-theme=dark] .auth-box a{color:var(--mp-primary-light)}.table{border-radius:var(--mp-radius);overflow:hidden;font-size:var(--mp-font-size-sm)}.table thead{background:var(--mp-bg-secondary)}.table thead th{font-weight:600;text-transform:uppercase;font-size:var(--mp-font-size-xs);letter-spacing:.05em;color:var(--mp-text-muted);padding:.875rem 1rem;border-bottom:2px solid var(--mp-border)}.table tbody td{padding:.875rem 1rem;vertical-align:middle;border-bottom:1px solid var(--mp-border)}.table tbody tr:last-child td{border-bottom:none}.table-hover tbody tr:hover{background:var(--mp-bg-secondary)}.badge{font-family:var(--mp-font-family);font-weight:500;font-size:var(--mp-font-size-xs);padding:.35em .65em;border-radius:var(--mp-radius-sm);letter-spacing:.02em}.badge.bg-danger{background-color:var(--mp-danger)}.badge.bg-success{background-color:var(--mp-success)}.badge.bg-warning{background-color:var(--mp-warning)}.badge.bg-info{background-color:var(--mp-info)}.badge.bg-secondary{background-color:var(--mp-gray)}.badge.bg-primary,.badge.bg-secondary,.badge.bg-success,.badge.bg-danger,.badge.bg-dark{color:#fff!important}.badge.bg-warning,.badge.bg-info,.badge.bg-light{color:#111827!important}.badge.recipe-dietary-badge.bg-info,.badge.recipe-dietary-badge.bg-success{color:#fff!important}[data-theme=dark] .badge.bg-warning,[data-theme=dark] .badge.bg-info,[data-theme=dark] .badge.bg-light{color:#0b1220!important}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffc;display:none;align-items:center;justify-content:center;z-index:9999}.spinner-overlay.active{display:flex}.spinner-overlay .spinner-border{width:3rem;height:3rem;color:var(--mp-primary)}.btn.loading{position:relative;color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-spinner .6s linear infinite}.btn-primary.loading:after{border-top-color:#fff}@keyframes btn-spinner{to{transform:rotate(360deg)}}*:focus{outline:2px solid var(--mp-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--mp-primary);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--mp-primary);outline-offset:2px;box-shadow:none}.form-control:focus-visible,.form-select:focus-visible{outline:none;box-shadow:0 0 0 3px #2e7d3240}.nav-link:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.skip-link{position:absolute;top:0;left:0;transform:translateY(-130%);background:#14532d;color:#fff;padding:8px 16px;z-index:10000;text-decoration:none;font-weight:600;border:2px solid #ffffff}.skip-link:focus{transform:translateY(0)}.skip-link:visited,.skip-link:hover,.skip-link:focus{color:#fff}@media(max-width:768px){.auth-box{margin:1rem;padding:1.5rem}.navbar-brand{font-size:1.2rem}h1{font-size:1.75rem}h2{font-size:1.5rem}}.page-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.legal-page h1{font-size:2rem;margin-bottom:.5rem;border-bottom:none}.legal-page h2{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--mp-light)}.legal-page h3{font-size:1rem;font-weight:600;margin-top:1rem;margin-bottom:.5rem;color:var(--mp-text);border-left:none;padding-left:0}.legal-page p{color:var(--mp-text);line-height:1.7}.legal-page ul{color:var(--mp-text);padding-left:1.5rem}.legal-page ul li{margin-bottom:.5rem}.legal-page section{padding:.5rem 0}.modal-content{border:none;border-radius:var(--mp-radius-xl);box-shadow:var(--mp-shadow-xl);overflow:hidden}.modal-header{background:var(--mp-bg-secondary);border-bottom:1px solid var(--mp-border);padding:1.25rem 1.5rem}.modal-title{font-family:var(--mp-font-display);font-weight:700;font-size:var(--mp-font-size-lg)}.modal-body{padding:1.5rem}.modal-footer{background:var(--mp-bg-secondary);border-top:1px solid var(--mp-border);padding:1rem 1.5rem}.modal-backdrop.show{opacity:.6}.modal.fade .modal-dialog{transform:scale(.95) translateY(-20px);transition:transform .2s ease-out}.modal.show .modal-dialog{transform:scale(1) translateY(0)}.about-modal-dialog{max-width:640px}.about-modal-content{border-radius:20px;overflow:hidden}.about-modal-header{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:0;padding:1rem 1.25rem}.about-modal-title{display:inline-flex;align-items:center;color:#fff;gap:.4rem;font-size:1.25rem}.about-modal-title img{border-radius:6px}.about-modal-body{padding:1.5rem 1.5rem 1.25rem;background:linear-gradient(180deg,#f8fafc,#fff)}.about-modal-brand{margin-bottom:1rem}.about-modal-logo{width:86px;height:86px;border-radius:18px;box-shadow:0 8px 20px #0f172a24}.about-modal-name{margin-top:.7rem;margin-bottom:.35rem}.about-modal-qr{padding:1rem;margin:.75rem auto .9rem;max-width:320px;border:1px solid var(--mp-border);border-radius:14px;background:#fff}.about-modal-qr-image{border-radius:10px;margin-bottom:.5rem}.about-modal-meta{margin-bottom:.85rem}.about-modal-version-pill{display:inline-block;padding:.3rem .65rem;border-radius:999px;font-size:.84rem;font-weight:600;background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.3)}.about-modal-story{padding:.8rem .9rem;border-radius:10px;background:#f8fafc;border:1px solid var(--mp-border);margin-bottom:.8rem}.about-modal-copyright{font-size:.85rem}.about-modal-footer{display:flex;align-items:center;padding:.8rem 1.25rem 1rem;border-top:1px solid var(--mp-border);background:#f8fafc;justify-content:center}.about-modal-footer .btn{min-width:148px;font-weight:700;box-shadow:0 6px 16px #16a34a40}.pagination{gap:4px}.page-link{border:none;border-radius:var(--mp-radius);padding:.5rem .875rem;font-weight:500;color:var(--mp-text);background:var(--mp-bg-secondary);transition:all var(--mp-transition)}.page-link:hover{background:var(--mp-primary);color:#fff;transform:translateY(-1px)}.page-item.active .page-link{background:var(--mp-gradient-primary);border:none;box-shadow:0 2px 8px #16a34a4d}.page-item.disabled .page-link{background:var(--mp-light);color:var(--mp-gray-light)}.breadcrumb{background:transparent;padding:0;margin-bottom:1rem;font-size:var(--mp-font-size-sm)}.breadcrumb-item+.breadcrumb-item:before{content:"\203a";color:var(--mp-gray-light)}.breadcrumb-item a{color:var(--mp-text-muted);text-decoration:none}.breadcrumb-item a:hover{color:var(--mp-primary)}.breadcrumb-item.active{color:var(--mp-text);font-weight:500}.nav-tabs{border-bottom:2px solid var(--mp-border);gap:.25rem}.nav-tabs .nav-link{border:none;border-radius:var(--mp-radius) var(--mp-radius) 0 0;padding:.75rem 1.25rem;font-weight:500;color:var(--mp-text-muted);background:transparent;position:relative;transition:all var(--mp-transition)}.nav-tabs .nav-link:hover{color:var(--mp-primary);background:var(--mp-bg-secondary)}.nav-tabs .nav-link.active{color:var(--mp-primary);background:var(--mp-bg);border-bottom:2px solid var(--mp-primary);margin-bottom:-2px}.progress{height:8px;border-radius:var(--mp-radius-full);background:var(--mp-border);overflow:hidden}.progress-bar{background:var(--mp-gradient-primary);border-radius:var(--mp-radius-full)}.list-group{border-radius:var(--mp-radius-lg);overflow:hidden}.list-group-item{border:none;border-bottom:1px solid var(--mp-border);padding:1rem 1.25rem;transition:background var(--mp-transition)}.list-group-item:last-child{border-bottom:none}.list-group-item:hover{background:var(--mp-bg-secondary)}.list-group-item.active{background:var(--mp-gradient-primary);border:none}.dropdown-menu{border:1px solid var(--mp-border);border-radius:var(--mp-radius-lg);box-shadow:var(--mp-shadow-lg);padding:.5rem;min-width:200px}.dropdown-item{border-radius:var(--mp-radius);padding:.625rem 1rem;font-weight:500;transition:all var(--mp-transition)}.dropdown-item:hover,.dropdown-item:focus{background:var(--mp-bg-secondary);color:var(--mp-primary)}.dropdown-item.active,.dropdown-item:active{background:var(--mp-primary);color:#fff}.dropdown-divider{margin:.5rem 0;border-color:var(--mp-border)}.tooltip-inner{background:var(--mp-dark);border-radius:var(--mp-radius);padding:.5rem .75rem;font-size:var(--mp-font-size-sm);font-weight:500}.tooltip.bs-tooltip-top .tooltip-arrow:before{border-top-color:var(--mp-dark)}.tooltip.bs-tooltip-bottom .tooltip-arrow:before{border-bottom-color:var(--mp-dark)}.input-group>.form-control,.input-group>.form-select{border-radius:var(--mp-radius)}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text{border-radius:var(--mp-radius);background:var(--mp-bg-secondary);border-color:var(--mp-border);color:var(--mp-text-muted)}.btn-group>.btn{border-radius:var(--mp-radius)}.btn-group>.btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.form-check-input{width:1.15em;height:1.15em;border:2px solid var(--mp-border);border-radius:4px;transition:all var(--mp-transition)}.form-check-input:checked{background-color:var(--mp-primary);border-color:var(--mp-primary)}.form-check-input:focus{border-color:var(--mp-primary);box-shadow:0 0 0 3px #16a34a26}.form-check-input[type=radio]{border-radius:50%}.form-switch .form-check-input{width:2.5em;height:1.4em;border-radius:var(--mp-radius-full)}.btn-close{opacity:.5;transition:opacity var(--mp-transition),transform var(--mp-transition)}.btn-close:hover{opacity:1;transform:scale(1.1)}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:var(--mp-dark);color:var(--mp-white);padding:1rem;z-index:9998;box-shadow:0 -2px 10px #0003;display:none}.cookie-consent.show{display:block;animation:slideUp .3s ease-out}.cookie-consent .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cookie-consent p{margin:0;flex:1;min-width:200px}.cookie-consent p a{color:var(--mp-accent-light)}.cookie-consent .btn-group{display:flex;gap:.5rem;flex-shrink:0}.cookie-consent .btn-accept{background:var(--mp-primary-dark);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:var(--mp-radius-sm);cursor:pointer;font-weight:500;transition:background var(--mp-transition)}.cookie-consent .btn-accept:hover{background:var(--mp-primary)}.cookie-consent .btn-decline{background:transparent;color:var(--mp-gray-light);border:1px solid var(--mp-gray);padding:.5rem 1rem;border-radius:var(--mp-radius-sm);cursor:pointer;transition:all var(--mp-transition)}.cookie-consent .btn-decline:hover{border-color:var(--mp-gray-light);color:var(--mp-white)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:576px){.cookie-consent .container{flex-direction:column;text-align:center}.cookie-consent .btn-group{width:100%;justify-content:center}}img.fade-in{opacity:0;transition:opacity .5s ease-in-out}img.fade-in.loaded{opacity:1}.img-placeholder,td .rounded,.card-img-top{background-color:#f1f5f9}[data-theme=dark] .img-placeholder,[data-theme=dark] td .rounded,[data-theme=dark] .card-img-top{background-color:#2d2d2d}.spinner-overlay{z-index:1055;background-color:#fffc;backdrop-filter:blur(4px)}[data-theme=dark] .spinner-overlay{background-color:#000000b3}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translateZ(0)}}.animate-fade-in-up{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) forwards;opacity:0}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.stagger-9{animation-delay:.45s}.stagger-10{animation-delay:.5s}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--mp-primary-glow)}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.animate-pulse-glow{animation:pulseGlow 2s infinite}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-gradient-text{background:linear-gradient(270deg,var(--mp-primary),var(--mp-accent),var(--mp-primary));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradientFlow 6s ease infinite}.card-hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:var(--mp-shadow-xl)}.empty-state-container{text-align:center;padding:3rem 1rem;background:var(--mp-bg-secondary);border-radius:var(--mp-radius-lg);border:2px dashed var(--mp-border);color:var(--mp-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;color:var(--mp-gray-light);opacity:.8}@media(max-width:576px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}h4{font-size:1rem}.btn{padding:.625rem 1rem;min-height:44px}.btn-sm{padding:.5rem .75rem;min-height:38px}.btn-group-mobile-stack{display:flex;flex-direction:column;gap:.5rem;width:100%}.btn-group-mobile-stack .btn{width:100%;justify-content:center}.card-body{padding:1rem}.card-header{padding:.75rem 1rem}.form-label{font-size:.9rem}.form-control,.form-select{font-size:16px;padding:.625rem .75rem}.table-responsive-mobile{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:.5rem;font-size:.875rem}.modal-dialog{margin:.5rem;max-width:calc(100% - 1rem)}.modal-header{padding:.75rem 1rem}.modal-body{padding:1rem}.modal-footer{padding:.75rem 1rem;flex-direction:column;gap:.5rem}.modal-footer .btn{width:100%;margin:0}.page-content h1{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.alert{padding:.75rem;font-size:.9rem}.navbar-nav .nav-link{padding:.75rem 1rem}.auth-box{margin:.5rem;padding:1.25rem}.auth-box h2{font-size:1.25rem}.empty-state{padding:2rem 1rem}.empty-state-icon{font-size:2.5rem}}@media(max-width:480px){h1{font-size:1.35rem}h2{font-size:1.15rem}.container-fluid{padding-left:.5rem;padding-right:.5rem}.d-flex.gap-2{flex-direction:column}.d-flex.gap-2>.btn,.d-flex.gap-2>a{width:100%;text-align:center}.card-body{padding:.75rem}.badge{font-size:.7rem;padding:.3em .5em}}@media(max-width:576px){.recipes-table-mobile thead{display:none}.recipes-table-mobile tbody{display:grid;grid-template-columns:1fr;gap:.75rem}.recipes-table-mobile tr{display:flex;flex-direction:column;background:var(--mp-bg-secondary);border:1px solid var(--mp-border);border-radius:var(--mp-radius);padding:.75rem;gap:.5rem}.recipes-table-mobile td{display:flex;align-items:center;padding:0;border:none;background:transparent}.recipes-table-mobile td:before{content:attr(data-label);font-weight:600;min-width:80px;color:var(--mp-text-muted);font-size:.8rem}.recipes-table-mobile td:first-child{font-weight:600;font-size:1rem}.recipes-table-mobile td:first-child:before{display:none}.recipes-table-mobile .recipe-actions{justify-content:flex-start;padding-top:.5rem;border-top:1px solid var(--mp-border);margin-top:.25rem}}@media(max-width:576px){.recipe-card-mobile{border:1px solid var(--mp-border);background:var(--mp-bg-secondary);box-shadow:0 4px 12px #0f172a14}.recipe-card-body{padding:.75rem}.recipe-card-content{display:grid;grid-template-columns:96px 1fr auto;gap:.75rem;align-items:center}.recipe-card-image{width:96px;height:96px;border-radius:.75rem;object-fit:cover;box-shadow:0 6px 16px #0f172a26;background:var(--mp-bg)}.recipe-card-meta{min-width:0}.recipe-card-actions{display:grid;gap:.5rem;margin-top:.75rem}.recipe-card-actions.is-single{grid-template-columns:1fr}.recipe-card-actions.is-multi{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card-action-btn{width:100%}.recipe-card-shared-badge{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:.55rem .75rem;font-size:.9rem}.menu-card-actions{display:grid;gap:.5rem}.menu-card-actions.is-single{grid-template-columns:1fr}.menu-card-actions.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card-actions.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-card-action-btn{width:100%}}@media(max-width:576px){.ingredients-table-mobile thead{display:none}.ingredients-table-mobile tbody tr{display:block;background:var(--mp-bg-secondary);border:1px solid var(--mp-border);border-radius:var(--mp-radius);padding:.75rem;margin-bottom:.5rem}.ingredients-table-mobile td{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border:none;background:transparent}.ingredients-table-mobile td:before{content:attr(data-label);font-weight:500;color:var(--mp-text-muted);font-size:.85rem}}@media(max-width:576px){.shopping-list-panel .card-header{flex-direction:column;align-items:stretch;gap:.5rem}.shopping-list-panel .card-header h5{margin-bottom:.25rem}.shopping-list-panel .btn-group{display:flex;flex-wrap:wrap;gap:.25rem}.shopping-list-panel .btn-group .btn{flex:1 1 auto;min-width:0;padding:.375rem .5rem;font-size:.8rem}.shopping-list-panel .list-group-item{padding:.625rem .75rem}.shopping-item{padding:.5rem 0}.shopping-item input[type=checkbox]{width:20px;height:20px;margin-right:.75rem}}.menu-meals-list{margin:0;padding-left:1.5rem;list-style:none;flex-grow:1}.menu-meals-list li{position:relative;padding-left:.9rem;line-height:1.4}.menu-meals-list li:before{content:"";position:absolute;left:0;top:.75em;width:.45rem;height:.45rem;border-radius:50%;background:linear-gradient(135deg,var(--mp-primary),var(--mp-accent, var(--mp-primary)));box-shadow:0 0 0 2px #16a34a1f;transform:translateY(-50%)}.menu-meals-list--compact{padding-left:1.25rem}.menu-meals-list--compact li{padding-left:.75rem}.menu-meals-list--compact li:before{width:.35rem;height:.35rem;top:.7em}@media(max-width:576px){.menu-viewer-table th,.menu-viewer-table td{padding:.5rem;font-size:.85rem}.menu-viewer-table .meal-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:576px){.profile-kitchens .list-group-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.fab-mobile{display:none}@media(max-width:576px){.fab-mobile{display:flex;position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--mp-primary);color:#fff;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px #0000004d;z-index:1000;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s}.fab-mobile:hover,.fab-mobile:focus{transform:scale(1.1);box-shadow:0 6px 16px #0006}.fab-mobile:active{transform:scale(.95)}}@media(max-width:576px){.page-content{padding-bottom:5rem}}@media(max-width:991px){.navbar-collapse{width:100%;padding:.75rem;margin-top:.75rem;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0f172aa6;backdrop-filter:blur(6px)}.navbar-nav{gap:.25rem}.navbar-nav+.navbar-nav{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(148,163,184,.3)}.navbar-nav .nav-link{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border-radius:var(--mp-radius);margin:.125rem 0;font-size:1.05rem;color:#fffffff2}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{background:#ffffff1a}.dropdown-menu{position:static;width:100%;border:none;background:#0003;margin-top:.35rem;padding:.5rem}.dropdown-item{padding:.75rem 1rem;border-radius:var(--mp-radius);color:#ffffffe6}.dropdown-item:hover,.dropdown-item:focus{background:#ffffff1a;color:#fff}.dropdown-divider{border-color:#ffffff1a}}@media(max-width:576px){.pagination-nav{display:none}.infinite-scroll-sentinel{height:1px}}.ptr-indicator{display:none;text-align:center;padding:1rem;color:var(--mp-text-muted)}.swipe-hint{display:none}@media(max-width:576px){.swipe-hint{display:block;text-align:center;font-size:.75rem;color:var(--mp-text-muted);padding:.25rem}.swipe-hint i{animation:swipeHint 1.5s ease-in-out infinite}@keyframes swipeHint{0%,to{transform:translate(0)}50%{transform:translate(5px)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}.hero-animated,.animate-pulse-glow,.hero-gradient-text{animation:none}.animate-fade-in-up{animation:none;opacity:1}.auth-container:before,.auth-container:after{animation:none}.auth-box .brand-header .brand-icon{animation:none}.btn-primary:before{display:none}.btn.page-info-button{position:fixed;right:20px;bottom:20px}.card-hover-lift:hover,.card:hover .card-img-top{transform:none}.page-content{animation:none}.modal.fade .modal-dialog{transform:none;transition:none}.navbar .dropdown-menu,.cookie-consent.show,.auth-box{animation:none}img.fade-in{opacity:1;transition:none}}.family-join-qr{width:224px;height:224px}.kitchen-member-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.9fr);align-items:start;gap:.85rem}.kitchen-member-main{min-width:0}.kitchen-member-header{margin-bottom:.25rem}.kitchen-member-controls{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%;min-width:0}.kitchen-member-actions{display:grid;gap:.5rem;width:100%}.kitchen-member-actions.is-single{grid-template-columns:minmax(0,1fr)}.kitchen-member-actions.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen-member-action-form{margin:0}.kitchen-member-action{width:100%;white-space:normal;text-align:center;line-height:1.2;padding-inline:.6rem}.kitchen-role-badge{font-size:.9rem;padding:.35rem .6rem;text-transform:lowercase;align-self:flex-end}.kitchen-suggest-btn{white-space:normal}.kitchen-suggest-btn.btn-success,.kitchen-suggest-btn.btn-success:hover,.kitchen-suggest-btn.btn-success:focus{transform:none;box-shadow:none}@media(max-width:767.98px){.kitchen-member-row{grid-template-columns:minmax(0,1fr);gap:.65rem}.kitchen-member-controls{gap:.55rem}.kitchen-member-actions{grid-template-columns:1fr}.kitchen-member-actions.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen-member-actions.is-single{grid-template-columns:minmax(0,1fr)}.kitchen-member-action{width:100%}}i.fa,i.fa-solid{display:inline-block;font-style:normal;font-weight:700;line-height:1;font-family:Segoe UI Symbol,"Apple Color Emoji","Noto Color Emoji",system-ui,sans-serif}.fa-lg{font-size:1.25em}.fa-4x{font-size:4em}.fa-check:before{content:"\2713"}.fa-check-circle:before,.fa-circle-info:before,.fa-info-circle:before{content:"\24d8"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\26a0"}.fa-rocket:before{content:"\1f680"}.fa-circle-info:before{content:"\24d8"}.fa-envelope:before{content:"\2709"}.fa-paper-plane:before{content:"\27a4"}.fa-home:before,.fa-house:before,.fa-house-user:before{content:"\2302"}.fa-book-open:before,.fa-book:before{content:"\1f4d6"}.fa-id-card:before{content:"\1faaa"}.fa-tag:before{content:"\1f3f7"}.fa-star:before{content:"\2605"}.fa-star-half-o:before{content:"\2be8"}.fa-star-o:before{content:"\2606"}.fa-leaf:before{content:"\1f343"}.fa-seedling:before{content:"\1f331"}.fa-plus:before{content:"+"}.fa-eye:before{content:"\1f441"}.fa-external-link:before{content:"\2197"}.fa-user-plus:before{content:"\271a"}.fa-utensils:before{content:"\1f374"}.fa-shopping-basket:before,.fa-cart-shopping:before{content:"\1f9fa"}.fa-calendar:before{content:"\1f4c5"}.fa-calendar-check:before{content:"\1f5d3"}.fa-list-ul:before{content:"\2630"}.fa-snowflake-o:before{content:"\2744"}.fa-sun-o:before{content:"\2600"}.fa-user:before,.fa-user-circle:before{content:"\1f464"}.fa-comments:before{content:"\1f4ac"}.fa-flag:before{content:"\2691"}.fa-thumbs-up:before{content:"\1f44d"}.fa-shuffle:before,.fa-random:before{content:"\27f3"}.fa-lock:before{content:"\1f512"}.fa-lock-open:before{content:"\1f513"}.fa-crown:before{content:"\265b"}.fa-globe:before{content:"\1f30d"}.fa-clock-o:before{content:"\1f552"}.fa-infinity:before{content:"\221e"}.fa-refresh:before,.fa-redo:before{content:"\21bb"}.fa-sign-in-alt:before,.fa-right-to-bracket:before{content:"\2192"}.fa-sign-out-alt:before{content:"\2190"}.fa-key:before{content:"\1f511"}.fa-save:before,.fa-clipboard-check:before{content:"\1f4be"}.fa-scale-balanced:before{content:"\2696"}.fa-times-circle:before{content:"\2716"}.fa-arrow-left:before,.fa-undo:before{content:"\2190"}.fa-users:before{content:"\1f465"}.fa-trash:before{content:"\1f5d1"}.fa-wrench:before{content:"\1f527"}.fa-shield-halved:before{content:"\1f6e1"}
