@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap);.App{margin:0 auto;max-width:1100px;min-height:100vh;padding:2rem}@media (max-width:768px){.App{padding:1rem 1rem 200px}}.page-header-wrapper{margin:2rem auto;max-width:1000px;padding:0 1rem}.star-rating{cursor:pointer;display:flex;flex-direction:row-reverse;font-size:2.5rem;justify-content:flex-end;unicode-bidi:bidi-override;white-space:nowrap}.star-rating>input{display:none}.star-rating>label{color:var(--border-color);margin:0;padding:0 2px;transition:color .2s ease}.star-rating:not(:checked)>label:hover,.star-rating:not(:checked)>label:hover~label,.star-rating>input:checked~label{color:#ffc300}.star-rating>input:checked+label:hover,.star-rating>input:checked~label:hover,.star-rating>input:checked~label:hover~label,.star-rating>label:hover~input:checked~label{color:gold}.star-display{color:#ffc300;cursor:default;flex-shrink:0;font-size:1.1rem;margin-left:.5rem}.star-display-empty{color:var(--border-color)}.btn{border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-block;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;padding:.8rem 1.6rem;text-align:center;transition:all .2s ease-out}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--primary-color);box-shadow:0 1px 2px #0000000d;color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);color:#fff;text-decoration:none}.btn-secondary{background-color:var(--card-color);border:1px solid var(--border-color);box-shadow:0 1px 2px #0000000d;color:var(--text-primary)}.btn-secondary:hover{background-color:#fafafa;border-color:#d1d5db;color:var(--text-primary);text-decoration:none}[data-theme=dark] .btn-secondary:hover{background-color:#ffffff0d;border-color:#4b5563}.btn-danger{background-color:var(--danger-color);box-shadow:0 1px 2px #0000000d;color:#fff}.btn-danger:hover{background-color:var(--danger-hover);color:#fff}.btn-sm{font-size:.9rem;padding:.5rem 1rem}.btn-lg{font-size:1.1rem;padding:1rem 2rem}.btn-large{font-size:1.5rem;padding:1.5rem}.btn-add-inline{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.2rem .6rem}.btn-cook-large{align-items:center;box-shadow:0 4px 6px -1px #4f46e533;display:flex;font-size:1.1rem;gap:8px;padding:.8rem 2rem}@media (max-width:768px){.btn-cook-large{justify-content:center;width:100%}}.form-container{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;margin:4rem auto;max-width:480px;padding:2.5rem}.form-container h1,.form-container h2{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:900;letter-spacing:-1px;margin-bottom:2rem;margin-top:0;padding-bottom:1rem;text-align:center}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:700;margin-bottom:.5rem}input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;padding:.9rem;transition:all .2s ease}textarea{min-height:100px;resize:vertical}@media (max-width:768px){textarea{font-size:16px}}.category-filter:focus,input:focus,select:focus,textarea:focus{background-color:var(--card-color);border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a;outline:none}.file-input-wrapper{background-color:var(--background-main);border:1px dashed var(--border-color);border-radius:8px;padding:.5rem;transition:border-color .2s}.file-input-wrapper:hover{border-color:var(--primary-color)}.file-input-style{background-color:var(--background-light);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:.5rem}.inline-input-group{gap:.5rem;margin-bottom:.8rem}.inline-input{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex-grow:1;font-size:1rem;min-width:0;padding:.4rem}.inline-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-error{background:#dc26260d;border:1px solid var(--danger-color);border-radius:8px;color:var(--danger-color)}.form-error,.form-success{margin-bottom:1rem;padding:.75rem;text-align:center}.form-success{background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46}[data-theme=dark] .form-success{background:#065f4633;border-color:#065f46;color:#34d399}[data-theme=dark] .form-error{background:#7f1d1d33;border-color:#7f1d1d;color:#f87171}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;margin-top:2.5rem;padding-top:1.5rem}@media (max-width:768px){.form-actions{flex-direction:column-reverse;gap:1rem}.form-actions .btn{padding:1rem;width:100%}}.account-menu-container{position:relative}.account-menu-trigger{align-items:center;background-color:var(--primary-color);border:none;border-radius:10px;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;padding:.5rem 1rem;transition:background-color .2s}.account-menu-trigger:hover{background-color:var(--primary-hover)}.account-dropdown{background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 10px #0000001a;list-style:none;margin-top:8px;overflow:hidden;padding:0;position:absolute;right:0;top:100%;width:250px;z-index:500}.account-dropdown li{border-bottom:1px solid var(--border-color);padding:0}.account-dropdown a,.account-dropdown button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.95rem;padding:.75rem 1rem;text-align:left;transition:background-color .1s;width:100%}.account-dropdown a:hover,.account-dropdown button:hover{background-color:var(--background-main);text-decoration:none}.account-dropdown .logout-btn{color:var(--danger-color);font-weight:700}@media (max-width:768px){.account-menu-container{display:flex;justify-content:flex-end;width:100%}.account-dropdown{left:auto;margin-left:0;margin-top:.5rem;right:0;width:200px;z-index:1000}.account-menu-trigger{margin-left:auto}}.breadcrumb-nav{font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.breadcrumb-link,.breadcrumb-nav{align-items:center;color:var(--text-secondary);display:flex}.breadcrumb-link{border-radius:6px;gap:4px;padding:4px 8px;text-decoration:none;transition:background-color .2s}.breadcrumb-link:hover{background-color:var(--background-main);color:var(--primary-color);text-decoration:none}.breadcrumb-separator{color:var(--text-secondary);opacity:.5}.back-link-spacing{display:inline-block;margin-bottom:1.5rem}.dashboard-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#ec4899);-webkit-background-clip:text;font-weight:900;letter-spacing:-1px;margin:0}.dashboard-top-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.dashboard-top-grid .form-container{height:100%;margin:0;max-width:none;width:100%}@media (max-width:768px){.dashboard-top-grid{grid-template-columns:1fr!important}.form-container>div[style*=grid-template-columns]{display:flex!important;flex-direction:column!important;gap:.5rem!important}}.landing-page-wrapper{align-items:center;background:linear-gradient(135deg,#fdfbf7,#eef2ff);display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:50}[data-theme=dark] .landing-page-wrapper{background:linear-gradient(135deg,#111827,#312e81)}.landing-grid{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;max-width:1200px;padding:2rem;width:100%;z-index:1}.landing-text-section{max-width:500px}.hero-title{color:var(--text-primary);font-size:4.5rem;font-weight:900;letter-spacing:-2px;line-height:1.1;margin-bottom:1.5rem}.hero-title .highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#ec4899);-webkit-background-clip:text}.hero-subtitle{color:var(--text-secondary);font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem}.landing-cta-group{display:flex;gap:1rem;margin-bottom:2.5rem}.feature-pills{display:flex;flex-wrap:wrap;gap:1rem}.pill{background:#fff9;border:1px solid #0000000d;border-radius:20px;color:var(--text-secondary);font-size:.9rem;font-weight:600;padding:.5rem 1rem}[data-theme=dark] .pill{background:#0006;border-color:#ffffff1a;color:#e5e7eb}.landing-visual-section{align-items:center;display:flex;height:500px;justify-content:center;min-width:300px;position:relative}.mock-card{background:var(--card-color);border:1px solid #fffc;border-radius:20px;box-shadow:0 20px 40px -5px #0000001a,0 10px 20px -5px #0000000d;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;position:absolute}[data-theme=dark] .mock-card{border-color:#ffffff1a;box-shadow:0 20px 40px -5px #00000080}.mock-img-placeholder{background:var(--background-main);border-radius:12px;font-size:4rem;padding:1rem;text-align:center}.mock-emoji{font-size:3rem;text-align:center}.mock-lines{display:flex;flex-direction:column;gap:.5rem}.line{background:var(--border-color);border-radius:4px;height:8px;width:100%}.line.title{background:var(--text-primary);height:12px;margin-bottom:.25rem;width:70%}.line.short{width:40%}.mock-tag{background:#e0e7ff;border-radius:12px;color:#4338ca;display:inline-block;font-size:.8rem;font-weight:700;padding:.25rem .75rem;width:-webkit-fit-content;width:fit-content}.card-center{--rot:-3deg;transform:rotate(-3deg);width:280px;z-index:3}.card-left{--rot:-12deg;left:0;opacity:.9;top:10%;transform:rotate(-12deg);width:200px;z-index:2}.card-right{--rot:8deg;bottom:15%;opacity:.9;right:5%;transform:rotate(8deg);width:180px;z-index:2}@media (max-width:768px){.landing-page-wrapper{align-items:center;height:100dvh;min-height:auto;overflow:hidden;padding:1rem}.landing-grid{display:flex;flex-direction:column;gap:0;height:100%;padding:0;width:100%}.landing-text-section{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;max-height:60%;text-align:center;z-index:10}.hero-title{font-size:2.5rem;margin-bottom:.5rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;padding:0 1rem}.landing-cta-group{justify-content:center;margin-bottom:1rem;width:100%}.feature-pills{gap:.5rem;justify-content:center;margin-top:.5rem}.landing-visual-section{align-items:center;display:flex;flex:1 1;height:auto;justify-content:center;margin:0;min-height:0;width:100%}.mock-card{bottom:auto;left:auto;margin-top:-2rem;position:relative;right:auto;top:auto;transform:scale(.65) rotate(-3deg)!important;z-index:1}.card-left,.card-right{display:none!important}.card-center{animation:float 6s ease-in-out infinite;display:flex!important}}.recipe-list-header{border-bottom:1px solid var(--border-color);font-weight:900;letter-spacing:-.5px;margin-top:3rem;padding-bottom:10px}@media (max-width:768px){.recipe-list-header{align-items:stretch;flex-direction:column;gap:1rem}.recipe-list-header>div{display:flex;flex-direction:column;gap:.5rem;width:100%}.recipe-list-header input,.recipe-list-header select{padding:.8rem;width:100%}}.recipe-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);margin-bottom:2rem;overflow:hidden;position:relative;transition:box-shadow .2s ease,transform .2s ease}.recipe-card:hover{box-shadow:0 10px 15px -3px #00000012;transform:translateY(-5px)}.recipe-card-content{padding:1.5rem 2rem 2rem}.recipe-card .recipe-detail-image-container{border-radius:16px 16px 0 0;height:220px;overflow:hidden;width:100%}.recipe-card .recipe-detail-image-container img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-card:hover .recipe-detail-image-container img{transform:scale(1.05)}.recipe-card:has(.recipe-detail-image-container) .recipe-detail-image-container:after{background:linear-gradient(0deg,#000000e6,#0000);border-radius:0 0 16px 16px;bottom:0;content:"";height:80%;left:0;position:absolute;right:0;z-index:1}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content{background:none;border:none;bottom:0;box-shadow:none;left:0;padding-top:1.5rem;position:absolute;right:0;z-index:2}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content h3,.recipe-card:has(.recipe-detail-image-container) .recipe-card-content h4{color:#fff;text-shadow:0 2px 4px #00000080}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content p{color:#f3f4f6;font-weight:500;text-shadow:0 1px 3px #000c}.recipe-floating-actions{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#fffffff2;border:1px solid #00000014;border-radius:20px;box-shadow:0 2px 8px #0000001f;display:flex;padding:6px 12px;position:absolute;right:10px;top:10px;z-index:10}[data-theme=dark] .recipe-floating-actions{background-color:#1f2937e6;border-color:#ffffff1a}.action-divider{background-color:var(--border-color);height:18px;margin:0 10px;width:1px}.recipe-select-checkbox.floating-checkbox{accent-color:var(--primary-color);cursor:pointer;height:18px;margin:0;width:18px}.recipe-header-aligned{align-items:flex-start!important}.recipe-info-column{padding-right:0;width:100%}.recipe-title-text{margin-bottom:.5rem;margin-top:0}.recipe-desc-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9rem;margin:0;overflow:hidden}.category-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.category-tag{background-color:#e0e7ff;border-radius:6px;color:#4338ca;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.5px;line-height:1;padding:4px 8px;text-transform:uppercase}[data-theme=dark] .category-tag{background-color:#312e81;color:#a5b4fc}.tag-pill{background-color:#f3f4f6;border:1px solid var(--border-color);border-radius:99px;color:#4b5563;display:inline-block;font-size:.75rem;font-weight:600;line-height:1;padding:4px 10px}[data-theme=dark] .tag-pill{background-color:#ffffff0d;color:#d1d5db}.recipe-stats-group{align-items:center;background-color:var(--background-main);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-shrink:0;margin-top:2px;padding:4px 8px}.star-rating-container{display:inline-flex;gap:2px;margin-right:8px}.star-icon{font-size:1.1rem;line-height:1}@media (max-width:768px){.recipe-card .recipe-detail-image-container{height:200px}.recipe-card:has(.recipe-detail-image-container) .recipe-detail-image-container:after{display:none}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content{background:var(--card-color);bottom:auto;left:auto;padding-bottom:1.5rem;padding-top:1rem;position:relative;right:auto;text-align:left;top:auto}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content h3{color:var(--text-primary);font-size:1.2rem;margin-top:.5rem;text-shadow:none}.recipe-card:has(.recipe-detail-image-container) .recipe-card-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;text-shadow:none}}.recipe-detail-container{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden;padding:0}.recipe-hero-image{background-color:#eee;height:400px;position:relative;width:100%}[data-theme=dark] .recipe-hero-image{background-color:#1f2937}.recipe-hero-image img{height:100%;object-fit:cover;width:100%}.recipe-content-wrapper{padding:2.5rem 3rem}.recipe-header{text-align:center}.detail-action-bar,.recipe-actions-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.recipe-actions-bar{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem}.secondary-actions-group{display:flex;flex-wrap:wrap;gap:.75rem}.recipe-detail-primary-btn{font-size:1.2rem;padding:.8rem 1.6rem}.recipe-detail-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.recipe-detail-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin-top:2rem}.scaling-header-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.75rem}.scaling-header-group h3{margin-bottom:0!important}.servings-control{align-items:center;display:flex;gap:10px}.servings-control label{color:var(--text-secondary);font-size:1rem;font-weight:700}.servings-control input{-moz-appearance:textfield;font-size:1rem;padding:.5rem;text-align:center;width:60px}.servings-control input::-webkit-inner-spin-button,.servings-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scaling-loader{animation:spin 1s linear infinite;color:var(--primary-color);font-size:1.5rem}.scaling-info-message{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;font-size:.9rem;font-weight:600;margin:-1rem 0 1rem;padding:.5rem 1rem;text-align:center}[data-theme=dark] .scaling-info-message{background-color:#065f4633;border-color:#065f46;color:#34d399}.recipe-detail-ingredients{background-color:initial;border:none;height:-webkit-fit-content;height:fit-content;padding:0}.ingredient-list{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:16px;list-style:none;margin:0;padding:2rem}.ingredient-list li{align-items:flex-start;border-bottom:1px dashed var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;gap:10px;padding:.75rem 0;transition:background-color .2s ease,opacity .2s ease}.ingredient-list li.checked{color:var(--text-secondary);opacity:.7;text-decoration:line-through}.check-circle{align-items:center;border:2px solid var(--border-color);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;min-width:24px}.check-circle.checked{background-color:#10b981;border-color:#10b981}.recipe-detail-instructions{margin-top:2rem}.recipe-detail-ingredients h3,.recipe-detail-instructions h3{color:var(--primary-color);font-size:1.5rem;font-weight:800;margin-bottom:1.75rem;margin-top:0}.instruction-list li{color:var(--text-primary);font-size:1.1rem;line-height:1.4;margin-bottom:1.75rem;padding-left:1rem}.instruction-list li::marker{color:var(--primary-color);font-size:1.3rem;font-weight:900}.recipe-notes{background:#fffbeb;border:3px solid #fcd34d;border-radius:12px;box-shadow:0 5px 10px #fcd34d66;margin-top:3rem;padding:1.5rem;transition:all .2s ease}.recipe-notes h4{border-bottom:1px dashed #fcd34d;color:#92400e;font-weight:800;margin-bottom:.75rem;margin-top:0;padding-bottom:.5rem}.recipe-notes pre{color:#92400e;font-family:Inter,sans-serif;margin:0;white-space:pre-wrap}[data-theme=dark] .recipe-notes{background:#451a03;border-color:#78350f;box-shadow:none}[data-theme=dark] .recipe-notes h4,[data-theme=dark] .recipe-notes pre{border-color:#92400e;color:#fcd34d}.variations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1.5rem}.parent-recipe-banner{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:2rem;text-align:center}[data-theme=dark] .parent-recipe-banner{background-color:#065f4633;border-color:#065f46}.add-recipe-wrapper{margin:2rem auto;max-width:1000px;padding:0 1rem}.add-recipe-form-container{margin:0;max-width:none;padding:2rem}.image-preview-large{border-radius:8px;height:250px;margin-top:1rem;object-fit:cover;width:100%}.image-tip-item{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:.85rem;gap:8px;line-height:1.4;margin:.5rem 0}@media (max-width:768px){.detail-action-bar{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:1.5rem;width:100%}.recipe-actions-bar{align-items:stretch;flex-direction:column-reverse;gap:1.5rem}.secondary-actions-group{justify-content:center}.action-buttons,.secondary-actions-group{display:grid;grid-template-columns:1fr 1fr}.action-buttons{grid-gap:.75rem;gap:.75rem;width:100%}.recipe-detail-content{grid-template-columns:1fr!important}.recipe-hero-image{border-radius:0;height:250px;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.recipe-content-wrapper{padding:1.5rem 1rem}.recipe-detail-grid{gap:1.5rem!important;grid-template-columns:1fr!important}.add-recipe-form-container{padding:1.5rem 1rem!important}}.meal-plan-page-wrapper{margin:2rem auto;max-width:1200px;padding:1.5rem}.meal-plan-actions-bar,.meal-plan-nav-container{align-items:center;display:flex;justify-content:space-between}.meal-plan-nav-container{margin-bottom:2rem}.meal-plan-week-range{color:var(--text-primary);font-size:1.5rem;font-weight:800;margin:0}.meal-plan-grid{grid-gap:1px;background-color:var(--border-color);border:1px solid var(--border-color);border-radius:12px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-top:2rem;overflow:hidden;text-align:center}.meal-plan-header{background-color:var(--text-primary);color:#fff;font-size:.9rem;font-weight:700;padding:.75rem .5rem}[data-theme=dark] .meal-plan-header{background-color:#111827;border-bottom:1px solid var(--border-color);color:#e5e7eb}.meal-plan-day{background-color:var(--card-color);display:flex;flex-direction:column;min-height:250px}.meal-plan-day h4{display:none}.meal-slot{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;flex-grow:1;font-size:.9rem;justify-content:center;min-height:80px;padding:.5rem;transition:background-color .1s ease}.meal-slot:hover{background-color:var(--background-main)}.meal-slot:last-child{border-bottom:none}.meal-slot-title{color:var(--text-secondary);font-size:.75rem;font-weight:700;margin-bottom:.25rem;text-transform:uppercase}.planned-recipe{align-items:center;background-color:#f7f7f7;border:1px solid var(--border-color);border-radius:6px;display:inline-flex;gap:5px;justify-content:center;padding:.5rem .25rem;position:relative;transition:background-color .1s ease;width:95%}[data-theme=dark] .planned-recipe{background-color:#ffffff0d}.planned-recipe:hover{background-color:var(--background-main)}.planned-recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--primary-color);display:-webkit-box;font-size:.85rem;font-weight:600;line-height:1.3;overflow:hidden;text-align:center}.planned-recipe-delete{background:none;border:none;color:var(--danger-color);cursor:pointer;font-size:1rem;line-height:1;opacity:0;padding:2px;position:absolute;right:2px;top:2px;transition:opacity .2s}.planned-recipe:hover .planned-recipe-delete{opacity:1}.meal-plan-list-layout{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.day-row-card{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 5px #00000008;display:flex;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.day-row-card.is-today{border:2px solid var(--primary-color);box-shadow:0 4px 12px #4f46e526}.day-header-column{align-items:center;background-color:var(--background-main);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding:1rem;width:100px}.day-name{color:var(--text-secondary);font-size:.9rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.day-number{color:var(--text-primary);font-size:2rem;font-weight:900;line-height:1;margin:.25rem 0}.today-badge{background-color:var(--primary-color);border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;margin-top:5px;padding:2px 8px}.slots-grid{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}.slot-column{border-right:1px dashed var(--border-color);display:flex;flex-direction:column;padding:1rem}.slot-column:last-child{border-right:none}.slot-label{color:var(--text-secondary);font-size:.8rem;font-weight:700;gap:5px;margin-bottom:.8rem;text-transform:uppercase}.recipe-chip,.slot-label{align-items:center;display:flex}.recipe-chip{background-color:var(--card-color);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:6px;box-shadow:0 1px 2px #0000000d;font-size:.9rem;justify-content:space-between;padding:.4rem .6rem;transition:all .2s ease}.recipe-chip:hover{border-color:#d1d5db;box-shadow:0 3px 6px #00000014;transform:translateY(-1px)}.recipe-chip-link{color:var(--text-primary);font-weight:600;margin-right:8px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.add-item-btn-small{background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;margin-top:auto;padding:.4rem;text-align:left;transition:all .2s}.add-item-btn-small:hover{background-color:var(--background-main);border-color:var(--primary-color);color:var(--primary-color)}@media (max-width:768px){.meal-plan-grid{background-color:initial;border:none;gap:1rem;grid-template-columns:1fr}.meal-plan-header{display:none}.meal-plan-day{border:1px solid var(--border-color);border-radius:12px;min-height:auto;overflow:hidden}.meal-plan-day h4{background-color:var(--background-main);border-bottom:1px solid var(--border-color);color:var(--text-primary);display:block;font-weight:700;margin:0;padding:.75rem}.meal-plan-nav-container{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr;padding:0 1rem}.meal-plan-nav-container .meal-plan-week-range{font-size:1.5rem;margin-bottom:1rem;order:1;text-align:center}.meal-plan-nav-container .nav-btn-previous{order:2}.meal-plan-nav-container .nav-btn-next{order:3}.meal-plan-nav-container .btn{width:100%}.day-row-card{flex-direction:column}.day-header-column{background-color:var(--background-main);border-bottom:1px solid var(--border-color);border-right:none;flex-direction:row;justify-content:space-between;padding:.75rem 1rem;width:100%}.day-number{font-size:1.2rem;margin:0}.slots-grid{grid-template-columns:1fr}.slot-column{border-bottom:1px dashed var(--border-color);border-right:none;padding:.75rem 1rem}.slot-items-container{flex-direction:row;flex-wrap:wrap}.recipe-chip{flex-grow:1}.add-item-btn-small{text-align:center;width:100%}}.manager-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-top:2rem}.manager-section{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:2rem}.add-item-form{background:var(--background-main);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem}.add-item-form input{background:#0000;border:none;color:var(--text-primary);flex-grow:1;outline:none;padding:.5rem}.chip-list{display:flex;flex-wrap:wrap;gap:.8rem;min-width:0}.chip{align-items:center;border-radius:50px;cursor:default;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:all .2s ease}.chip.category{background-color:#e0e7ff;border:1px solid #4f46e51a;color:var(--primary-color)}[data-theme=dark] .chip.category{background-color:#312e81;color:#a5b4fc}.chip.tag{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#1f2937;margin-bottom:.5rem;margin-right:.5rem}[data-theme=dark] .chip.tag{background-color:#ffffff0d;border-color:#4b5563;color:#d1d5db}.chip-delete-btn{align-items:center;background:#0000000d;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;margin-left:8px;opacity:.6;width:20px}.chip:hover .chip-delete-btn{background:#0000001a;opacity:1}.chip-delete-btn:hover{background-color:var(--danger-color)!important;color:#fff!important}.autocomplete-wrapper{flex-grow:1;position:relative}.suggestions-dropdown{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:0 0 12px 12px;box-shadow:0 10px 15px -3px #0000001a;left:0;list-style:none;margin:4px 0 0;max-height:250px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:50}.suggestion-item{border-bottom:1px solid var(--background-main);color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:.75rem 1rem}.suggestion-item.active,.suggestion-item:hover{background-color:var(--background-main);color:var(--primary-color)}.suggestion-ingredient-item{align-items:center;border:1px solid #0000;border-radius:8px;display:flex;font-size:.95rem;gap:.6rem;margin-bottom:.25rem;padding:.35rem .6rem;transition:all .2s}.suggestion-ingredient-item.expiring{background-color:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-weight:600}[data-theme=dark] .suggestion-ingredient-item.expiring{background-color:#451a03;border-color:#78350f;color:#fcd34d}.suggestion-ingredient-item.missing-item{background-color:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}[data-theme=dark] .suggestion-ingredient-item.missing-item{background-color:#ffffff0d;border-color:#374151;color:#9ca3af}.use-soon-tag{background-color:#fbbf2433;border:1px solid #b453091a;border-radius:6px;color:#b45309;font-size:.9em;font-weight:800;padding:2px 6px;text-transform:uppercase;white-space:nowrap}[data-theme=dark] .use-soon-tag{color:#fbbf24}.pantry-chip{align-items:center;background-color:#ecfdf5;border-color:#a7f3d0;color:#047857;display:inline-flex;gap:8px}[data-theme=dark] .pantry-chip{background-color:#065f4633;border-color:#065f46;color:#34d399}.pantry-chip.priority{background-color:#fffbeb;border-color:#fcd34d;color:#92400e}[data-theme=dark] .pantry-chip.priority{background-color:#451a03;border-color:#78350f;color:#fcd34d}.pantry-chip-text.priority{font-weight:700}.pantry-chip-icon{cursor:pointer;font-size:1.2em;line-height:1;transition:opacity .2s}.pantry-chip-icon.normal{filter:grayscale(100%);opacity:.3}.tag-category-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.metadata-pill{align-items:center;background-color:var(--card-color);border:1px solid var(--border-color);border-radius:50px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.metadata-pill:hover{background-color:var(--background-main);border-color:var(--primary-color)}.metadata-pill.selected{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.metadata-pill input[type=checkbox]{display:none!important}@media (max-width:768px){.manager-grid{grid-template-columns:1fr!important}.manager-section{padding:1.25rem 1rem!important}.add-item-form{flex-direction:row;gap:.5rem}.add-item-form input{min-width:0;width:100%}.manager-add-btn{padding:.6rem 1rem;white-space:nowrap}.chip-list{display:flex!important;flex-wrap:wrap!important;gap:.5rem!important;justify-content:flex-start!important}.chip{flex-grow:0;font-size:.85rem;margin:0;padding:.4rem .8rem;width:auto!important}}.cook-mode-container{background-color:var(--background-main);display:flex;flex-direction:column;height:100dvh;left:0;overflow:hidden;padding:1rem 2rem;position:fixed;top:0;width:100vw;z-index:1000}.cook-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem}.progress-track{background-color:var(--border-color);border-radius:4px;flex-shrink:0;height:8px;margin-bottom:2rem;overflow:hidden;width:100%}.progress-fill{background-color:var(--primary-color);height:100%;transition:width .3s ease}.cook-content{flex:1 1;min-height:0;overflow-y:auto}.cook-content,.step-content-wrapper{display:flex;flex-direction:column;width:100%}.step-content-wrapper{align-items:center;margin:auto;padding:1rem 0}.step-text{color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1.4;text-align:center}.cook-footer{background-color:var(--background-main);flex-shrink:0;padding-top:1rem;width:100%;z-index:10}.cook-controls{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 2fr}.smart-ingredients-box{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);max-width:600px;padding:1.5rem;text-align:left;width:100%}.smart-ingredients-box h4{color:var(--text-secondary);font-size:.85rem;letter-spacing:.03em;margin:0 0 1rem;text-transform:uppercase}.smart-ingredients-box ul{margin:0;padding-left:1.2rem}.smart-ingredients-box li{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.cook-footer-preview{align-items:center;display:flex;justify-content:center;margin-bottom:1rem;min-height:30px;opacity:.8}.cook-footer-preview p{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin:0;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-footer-preview .next-up-bold{font-weight:700;margin-right:5px}.cook-controls-wrapper{margin:0 auto;max-width:800px;width:100%}.shopping-history-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);color:inherit!important;cursor:pointer;display:block!important;margin-bottom:1.5rem;min-width:0;overflow:hidden;padding:0!important;position:relative;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease;width:100%}.shopping-history-card:hover{border-color:#d1d5db;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-3px)}.shopping-history-content{align-items:flex-start;display:flex;flex-direction:row;gap:1rem;padding:1.5rem 4rem 1.5rem 1.5rem}.shopping-history-details{display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:0}.shopping-list-title{color:var(--text-primary);font-size:1.2rem;font-weight:800;line-height:1.3;margin:0}.shopping-list-context{color:var(--text-secondary);font-size:.95rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-list-date{font-size:.85rem;font-weight:500;margin-top:.2rem}.shopping-list-date,.shopping-list-delete-btn{align-items:center;color:var(--text-secondary);display:flex}.shopping-list-delete-btn{background-color:initial;border:1px solid #0000;border-radius:8px;font-size:1rem;height:36px;justify-content:center;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:36px;z-index:10}.shopping-list-delete-btn:hover{background-color:#fee2e2;border-color:#fecaca;color:#dc2626;transform:scale(1.1)}@media (max-width:768px){.shopping-history-content{align-items:stretch;flex-direction:column;padding-right:3.5rem}.shopping-list-delete-btn{right:.8rem;top:.8rem}}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content-box{background-color:var(--card-color);border-radius:16px;box-shadow:0 10px 25px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal-header-section{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.modal-header-section h2{color:var(--text-primary);font-size:1.5rem;margin:0}.modal-header-section .highlight{color:var(--primary-color)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem}.modal-search-bar{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.modal-results-container{max-height:40vh;overflow-y:auto;padding-right:.5rem}.modal-actions{margin-top:1rem;text-align:right}.drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:2000}.ingredients-drawer{background:var(--card-color);box-shadow:-5px 0 25px #00000026;display:flex;flex-direction:column;height:100vh;padding:2rem;position:fixed;right:-400px;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:350px;z-index:2001}.ingredients-drawer.open{right:0}.drawer-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.drawer-list{list-style:none;margin:0;overflow-y:auto;padding:0}.drawer-list li{align-items:flex-start;border-bottom:1px dashed var(--border-color);display:flex;gap:12px;padding:.75rem 0}.drawer-list input[type=checkbox]{accent-color:var(--primary-color);height:18px;margin-top:4px;width:18px}.loading-screen{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;text-align:center}.loading-icons{display:flex;font-size:4rem;gap:1rem;margin-bottom:1.5rem}.loading-icon{animation:bounce 1.4s ease-in-out infinite both}.loading-icon:first-child{animation-delay:-.32s}.loading-icon:nth-child(2){animation-delay:-.16s}.loading-icon:nth-child(3){animation-delay:0s}.loading-icon.static-scale{animation:none!important;transform:scale(1)!important}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.card-tab-container{border-bottom:1px solid var(--border-color);display:flex;margin-bottom:1.5rem}.card-tab{border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-weight:700;margin-bottom:-2px;padding:.75rem 1.25rem}.card-tab:hover{color:var(--text-primary)}.card-tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.action-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.action-card{align-items:center;background-color:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 2px #0000000d;color:var(--text-primary);display:flex;flex-direction:column;font-size:.95rem;font-weight:700;justify-content:center;padding:1.5rem 1rem;text-align:center;text-decoration:none;transition:all .2s ease}.action-card:hover{border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a;color:var(--primary-color);transform:translateY(-3px)}.action-icon{font-size:2rem;margin-bottom:.5rem}.action-card.magic{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6;color:#6d28d9}[data-theme=dark] .action-card.magic{background:linear-gradient(135deg,#8b5cf61a,#6d28d91a);border-color:#6d28d9;color:#a78bfa}.action-card.magic:hover{box-shadow:0 10px 20px -3px #8b5cf64d}.cat-card{overflow:hidden;position:relative}.cat-peek{bottom:-50px;font-size:3.5rem;pointer-events:none;position:absolute;right:20px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);z-index:1}.cat-card:hover .cat-peek{transform:translateY(-55px) rotate(-10deg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}.pagination-container{align-items:center;border-top:1px dashed var(--border-color);display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;padding:2rem 0}.pagination-container .btn{min-width:120px}@media (max-width:768px){.pagination-container{gap:.75rem;padding:1.5rem 0}.pagination-container .btn{flex:1 1;font-size:.9rem;min-width:auto;padding:.8rem .5rem}.pagination-container span{flex-shrink:0;font-size:.9rem;white-space:nowrap}}@media print{body{background-color:#fff!important;color:#000!important}.action-buttons,.admin-button-group,.back-link,.category-list,.cook-footer,.cook-header,.cook-mode-container .progress-track,.dashboard-header,.detail-action-bar,.form-actions,.recipe-action-wrapper,.recipe-source,.tag-pill{display:none!important}.App{margin:0;max-width:100%;padding:0}.recipe-content-wrapper,.recipe-detail-container{background-color:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:.5rem .75rem!important}.recipe-header{margin-bottom:1.5rem!important;text-align:left!important}.recipe-header h1{-webkit-text-fill-color:#000!important;background:none!important;color:#000!important;font-size:2.2rem!important;font-weight:800;margin-bottom:.2rem}.recipe-hero-image{display:none!important}.recipe-detail-content{align-items:flex-start;display:flex;flex-direction:row;gap:2rem;margin-top:0}.recipe-detail-ingredients{min-width:200px;padding:0!important;width:35%}.recipe-detail-ingredients h3,.recipe-detail-instructions h3{border-bottom:1px solid #999;color:#000!important;font-size:1.4rem!important;margin-bottom:.5rem;padding-bottom:.2rem}.recipe-detail-instructions{padding:0;width:65%}.ingredient-list{background:none!important;border:none!important;list-style:none!important;margin:0!important;padding:0!important}.ingredient-list li{border-bottom:none!important;font-size:.95rem;margin-bottom:.3rem;padding:.1rem 0!important}.check-circle{display:none!important}.instruction-list{margin:0!important;padding-left:1.5rem!important}.instruction-list li{color:#000;font-size:1rem;line-height:1.3;margin-bottom:.75rem;padding-left:.5rem}.instruction-list li::marker{color:#000!important;font-size:1.1rem;font-weight:600}.recipe-notes{background:#f7f7f7!important;border:1px solid #ccc!important;box-shadow:none!important;margin-top:2rem;padding:1rem!important}.recipe-notes h4,.recipe-notes pre{color:#000!important}}.library-toolbar{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 4px #00000005;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem;padding:1.5rem}.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-input-large{background-color:var(--background-main);flex-grow:1;font-size:1rem;min-width:250px;padding:.8rem 1rem!important}.filter-select,.search-input-large{border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary)}.filter-select{-webkit-appearance:none;appearance:none;background-color:var(--card-color);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236b7280%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:.65em;cursor:pointer;font-size:.95rem;min-width:140px;padding:.8rem 2.5rem .8rem 1rem}.filter-select:focus,.search-input-large:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.bulk-actions-row{align-items:center;animation:fadeIn .3s ease;border-top:1px dashed var(--border-color);display:flex;justify-content:space-between;padding-top:1.25rem}.bulk-actions-group{align-items:center;display:flex;gap:.8rem}.select-all-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-weight:600;gap:.6rem;-webkit-user-select:none;user-select:none}.checkbox-large{accent-color:var(--primary-color);cursor:pointer;height:20px;width:20px}@media (max-width:768px){.filter-row{align-items:stretch;flex-direction:column}.filter-select{width:100%}.bulk-actions-row{align-items:flex-start;flex-direction:column;gap:1rem}.bulk-actions-group{justify-content:space-between;width:100%}}@media (max-width:600px){.recipe-detail-grid{gap:1rem!important;grid-template-columns:1fr!important}}.inline-input-group{align-items:stretch;display:flex;gap:8px;width:100%}.inline-input-group input.inline-input{flex:1 1 auto;min-width:0;width:100%}.inline-input-group select.inline-input{background-color:var(--background-main);color:var(--text-primary);cursor:pointer;flex:0 0 auto;min-width:70px;width:auto}.planner-box{background-color:#f0fdf4;border:1px solid #86efac;border-radius:12px;box-shadow:inset 0 2px 4px #00000005;margin-bottom:1.5rem;padding:1.5rem}[data-theme=dark] .planner-box{background-color:#065f4633;border-color:#065f46}.time-input-styled{background:var(--card-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1.1rem;padding:.6rem;width:100%}.recipe-card.recipe-family-card{display:flex;flex-direction:column;height:auto;min-height:100%;padding-bottom:0}.family-image-container{background-color:#eee;border-radius:16px 16px 0 0;height:200px;overflow:hidden;position:relative;width:100%}[data-theme=dark] .family-image-container{background-color:#1f2937}.family-image-container img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-card:hover .family-image-container img{transform:scale(1.05)}.recipe-family-card .recipe-card-content{background:#0000;flex:0 0 auto;padding:1.25rem;position:relative}.recipe-family-card h3.recipe-title-text{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem;text-shadow:none}.recipe-family-card .recipe-desc-text{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.recipe-family-footer{background-color:var(--background-main);border-radius:0 0 16px 16px;border-top:1px solid var(--border-color);margin-top:auto;padding:1rem 1.25rem 1.25rem}.family-footer-header{color:var(--text-secondary);font-size:.75rem;font-weight:800;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.variation-list{display:flex;flex-direction:column;gap:8px}.variation-link-item{align-items:center;background:var(--card-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 2px #00000005;color:var(--text-primary);display:flex;gap:10px;padding:8px 10px;text-decoration:none;transition:all .2s cubic-bezier(.25,.8,.25,1)}.variation-link-item:hover{border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000000d;text-decoration:none;transform:translateX(2px);z-index:2}.variation-tiny-thumb{background-color:var(--background-main);border:1px solid #0000000d;border-radius:6px;color:#9ca3af;flex-shrink:0;font-size:1.2rem;height:36px;object-fit:cover;width:36px}.variation-name{flex:1 1;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.variation-link-item{background-color:var(--background-main);border-style:dashed;color:var(--primary-color);font-size:.85rem;font-weight:600;justify-content:center}button.variation-link-item:hover{background-color:var(--background-main);border-color:var(--primary-color);border-style:solid}.family-count-badge{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#111827d9;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-size:.75rem;font-weight:700;gap:6px;left:12px;padding:6px 12px;pointer-events:none;position:absolute;top:12px;z-index:10}.image-preview-wrapper{border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;overflow:hidden;position:relative;width:100%}.image-preview-wrapper img{display:block;height:250px;object-fit:cover;width:100%}.btn-remove-image{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#dc2626e6;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:.5rem .8rem;position:absolute;right:10px;top:10px;transition:all .2s ease;z-index:10}.btn-remove-image:hover{background-color:#dc2626;box-shadow:0 4px 6px #00000040;transform:translateY(-1px)}.settings-grid-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:300px 1fr;margin-bottom:4rem}@media (max-width:900px){.settings-grid-layout{grid-template-columns:1fr}}.settings-column-right{display:flex;flex-direction:column;gap:2rem}.settings-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden;padding:2rem}.card-header{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.card-header h3{color:var(--text-primary);font-size:1.2rem;margin:0}.profile-header{margin-bottom:2rem;text-align:center}.avatar-circle{align-items:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:4px solid var(--card-color);border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;color:var(--primary-color);display:flex;font-size:2.5rem;font-weight:900;height:100px;justify-content:center;margin:0 auto 1rem;width:100px}[data-theme=dark] .avatar-circle{background:linear-gradient(135deg,#312e81,#4338ca);color:#e0e7ff}.profile-text h2{font-size:1.4rem;margin:0 0 .5rem}.profile-badge{background-color:#d1fae5;border-radius:20px;color:#065f46;font-size:.8rem;font-weight:700;padding:4px 12px;text-transform:uppercase}.profile-details-list{display:flex;flex-direction:column;gap:1.2rem}.detail-item label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.3rem;text-transform:uppercase}.detail-value{color:var(--text-primary);font-size:1rem;font-weight:500;word-break:break-all}.code-style{background:var(--background-main);border-radius:4px;color:var(--text-secondary);font-family:monospace;padding:2px 6px}.form-row-split{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row-split{grid-template-columns:1fr}}.input-modern{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.8rem 1rem;transition:all .2s;width:100%}.input-modern:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.card-footer{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem;text-align:right}.danger-zone-card{background:var(--card-color);border:1px solid #fecaca}[data-theme=dark] .danger-zone-card{border-color:#7f1d1d}.danger-content{align-items:center;display:flex;justify-content:space-between}.danger-content h3{color:var(--danger-color);font-size:1.1rem;margin:0 0 .3rem}.danger-content p{color:var(--text-secondary);font-size:.9rem;margin:0}@media (max-width:600px){.danger-content{align-items:flex-start;flex-direction:column;gap:1rem}.danger-content button{width:100%}}.toggle-switch{display:inline-block;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;width:20px}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translateX(24px)}.search-highlight{background-color:#fef08a;border-radius:2px;color:#854d0e;font-weight:700;padding:0 2px}[data-theme=dark] .search-highlight{background-color:#854d0e;color:#fef08a}.view-toggle-group{background-color:var(--background-main);border:1px solid var(--border-color);border-radius:8px;display:flex;margin-left:auto;padding:2px}.btn-icon-toggle{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.2rem;opacity:.6;padding:6px 10px;transition:background-color .2s}.btn-icon-toggle:hover{background-color:#0000000d;opacity:.8}.btn-icon-toggle.active{background-color:var(--card-color);box-shadow:0 1px 2px #0000001a;opacity:1}.recipe-list-view-container{display:flex;flex-direction:column;gap:1rem}.recipe-list-item{align-items:center;background-color:var(--card-color);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;padding:.8rem;transition:transform .1s,box-shadow .1s}.recipe-list-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.list-item-checkbox{align-items:center;border-right:1px solid var(--border-color);display:flex;padding-right:.5rem}.list-item-checkbox input{accent-color:var(--primary-color);cursor:pointer;height:20px;width:20px}.list-item-image{background-color:#eee;border-radius:8px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.list-item-image img{height:100%;object-fit:cover;width:100%}.list-item-content{flex-grow:1;min-width:0}.list-item-title{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:700;margin-bottom:.3rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.list-item-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem}.list-item-meta .separator{margin:0 8px;opacity:.5}.list-item-actions{display:flex;gap:.5rem}.list-family-toggle{background-color:var(--background-main);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;margin-left:40px;padding:.5rem 1rem;text-align:center}.list-family-toggle:hover{border-color:var(--primary-color);color:var(--primary-color)}.recipe-floating-bottom-action{bottom:10px;position:absolute;right:10px;z-index:10}.btn-quick-add{align-items:center;background-color:var(--card-color);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 5px #0000001a;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-quick-add:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.btn-icon-circle{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-icon-circle:hover{background-color:var(--background-main);border-color:var(--primary-color)}.btn-icon-tiny{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;padding:4px;transition:opacity .2s}.btn-icon-tiny:hover{opacity:1;transform:scale(1.1)}@media (max-width:768px){.view-toggle-group{justify-content:center;margin-top:.5rem;width:100%}}.app-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.app-header-left{display:flex;flex-direction:column}.app-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#ec4899);-webkit-background-clip:text;font-size:1.8rem;font-weight:900;letter-spacing:-.5px;line-height:1.2;margin:0}.app-header-left .subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:.3rem 0 0}.app-header-right{align-items:center;display:flex;gap:1rem}@media (max-width:768px){.app-header{align-items:flex-start;flex-direction:column;gap:1rem}.app-header-right{flex-direction:row-reverse;justify-content:space-between;width:100%}.app-header-right .btn-secondary{margin-right:auto}}.page-container{margin:0 auto;max-width:1200px;padding:0 1rem 2rem}:root{--background-main:#f7f7f7;--background-light:#fff;--card-color:#fff;--border-color:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--primary-color:#4f46e5;--primary-hover:#4338ca;--danger-color:#dc2626;--danger-hover:#b91c1c;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;color-scheme:dark}[data-theme=dark]{--background-main:#111827;--background-light:#1f2937;--card-color:#1f2937;--border-color:#374151;--text-primary:#f9fafb;--text-secondary:#9ca3af;--primary-color:#6366f1;--primary-hover:#818cf8;--shadow-md:0 4px 6px -1px #00000080,0 2px 4px -2px #0000004d;color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f7f7;background-color:var(--background-main);color:#111827;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}a{color:#4f46e5;color:var(--primary-color);font-weight:700;text-decoration:none;transition:color .2s ease}a:hover{color:#4338ca;color:var(--primary-hover);text-decoration:underline}
/*# sourceMappingURL=main.aa9a77f2.css.map*/