body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:420px;padding:2.5rem;width:100%}.auth-logo{font-size:2.5rem;margin-bottom:.5rem;text-align:center}.auth-box h1{color:#1a1a2e;font-size:1.6rem;font-weight:700;margin:0 0 .25rem;text-align:center}.auth-subtitle{color:#9ca3af;font-size:.85rem;margin:0 0 1.5rem;text-align:center}.auth-box .form-group{margin-bottom:1.1rem}.auth-box .form-group label{color:#374151;display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem}.auth-box .form-group input{border:1.5px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:.65rem 1rem;transition:border-color .2s;width:100%}.auth-box .form-group input:focus{border-color:#e86b35;outline:none}.auth-box .form-group input[readonly]{background:#f9fafb;color:#6b7280}.btn-full{margin-top:.5rem;width:100%}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1rem;padding:.75rem 1rem}.auth-footer,.error-message{font-size:.85rem;text-align:center}.auth-footer{color:#6b7280;margin-top:1.25rem}.auth-footer a{color:#e86b35;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.invite-badge{background:#f0fdf4;border:1.5px solid #86efac;border-radius:8px;color:#16a34a;font-size:.85rem;margin-bottom:1.25rem;padding:.6rem 1rem;text-align:center}.setup-info{background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:8px;margin-bottom:1.25rem;padding:.9rem 1rem}.setup-info strong{color:#1d4ed8;display:block;font-size:.85rem;margin-bottom:.3rem}.setup-info p{color:#3b82f6;font-size:.8rem;line-height:1.5;margin:0}.auth-stamm-bg{background:linear-gradient(145deg,#2c1810,#5c3d1e 60%,#8b6914)}.auth-box-stamm{background:linear-gradient(180deg,#fffbf5,#fff);border-top:5px solid #8b6914}.stamm-logo-wrap{display:flex;justify-content:center;margin-bottom:.75rem}.stammeslogo-img{filter:drop-shadow(0 2px 8px rgba(92,61,30,.25));height:110px;object-fit:contain;width:110px}.stamm-title{color:#3d2a0f!important;font-family:Georgia,serif;font-size:1.7rem!important}.stamm-subtitle{color:#7c5e3a!important;font-size:.88rem!important}.input-stamm{border-color:#c9a76a!important}.input-stamm:focus{border-color:#8b6914!important;box-shadow:0 0 0 3px #8b691426}.btn-stamm{background:linear-gradient(135deg,#5c3d1e,#8b6914)!important;border:none;color:#fff!important;font-weight:700;letter-spacing:.3px}.btn-stamm:hover:not(:disabled){background:linear-gradient(135deg,#3d2a0f,#6b4f10)!important;transform:translateY(-1px)}.auth-genuss-bg{background:linear-gradient(145deg,#1a1a2e,#e86b35)}.auth-box-genuss{border-top:5px solid #e86b35}.genuss-logo-wrap{display:flex;justify-content:center;margin-bottom:.5rem}.genuss-title{color:#1a1a2e!important;font-size:1.7rem!important;margin-bottom:0!important}.genuss-claim{color:#e86b35;font-size:.78rem;font-style:italic;font-weight:600;letter-spacing:1px;margin:.1rem 0 .3rem;text-align:center;text-transform:uppercase}.genuss-subtitle{color:#6b7280!important}.input-genuss{border-color:#fbd5bc!important}.input-genuss:focus{border-color:#e86b35!important;box-shadow:0 0 0 3px #e86b3526}.btn-genuss{background:linear-gradient(135deg,#e86b35,#c0392b)!important;border:none;color:#fff!important;font-weight:700}.btn-genuss:hover:not(:disabled){background:linear-gradient(135deg,#d4581e,#a93226)!important;transform:translateY(-1px)}.btn-switch-type{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:block;font-size:.8rem;margin-top:.75rem;padding:.4rem;text-align:center;transition:color .2s;width:100%}.btn-switch-type:hover{background:#f3f4f6;color:#6b7280}.btn-switch-stamm{color:#c9a76a}.btn-switch-stamm:hover{background:#fef9ee;color:#8b6914}.invite-icon{font-size:2.5rem;margin-bottom:.5rem;text-align:center}@media (max-width:480px){.auth-box{padding:1.5rem}.stammeslogo-img{height:80px;width:80px}}.dashboard{padding:30px 0}.dashboard-header{align-items:flex-start;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.dashboard-header h1{color:#2e7d32;font-size:32px}.dashboard-title-group{display:flex;flex-direction:column}.dashboard-subtitle{color:#888;font-size:14px;margin-top:4px}.header-actions{gap:.75rem}.btn-admin,.header-actions{align-items:center;display:flex}.btn-admin{gap:.4rem}.search-box{margin-bottom:30px;position:relative}.search-input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:14px 20px;width:100%}.search-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.search-input:focus:not(:focus-visible){outline:none}.search-results{background:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 8px #0000001a;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result-item{border-bottom:1px solid #f0f0f0;color:#333;display:flex;flex-direction:column;padding:12px 20px;text-decoration:none;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f5f5f5}.search-meta{color:#666;font-size:14px;margin-top:4px}.cookbooks-section{margin-bottom:40px}.cookbooks-section h2{color:#555;font-size:24px;margin-bottom:8px}.section-hint,.section-subtitle{color:#6c757d;font-size:.9rem;margin-bottom:1.2rem}[data-theme=dark] .section-hint{color:#666}.empty-hint{color:#adb5bd;font-size:.95rem;padding:1rem 0}.cookbooks-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cookbook-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;border-top:4px solid #4caf50;box-shadow:0 2px 8px #00000014;color:#333;display:flex;flex-direction:column;min-height:180px;padding:20px;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}.cookbook-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.cookbook-card-shared{border-top-color:#42a5f5}.cookbook-card h3{color:#2e7d32;font-size:18px;font-weight:700;line-height:1.3;min-width:0;word-break:break-word}.cookbook-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:14px;line-height:1.5;margin-bottom:12px;overflow:hidden}.cookbook-meta{font-size:13px;margin-top:auto;padding-top:8px}.cookbook-meta .recipe-count{color:#2e7d32;font-size:13px;font-weight:600}.cookbook-meta .owner{color:#888;font-size:12px;font-style:italic}.empty-state{background:#fff;border:2px dashed #ddd;border-radius:8px;padding:60px 20px;text-align:center}.empty-state p{color:#666;font-size:16px;margin-bottom:20px}.cookbook-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.cookbook-card-logo{flex-shrink:0}.cookbook-card-logo img{border-radius:8px;display:block;height:64px;object-fit:contain;width:64px}.cookbook-card-icon{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px;display:flex;flex-shrink:0;font-size:28px;height:64px;justify-content:center;width:64px}.inbox-section{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;margin-bottom:2rem;padding:1.25rem 1.5rem}.inbox-section h2{align-items:center;color:#5d4037;display:flex;font-size:1.15rem;gap:.5rem;margin-bottom:1rem}.inbox-badge{background:#e86b35;border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;padding:.15rem .55rem}.inbox-list{display:flex;flex-direction:column;gap:.6rem}.inbox-item{background:#fff;border:1px solid #fde68a;border-radius:8px;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.inbox-item,.inbox-item-info{align-items:center;display:flex;flex-wrap:wrap}.inbox-item-info{gap:.6rem}.inbox-item-info strong{color:#333;font-size:.95rem}.inbox-category{background:#e9ecef;border-radius:10px;color:#555;font-size:.78rem;padding:2px 8px}.inbox-from{color:#888;font-size:.82rem}.inbox-item-actions{display:flex;flex-shrink:0;gap:.5rem}@media (max-width:768px){.inbox-item{align-items:flex-start;flex-direction:column}.inbox-item-actions{width:100%}}.cookbook-picker-list{gap:8px;max-height:300px;overflow-y:auto}.cookbook-picker-item{border:1px solid #e9ecef;padding:12px 16px}.cookbook-picker-item:hover:not(:disabled){border-color:#4caf50}.cookbook-picker-item strong{font-size:15px}.cookbook-picker-item span{font-size:13px}[data-theme=dark] .cookbook-picker-item,[data-theme=dark] .cookbook-picker-list-item{background:#2d2d2d;border-color:#444}[data-theme=dark] .cookbook-picker-item:hover:not(:disabled){background:#1b3a1e}[data-theme=dark] .cookbook-picker-item span{color:#888}[data-theme=dark] .cookbook-card{border-color:#388e3c #333 #333}[data-theme=dark] .cookbook-card-shared{border-top-color:#42a5f5}[data-theme=dark] .cookbook-card:hover{box-shadow:0 8px 24px #00000073}[data-theme=dark] .dashboard-header{border-bottom-color:#2a2a2a}[data-theme=dark] .dashboard-subtitle{color:#666}[data-theme=dark] .cookbook-card-icon{background:linear-gradient(135deg,#1b3a1e,#152c18)}[data-theme=dark] .cookbook-meta .recipe-count{color:#81c784}@media (min-width:1200px){.dashboard-header h1{font-size:38px}.cookbooks-grid{gap:26px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}}@media (min-width:1400px){.dashboard-header h1{font-size:42px}.cookbooks-grid{gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.dashboard{padding:40px 0}.cookbooks-section h2{font-size:28px}.cookbook-card{min-height:200px;padding:24px}}@media (min-width:1800px){.cookbooks-grid{gap:34px;grid-template-columns:repeat(auto-fill,minmax(390px,1fr))}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:16px}.dashboard-header h1{font-size:24px}.header-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.header-actions .btn-primary,.header-actions .btn-secondary{flex:1 1 auto;text-align:center}.cookbooks-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.empty-state{padding:30px 16px}.search-results{max-height:250px}}@media (max-width:480px){.cookbooks-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:20px}}.search-section-label{background:#fafafa;border-bottom:1px solid #f0f0f0;color:#999;font-size:11px;font-weight:600;letter-spacing:.05em;padding:6px 16px 4px;text-transform:uppercase}.search-section-divider{background:#f0f0f0;height:1px;margin:0}.search-result-cookbook{background:#fafafa}.search-result-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.badge-visibility{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.badge-members_only{background:#e3f2fd;color:#1565c0}.badge-private{background:#f5f5f5;color:#757575}.search-no-results{color:#999;font-size:14px;padding:16px;text-align:center}[data-theme=dark] .search-section-label{background:#2a2a2a;border-bottom-color:#333;color:#666}[data-theme=dark] .search-section-divider{background:#333}[data-theme=dark] .search-result-cookbook{background:#2a2a2a}[data-theme=dark] .badge-public{background:#1b5e2033}[data-theme=dark] .badge-members_only{background:#0d47a133;color:#64b5f6}[data-theme=dark] .badge-private{background:#33333388;color:#aaa}[data-theme=dark] .search-no-results{color:#666}.search-loading{color:#999;font-style:italic}.search-error,.search-loading{font-size:14px;padding:14px 20px;text-align:center}.search-error{background:#fff5f5;border-radius:0 0 8px 8px;color:#c62828}.search-result-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#777;display:-webkit-box;font-size:13px;line-height:1.4;margin:3px 0 2px;overflow:hidden}[data-theme=dark] .search-loading{color:#666}[data-theme=dark] .search-error{background:#2a1a1a;color:#ef9a9a}[data-theme=dark] .search-result-description{color:#888}.rs-modal{max-height:90vh;max-width:560px;overflow-y:auto;position:relative;width:92%}.rs-close{position:absolute;right:16px;top:16px}.rs-hint{color:#888;color:var(--text-muted,#888);font-size:13px;line-height:1.5;margin:4px 0 16px}.rs-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;color:#c62828;font-size:14px;margin-bottom:16px;padding:10px 14px}.rs-loading{color:#888;font-size:14px;padding:12px 0}.rs-no-recipes{color:#888;font-size:14px;padding:8px 0}.rs-recipes-group label{align-items:center;display:flex;justify-content:space-between}.rs-selected-count{background:#e8f5e9;border-radius:10px;color:#2e7d32;font-size:12px;font-weight:400;padding:2px 8px}.rs-recipe-list{border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow:hidden;overflow-y:auto}.rs-recipe-item{border-bottom:1px solid #f0f0f0;padding:10px 14px;transition:background .1s}.rs-recipe-item:last-child{border-bottom:none}.rs-recipe-item:hover{background:#fafafa}.rs-recipe-item--selected{background:#f1f8e9}.rs-recipe-item--selected:hover{background:#e8f5e9}.rs-recipe-label{align-items:center;cursor:pointer;display:flex;gap:10px;width:100%}.rs-recipe-checkbox{accent-color:#2e7d32;flex-shrink:0;height:18px;width:18px}.rs-recipe-name{color:#333;flex:1 1;font-size:15px}.rs-servings-input{align-items:center;display:flex;gap:8px;margin-top:6px;padding-left:28px}.rs-servings-label{color:#666;font-size:13px;white-space:nowrap}.rs-servings-number{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:4px 8px;text-align:center;width:64px}[data-theme=dark] .rs-error{background:#3d1515;border-color:#ef9a9a;color:#ef9a9a}[data-theme=dark] .rs-loading,[data-theme=dark] .rs-no-recipes{color:#777}[data-theme=dark] .rs-selected-count{background:#1b3a1e;color:#81c784}[data-theme=dark] .rs-recipe-list{border-color:#333}[data-theme=dark] .rs-recipe-item{border-bottom-color:#2a2a2a}[data-theme=dark] .rs-recipe-item:hover{background:#252525}[data-theme=dark] .rs-recipe-item--selected{background:#1a2e1a}[data-theme=dark] .rs-recipe-item--selected:hover{background:#1e3520}[data-theme=dark] .rs-recipe-name{color:#e0e0e0}[data-theme=dark] .rs-servings-label{color:#aaa}[data-theme=dark] .rs-servings-number{background:#2d2d2d;border-color:#444;color:#e0e0e0}@media (max-width:768px){.rs-modal{max-height:95vh;width:96%}.rs-recipe-list{max-height:220px}.rs-recipe-item{padding:10px 12px}}.rs-other-chips{margin-bottom:10px}.rs-other-chips-label{color:#888;display:block;font-size:12px;margin-bottom:6px}.rs-chips-list{display:flex;flex-wrap:wrap;gap:6px}.rs-chip{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:16px;color:#555;display:inline-flex;font-size:13px;gap:4px;padding:3px 10px 3px 12px}.rs-chip-remove{background:none;border:none;border-radius:50%;color:#999;cursor:pointer;font-size:11px;line-height:1;padding:0 2px;transition:color .15s}.rs-chip-remove:hover{color:#d32f2f}[data-theme=dark] .rs-other-chips-label{color:#666}[data-theme=dark] .rs-chip{background:#2d2d2d;border-color:#444;color:#bbb}[data-theme=dark] .rs-chip-remove{color:#777}[data-theme=dark] .rs-chip-remove:hover{color:#ef9a9a}.cookbook-view{padding:30px 0}.cookbook-header{align-items:flex-start;background:linear-gradient(135deg,#e8f5e9,#f5f5f5 60%);border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px;padding:30px}.cookbook-header h1{color:#2e7d32;font-size:32px;margin-bottom:10px}.cookbook-header .cookbook-description{-webkit-line-clamp:unset;color:#555;display:block;font-size:15px;line-height:1.6;margin-bottom:8px;overflow:visible}.cookbook-actions{flex-shrink:0}.cookbook-actions,.cookbook-meta{display:flex;flex-wrap:wrap;gap:10px}.cookbook-meta{align-items:center;color:#666;font-size:14px;margin-top:8px}.badge-public{background:#e8f5e9}.badge-member{background:#e3f2fd;border-radius:12px;color:#1565c0;font-size:12px;font-weight:500;padding:2px 8px}.members-badge{background:none;border:1px solid #dee2e6;border-radius:12px;color:#495057;cursor:pointer;font-size:12px;padding:2px 10px;transition:all .2s}.members-badge:hover{background:#f8f9fa;border-color:#adb5bd}.badge-special{border-radius:4px;display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;color:#333;display:flex;flex-direction:column;min-height:200px;padding:24px;text-decoration:none;transition:box-shadow .2s ease,transform .2s ease}.recipe-card:not(.recipe-card-has-image){border-left:3px solid #4caf50}.recipe-card:hover{box-shadow:0 8px 24px #00000024;transform:translateY(-4px)}.recipe-card h3{color:#2e7d32;font-size:20px;margin-bottom:12px}.recipe-meta{gap:8px;margin-bottom:16px}.recipe-meta span{background-color:#e0e0e0;border-radius:12px;color:#555;font-size:14px;padding:4px 10px}.recipe-info{border-top:1px solid #f0f0f0;color:#666;display:flex;font-size:14px;gap:15px;margin-top:auto;padding-top:12px}.modal--members{max-width:500px}.modal.modal--wide{max-width:760px}@media (max-width:800px){.modal.modal--wide{max-width:95vw}}.modal-subtitle{color:#6c757d;font-size:.9rem;line-height:1.5}.member-section,.modal-subtitle{margin-bottom:1.5rem}.member-section h4{color:#6c757d;font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.member-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.4rem;padding:.6rem .75rem}.member-item--owner{background:#fffbeb;border:1px solid #fde68a}.member-name{color:#2c3e50;font-size:.95rem}.member-role{color:#6c757d;font-size:.8rem;font-style:italic}.btn-remove-member{background:#fce4ec;border:none;border-radius:6px;color:#c62828;cursor:pointer;font-size:.8rem;padding:.3rem .7rem;transition:opacity .2s}.btn-remove-member:hover{opacity:.8}.no-members{color:#adb5bd;font-size:.9rem;padding:.5rem 0}.member-search{margin-bottom:.5rem}.member-search-input{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-size:.9rem;padding:.6rem .85rem;width:100%}.member-search-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d3226;outline:none}[data-theme=dark] .member-search-input:focus{border-color:#66bb6a;box-shadow:0 0 0 3px #66bb6a33}.member-suggestions{border:1px solid #dee2e6;border-radius:8px;margin-top:.25rem;overflow:hidden}.member-suggestion{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;font-size:.9rem;justify-content:space-between;padding:.6rem .75rem}.member-suggestion:last-child{border-bottom:none}.btn-add-member{background:#e8f5e9;border:none;border-radius:6px;color:#2e7d32;cursor:pointer;font-size:.8rem;padding:.3rem .7rem;transition:opacity .2s}.btn-add-member:hover:not(:disabled){opacity:.8}.btn-add-member:disabled{cursor:not-allowed;opacity:.5}.no-results{color:#adb5bd;font-size:.85rem;padding:.4rem 0}.cookbook-header-main{align-items:flex-start;display:flex;gap:20px}.cookbook-logo-display{flex-shrink:0}.cookbook-logo-img{border-radius:8px;height:80px;object-fit:contain;width:80px}.current-logo-preview{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:10px}.logo-preview-img{height:60px;object-fit:contain;width:60px}.btn-danger-small{background:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-size:12px;padding:4px 10px}.btn-danger-small:hover{background:#dc3545;color:#fff}.recipe-card-body{padding:16px}.recipe-card-has-image{overflow:hidden;padding:0!important}.recipe-card-image{aspect-ratio:16/9;overflow:hidden;width:100%}.recipe-card-image img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-card:hover .recipe-card-image img{transform:scale(1.05)}.recipe-card-image--placeholder img{background:#f5f5f0;object-fit:contain}.recipe-card:hover .recipe-card-image--placeholder img{transform:none}[data-theme=dark] .recipe-card-image--placeholder{background:#2a2a2a}[data-theme=dark] .recipe-card-image--placeholder img{filter:brightness(.85);opacity:.75}.recipes-sort-bar{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:0 .25rem}.recipe-search-row{align-items:center;display:flex;gap:.75rem;max-width:600px}.recipe-search-wrapper{align-items:center;display:flex;flex-grow:1;max-width:480px;position:relative}.search-result-count{align-self:center;color:#888;font-size:.8rem;margin-left:.5rem;white-space:nowrap}[data-theme=dark] .search-result-count{color:#666}.search-icon{font-size:.95rem;left:.75rem;opacity:.6;pointer-events:none;position:absolute}.recipe-search-input{background:#fff;border:1.5px solid #e0e0e0;border-radius:999px;color:#333;font-family:inherit;font-size:.9rem;outline:none;padding:.45rem 2.2rem;transition:border-color .2s,box-shadow .2s;width:100%}.recipe-search-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321f}.recipe-search-input::-webkit-search-cancel-button{display:none}.search-clear-btn{background:none;border:none;border-radius:50%;color:#999;cursor:pointer;font-size:.85rem;line-height:1;padding:.2rem .3rem;position:absolute;right:.6rem;transition:color .15s,background .15s}.search-clear-btn:hover{background:#f0f0f0;color:#333}.recipe-controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}[data-theme=dark] .recipe-search-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .recipe-search-input:focus{border-color:#66bb6a;box-shadow:0 0 0 3px #66bb6a1f}[data-theme=dark] .search-clear-btn{color:#777}[data-theme=dark] .search-clear-btn:hover{background:#3a3a3a;color:#ccc}.sort-label{color:#888;font-size:.85rem;font-weight:500}.sort-btn{background:none;border:1.5px solid #e0e0e0;border-radius:999px;color:#555;cursor:pointer;font-size:.82rem;font-weight:500;padding:.3rem .75rem;transition:all .15s;white-space:nowrap}.sort-btn:hover{border-color:#e86b35;color:#e86b35}.sort-btn.active{background:#e86b35;border-color:#e86b35;color:#fff}[data-theme=dark] .sort-label{color:#777}[data-theme=dark] .sort-btn{border-color:#444;color:#aaa}[data-theme=dark] .sort-btn:hover{border-color:#e86b35;color:#e86b35}[data-theme=dark] .sort-btn.active{background:#e86b35;border-color:#e86b35;color:#fff}.export-dropdown{position:relative}.export-menu{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.export-menu-item{align-items:center;background:none;border:none;border-bottom:1px solid #f1f3f4;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:background .15s;width:100%}.export-menu-item:last-child{border-bottom:none}.export-menu-item:hover{background:#f8f9fa}.export-menu-item strong{color:#333;display:block;font-size:14px}.export-menu-item small{color:#888;display:block;font-size:12px;margin-top:1px}.export-menu-icon{flex-shrink:0;font-size:20px;text-align:center;width:24px}@media (max-width:768px){.export-menu{left:0;min-width:190px;right:auto}}.cookbook-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px}.role-badge--admin{background:#e8f5e9;color:#2e7d32}.role-badge--editor{background:#e3f2fd;color:#1565c0}.role-badge--viewer{background:#f5f5f5;color:#666}.visibility-badge{border-radius:12px;display:inline-block;font-size:.8rem;padding:3px 10px}.visibility-badge--public{background:#e8f5e9;color:#2e7d32}.visibility-badge--members_only{background:#fff3e0;color:#e65100}.visibility-badge--private{background:#f5f5f5;color:#666}.visibility-select{background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.95rem;padding:.6rem .75rem;width:100%}.invite-links-section{border-top:1px solid #eee;margin-top:24px;padding-top:16px}.invite-links-section h3{color:#333;font-size:1rem;margin-bottom:12px}.invite-link-create{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.invite-link-item{background:#f8f9fa;border-radius:8px;gap:8px;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.invite-link-info,.invite-link-item{align-items:center;display:flex;flex-wrap:wrap}.invite-link-info{gap:10px}.invite-link-expires{color:#888;font-size:.8rem}.invite-link-actions{display:flex;gap:6px}.member-role-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.member-role-badge--admin{background:#e8f5e9;color:#2e7d32}.member-role-badge--editor{background:#e3f2fd;color:#1565c0}.member-role-badge--viewer{background:#f5f5f5;color:#666}.member-role-select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.85rem;padding:4px 8px}[data-theme=dark] .badge-member{background:#1a2a3a}[data-theme=dark] .cookbook-header{background:linear-gradient(135deg,#1b3a1e,#1e1e1e 60%)}[data-theme=dark] .recipe-card:hover{box-shadow:0 8px 24px #0000008c}[data-theme=dark] .recipe-info{border-top-color:#2a2a2a}[data-theme=dark] .role-badge--admin{background:#1a2e1a;color:#81c784}[data-theme=dark] .role-badge--editor{background:#1a1f2e;color:#90caf9}[data-theme=dark] .role-badge--viewer{background:#2d2d2d;color:#aaa}[data-theme=dark] .visibility-badge--public{background:#1a2e1a;color:#81c784}[data-theme=dark] .visibility-badge--members_only{background:#2e1f0a;color:#ffb74d}[data-theme=dark] .visibility-badge--private{background:#2d2d2d;color:#aaa}[data-theme=dark] .visibility-select{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .invite-links-section{border-top-color:#333}[data-theme=dark] .invite-links-section h3{color:#e0e0e0}[data-theme=dark] .invite-link-item{background:#2d2d2d}[data-theme=dark] .member-role-badge--admin{background:#1a2e1a;color:#81c784}[data-theme=dark] .member-role-badge--editor{background:#1a1f2e;color:#90caf9}[data-theme=dark] .member-role-badge--viewer{background:#2d2d2d;color:#aaa}[data-theme=dark] .member-role-select{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .export-menu{background:#1e1e1e;border-color:#333;box-shadow:0 4px 12px #00000080}[data-theme=dark] .export-menu-item{border-bottom-color:#333}[data-theme=dark] .export-menu-item:hover{background:#2d2d2d}[data-theme=dark] .export-menu-item strong{color:#e0e0e0}[data-theme=dark] .export-menu-item small{color:#aaa}[data-theme=dark] .current-logo-preview{background:#2d2d2d}.fields-config-grid{grid-gap:6px 16px;display:grid;gap:6px 16px;grid-template-columns:1fr 1fr;margin-bottom:.5rem}.fields-config-toggle{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:4px 0}.fields-config-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;height:15px;width:15px}[data-theme=dark] .fields-config-toggle{color:#ccc}@media (max-width:480px){.fields-config-grid{grid-template-columns:1fr}}@media (min-width:1200px){.cookbook-header{padding:36px 40px}.cookbook-header h1{font-size:38px}.recipes-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (min-width:1400px){.cookbook-header{padding:40px 48px}.cookbook-header h1{font-size:42px}.recipes-grid{gap:28px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (min-width:1800px){.recipes-grid{gap:32px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}@media (max-width:768px){.cookbook-header{align-items:flex-start;flex-direction:column;gap:12px}.cookbook-header h1{font-size:24px}.cookbook-actions{flex-wrap:wrap;gap:8px;width:100%}.cookbook-actions .btn-danger,.cookbook-actions .btn-primary,.cookbook-actions .btn-secondary{flex:1 1 auto;justify-content:center;min-height:44px;text-align:center}.export-dropdown{flex:1 1 auto}.export-dropdown .btn-secondary{width:100%}.recipes-sort-bar{gap:6px}.recipe-search-wrapper{max-width:100%}.recipe-search-input{font-size:16px;min-height:44px}.recipe-controls-row{flex-wrap:wrap;gap:6px}.sort-btn{min-height:44px;padding:.4rem 1rem}.recipes-grid{grid-template-columns:1fr}.recipe-card{padding:16px}.btn-add-member,.btn-remove-member,.members-badge{min-height:44px;padding:8px 14px}.member-item{flex-wrap:wrap;gap:8px}.export-menu{min-width:min(220px,90vw)}}@media (max-width:480px){.cookbook-header h1{font-size:20px}}.type-filter-row{align-items:center;border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px}.filter-label{color:#666;font-size:13px;font-weight:500}.filter-type-btn{background:#0000;border:1px solid #ddd;border-radius:14px;color:#666;cursor:pointer;font-family:inherit;font-size:13px;padding:3px 10px;transition:all .15s}.filter-type-btn.active,.filter-type-btn:hover{border-color:#2e7d32;color:#2e7d32}.filter-type-btn.active{background:#e8f5e9}.filter-clear-btn{background:#0000;border:none;color:#999;cursor:pointer;font-family:inherit;font-size:12px;padding:2px 6px}.filter-clear-btn:hover{color:#d32f2f}[data-theme=dark] .type-filter-row{border-top-color:#333}[data-theme=dark] .filter-label{color:#888}[data-theme=dark] .filter-type-btn{border-color:#444;color:#888}[data-theme=dark] .filter-type-btn:hover{border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .filter-type-btn.active{background:#1b3a1e;border-color:#66bb6a;color:#81c784}[data-theme=dark] .filter-clear-btn{color:#666}[data-theme=dark] .filter-clear-btn:hover{color:#ef9a9a}@media (max-width:768px){.type-filter-row{gap:5px}.filter-type-btn{font-size:12px;min-height:32px;padding:4px 10px}}.atsl-modal{max-width:520px;width:92%}.atsl-close{background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:1.1rem;padding:4px 8px;position:absolute;right:16px;top:16px;transition:background .15s,color .15s}.atsl-close:hover{background:#f0f0f0;color:#333}.atsl-steps{gap:0;margin:.75rem 0 .4rem}.atsl-step-dot,.atsl-steps{align-items:center;display:flex}.atsl-step-dot{flex-direction:column;flex-shrink:0;gap:3px}.atsl-step-num{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:flex;font-size:.8rem;font-weight:700;height:26px;justify-content:center;transition:background .2s,color .2s;width:26px}.atsl-step-dot.active .atsl-step-num{background:#2e7d32;color:#fff}.atsl-step-dot.done .atsl-step-num{background:#81c784;color:#fff}.atsl-step-label{color:#6c757d;font-size:.7rem;white-space:nowrap}.atsl-step-dot.active .atsl-step-label{color:#2e7d32;font-weight:600}.atsl-step-line{background:#e9ecef;flex:1 1;height:2px;margin:0 4px 14px;transition:background .2s}.atsl-step-line.active{background:#2e7d32}.atsl-step-title{color:#888;font-size:.78rem;margin-bottom:1.25rem;text-align:center}.atsl-step-content{min-height:120px}.atsl-step-hint{color:#6c757d;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.atsl-info{align-items:center;color:#495057;display:flex;font-size:.88rem;gap:.5rem;margin-top:.5rem}.atsl-info-label{color:#888;min-width:80px}.atsl-info-sep{color:#aaa}.atsl-loading{color:#888;font-size:.9rem;padding:.5rem 0}.atsl-error{background:#ffebee;border-radius:6px;color:#c62828;font-size:.9rem;margin-bottom:.75rem;padding:.6rem .85rem}.atsl-submit-error{margin-top:.75rem}.atsl-warning{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#e65100;font-size:.88rem;margin-top:.5rem;padding:.5rem .85rem}.atsl-submit-warning{margin-bottom:0}.atsl-special-list{display:flex;flex-direction:column;gap:.85rem;max-height:300px;overflow-y:auto;padding-right:2px}.atsl-special-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.atsl-special-name{display:flex;flex-direction:column;gap:3px}.atsl-special-name strong{color:#333;font-size:.95rem}.atsl-special-amounts{display:flex;flex-wrap:wrap;gap:.75rem}.atsl-amt-normal{background:#e3f2fd;color:#1976d2}.atsl-amt-normal,.atsl-amt-special{border-radius:10px;font-size:.8rem;padding:1px 7px}.atsl-amt-special{background:#fff3e0;color:#e65100}.atsl-toggle-group{border:1.5px solid #dee2e6;border-radius:6px;display:flex;gap:0;overflow:hidden;width:-webkit-fit-content;width:fit-content}.atsl-toggle-btn{background:#fff;border:none;border-right:1px solid #dee2e6;color:#495057;cursor:pointer;font-size:.85rem;font-weight:500;padding:.35rem .85rem;transition:background .15s,color .15s;white-space:nowrap}.atsl-toggle-btn:last-child{border-right:none}.atsl-toggle-btn:hover:not(.atsl-toggle-active){background:#f0f7f0;color:#2e7d32}.atsl-toggle-btn.atsl-toggle-active{background:#2e7d32;color:#fff;font-weight:600}.atsl-special-label-wrap{display:flex;flex-direction:column;gap:4px;margin-top:.25rem}.atsl-special-label-text{color:#6c757d;font-size:.78rem;font-weight:500}.atsl-special-label-input{background:#fff;border:1px solid #dee2e6;border-radius:5px;box-sizing:border-box;color:#333;font-size:.85rem;padding:.3rem .6rem;transition:border-color .15s,box-shadow .15s;width:100%}.atsl-special-label-input:focus{border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d3226;outline:none}.atsl-preview-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.atsl-preview-counter{color:#6c757d;font-size:.82rem}.atsl-select-all-btn{background:#0000;border:1px solid #adb5bd;border-radius:4px;color:#495057;cursor:pointer;font-size:.8rem;font-weight:500;padding:.2rem .65rem;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.atsl-select-all-btn:hover{background:#f0f0f0;border-color:#6c757d;color:#333}.atsl-preview-list{border:1px solid #e9ecef;border-radius:6px;list-style:none;margin:0 0 1rem;max-height:280px;overflow-y:auto;padding:0}.atsl-preview-item{grid-gap:0 .35rem;align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:grid;font-size:.9rem;gap:0 .35rem;grid-template-columns:1.5rem 3.5rem 1fr;padding:.4rem .75rem;transition:background .1s}.atsl-preview-item:hover{background:#f8f9fa}.atsl-preview-item:focus-visible{outline:2px solid #2e7d32;outline-offset:-2px}.atsl-preview-checkbox{accent-color:#2e7d32;cursor:pointer;flex-shrink:0;height:15px;width:15px}.atsl-preview-item--deselected{opacity:.4}.atsl-preview-item--deselected .atsl-item-amount,.atsl-preview-item--deselected .atsl-preview-name{text-decoration:line-through}.atsl-preview-item:last-child{border-bottom:none}.atsl-item-amount{color:#1976d2;font-size:.9rem;font-weight:600;white-space:nowrap}.atsl-preview-name{color:#333}.atsl-target-info{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;color:#495057;font-size:.88rem;padding:.5rem .75rem}.atsl-target-info strong{color:#2e7d32}.atsl-empty-preview{background:#f8f9fa;border-radius:6px;color:#888;font-size:.9rem;margin-bottom:.75rem;padding:1rem;text-align:center}.atsl-actions{margin-top:1.25rem}@media print{.atsl-overlay{display:none!important}}@media (max-width:768px){.atsl-modal{padding:1.25rem;width:95%}.atsl-special-list{max-height:250px}.atsl-preview-list{max-height:220px}.atsl-toggle-btn{font-size:.82rem;min-height:36px;padding:.4rem .65rem}.atsl-step-label{font-size:.65rem}}@media (max-width:480px){.atsl-modal{padding:1rem;width:98%}.atsl-special-item{padding:.6rem}.atsl-preview-item{font-size:.85rem;grid-template-columns:1.25rem 2.75rem 1fr}}[data-theme=dark] .atsl-close{color:#888}[data-theme=dark] .atsl-close:hover{background:#3a3a3a;color:#f0f0f0}[data-theme=dark] .atsl-step-num{background:#333;color:#888}[data-theme=dark] .atsl-step-dot.active .atsl-step-num{background:#2e7d32;color:#fff}[data-theme=dark] .atsl-step-dot.done .atsl-step-num{background:#388e3c;color:#fff}[data-theme=dark] .atsl-step-label{color:#777}[data-theme=dark] .atsl-step-dot.active .atsl-step-label{color:#66bb6a}[data-theme=dark] .atsl-step-line{background:#333}[data-theme=dark] .atsl-step-line.active{background:#388e3c}[data-theme=dark] .atsl-step-title{color:#666}[data-theme=dark] .atsl-step-hint{color:#aaa}[data-theme=dark] .atsl-loading{color:#888}[data-theme=dark] .atsl-error{background:#3d1515;color:#ef9a9a}[data-theme=dark] .atsl-info{color:#bbb}[data-theme=dark] .atsl-info-label{color:#666}[data-theme=dark] .atsl-special-item{background:#2a2a2a;border-color:#3a3a3a}[data-theme=dark] .atsl-special-name strong{color:#e0e0e0}[data-theme=dark] .atsl-amt-normal{background:#0d2a4a;color:#64b5f6}[data-theme=dark] .atsl-amt-special{background:#2d1a0e;color:#f59c6b}[data-theme=dark] .atsl-toggle-group{border-color:#444}[data-theme=dark] .atsl-toggle-btn{background:#2a2a2a;border-right-color:#444;color:#ccc}[data-theme=dark] .atsl-toggle-btn:hover:not(.atsl-toggle-active){background:#1a2e1a;color:#81c784}[data-theme=dark] .atsl-toggle-btn.atsl-toggle-active{background:#2e7d32;color:#fff}[data-theme=dark] .atsl-preview-list{border-color:#333}[data-theme=dark] .atsl-preview-item{border-bottom-color:#2a2a2a}[data-theme=dark] .atsl-item-amount{color:#64b5f6}[data-theme=dark] .atsl-preview-name{color:#e0e0e0}[data-theme=dark] .atsl-target-info{background:#1a2e1a;border-color:#2e4a2e;color:#bbb}[data-theme=dark] .atsl-target-info strong{color:#81c784}[data-theme=dark] .atsl-empty-preview{background:#2a2a2a;color:#777}[data-theme=dark] .atsl-warning{background:#2d1a00;border-color:#5d3a00;color:#ffb74d}[data-theme=dark] .atsl-special-label-text{color:#888}[data-theme=dark] .atsl-special-label-input{background:#1e1e1e;border-color:#444;color:#e0e0e0}[data-theme=dark] .atsl-special-label-input:focus{border-color:#388e3c;box-shadow:0 0 0 2px #388e3c33}[data-theme=dark] .atsl-preview-counter{color:#888}[data-theme=dark] .atsl-select-all-btn{background:#0000;border-color:#555;color:#bbb}[data-theme=dark] .atsl-select-all-btn:hover{background:#2a2a2a;border-color:#777;color:#e0e0e0}[data-theme=dark] .atsl-preview-item:hover{background:#252525}[data-theme=dark] .atsl-preview-item:focus-visible{outline-color:#66bb6a}[data-theme=dark] .atsl-preview-checkbox{accent-color:#66bb6a}.atgl-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.atgl-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:480px;overflow:hidden;width:100%}.atgl-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.atgl-header h2{color:#2e7d32;font-size:1.1rem;margin:0}.atgl-close{background:#0000;border:none;border-radius:4px;color:#888;cursor:pointer;font-size:1.4rem;line-height:1;padding:2px 8px;transition:background .15s,color .15s}.atgl-close:hover{background:#f0f0f0;color:#333}.atgl-body{flex:1 1;overflow-y:auto;padding:16px 24px}.atgl-recipe-name{color:#666;font-size:14px;margin:0 0 14px}.atgl-recipe-name strong{color:#333}.atgl-label{color:#444;font-size:14px;font-weight:600;margin:0 0 10px}.atgl-list-select{display:flex;flex-direction:column;gap:6px}.atgl-list-option{align-items:center;border:1.5px solid #e0e0e0;border-radius:8px;color:#444;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 14px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.atgl-list-option:hover{background:#f0f7f0;border-color:#2e7d32}.atgl-list-option.selected{background:#e8f5e9;border-color:#2e7d32;color:#2e7d32;font-weight:600}.atgl-list-option input[type=radio]{accent-color:#2e7d32;flex-shrink:0}.atgl-list-count{color:#aaa;font-size:12px;font-weight:400;margin-left:auto}.atgl-list-option.selected .atgl-list-count{color:#66bb6a}.atgl-divider{color:#bbb;font-size:12px;margin:4px 0;position:relative;text-align:center}.atgl-divider:after,.atgl-divider:before{background:#e0e0e0;content:"";display:inline-block;height:1px;margin:0 8px;vertical-align:middle;width:40%}.atgl-new-name{background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:#333;font-size:14px;margin-top:4px;padding:9px 12px;transition:border-color .15s;width:100%}.atgl-new-name:focus{border-color:#2e7d32;outline:none}.atgl-no-lists{color:#888;font-size:14px;font-style:italic;margin:0 0 12px}.atgl-loading{color:#888;font-size:14px;padding:8px 0}.atgl-servings-row{align-items:center;color:#444;display:flex;font-size:15px;gap:12px;margin-bottom:12px}.atgl-serving-btn{align-items:center;background:#fff;border:1.5px solid #ccc;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;padding:0;transition:border-color .15s,background .15s;width:32px}.atgl-serving-btn:hover{background:#f0f7f0;border-color:#2e7d32}.atgl-serving-count{color:#2e7d32;font-size:18px;font-weight:700;min-width:28px;text-align:center}.atgl-select-hint{color:#888;font-size:13px;margin:0 0 10px}.atgl-items-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.atgl-item-row{align-items:center;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 10px;transition:background .1s;-webkit-user-select:none;user-select:none}.atgl-item-row:hover{background:#f5f5f5}.atgl-item-row.deselected{opacity:.45;text-decoration:line-through}.atgl-item-row input[type=checkbox]{accent-color:#2e7d32;flex-shrink:0}.atgl-footer{border-top:1px solid #f0f0f0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 24px 18px}.atgl-step1-content{display:flex;flex-direction:column;gap:16px}.atgl-close-btn{position:absolute;right:16px;top:16px}.atgl-servings-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px 14px}.atgl-servings-label{color:#555;font-size:13px;font-weight:600;margin:0 0 10px}.atgl-servings-controls{display:flex;flex-wrap:wrap;gap:16px}.atgl-servings-group{align-items:center;display:flex;gap:8px}.atgl-servings-type{color:#666;font-size:13px;min-width:70px}.atgl-servings-warn{color:#e65100;font-size:12px;margin:6px 0 0}.atgl-target-info{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;color:#495057;font-size:.88rem;margin-top:.75rem;padding:.5rem .75rem}.atgl-target-info strong{color:#2e7d32}[data-theme=dark] .atgl-modal{background:#1e1e1e}[data-theme=dark] .atgl-header{border-bottom-color:#333}[data-theme=dark] .atgl-header h2{color:#66bb6a}[data-theme=dark] .atgl-close{color:#777}[data-theme=dark] .atgl-close:hover{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .atgl-recipe-name{color:#888}[data-theme=dark] .atgl-recipe-name strong{color:#ccc}[data-theme=dark] .atgl-label{color:#bbb}[data-theme=dark] .atgl-list-option{background:#0000;border-color:#333;color:#bbb}[data-theme=dark] .atgl-list-option:hover{background:#1a2e1a;border-color:#66bb6a}[data-theme=dark] .atgl-list-option.selected{background:#1a2e1a;border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .atgl-list-count{color:#555}[data-theme=dark] .atgl-list-option.selected .atgl-list-count{color:#81c784}[data-theme=dark] .atgl-divider{color:#444}[data-theme=dark] .atgl-divider:after,[data-theme=dark] .atgl-divider:before{background:#333}[data-theme=dark] .atgl-new-name{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .atgl-new-name:focus{border-color:#66bb6a}[data-theme=dark] .atgl-loading,[data-theme=dark] .atgl-no-lists{color:#666}[data-theme=dark] .atgl-servings-row{color:#bbb}[data-theme=dark] .atgl-serving-btn{background:#2a2a2a;border-color:#444;color:#ccc}[data-theme=dark] .atgl-serving-btn:hover{background:#1a2e1a;border-color:#66bb6a}[data-theme=dark] .atgl-serving-count{color:#66bb6a}[data-theme=dark] .atgl-select-hint{color:#666}[data-theme=dark] .atgl-servings-section{background:#252525;border-color:#333}[data-theme=dark] .atgl-servings-label{color:#aaa}[data-theme=dark] .atgl-servings-type{color:#888}[data-theme=dark] .atgl-servings-warn{color:#ffb74d}[data-theme=dark] .atgl-target-info{background:#1a2e1a;border-color:#2e4a2e;color:#bbb}[data-theme=dark] .atgl-target-info strong{color:#81c784}[data-theme=dark] .atgl-item-row{color:#ccc}[data-theme=dark] .atgl-item-row:hover{background:#252525}[data-theme=dark] .atgl-item-row.deselected{opacity:.35}[data-theme=dark] .atgl-footer{border-top-color:#333}@media (max-width:480px){.atgl-modal{border-radius:10px}.atgl-header{padding:16px 16px 12px}.atgl-body{padding:12px 16px}.atgl-footer{padding:12px 16px 14px}.atgl-items-list{max-height:220px}.atgl-servings-controls{flex-direction:column;gap:10px}.atgl-servings-group{justify-content:space-between}.atgl-servings-type{min-width:80px}}.recipe-view{margin:0 auto;max-width:1200px;padding:2rem}.recipe-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.back-link{color:#2e7d32;font-size:.95rem}.back-link:hover{text-decoration:underline}.recipe-actions{display:flex;gap:.5rem}.recipe-content h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.recipe-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.badge{background:#e9ecef;border-radius:4px;color:#495057;font-size:.85rem;padding:.4rem .8rem}.badge-special{background:#fff3cd;border:1px solid #ffc107;color:#856404}.recipe-info-line{flex-wrap:wrap;gap:2rem;margin:1.5rem 0}.info-item,.recipe-info-line{align-items:center;display:flex}.info-item{gap:.5rem}.info-icon{font-size:1.2rem}.info-text{color:#666;font-size:.95rem}.recipe-columns{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.ingredients-column,.instructions-column{background:#f8f9fa;border-radius:8px;padding:1.5rem}.servings-control-panel{background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:.75rem}.servings-compact{align-items:center;display:flex;gap:.4rem}.servings-label{color:#495057;font-size:.88rem;font-weight:600;min-width:105px}.btn-adjust{align-items:center;background:#2e7d32;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:1.8rem;justify-content:center;transition:background .15s;width:1.8rem}.btn-adjust:hover{background:#1b5e20}.btn-adjust:active{transform:scale(.9)}.servings-number{color:#2e7d32;font-size:1.1rem;font-weight:700;min-width:2.5rem;text-align:center;-webkit-user-select:none;user-select:none}.servings-number.clickable{border-radius:3px;cursor:pointer;padding:.1rem .3rem;transition:background .15s}.servings-number.clickable:hover{background:#e8f5e9}.servings-input-compact{animation:fadeIn .15s;background:#fff;border:2px solid #2e7d32;border-radius:3px;color:#2e7d32;font-size:1.1rem;font-weight:700;outline:none;padding:.1rem .3rem;text-align:center;width:3rem}.servings-input-compact:focus{box-shadow:0 0 0 .2rem #2e7d3240}.btn-reset-small{align-self:flex-start;background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;font-size:.8rem;padding:.3rem .6rem;transition:background .15s}.btn-reset-small:hover{background:#e9ecef}.ingredients-column h2,.instructions-column h2{color:#2c5f2d;font-size:1.3rem;margin-bottom:1rem}.servings-for-label{color:#6c757d;font-size:.9rem;font-weight:400;margin-left:.4rem}.ingredients-list{list-style:none;margin:0;padding:0}.ingredient-item{grid-gap:0 .25rem;align-items:baseline;border-bottom:1px solid #e9ecef;display:grid;gap:0 .25rem;grid-template-columns:3rem 2.5rem 1fr;padding:.4rem 0}.ingredient-item:last-child{border-bottom:none}.ingredient-amount{color:#2e7d32;font-weight:600;text-align:right;white-space:nowrap}.ingredient-amount:empty:after{color:#ced4da;content:"–";font-weight:400}.ingredient-unit{color:#6c757d;padding-left:.2rem}.ingredient-name{color:#333}.instructions-text{color:#333;line-height:1.6}.instructions-text p{margin-bottom:.8rem}.special-cases-table{border:1px solid #dee2e6;border-radius:6px;font-size:.88rem;margin-top:.5rem;overflow:hidden}.sc-header{grid-gap:0;background:#e9ecef;border-bottom:2px solid #dee2e6;color:#495057;display:grid;font-size:.78rem;font-weight:600;gap:0;grid-template-columns:1fr 80px 80px 100px;padding:.5rem .75rem}.sc-col-label{display:block;font-weight:700}.normal-col-label{color:#2e7d32}.special-col-label{color:#fd7e14}.sc-col-sublabel{color:#6c757d;display:block;font-size:.72rem;font-weight:400;margin-top:1px}.sc-row{grid-gap:0;align-items:center;border-bottom:1px solid #f0f0f0;display:grid;gap:0;grid-template-columns:1fr 80px 80px 100px;padding:.45rem .75rem;transition:background .1s}.sc-row:last-child{border-bottom:none}.sc-row:hover{background:#f8f9fa}.sc-row-separate{background:#fff9f0}.sc-row-separate:hover{background:#fff3e0}.sc-name-col{color:#333;font-weight:500;padding-right:.5rem}.sc-amount-col{padding:0 .4rem;text-align:right}.normal-amount strong{color:#2e7d32}.special-amount strong{color:#fd7e14}.sc-unit{color:#6c757d;font-size:.82rem}.sc-no-amount{color:#adb5bd;font-size:.82rem}.sc-combined-col{align-items:center;display:flex;justify-content:center;padding-left:.4rem}.sc-header .sc-combined-col{align-items:flex-start;flex-direction:column;justify-content:center}.sc-toggle-btn{align-items:center;border:1.5px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;flex-direction:row;font-size:.82rem;font-weight:600;gap:.3rem;justify-content:center;min-width:70px;padding:.3rem .5rem;transition:all .15s ease;white-space:nowrap}.sc-toggle-btn:disabled{cursor:default;opacity:.85}.sc-toggle-combined{background:#d1fae5;border-color:#34d399;color:#059669}.sc-toggle-combined:hover:not(:disabled){background:#a7f3d0;border-color:#10b981;transform:scale(1.04)}.sc-toggle-separate{background:#fff3cd;border-color:#fbbf24;color:#b45309}.sc-toggle-separate:hover:not(:disabled){background:#fde68a;border-color:#f59e0b;transform:scale(1.04)}.sc-toggling{cursor:wait;opacity:.6}.sc-badge-icon{font-size:.9rem}.sc-badge-text{font-size:.78rem}.sc-toggle-amount{font-size:.82rem}.sc-legend{align-items:center;color:#6c757d;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;margin-top:.75rem}.supplements-section{background:linear-gradient(135deg,#fff8e1,#fff3cd);border-left:4px solid #ffc107;border-radius:8px;margin:2rem 0;padding:1.5rem}.supplements-section h2{color:#856404;font-size:1.3rem;margin-bottom:1rem}.supplements-content{color:#856404}.supplement-item{line-height:1.6;margin:.75rem 0;padding-left:1.5rem;position:relative}.supplement-item:before{color:#ffc107;content:"→";font-weight:700;left:0;position:absolute}.credits-section{background:#e9ecef;border-radius:6px;font-size:.9rem;margin:2rem 0;padding:1rem}.credits-text{color:#6c757d;margin:0}.credits-text strong{color:#495057}.notes-section{background:#f8f9fa;border-radius:6px;margin:2rem 0;padding:1rem}.notes-section h2{font-size:1.2rem;margin-bottom:.5rem}.notes-section p{color:#666;line-height:1.6}.recipe-actions .btn-secondary{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:background .15s}.recipe-actions .btn-secondary:hover{background:#5a6268}.recipe-actions .btn-danger{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .15s}.recipe-actions .btn-danger:hover{background:#c82333}.error,.loading{font-size:1.2rem;padding:2rem}.error{color:#dc3545}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (min-width:1200px){.recipe-view{padding:2.5rem 3rem}.recipe-columns{gap:2.5rem;grid-template-columns:2fr 3fr}.recipe-content h1{font-size:2.5rem}.ingredients-column,.instructions-column{padding:2rem}}@media (min-width:1400px){.recipe-view{padding:3rem 4rem}.recipe-columns{gap:3rem}.recipe-content h1{font-size:2.8rem}.ingredients-column h2,.instructions-column h2{font-size:1.5rem}}@media print{.footer,.nav-container,.navigation,.no-print{display:none!important}body,html{background:#fff!important;color:#000!important}.main-content,.recipe-view{max-width:100%!important;padding:0!important}.recipe-columns{gap:1rem!important;grid-template-columns:1fr!important}.servings-control-panel{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}.supplements-section{background:#fff!important;border-left:3px solid #000!important}.credits-section{background:#fff!important;border-top:1px solid #ddd!important}.ingredients-column,.instructions-column{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important}.supplement-item:before,a,h1,h2,h3,li,p,span,td{color:#000!important}a{text-decoration:none!important}.ingredient-item,.ingredients-column,.instructions-column{page-break-inside:avoid}.sc-toggle-btn{cursor:default!important}}@media (max-width:768px){.recipe-view{padding:1rem}.recipe-info-line{align-items:flex-start;flex-direction:column;gap:.5rem}.recipe-columns{gap:1rem;grid-template-columns:1fr}.servings-label{min-width:95px}.sc-header,.sc-row{font-size:.8rem;grid-template-columns:1fr 65px 65px 80px}.supplements-section{padding:1rem}.recipe-header{align-items:flex-start;flex-direction:column;gap:12px}.recipe-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.recipe-actions .btn-danger,.recipe-actions .btn-primary,.recipe-actions .btn-secondary{flex:1 1 auto;justify-content:center;min-height:44px}.btn-adjust{font-size:1.4rem;height:44px;width:44px}.share-user-form{flex-direction:column}.share-user-form .btn-primary{width:100%}.modal-wide{max-width:95vw;padding:1rem;width:95vw}.recipe-images-gallery{display:flex;flex-direction:row;gap:8px;overflow-x:auto;padding-bottom:8px}.recipe-image-thumb{flex-shrink:0;height:105px;width:140px}}@media (max-width:480px){.sc-header,.sc-row{grid-template-columns:1fr 60px 80px}.sc-amount-col.special-amount,.sc-header .sc-amount-col:nth-child(3){display:none}.recipe-actions .btn-danger,.recipe-actions .btn-primary,.recipe-actions .btn-secondary{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1}.share-tabs{gap:0}.share-tab{flex:1 1;font-size:.85rem;padding:.6rem .5rem;text-align:center}}.recipe-images-section{margin:1.5rem 0}.recipe-images-gallery{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.recipe-image-thumb{border:3px solid #0000;border-radius:8px;height:135px;overflow:hidden;position:relative;transition:border-color .2s;width:180px}.recipe-image-thumb.featured{border-color:#2e7d32}.recipe-image-thumb img{height:100%;object-fit:cover;width:100%}.recipe-image-thumb--placeholder{background:#f8f7f2;border:2px dashed #dee2e6;height:165px;width:220px}.recipe-image-thumb--placeholder img{object-fit:contain;padding:8px}[data-theme=dark] .back-link,[data-theme=dark] .normal-amount strong,[data-theme=dark] .normal-col-label{color:#66bb6a}[data-theme=dark] .btn-adjust{background:#388e3c}[data-theme=dark] .btn-adjust:hover{background:#2e7d32}[data-theme=dark] .servings-number{color:#66bb6a}[data-theme=dark] .servings-number.clickable:hover{background:#1a2e1a}[data-theme=dark] .servings-input-compact{background:#1e1e1e;border-color:#388e3c;color:#66bb6a}[data-theme=dark] .servings-input-compact:focus{box-shadow:0 0 0 .2rem #66bb6a40}[data-theme=dark] .ingredient-amount{color:#66bb6a}[data-theme=dark] .recipe-image-thumb--placeholder{background:#2a2a2a;border-color:#444}[data-theme=dark] .recipe-image-thumb--placeholder img{filter:brightness(.8);opacity:.7}.featured-badge{background:#2e7d32;border-radius:10px;bottom:6px;color:#fff;font-size:11px;font-weight:600;left:6px;padding:2px 7px;position:absolute}.recipe-images-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-small{font-size:13px}.photo-source-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.photo-source-btn{align-items:center;background:#fff;border:1.5px solid #ced4da;border-radius:6px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;gap:.4rem;padding:.6rem 1.1rem;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.photo-source-btn:hover{background:#f1f8f1;border-color:#2e7d32}.photo-source-btn input[type=file]{display:none}.photo-selected-name{color:#2e7d32;display:block;font-size:.875rem;margin-top:.5rem}[data-theme=dark] .photo-source-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .photo-source-btn:hover{background:#1a2e1a;border-color:#66bb6a}[data-theme=dark] .photo-selected-name{color:#81c784}.copyright-confirm{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;margin:12px 0;padding:16px}.copyright-preview img{border-radius:6px;margin-bottom:12px;max-height:200px;object-fit:contain;width:100%}.checkbox-label{align-items:flex-start;cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.5}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.modal-wide{max-width:700px!important;width:90vw}.modal-hint{color:#6c757d}.image-manager-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:20px}.image-manager-item{border:3px solid #e9ecef;border-radius:8px;overflow:hidden;position:relative;transition:border-color .2s}.image-drag-handle{align-items:center;background:#00000073;border-radius:4px;color:#fff;cursor:grab;display:flex;font-size:14px;height:24px;justify-content:center;left:4px;position:absolute;top:4px;touch-action:none;width:24px;z-index:1}.image-drag-handle:active{cursor:grabbing}.image-manager-item.is-featured{border-color:#2e7d32}.image-manager-item img{display:block;height:140px;object-fit:cover;width:100%}.image-manager-actions{align-items:center;background:#f8f9fa;display:flex;gap:6px;justify-content:space-between;padding:8px}.featured-label{color:#2e7d32;font-size:12px;font-weight:600}.btn-danger.btn-small{background:#fff;border:1px solid #dc3545;color:#dc3545;font-size:12px;padding:4px 8px}.btn-danger.btn-small:hover{background:#dc3545;color:#fff}.shopping-btn-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.shopping-list-btn{background:#fff;border:1.5px solid #2e7d32;border-radius:6px;color:#2e7d32;font-weight:600;transition:background .15s,color .15s}.shopping-list-btn:hover{background:#e8f5e9;border-color:#1b5e20;color:#1b5e20}.shopping-success-msg{animation:fadeIn .2s ease;background:#e8f5e9;border-radius:20px;color:#2e7d32;font-size:.88rem;font-weight:500;padding:.25rem .7rem}[data-theme=dark] .shopping-list-btn{background:#1a2e1a;border-color:#388e3c;color:#81c784}[data-theme=dark] .shopping-list-btn:hover{background:#1f3a1f;border-color:#66bb6a;color:#a5d6a7}[data-theme=dark] .shopping-success-msg{background:#1a2e1a;color:#81c784}.shopping-success-link{background:none;border:none;color:#1b5e20;cursor:pointer;display:inline;font-size:.88rem;font-weight:600;padding:0 0 0 .4rem;text-decoration:underline;text-underline-offset:2px}.shopping-success-link:hover{color:#2e7d32}[data-theme=dark] .shopping-success-link{color:#a5d6a7}[data-theme=dark] .shopping-success-link:hover{color:#c8e6c9}[data-theme=dark] .image-manager-item{border-color:#444}[data-theme=dark] .image-manager-item.is-featured{border-color:#66bb6a}[data-theme=dark] .image-manager-actions{background:#2a2a2a}[data-theme=dark] .featured-label{color:#66bb6a}.share-modal{max-width:480px;width:95vw}.share-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:0;margin-bottom:1.25rem}.share-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:.95rem;margin-bottom:-2px;padding:.6rem 1.25rem;transition:all .15s}.share-tab:hover{color:#2e7d32}.share-tab.active{border-bottom-color:#2e7d32;color:#2e7d32;font-weight:600}.share-tab-content{padding:.25rem 0}.share-hint{color:#6c757d;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.share-link-box{display:flex;flex-direction:column;gap:.6rem}.share-link-input{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;color:#333;font-family:monospace;font-size:.85rem;padding:.6rem .85rem;width:100%}.share-expires{color:#888;font-size:.82rem;margin:0}.btn-copied{background:#e8f5e9!important;border-color:#a5d6a7!important;color:#2e7d32!important;transition:background .2s,color .2s}.share-user-form{display:flex;gap:.6rem;margin-bottom:.75rem}.share-user-input{border:1px solid #dee2e6;border-radius:6px;flex:1 1;font-size:.95rem;padding:.6rem .85rem}.share-user-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.share-success{background:#e8f5e9;color:#2e7d32}.share-error,.share-success{border-radius:6px;font-size:.9rem;margin:0;padding:.5rem .75rem}.share-error{background:#ffebee;color:#c62828}.recipe-form-container{margin:0 auto;max-width:900px;padding:2rem}.recipe-form-container h1{color:#2c3e50;font-size:2rem;margin-bottom:2rem}.error-message,.loading-message{background:#f8f9fa;border-radius:8px;font-size:1.2rem;margin-bottom:1rem;padding:2rem;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.recipe-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.form-section h2{color:#495057;font-size:1.4rem;margin-bottom:1rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h2{margin:0}.form-note{background:#e7f3ff;border-left:3px solid #0d6efd;font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:.75rem}.form-note strong{color:#0d6efd}.form-group{margin-bottom:1rem}.form-group label{color:#495057;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.select-input{cursor:pointer}.form-group small{color:#6c757d;font-size:.875rem;margin-top:.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.checkbox-group{padding:.5rem 0}.checkbox-group label{font-weight:400;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer}.ingredient-header-row{grid-gap:.5rem;border-bottom:2px solid #dee2e6;color:#6c757d;display:grid;font-size:.78rem;font-weight:600;gap:.5rem;grid-template-columns:28px 100px 100px 1fr 80px 110px;margin-bottom:.4rem;padding:0 0 .4rem;text-align:center}.ih-name{text-align:left}.drag-handle{align-items:center;background:none;border:none;border-radius:4px;color:#adb5bd;cursor:grab;display:flex;font-size:1rem;height:28px;justify-content:center;padding:0;touch-action:none;transition:color .15s,background .15s;width:28px}.drag-handle:hover{background:#f0f0f0;color:#6c757d}.drag-handle:active{cursor:grabbing}.ingredient-row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:28px 100px 100px 1fr 110px;margin-bottom:.4rem}.ingredient-row.with-special{grid-template-columns:28px 100px 100px 1fr 80px 110px}.ingredient-row.is-dragging{background:#f8f9fa;border-radius:4px}.ingredient-row.drag-overlay{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 8px 24px #00000026;cursor:grabbing;padding:.4rem .5rem}.drag-overlay-text{color:#333;font-size:.9rem;grid-column:2/-1}[data-theme=dark] .ingredient-row.drag-overlay{background:#2a2a2a;border-color:#444;box-shadow:0 8px 24px #0006}[data-theme=dark] .drag-overlay-text{color:#e0e0e0}.input-amount,.input-name,.input-unit{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.95rem;padding:.45rem .5rem;width:100%}.input-amount:focus,.input-name:focus,.input-unit:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.combine-toggle{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:700;height:36px;justify-content:center;transition:all .15s ease;-webkit-user-select:none;user-select:none;width:100%}.combine-toggle.is-combined{background:#d1fae5;border-color:#34d399;color:#059669}.combine-toggle.is-combined:hover{background:#a7f3d0;border-color:#10b981}.combine-toggle.is-separate{background:#fee2e2;border-color:#f87171;color:#dc2626}.combine-toggle.is-separate:hover{background:#fecaca;border-color:#ef4444}.btn-delete-ingredient{align-items:center;background:#fff;border:1.5px solid #dc3545;border-radius:6px;color:#dc3545;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.3rem;height:36px;justify-content:center;padding:0 .5rem;transition:all .15s ease;white-space:nowrap;width:100%}.btn-delete-ingredient:hover{background:#dc3545;color:#fff}.combine-legend{align-items:center;background:#f8f9fa;border-radius:6px;color:#495057;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.4rem;margin-top:.75rem;padding:.5rem .75rem}.combine-legend .combine-toggle{flex-shrink:0;height:28px;width:28px}.form-actions{background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-primary{background:#007bff;border:none;border-radius:4px;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover{background:#0056b3}.btn-primary:disabled,.btn-secondary{background:#6c757d}.btn-secondary{border:none;border-radius:4px;color:#fff;font-size:1rem;padding:.75rem 1.5rem}.btn-secondary:hover{background:#5a6268}.btn-small{font-size:.9rem;padding:.5rem 1rem}@media (min-width:1200px){.recipe-form-container{max-width:1100px;padding:2.5rem 3rem}.form-section{padding:2rem}.form-section h2{font-size:1.6rem}.recipe-form-container h1{font-size:2.5rem}}@media (min-width:1400px){.recipe-form-container{max-width:1200px;padding:3rem 4rem}.form-section h2{font-size:1.8rem}.recipe-form-container h1{font-size:2.8rem}}@media (max-width:768px){.form-section,.recipe-form-container{padding:1rem}.form-row{grid-template-columns:1fr}.ingredient-header-row{display:none}.ingredient-row,.ingredient-row.with-special{border-bottom:1px dashed #dee2e6;gap:.4rem;grid-template-columns:28px 1fr 1fr;grid-template-rows:auto auto auto;margin-bottom:.75rem;padding-bottom:.75rem}.drag-handle{align-self:center;grid-row:1/3}.input-name{grid-column:2/-1}.btn-delete-ingredient,.combine-toggle{padding:0 .75rem;width:auto}.form-actions{flex-direction:column}.form-actions button{width:100%}.input-amount,.input-name,.input-unit{font-size:16px;padding:.65rem .5rem}.btn-delete-ingredient,.combine-toggle{min-height:44px}.form-actions .btn-primary,.form-actions .btn-secondary{font-size:16px;min-height:44px}}[data-theme=dark] .error-message{background:#2e1a1a;border-color:#c62828;color:#ef9a9a}[data-theme=dark] .combine-toggle.is-combined{background:#1a2e1a;border-color:#4caf50;color:#81c784}[data-theme=dark] .combine-toggle.is-separate{background:#2e1a1a;border-color:#ef9a9a;color:#ef9a9a}[data-theme=dark] .drag-handle{color:#555}[data-theme=dark] .drag-handle:hover{background:#333;color:#aaa}[data-theme=dark] .ingredient-row.is-dragging{background:#2a2a2a}.type-selector{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.type-badge-btn{background:#0000;border:1px solid #ddd;border-radius:20px;color:#555;cursor:pointer;font-family:inherit;font-size:14px;padding:6px 14px;transition:all .15s}.type-badge-btn:hover:not(:disabled){border-color:#2e7d32;color:#2e7d32}.type-badge-btn.selected{background:#2e7d32;border-color:#2e7d32;color:#fff}.type-badge-btn.disabled,.type-badge-btn:disabled{cursor:not-allowed;opacity:.4}[data-theme=dark] .type-badge-btn{border-color:#444;color:#bbb}[data-theme=dark] .type-badge-btn:hover:not(:disabled){border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .type-badge-btn.selected{background:#2e7d32;border-color:#66bb6a;color:#fff}.admin-panel{margin:0 auto;max-width:860px;padding:2rem 1rem}.admin-header{margin-bottom:1.5rem}.admin-header h2{color:#1a1a2e;font-size:1.6rem;font-weight:700;margin:0 0 .25rem}.admin-header p{color:#666;margin:0}.admin-tabs{border-bottom:2px solid #e8e8e8;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:0}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.6rem 1.2rem;transition:all .2s}.admin-tab:hover{color:#e86b35}.admin-tab.active{border-bottom-color:#e86b35;color:#e86b35}.admin-section{display:flex;flex-direction:column;gap:1.5rem}.admin-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;padding:1.5rem}.admin-card h3{color:#1a1a2e;font-size:1rem;font-weight:600;margin:0 0 1.2rem}.invite-form-row{align-items:center;display:flex;gap:.75rem}.invite-email-input{border:1.5px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:.9rem;padding:.6rem 1rem;transition:border-color .2s}.invite-email-input:focus{border-color:#e86b35;outline:none}.invite-result{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;margin-top:1rem;overflow:hidden}.invite-result-header{background:#dcfce7;color:#16a34a;font-size:.85rem;font-weight:500;justify-content:space-between}.invite-link-box,.invite-result-header{align-items:center;display:flex;padding:.75rem 1rem}.invite-link-box{gap:.5rem}.invite-link-text{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;flex:1 1;font-family:monospace;font-size:.8rem;padding:.4rem .6rem;word-break:break-all}.btn-close{background:none;color:#16a34a;font-size:1rem}.btn-close,.btn-copy{border:none;cursor:pointer}.btn-copy{background:#16a34a;border-radius:6px;color:#fff;font-size:.8rem;padding:.4rem .8rem;transition:background .2s;white-space:nowrap}.btn-copy.copied,.btn-copy:hover{background:#15803d}.invitations-list{display:flex;flex-direction:column;gap:.75rem}.invitation-item{align-items:flex-start;border:1.5px solid #e8e8e8;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.invitation-item.active{background:#f0fdf4;border-color:#86efac}.invitation-item.expired{background:#f9fafb;border-color:#e5e7eb;opacity:.7}.invitation-item.used{background:#faf5ff;border-color:#ddd6fe}.invitation-info{display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:0}.invitation-details{display:flex;flex-direction:column;gap:.2rem}.inv-email{color:#374151;font-size:.9rem;font-weight:500}.inv-meta{color:#6b7280;font-size:.8rem}.invitation-actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.badge{border-radius:999px;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.badge-active{background:#dcfce7;color:#16a34a}.badge-expired{background:#f3f4f6;color:#6b7280}.badge-used{background:#ede9fe;color:#7c3aed}.badge-admin{background:#fef3c7;color:#d97706;margin-left:.4rem}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-item{align-items:center;border:1.5px solid #e8e8e8;border-radius:8px;display:flex;gap:1rem;padding:.9rem 1rem;transition:border-color .2s}.user-item:hover{border-color:#e86b35}.user-avatar{align-items:center;background:linear-gradient(135deg,#e86b35,#f5a623);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:42px;justify-content:center;width:42px}.user-info{flex:1 1;min-width:0}.user-name{color:#1a1a2e;font-size:.95rem;font-weight:600}.user-meta{color:#6b7280;font-size:.8rem;margin-top:.1rem}.user-date{color:#9ca3af;font-size:.75rem;margin-top:.1rem}.user-actions{flex-shrink:0}.role-select{background:#fff;border:1.5px solid #e0e0e0;border-radius:7px;color:#374151;cursor:pointer;font-size:.85rem;padding:.4rem .7rem;transition:border-color .2s}.role-select:focus{border-color:#e86b35;outline:none}.btn-icon{border:none;font-size:.9rem;padding:.35rem .5rem;transition:background .2s}.btn-copy-sm{background:#e0f2fe}.btn-copy-sm:hover{background:#bae6fd}.btn-delete{background:#fee2e2}.btn-delete:hover{background:#fecaca}.empty-text,.loading-text{color:#9ca3af;font-size:.9rem;padding:1.5rem;text-align:center}@media (max-width:600px){.invite-form-row{flex-direction:column}.invite-form-row .btn-primary{width:100%}.user-item{flex-wrap:wrap}}.invite-type-selector{display:flex;gap:.75rem;margin-bottom:1rem}.invite-type-btn{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;flex:1 1;font-size:.88rem;font-weight:600;padding:.6rem 1rem;transition:all .2s}.invite-type-btn:hover{background:#f3f4f6;border-color:#d1d5db}.invite-type-btn.active-stamm{background:#fef3e2;border-color:#8b6914;color:#92400e}.invite-type-btn.active-genuss{background:#fff3e0;border-color:#e86b35;color:#c2410c}.inv-type-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:.25rem;padding:.15rem .6rem}.inv-type-badge--stamm{background:#fef3e2;border:1px solid #fbbf24;color:#92400e}.inv-type-badge--genuss{background:#fff3e0;border:1px solid #fb923c;color:#c2410c}[data-theme=dark] .inv-type-badge--stamm{background:#2d2010;border-color:#8b6914;color:#f5c842}[data-theme=dark] .inv-type-badge--genuss{background:#2d1a0e;border-color:#e86b35;color:#f59c6b}.shared-guest-bar{align-items:center;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;display:flex;font-size:.88rem;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem}.shared-guest-bar a{color:#2e7d32;font-weight:600;text-decoration:none}.shared-guest-bar span{color:#555}.shared-error-page,.shared-loading{align-items:center;display:flex;justify-content:center;min-height:50vh;padding:2rem}.shared-error-box{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;max-width:400px;padding:3rem 2rem;text-align:center}.shared-error-icon{font-size:3rem;margin-bottom:1rem}.shared-error-box h2{color:#333;margin-bottom:.5rem}.shared-error-box p{color:#666;margin-bottom:1.5rem}.shared-recipe-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.shared-meta{color:#555;font-size:.9rem}.shared-expiry{color:#888;font-size:.82rem}.shared-accepted{color:#2e7d32;font-size:.95rem;font-weight:500}.shared-accepted-link{color:#2e7d32;font-weight:600}.shared-login-hint{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.75rem}.shared-recipe-page{margin:0 auto;max-width:1100px;padding:1.5rem}.shared-recipe-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:2rem}.shared-recipe-image{border-radius:8px;margin-bottom:1.5rem;max-height:320px;overflow:hidden;width:100%}.shared-recipe-image img{height:100%;object-fit:cover;width:100%}.shared-recipe-image--placeholder{align-items:center;background:#f8f7f2;display:flex;justify-content:center;max-height:260px}.shared-recipe-image--placeholder img{max-height:260px;object-fit:contain;width:auto}[data-theme=dark] .shared-recipe-image--placeholder{background:#2a2a2a}[data-theme=dark] .shared-recipe-image--placeholder img{filter:brightness(.8);opacity:.7}.shared-recipe-content h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.shared-recipe-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.shared-recipe-info{color:#666;display:flex;font-size:.9rem;gap:1.5rem;margin-bottom:1.5rem}.shared-recipe-columns{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:1.5rem 0}.shared-ingredients,.shared-instructions{background:#f8f9fa;border-radius:8px;padding:1.5rem}.shared-ingredients h2,.shared-instructions h2{color:#2c5f2d;font-size:1.2rem;margin-bottom:1rem}.shared-ingredients-list{list-style:none;margin:0;padding:0}.shared-ingredient-item{grid-gap:0 .25rem;align-items:baseline;border-bottom:1px solid #e9ecef;display:grid;font-size:.95rem;gap:0 .25rem;grid-template-columns:3rem 2.5rem 1fr;padding:.4rem 0}.shared-ingredient-item:last-child{border-bottom:none}.shared-instructions-text{color:#333;font-size:.95rem;line-height:1.7}.shared-instructions-text p{margin-bottom:.75rem}.cookbook-picker-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.cookbook-picker-item{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:all .15s;width:100%}.cookbook-picker-item:hover:not(:disabled){background:#e8f5e9;border-color:#2e7d32}.cookbook-picker-item:disabled{cursor:not-allowed;opacity:.6}.cookbook-picker-item strong{color:#333;font-size:.95rem}.cookbook-picker-item span{color:#888;font-size:.82rem}@media (max-width:768px){.shared-recipe-columns{gap:1rem;grid-template-columns:1fr}.shared-recipe-content{padding:1rem}.shared-recipe-header{align-items:flex-start;flex-direction:column}.shared-recipe-info{flex-direction:column;gap:.5rem}.shared-recipe-content h1{font-size:1.5rem}.shared-recipe-page{padding:.75rem}}[data-theme=dark] .shared-guest-bar{background:#1a2e1a;border-color:#333}[data-theme=dark] .shared-guest-bar a{color:#66bb6a}[data-theme=dark] .shared-guest-bar span,[data-theme=dark] .shared-loading{color:#aaa}[data-theme=dark] .shared-error-box{background:#1e1e1e;box-shadow:0 4px 16px #0006}[data-theme=dark] .shared-error-box h2{color:#e0e0e0}[data-theme=dark] .shared-error-box p{color:#aaa}[data-theme=dark] .shared-recipe-header{background:#1e1e1e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .shared-meta{color:#aaa}[data-theme=dark] .shared-expiry{color:#888}[data-theme=dark] .shared-accepted,[data-theme=dark] .shared-accepted-link{color:#66bb6a}[data-theme=dark] .shared-login-hint{color:#aaa}[data-theme=dark] .shared-recipe-content{background:#1e1e1e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .shared-recipe-content h1{color:#e0e0e0}[data-theme=dark] .shared-recipe-info{color:#aaa}[data-theme=dark] .shared-ingredients,[data-theme=dark] .shared-instructions{background:#2d2d2d}[data-theme=dark] .shared-ingredients h2,[data-theme=dark] .shared-instructions h2{color:#66bb6a}[data-theme=dark] .shared-ingredient-item{border-bottom-color:#333}[data-theme=dark] .shared-instructions-text{color:#e0e0e0}[data-theme=dark] .cookbook-picker-item{background:#2d2d2d;border-color:#444}[data-theme=dark] .cookbook-picker-item:hover:not(:disabled){background:#3d3d3d;border-color:#66bb6a}[data-theme=dark] .cookbook-picker-item strong{color:#e0e0e0}[data-theme=dark] .cookbook-picker-item span{color:#aaa}.join-cookbook-page{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.join-box{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;max-width:440px;padding:40px;text-align:center;width:100%}.join-icon{font-size:3rem;margin-bottom:16px}.join-box h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.join-info{background:#f8f9fa;border-radius:10px;margin:20px 0;padding:16px;text-align:left}.join-info p{color:#444;margin:8px 0}.join-expires{color:#888;font-size:.85rem}.join-login-hint{color:#e86b35;font-size:.9rem;margin-bottom:16px}.join-btn{font-size:1rem;padding:14px;width:100%}[data-theme=dark] .join-cookbook-page{background:#121212}[data-theme=dark] .join-box{background:#1e1e1e;box-shadow:0 4px 24px #0006}[data-theme=dark] .join-box h2{color:#e0e0e0}[data-theme=dark] .join-info{background:#2d2d2d}[data-theme=dark] .join-info p{color:#ccc}.profile-container{margin:0 auto;max-width:740px;padding:20px}.profile-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.profile-header h1{color:#2e7d32;font-size:1.6rem;margin:0}.profile-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:24px}.profile-card h2{border-bottom:1px solid #eee;color:#333;font-size:1.1rem;margin:0 0 20px;padding-bottom:12px}.profile-form .form-group{margin-bottom:16px}.profile-form label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.required-hint{color:#888;font-size:13px;font-weight:400}.profile-form input[type=email],.profile-form input[type=password],.profile-form input[type=text]{background:#fafafa;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:10px 12px;transition:border-color .15s;width:100%}.profile-form input:focus{background:#fff;border-color:#2e7d32;outline:none}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:44px}.pw-toggle{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:16px;line-height:1;padding:4px;position:absolute;right:8px}.pw-toggle:hover{color:#2e7d32}.pw-strength{align-items:center;display:flex;gap:10px;margin-top:6px}.pw-strength-bar{background:#eee;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.pw-strength-fill{border-radius:3px;height:100%;transition:width .3s,background-color .3s}.pw-strength-label{font-size:12px;font-weight:500;min-width:80px}.pw-mismatch{color:#d32f2f;display:block;font-size:12px;margin-top:4px}.form-error{background:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;color:#c62828}.form-error,.form-success{font-size:14px;margin-bottom:14px;padding:10px 14px}.form-success{background:#f1f8e9;border:1px solid #c5e1a5;border-radius:8px;color:#2e7d32}[data-theme=dark] .profile-header h1{color:#66bb6a}[data-theme=dark] .profile-card{background:#1e1e1e;border-color:#333}[data-theme=dark] .profile-card h2{border-bottom-color:#333;color:#ddd}[data-theme=dark] .profile-form label{color:#bbb}[data-theme=dark] .profile-form input[type=email],[data-theme=dark] .profile-form input[type=password],[data-theme=dark] .profile-form input[type=text]{background:#2a2a2a;border-color:#444;color:#eee}[data-theme=dark] .profile-form input:focus{background:#252525;border-color:#66bb6a}[data-theme=dark] .pw-strength-bar{background:#333}[data-theme=dark] .form-error{background:#2a1515;border-color:#6d1a1a;color:#ef9a9a}[data-theme=dark] .form-success{background:#152a15;border-color:#2e5e2e;color:#a5d6a7}[data-theme=dark] .pw-toggle,[data-theme=dark] .required-hint{color:#666}[data-theme=dark] .pw-toggle:hover{color:#66bb6a}@media (min-width:1200px){.profile-container{max-width:900px}}@media (max-width:768px){.profile-container{padding:12px}.profile-card{padding:16px}.profile-header h1{font-size:1.3rem}}.profile-settings-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:8px 0}.profile-settings-label{display:flex;flex-direction:column;gap:3px}.profile-settings-label span{font-size:15px;font-weight:500}.profile-settings-label small,.profile-toggle-btn{color:#888;font-size:13px}.profile-toggle-btn{background:none;border:2px solid #ccc;border-radius:20px;cursor:pointer;flex-shrink:0;font-weight:600;padding:6px 18px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.profile-toggle-btn.is-on{background:#e8f5e9}.profile-toggle-btn.is-on,.profile-toggle-btn:hover:not(:disabled){border-color:#2e7d32;color:#2e7d32}[data-theme=dark] .profile-settings-label small{color:#777}[data-theme=dark] .profile-toggle-btn{border-color:#444;color:#aaa}[data-theme=dark] .profile-toggle-btn.is-on{background:#1b3a1e;border-color:#388e3c;color:#81c784}.mealplan-container{margin:0 auto;max-width:1200px;padding:2rem}.mealplan-error{align-items:center;background:#fff3f3;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;display:flex;font-size:.95rem;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.mealplan-error-close{background:none;border:none;color:#721c24;cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:0}.mealplan-confirm-delete{align-items:center;color:#dc3545;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.cell-recipe-open-link{color:#2e7d32;display:inline-block;font-size:.85rem;margin-top:.4rem;text-decoration:none}.cell-recipe-open-link:hover{text-decoration:underline}.mealplan-loading{color:#6c757d;padding:2rem;text-align:center}.mealplan-disabled-hint{background:#fff;border:2px dashed #ddd;border-radius:8px;margin-top:1.5rem;padding:60px 20px;text-align:center}.mealplan-disabled-icon{font-size:3rem;margin-bottom:1rem}.mealplan-disabled-hint h2{color:#495057;margin-bottom:.5rem}.mealplan-disabled-hint p{color:#6c757d;margin-bottom:.25rem}.mealplan-disabled-tip{color:#2e7d32;font-size:.9rem;margin-top:.75rem}.mealplan-header{margin-bottom:1.5rem}.mealplan-header h1{color:#2c3e50;font-size:1.8rem;margin:.5rem 0 0}.mealplan-toolbar{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem;padding:.75rem 1rem}.mealplan-toolbar,.mealplan-toolbar-left{align-items:center;display:flex;flex-wrap:wrap}.mealplan-toolbar-left{gap:.5rem}.mealplan-select{background:#fff;border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-family:inherit;font-size:1rem;max-width:320px;min-width:160px;padding:.5rem .75rem}.mealplan-select:focus{border-color:#2e7d32;outline:none}.mealplan-no-plans{color:#6c757d;font-size:.95rem}.btn-icon{background:#fff;border:1px solid #ced4da;border-radius:6px;display:inline-flex;font-size:1rem;height:34px;padding:0;transition:background .15s,border-color .15s;width:34px}.btn-icon:hover{background:#f0f0f0;border-color:#adb5bd}.btn-icon--danger:hover{background:#fff0f0;border-color:#dc3545}.mealplan-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;padding:3rem 1rem;text-align:center}.mealplan-empty p{font-size:1.1rem;margin-bottom:1rem}.mealplan-grid-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #dee2e6;border-radius:8px;overflow-x:auto}.mealplan-grid{display:grid;grid-template-columns:100px repeat(7,1fr);min-width:700px}.mealplan-header-row{display:contents}.mealplan-day-header{background:#f8f9fa;border-bottom:2px solid #dee2e6;border-right:1px solid #dee2e6;color:#495057;font-size:.85rem;font-weight:600;padding:.6rem .4rem;text-align:center}.mealplan-day-header:last-child{border-right:none}.mealplan-slot-label:first-child{background:#f8f9fa;border-bottom:2px solid #dee2e6}.mealplan-row{display:contents}.mealplan-slot-label{background:#fafafa;border-right:2px solid #dee2e6;color:#6c757d;font-size:.82rem;font-weight:600;letter-spacing:.03em;padding:.6rem .75rem;text-transform:uppercase}.mealplan-cell,.mealplan-slot-label{align-items:center;border-bottom:1px solid #f0f0f0;display:flex}.mealplan-cell{background:#fff;border-right:1px solid #f0f0f0;justify-content:center;min-height:64px;padding:.5rem;position:relative;transition:background .12s}.mealplan-cell:last-child{border-right:none}.mealplan-cell.editable{cursor:pointer}.mealplan-cell.editable:hover{background:#f0faf0}.mealplan-cell.has-entry.editable:hover{background:#e8f5e9}.mealplan-cell.is-editing{background:#e8f5e9;outline:2px solid #2e7d32;outline-offset:-2px;z-index:1}.cell-content{font-size:.82rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;max-width:100%;text-align:center;word-break:break-word}.cell-recipe{color:#1b5e20;font-weight:500;text-decoration:none}a.cell-recipe:hover{text-decoration:underline}.mealplan-cell.editable a.cell-recipe{pointer-events:none}.cell-text{color:#555}.cell-add{color:#ccc;font-size:1.3rem;line-height:1;transition:color .12s}.mealplan-cell.editable:hover .cell-add{color:#2e7d32}.mealplan-cell-modal{max-width:420px;width:95vw}.cell-modal-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.cell-mode-tabs{border:1px solid #dee2e6;border-radius:6px;display:flex;gap:0;margin-bottom:1rem;overflow:hidden}.cell-mode-tab{background:#fff;border:none;color:#6c757d;cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;padding:.5rem;transition:background .15s,color .15s}.cell-mode-tab:first-child{border-right:1px solid #dee2e6}.cell-mode-tab.active{background:#2e7d32;color:#fff;font-weight:600}.cell-mode-tab:hover:not(.active){background:#f8f9fa;color:#333}.form-control{background:#fff;border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.5rem .75rem;width:100%}.form-control:focus{border-color:#2e7d32;box-shadow:0 0 0 .2rem #2e7d3233;outline:none}.day-full{display:inline}.day-short{display:none}@media (min-width:1200px){.mealplan-container{padding:2.5rem 3rem}.mealplan-header h1{font-size:2.2rem}}@media (max-width:768px){.mealplan-container{padding:1rem}.mealplan-header h1{font-size:1.4rem}.mealplan-toolbar{padding:.6rem .75rem}.day-full{display:none}.day-short{display:inline}.mealplan-grid{grid-template-columns:72px repeat(7,1fr);min-width:560px}.mealplan-slot-label{font-size:.72rem;padding:.5rem .4rem}.mealplan-cell{min-height:52px;padding:.3rem}.cell-content{font-size:.75rem}.mealplan-select{font-size:.9rem;min-width:120px}.mealplan-cell-modal{border-radius:12px 12px 0 0;bottom:0;left:0;margin:0;max-height:80vh;max-width:100vw;position:fixed;right:0;width:100%}.form-control{font-size:16px;min-height:44px}.cell-mode-tab{font-size:1rem;min-height:44px}}[data-theme=dark] .mealplan-error{background:#2a1a1a;border-color:#6b2a2a;color:#f48484}[data-theme=dark] .mealplan-error-close{color:#f48484}[data-theme=dark] .mealplan-confirm-delete{color:#e57373}[data-theme=dark] .cell-recipe-open-link{color:#81c784}[data-theme=dark] .mealplan-loading{color:#888}[data-theme=dark] .mealplan-disabled-hint{background:#1e1e1e;border-color:#333}[data-theme=dark] .mealplan-disabled-hint h2{color:#ccc}[data-theme=dark] .mealplan-disabled-hint p{color:#888}[data-theme=dark] .mealplan-disabled-tip{color:#66bb6a}[data-theme=dark] .mealplan-header h1{color:#e0e0e0}[data-theme=dark] .mealplan-toolbar{background:#1e1e1e;border-color:#333}[data-theme=dark] .mealplan-select{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .mealplan-select:focus{border-color:#66bb6a}[data-theme=dark] .btn-icon{background:#2a2a2a}[data-theme=dark] .btn-icon:hover{background:#333}[data-theme=dark] .btn-icon--danger:hover{background:#3a1a1a;border-color:#e57373}[data-theme=dark] .mealplan-empty{background:#1a1a1a;border-color:#333;color:#888}[data-theme=dark] .mealplan-grid-wrapper{border-color:#333}[data-theme=dark] .mealplan-day-header{background:#1e1e1e;border-color:#333;color:#bbb}[data-theme=dark] .mealplan-slot-label{background:#1a1a1a;border-color:#333;color:#888}[data-theme=dark] .mealplan-cell{background:#121212;border-color:#222}[data-theme=dark] .mealplan-cell.editable:hover{background:#1a2a1a}[data-theme=dark] .mealplan-cell.has-entry.editable:hover{background:#1e2e1e}[data-theme=dark] .mealplan-cell.is-editing{background:#1a2a1a;outline-color:#66bb6a}[data-theme=dark] .cell-recipe{color:#81c784}[data-theme=dark] .cell-text{color:#aaa}[data-theme=dark] .cell-add{color:#444}[data-theme=dark] .mealplan-cell.editable:hover .cell-add{color:#66bb6a}[data-theme=dark] .cell-modal-title{color:#e0e0e0}[data-theme=dark] .cell-mode-tabs{border-color:#444}[data-theme=dark] .cell-mode-tab{background:#2a2a2a;border-color:#444;color:#aaa}[data-theme=dark] .cell-mode-tab.active{background:#2e7d32;color:#fff}[data-theme=dark] .cell-mode-tab:hover:not(.active){background:#333;color:#e0e0e0}[data-theme=dark] .form-control{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .form-control:focus{border-color:#66bb6a;box-shadow:0 0 0 .2rem #66bb6a33}[data-theme=dark] .mealplan-no-plans{color:#888}.mealplan-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-top:.5rem}.mealplan-header-right h1{margin:0}.gsd-container{margin:0 auto;max-width:1200px;padding:20px}.gsd-back{font-size:14px;margin-bottom:12px}.gsd-back a{color:#2e7d32;text-decoration:none}.gsd-back a:hover{text-decoration:underline}.gsd-header{margin-bottom:24px}.gsd-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.gsd-title-row h1{color:#2e7d32;font-size:1.7rem;margin:0}.gsd-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;padding:12px 16px}.gsd-disabled{color:#888;padding:40px 20px;text-align:center}.gsd-disabled a{color:#2e7d32}.gsd-empty{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:60px 20px;text-align:center}.gsd-empty-icon{font-size:48px;margin-bottom:12px}.gsd-empty-title{color:#555;font-size:20px;font-weight:600;margin-bottom:16px}.gsd-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (min-width:1200px){.gsd-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (min-width:1400px){.gsd-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.gsd-card{align-items:stretch;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 6px #0000000f;display:flex;overflow:hidden;transition:box-shadow .2s}.gsd-card:hover{box-shadow:0 4px 12px #0000001a}.gsd-card-body{cursor:pointer;flex:1 1;padding:18px}.gsd-card-name{color:#2e7d32;font-size:17px;font-weight:600;margin:0 0 10px}.gsd-card-stats{color:#666;display:flex;flex-direction:column;font-size:14px;gap:6px}.gsd-progress-bar{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden}.gsd-progress-fill{background:#2e7d32;border-radius:3px;height:100%;transition:width .3s}.gsd-card-actions{border-left:1px solid #f0f0f0;display:flex;flex-direction:column}.gsd-action-btn{align-items:center;background:none;border:none;color:#bbb;cursor:pointer;display:flex;flex:1 1;font-size:15px;justify-content:center;padding:0 12px;transition:color .15s,background .15s}.gsd-action-btn:hover{background:#f5f5f5;color:#555}.gsd-action-btn:disabled{cursor:not-allowed;opacity:.5}.gsd-delete-btn{align-items:center;background:none;border:none;border-top:1px solid #f0f0f0;color:#ccc;cursor:pointer;display:flex;flex:1 1;font-size:15px;justify-content:center;padding:0 12px;transition:color .15s,background .15s}.gsd-delete-btn:hover{background:#fff3f3;color:#d32f2f}.gsd-lock-icon{font-size:12px}.gsd-perm-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.gsd-perm-badge{background:#fff3e0;border-radius:4px;color:#e65100;font-size:10px;padding:1px 6px}.gsd-card--archived{opacity:.75}.gsd-card--archived .gsd-card-body{cursor:default}.gsd-card--archived .gsd-card-name{color:#888}.gsd-archive-section{border-top:1px solid #e0e0e0;margin-top:32px;padding-top:16px}.gsd-archive-toggle{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:4px 0;transition:color .15s}.gsd-archive-toggle:hover{color:#444}.gsd-archive-count{background:#e0e0e0;border-radius:10px;color:#666;font-size:12px;font-weight:600;padding:1px 7px}.gsd-archive-empty,.gsd-archive-loading{color:#aaa;font-size:13px;padding:12px 0}.gsd-grid--archived{margin-top:12px}.gsd-perm-field{margin-bottom:12px}.gsd-perm-label{color:#555;display:block;font-size:13px;font-weight:600;margin-bottom:4px}.gsd-perm-select{background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:#333;font-size:14px;padding:8px 10px;width:100%}.gsd-perm-select:focus{border-color:#2e7d32;outline:none}.gsd-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.gsd-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:28px;width:100%}.gsd-modal h2{font-size:1.1rem;margin:0 0 16px}.gsd-modal p{color:#666;margin:0 0 16px}.gsd-modal-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;margin-bottom:16px;padding:10px 12px;width:100%}.gsd-modal-input:focus{border-color:#2e7d32;outline:none}.gsd-modal-actions{display:flex;gap:10px;justify-content:flex-end}[data-theme=dark] .gsd-title-row h1{color:#66bb6a}[data-theme=dark] .gsd-empty{background:#1e1e1e;border-color:#333}[data-theme=dark] .gsd-empty-title{color:#ccc}[data-theme=dark] .gsd-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .gsd-card-name{color:#66bb6a}[data-theme=dark] .gsd-card--archived .gsd-card-name{color:#555}[data-theme=dark] .gsd-card-stats{color:#aaa}[data-theme=dark] .gsd-progress-bar{background:#333}[data-theme=dark] .gsd-progress-fill{background:#66bb6a}[data-theme=dark] .gsd-card-actions{border-left-color:#2a2a2a}[data-theme=dark] .gsd-action-btn{color:#555}[data-theme=dark] .gsd-action-btn:hover{background:#252525;color:#aaa}[data-theme=dark] .gsd-delete-btn{border-top-color:#2a2a2a;color:#555}[data-theme=dark] .gsd-delete-btn:hover{background:#2a1515;color:#ef9a9a}[data-theme=dark] .gsd-perm-badge{background:#3a2010;color:#ff9800}[data-theme=dark] .gsd-archive-section{border-top-color:#2a2a2a}[data-theme=dark] .gsd-archive-toggle{color:#555}[data-theme=dark] .gsd-archive-toggle:hover{color:#aaa}[data-theme=dark] .gsd-archive-count{background:#333;color:#888}[data-theme=dark] .gsd-archive-empty,[data-theme=dark] .gsd-archive-loading{color:#555}[data-theme=dark] .gsd-modal{background:#1e1e1e}[data-theme=dark] .gsd-modal h2{color:#ddd}[data-theme=dark] .gsd-modal p{color:#888}[data-theme=dark] .gsd-modal-input{background:#2a2a2a;border-color:#444;color:#eee}[data-theme=dark] .gsd-modal-input:focus{border-color:#66bb6a}[data-theme=dark] .gsd-perm-label{color:#aaa}[data-theme=dark] .gsd-perm-select{background:#2a2a2a;border-color:#444;color:#eee}[data-theme=dark] .gsd-perm-select:focus{border-color:#66bb6a}[data-theme=dark] .gsd-disabled{color:#777}[data-theme=dark] .gsd-back a,[data-theme=dark] .gsd-disabled a{color:#66bb6a}@media (max-width:768px){.gsd-container{padding:12px}.gsd-title-row h1{font-size:1.4rem}.gsd-grid{grid-template-columns:1fr}}.slv-container{margin:0 auto;max-width:640px;padding-top:20px}@media (min-width:1024px){.slv-container{max-width:820px}}@media (min-width:1400px){.slv-container{max-width:1000px}}.slv-header{margin-bottom:24px}.slv-header-top{align-items:center;flex-wrap:wrap;justify-content:space-between;margin-bottom:8px}.slv-header-actions,.slv-header-top{display:flex;gap:8px}.slv-title{color:#2e7d32;font-size:26px;font-weight:700;margin:8px 0 12px;word-break:break-word}.slv-meta{display:flex;flex-direction:column;gap:6px}.slv-progress-text{color:#666;font-size:14px}.slv-progress-bar{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden}.slv-progress-fill{background:#2e7d32;border-radius:4px;height:100%;transition:width .3s ease}.slv-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;padding:16px;text-align:center}.slv-empty{color:#888;padding:40px 20px;text-align:center}.slv-list{background:#fff;border:1px solid #e0e0e0;border-radius:10px;list-style:none;margin:0;overflow:hidden;padding:0}.slv-item{align-items:stretch;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;padding:14px 16px;transition:background-color .15s}.slv-item:last-child{border-bottom:none}.slv-item:hover{background-color:#fafafa}.slv-item.is-checked{background-color:#f9f9f9}.slv-checkbox{accent-color:#2e7d32;cursor:pointer;flex-shrink:0;height:24px;width:24px}.slv-item-text{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px;min-width:0}.slv-item-amount{color:#2e7d32;font-size:15px;font-weight:600}.slv-item-unit{color:#888;font-size:14px}.slv-item-name{color:#333;font-size:16px}.is-checked .slv-item-amount,.is-checked .slv-item-name,.is-checked .slv-item-unit{color:#aaa;text-decoration:line-through}.slv-checked-by{color:#aaa;flex-shrink:0;font-size:11px;font-style:italic;white-space:nowrap}.slv-delete-item{background:#0000;border:none;border-radius:4px;color:#ccc;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:4px 6px;transition:color .15s,background .15s}.slv-delete-item:hover{background:#ffebee;color:#d32f2f}.slv-creator-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.slv-add-group{margin-bottom:0}.slv-add-row input{flex:1 1}.slv-clear-btn{align-self:flex-start}.slv-name-modal h2{margin-bottom:8px}.slv-name-hint{color:#666;font-size:14px;line-height:1.5;margin-bottom:16px}.slv-item-details{padding:4px 0 2px 34px}.slv-at-home-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.slv-at-home-trigger{font-size:12px;padding:2px 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.slv-at-home-input{border:1px solid #ccc}.slv-at-home-cancel,.slv-at-home-save{font-size:12px;height:26px;padding:2px 7px}.slv-needed-badge{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px}.slv-breakdown{padding:4px 0 2px 34px}.slv-breakdown-toggle{align-items:center;background:none;border:none;color:#aaa;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:2px 0;transition:color .15s}.slv-breakdown-toggle:hover{color:#666}.slv-breakdown-arrow{color:#ccc;font-size:9px}.slv-breakdown-list{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;padding:4px 0 0}.slv-breakdown-entry{align-items:center;color:#888;display:flex;font-size:12px;gap:8px}.slv-breakdown-entry:before{color:#ccc;content:"→";flex-shrink:0}.slv-breakdown-recipe{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slv-breakdown-amount{color:#aaa;flex-shrink:0;font-weight:500;white-space:nowrap}.slv-item-amount.is-sufficient,[data-theme=dark] .slv-title{color:#66bb6a}[data-theme=dark] .slv-progress-text{color:#aaa}[data-theme=dark] .slv-progress-bar{background:#333}[data-theme=dark] .slv-progress-fill{background:#66bb6a}[data-theme=dark] .slv-error{background:#3d1515;border-color:#ef9a9a;color:#ef9a9a}[data-theme=dark] .slv-empty{color:#666}[data-theme=dark] .slv-list{background:#1e1e1e;border-color:#333}[data-theme=dark] .slv-item.is-checked{background-color:#1a1a1a}[data-theme=dark] .slv-item-name{color:#e0e0e0}[data-theme=dark] .slv-item-amount{color:#66bb6a}[data-theme=dark] .slv-item-unit{color:#666}[data-theme=dark] .is-checked .slv-item-amount,[data-theme=dark] .is-checked .slv-item-name,[data-theme=dark] .is-checked .slv-item-unit,[data-theme=dark] .slv-checked-by{color:#555}[data-theme=dark] .slv-delete-item{color:#444}[data-theme=dark] .slv-delete-item:hover{background:#3d1515;color:#ef9a9a}[data-theme=dark] .slv-name-hint{color:#aaa}[data-theme=dark] .slv-breakdown-toggle{color:#444}[data-theme=dark] .slv-breakdown-toggle:hover{color:#777}[data-theme=dark] .slv-breakdown-arrow{color:#333}[data-theme=dark] .slv-breakdown-entry{color:#555}[data-theme=dark] .slv-breakdown-entry:before{color:#444}[data-theme=dark] .slv-breakdown-recipe{color:#666}[data-theme=dark] .slv-breakdown-amount{color:#555}[data-theme=dark] .slv-breakdown-inline{color:#444}[data-theme=dark] .slv-item-amount.is-sufficient{color:#388e3c}@media (max-width:768px){.slv-title{font-size:22px}.slv-item{padding:12px 14px}.slv-add-row{flex-direction:column}.slv-add-row .btn-small,.slv-clear-btn{width:100%}}.slv-sort-toggle{background:none;border:1px solid #ccc;border-radius:20px;color:#555;cursor:pointer;font-size:13px;padding:5px 14px;transition:background .15s,border-color .15s,color .15s}.slv-sort-toggle.is-active,.slv-sort-toggle:hover{border-color:#2e7d32;color:#2e7d32}.slv-sort-toggle.is-active{background:#e8f5e9;font-weight:600}.slv-category-view{display:flex;flex-direction:column;gap:16px}.slv-category-group{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden}.slv-category-header{align-items:center;background:#f5f5f5;color:#444;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 14px}.slv-category-icon{font-size:16px}.slv-category-label{flex:1 1}.slv-category-count{background:#2e7d32;border-radius:10px;color:#fff;font-size:12px;font-weight:600;padding:1px 8px}.slv-category-group .slv-list{border:none;border-radius:0;margin:0}[data-theme=dark] .slv-category-group{border-color:#333}[data-theme=dark] .slv-category-header{background:#1e1e1e;color:#ccc}[data-theme=dark] .slv-sort-toggle{border-color:#444;color:#aaa}[data-theme=dark] .slv-sort-toggle.is-active{background:#1b3a1e;border-color:#388e3c;color:#81c784}.slv-parse-hint{color:#888;font-size:12px;font-style:italic;margin-top:4px;padding-left:2px}[data-theme=dark] .slv-parse-hint{color:#999}.slv-merge-toast{animation:slv-toast-in .2s ease;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32;font-size:14px;margin-top:8px;padding:8px 14px}@keyframes slv-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){.slv-merge-toast{background:#1b3a1e;border-color:#388e3c;color:#81c784}}[data-theme=dark] .slv-merge-toast{background:#1b3a1e;border-color:#388e3c;color:#81c784}.slv-back-link{color:#2e7d32;display:inline-block;font-size:14px;margin-bottom:8px;text-decoration:none}.slv-back-link:hover{text-decoration:underline}.slv-progress{display:flex;flex-direction:column;gap:4px;margin-top:8px}.slv-sort-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.slv-item{padding:12px 14px}.slv-item--toggling{opacity:.6}.is-checked{background-color:#f9f9f9}.slv-add-form{margin-top:16px}.slv-add-row{display:flex;gap:8px}.slv-add-input{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;flex:1 1;font-size:15px;padding:10px 12px}.slv-add-input:focus{border-color:#2e7d32;outline:none}.slv-add-btn{border-radius:8px;flex-shrink:0;font-size:18px;font-weight:700;padding:10px 18px}.gsv-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;margin:20px;padding:12px 16px}.gsv-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.gsv-added-by{color:#bbb;font-size:11px;font-style:italic}.gsv-checked-by{color:#a5d6a7;font-size:11px}.slv-at-home-trigger{background:none;border:none;color:#aaa;cursor:pointer;font-size:11px;line-height:1.2;padding:1px 0;text-align:left;transition:color .15s}.slv-at-home-trigger:hover{color:#2e7d32}.slv-at-home-form{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.slv-at-home-label{color:#888;font-size:12px}.slv-at-home-input{border:1px solid #ddd;border-radius:4px;font-size:13px;height:26px;padding:2px 6px;width:70px}.slv-at-home-unit{color:#888;font-size:12px}.slv-at-home-cancel,.slv-at-home-save{background:none;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px;line-height:1;padding:2px 6px}.slv-at-home-save{border-color:#2e7d32;color:#2e7d32}.slv-at-home-save:hover{background:#e8f5e9}.slv-at-home-cancel{color:#888}.slv-at-home-cancel:hover{background:#f5f5f5}.slv-needed-badge{background:#fff3e0;border-radius:4px;color:#e65100;font-size:11px;padding:1px 5px;white-space:nowrap}.slv-needed-badge.is-sufficient{background:#e8f5e9;color:#2e7d32}.slv-item-amount.is-sufficient{color:#2e7d32;opacity:.7;text-decoration:line-through}[data-theme=dark] .slv-back-link{color:#66bb6a}[data-theme=dark] .slv-item{border-bottom-color:#2a2a2a}[data-theme=dark] .slv-item:hover{background-color:#252525}[data-theme=dark] .is-checked{background-color:#1a1a1a}[data-theme=dark] .slv-add-input{background:#2a2a2a;border-color:#444;color:#eee}[data-theme=dark] .slv-add-input:focus{border-color:#66bb6a}[data-theme=dark] .gsv-added-by{color:#666}[data-theme=dark] .gsv-checked-by{color:#66bb6a}[data-theme=dark] .slv-at-home-trigger{color:#555}[data-theme=dark] .slv-at-home-trigger:hover{color:#66bb6a}[data-theme=dark] .slv-at-home-label{color:#666}[data-theme=dark] .slv-at-home-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .slv-at-home-unit{color:#666}[data-theme=dark] .slv-at-home-save{border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .slv-at-home-save:hover{background:#1b3a1e}[data-theme=dark] .slv-at-home-cancel{border-color:#444;color:#555}[data-theme=dark] .slv-at-home-cancel:hover{background:#2a2a2a}[data-theme=dark] .slv-needed-badge{background:#3a2010;color:#ff9800}[data-theme=dark] .slv-needed-badge.is-sufficient{background:#1b3a1e;color:#66bb6a}@media (max-width:768px){.slv-add-row{flex-direction:row}.slv-sort-bar{gap:6px}}.shi-row{grid-gap:0 6px;align-items:center;display:grid;gap:0 6px;grid-template-areas:"check name stock info del";grid-template-columns:28px 1fr 150px 28px 28px;width:100%}.shi-row--compact{grid-template-areas:"check name info del";grid-template-columns:28px 1fr 28px 28px}.shi-col-check{align-items:center;display:flex;grid-area:check;justify-content:center}.shi-col-name{cursor:pointer;display:flex;flex-direction:column;gap:1px;grid-area:name;min-width:0}.shi-col-stock{grid-area:stock;min-width:0}.shi-col-info{grid-area:info}.shi-col-del,.shi-col-info{align-items:center;display:flex;justify-content:center}.shi-col-del{grid-area:del}.shi-info-btn{align-items:center;background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;display:flex;font-size:13px;height:26px;justify-content:center;line-height:1;padding:2px;transition:color .15s,background .15s;width:26px}.shi-info-btn:hover{background:#f0f0f0;color:#666}.shi-info-btn[aria-expanded=true]{color:#2e7d32}.slv-at-home-col{align-items:flex-start;display:flex;flex-direction:column;gap:2px}@media (max-width:768px){.shi-row{grid-template-areas:"check name info del" ". stock stock stock";grid-template-columns:28px 1fr 28px 28px}.shi-col-stock{padding-left:2px;padding-top:2px}}[data-theme=dark] .shi-info-btn{color:#444}[data-theme=dark] .shi-info-btn:hover{background:#2a2a2a;color:#aaa}[data-theme=dark] .shi-info-btn[aria-expanded=true]{color:#66bb6a}.sl-dashboard{padding-top:20px}.sl-dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.sl-dashboard-header h1{color:#2e7d32;font-size:28px;font-weight:700;margin:0}.sl-header-actions{display:flex;flex-wrap:wrap;gap:10px}.sl-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;margin-bottom:16px;padding:12px 16px}.sl-empty-state{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:60px 20px;text-align:center}.sl-empty-icon{font-size:48px;margin-bottom:12px}.sl-empty-title{color:#555;font-size:20px;font-weight:600;margin-bottom:8px}.sl-empty-hint{color:#888;font-size:15px;margin-bottom:20px}.sl-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sl-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 6px #0000000f;display:flex;flex-direction:column;gap:14px;padding:18px;transition:box-shadow .2s}.sl-card:hover{box-shadow:0 4px 12px #0000001a}.sl-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.sl-card-name{color:#2e7d32;font-size:17px;font-weight:600;margin:0;word-break:break-word}.sl-card-date{color:#aaa;flex-shrink:0;font-size:12px;white-space:nowrap}.sl-card-stats{display:flex;flex-direction:column;gap:6px}.sl-item-count{color:#666;font-size:14px}.sl-progress-bar{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden}.sl-progress-fill{background:#2e7d32;border-radius:3px;height:100%;transition:width .3s ease}.sl-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.btn-danger-outline{border-color:#ef9a9a;color:#d32f2f}.btn-danger-outline:hover{background-color:#ffebee;border-color:#d32f2f}[data-theme=dark] .sl-dashboard-header h1{color:#66bb6a}[data-theme=dark] .sl-error{background:#3d1515;border-color:#ef9a9a;color:#ef9a9a}[data-theme=dark] .sl-empty-state{background:#1e1e1e;border-color:#333}[data-theme=dark] .sl-empty-title{color:#ccc}[data-theme=dark] .sl-empty-hint{color:#777}[data-theme=dark] .sl-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .sl-card:hover{box-shadow:0 4px 16px #0006}[data-theme=dark] .sl-card-name{color:#66bb6a}[data-theme=dark] .sl-card-date{color:#666}[data-theme=dark] .sl-item-count{color:#aaa}[data-theme=dark] .sl-progress-bar{background:#333}[data-theme=dark] .sl-progress-fill{background:#66bb6a}[data-theme=dark] .btn-danger-outline{border-color:#5a2020;color:#ef9a9a}[data-theme=dark] .btn-danger-outline:hover{background-color:#3d1515;border-color:#ef9a9a}@media (min-width:1200px){.sl-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (min-width:1400px){.sl-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}@media (max-width:768px){.sl-dashboard-header{align-items:flex-start;flex-direction:column}.sl-dashboard-header h1{font-size:24px}.sl-header-actions{width:100%}.sl-header-actions button{flex:1 1}.sl-grid{grid-template-columns:1fr}.sl-card-actions{gap:6px}.sl-card-actions .btn-small{flex:1 1}}.sl-disabled-hint{color:#888;font-size:15px;padding:32px 20px;text-align:center}.sl-disabled-hint a{color:#2e7d32}[data-theme=dark] .sl-disabled-hint{color:#777}[data-theme=dark] .sl-disabled-hint a{color:#66bb6a}.sl-card-header-right{align-items:center;display:flex;flex-shrink:0;gap:6px}.sl-edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;line-height:1;opacity:.5;padding:2px 4px;transition:opacity .15s}.sl-edit-btn:hover{opacity:1}.sl-card-name-input{background:#0000;border:1px solid #2e7d32;border-radius:4px;color:#2e7d32;font-size:17px;font-weight:600;outline:none;padding:2px 6px;width:100%}[data-theme=dark] .sl-card-name-input{background:#0000;border-color:#66bb6a;color:#66bb6a}.changelog-page{margin:0 auto;max-width:800px;padding-bottom:60px;padding-top:24px}.changelog-header{margin-bottom:36px}.changelog-back-btn{align-items:center;background:none;border:none;color:#2e7d32;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;margin-bottom:8px;padding:0;transition:color .2s}.changelog-back-btn:hover{color:#1b5e20}[data-theme=dark] .changelog-back-btn{color:#66bb6a}[data-theme=dark] .changelog-back-btn:hover{color:#81c784}.changelog-title{color:#2e7d32;font-size:28px;font-weight:700;margin-bottom:6px;margin-top:12px}.changelog-subtitle{color:#777;font-size:14px}.changelog-subtitle strong{color:#2e7d32;font-weight:600}.changelog-section{margin-bottom:40px}.changelog-section-title{border-bottom:2px solid #e8f5e9;color:#444;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.changelog-cards{display:flex;flex-direction:column;gap:16px}.changelog-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 6px #0000000d;overflow:hidden}.changelog-card-header{align-items:center;background:linear-gradient(135deg,#2e7d32,#388e3c);display:flex;justify-content:space-between;padding:10px 18px}.changelog-version{color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px}.changelog-date{color:#fffc;font-size:12px}.changelog-card-title{color:#2e7d32;font-size:16px;font-weight:600;margin:0;padding:14px 18px 6px}.changelog-features{list-style:none;margin:0;padding:0 18px 14px}.changelog-feature-item{color:#555;font-size:14px;padding:5px 0 5px 20px;position:relative}.changelog-feature-item:before{color:#4caf50;content:"✓";font-size:13px;font-weight:700;left:0;position:absolute}.changelog-planned-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 6px #0000000d;padding:18px}.changelog-planned-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.changelog-planned-item{color:#555;font-size:14px;padding-left:22px;position:relative}.changelog-planned-item:before{color:#bbb;content:"○";font-size:13px;left:0;line-height:1.5;position:absolute}@media (max-width:768px){.changelog-page{padding-bottom:40px;padding-top:16px}.changelog-title{font-size:22px}.changelog-card-header{padding:8px 14px}.changelog-card-title{padding:10px 14px 4px}.changelog-features{padding:0 14px 12px}.changelog-planned-card{padding:14px}}[data-theme=dark] .changelog-title{color:#66bb6a}[data-theme=dark] .changelog-subtitle{color:#888}[data-theme=dark] .changelog-subtitle strong{color:#66bb6a}[data-theme=dark] .changelog-section-title{border-bottom-color:#2d2d2d;color:#bbb}[data-theme=dark] .changelog-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 6px #0000004d}[data-theme=dark] .changelog-card-header{background:linear-gradient(135deg,#1b5e20,#2e7d32)}[data-theme=dark] .changelog-card-title{color:#81c784}[data-theme=dark] .changelog-feature-item{color:#bbb}[data-theme=dark] .changelog-feature-item:before{color:#66bb6a}[data-theme=dark] .changelog-planned-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 6px #0000004d}[data-theme=dark] .changelog-planned-item{color:#bbb}[data-theme=dark] .changelog-planned-item:before{color:#555}.navigation{background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;height:calc(64px + env(safe-area-inset-top, 0px));left:0;padding:env(safe-area-inset-top,0) 0 0;position:fixed;right:0;top:0;z-index:100}.nav-container{height:64px;justify-content:space-between;margin:0 auto;max-width:1440px;padding:0 20px}.nav-container,.nav-logo-group{align-items:center;display:flex}.nav-logo-group{gap:8px;min-width:140px}.nav-logo{color:#2e7d32;font-size:20px;font-weight:600;text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-version-badge{align-self:center;border:1px solid #e0e0e0;border-radius:10px;color:#aaa;font-size:10px;font-weight:500;line-height:1.4;padding:2px 6px;text-decoration:none;transition:all .2s;white-space:nowrap}.nav-version-badge:hover{background-color:#f1f8f1;border-color:#2e7d32;color:#2e7d32}.nav-links{align-items:center;display:flex;gap:20px}.nav-links:before{background:#e0e0e0;content:"";display:block;height:20px;margin-right:4px;width:1px}[data-theme=dark] .nav-links:before{background:#333}.nav-user{color:#555;cursor:pointer;font-size:14px;font-weight:600;text-decoration:none}.nav-user:hover{color:#2e7d32;text-decoration:underline}.btn-logout{background-color:initial;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.btn-logout:hover{background-color:#f5f5f5;border-color:#999;color:#333}.nav-shopping{color:#2e7d32;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-shopping:hover{opacity:.75;text-decoration:underline}.btn-darkmode{align-items:center;background-color:initial;border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.btn-darkmode:hover{background-color:#f5f5f5;border-color:#999}[data-theme=dark] .navigation{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#1e1e1ef7;border-bottom-color:#2a2a2a;box-shadow:0 2px 8px #0006}[data-theme=dark] .nav-version-badge{border-color:#3a3a3a;color:#999}[data-theme=dark] .nav-version-badge:hover{background-color:#1a2e1a;border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .nav-user{color:#aaa}[data-theme=dark] .nav-shopping,[data-theme=dark] .nav-user:hover{color:#66bb6a}[data-theme=dark] .btn-logout{border-color:#444;color:#aaa}[data-theme=dark] .btn-logout:hover{background-color:#2d2d2d;border-color:#666;color:#e0e0e0}[data-theme=dark] .btn-darkmode{border-color:#444}[data-theme=dark] .btn-darkmode:hover{background-color:#2d2d2d;border-color:#666}@media (min-width:769px){.nav-link--active{border-bottom:2px solid #2e7d32;padding-bottom:2px}[data-theme=dark] .nav-link--active{border-bottom-color:#66bb6a}.nav-version-badge.nav-link--active{background:#e8f5e9;border-color:#2e7d32}[data-theme=dark] .nav-version-badge.nav-link--active{background:#1b3a1e;border-color:#66bb6a}}@media (min-width:1400px){.nav-container{max-width:1800px;padding:0 40px}}@media (min-width:1800px){.nav-container{max-width:min(2200px,96vw);padding:0 60px}}@media (min-width:769px){.nav-mobile-menu{align-items:center;background:#0000;border:none;display:flex!important;flex-direction:row;gap:12px;padding:0;position:static}.hamburger-btn{display:none}}.hamburger-btn{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;height:44px;justify-content:space-between;padding:10px;width:44px}.hamburger-btn span{background:#2c3e50;border-radius:2px;display:block;height:2px;transition:all .3s ease;width:100%}[data-theme=dark] .hamburger-btn span{background:#e0e0e0}.hamburger-btn.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.nav-container{padding:0 12px}.hamburger-btn{display:flex}.nav-mobile-menu{background:#fff;border-bottom:1px solid #e0e0e0;display:none;flex-direction:column;gap:8px;left:0;padding:12px 16px;position:absolute;right:0;top:calc(64px + env(safe-area-inset-top, 0px));z-index:999}[data-theme=dark] .nav-mobile-menu{background:#1e1e1e;border-bottom-color:#333}.nav-mobile-menu.open{display:flex}.nav-mobile-menu .nav-user{color:#555;font-size:14px;padding:4px 0}[data-theme=dark] .nav-mobile-menu .nav-user{color:#aaa}.nav-mobile-menu .nav-shopping{font-size:15px;padding:4px 0}.nav-mobile-menu .btn-logout{font-size:15px;padding:12px;text-align:center;width:100%}.nav-mobile-menu .btn-darkmode{height:44px;width:44px}}.app-footer{align-items:center;color:#bbb;display:flex;font-size:12px;gap:6px;justify-content:center;margin-top:40px;padding:20px 20px 32px;text-align:center}.footer-separator{color:#ddd}.footer-version-link{color:#bbb;text-decoration:none;transition:color .2s}.footer-version-link:hover{color:#2e7d32;text-decoration:underline}[data-theme=dark] .app-footer{color:#999}[data-theme=dark] .footer-separator{color:#444}[data-theme=dark] .footer-version-link{color:#999}[data-theme=dark] .footer-version-link:hover{color:#66bb6a}@media (max-width:768px){.app-footer{font-size:11px;padding:16px 12px 28px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .2s,color .2s}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1440px;padding-left:20px;padding-right:20px;padding-top:calc(74px + env(safe-area-inset-top, 0px));width:100%}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.4}}.loading{animation:loading-pulse 1.4s ease-in-out infinite;color:#666}.error,.loading{font-size:18px;padding:40px;text-align:center}.error{color:#d32f2f}.btn-primary{background-color:#2e7d32;border:1px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:500;line-height:1.5;padding:10px 20px;text-decoration:none;transition:background-color .2s}.btn-primary:hover{background-color:#1b5e20}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:inline-block;font-size:16px;line-height:1.5;padding:10px 20px;text-decoration:none;transition:all .2s}.btn-secondary:hover{background-color:#f5f5f5;border-color:#999}.btn-danger{background-color:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.btn-danger:hover{background-color:#b71c1c}.btn-small{font-size:14px;padding:6px 12px}.btn-icon{align-items:center;background:#0000;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon:hover{background-color:#f5f5f5;border-color:#999}.btn-remove{border-color:#d32f2f;color:#d32f2f}.btn-remove:hover{background-color:#ffebee}:focus-visible{outline:2px solid #2e7d32;outline-offset:2px}[data-theme=dark] :focus-visible{outline-color:#66bb6a}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;position:relative;width:90%}.modal h2{color:#2e7d32;margin-bottom:20px}.modal-close-btn{background:none;border:none;border-radius:4px;color:#adb5bd;cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem;transition:all .2s}.modal-close-btn:hover{background:#f1f3f4;color:#495057}.modal-hint{color:#666;font-size:14px;margin-bottom:16px}.modal-actions{justify-content:space-between;margin-top:20px}.modal-actions,.modal-actions>div{display:flex;gap:10px}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:16px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2e7d32;outline:none}.form-group small{color:#666;display:block;font-size:14px;margin-top:6px}.checkbox-group label{align-items:center;cursor:pointer;display:flex}.checkbox-group input[type=checkbox]{margin-right:8px;width:auto}.badge{background-color:#e0e0e0;border-radius:12px;color:#555;display:inline-block;font-size:14px;padding:4px 10px}.badge-public{background-color:#e8f5e9;border-radius:12px;color:#2e7d32;font-size:12px;font-weight:500;padding:2px 8px}.back-link{color:#666;display:inline-block;font-size:14px;margin-bottom:10px;text-decoration:none}.back-link:hover{color:#2e7d32}@media print{.back-link,.navigation,.recipe-actions,.recipe-footer,.servings-adjuster{display:none!important}.main-content{padding-top:0}.recipe-content{display:block!important}}@media (min-width:1400px){.main-content{max-width:1800px;padding-left:40px;padding-right:40px}}@media (min-width:1800px){.main-content{max-width:min(2200px,96vw);padding-left:60px;padding-right:60px}}@media (max-width:768px){.main-content{padding-left:12px;padding-right:12px}.btn-icon{height:44px;width:44px}.modal{padding:20px;width:95%}.modal-actions{flex-direction:column;gap:8px}.modal-actions button{width:100%}.btn-small{min-height:44px;padding:8px 14px}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-size:16px}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px;padding:.65rem .75rem}}@media (max-width:480px){.modal{border-radius:12px;padding:16px;width:98%}}[data-theme=dark],[data-theme=dark] body{background-color:#121212;color:#e0e0e0}[data-theme=dark] .main-content{background-color:initial}[data-theme=dark] .btn-secondary{background-color:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .btn-secondary:hover{background-color:#3d3d3d;border-color:#666}[data-theme=dark] .btn-icon{background:#0000;border-color:#444;color:#e0e0e0}[data-theme=dark] .btn-icon:hover{background-color:#2d2d2d;border-color:#666}[data-theme=dark] .btn-remove:hover{background-color:#3d1515}[data-theme=dark] .modal{background:#1e1e1e;color:#e0e0e0}[data-theme=dark] .modal h2{color:#66bb6a}[data-theme=dark] .modal-close-btn{color:#666}[data-theme=dark] .modal-close-btn:hover{background:#2d2d2d;color:#aaa}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background-color:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:#66bb6a}[data-theme=dark] .form-group small{color:#888}[data-theme=dark] .badge{background-color:#333}[data-theme=dark] .dashboard-header h1{color:#66bb6a}[data-theme=dark] .cookbooks-section h2{color:#bbb}[data-theme=dark] .empty-hint,[data-theme=dark] .section-subtitle{color:#777}[data-theme=dark] .search-input{background-color:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .search-input:focus{border-color:#66bb6a;box-shadow:0 0 0 3px #66bb6a26}[data-theme=dark] .search-results{background:#1e1e1e;border-color:#444;box-shadow:0 4px 8px #0006}[data-theme=dark] .search-result-item{border-bottom-color:#333;color:#e0e0e0}[data-theme=dark] .search-result-item:hover{background-color:#2d2d2d}[data-theme=dark] .search-meta{color:#888}[data-theme=dark] .cookbook-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 8px #0000004d;color:#e0e0e0}[data-theme=dark] .cookbook-card h3{color:#66bb6a}[data-theme=dark] .cookbook-description{color:#aaa}[data-theme=dark] .cookbook-meta{color:#888}[data-theme=dark] .cookbook-meta .owner{color:#666}[data-theme=dark] .badge-public{background:#1b3a1e;color:#81c784}[data-theme=dark] .badge-member{background:#0d2a4a;color:#64b5f6}[data-theme=dark] .empty-state{background:#1e1e1e;border-color:#444}[data-theme=dark] .empty-state p{color:#888}[data-theme=dark] .cookbook-header{background:#1e1e1e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .cookbook-header h1{color:#66bb6a}[data-theme=dark] .cookbook-header .cookbook-description{color:#aaa}[data-theme=dark] .cookbook-header .cookbook-meta{color:#888}[data-theme=dark] .members-badge{border-color:#444;color:#bbb}[data-theme=dark] .members-badge:hover{background:#2d2d2d;border-color:#666}[data-theme=dark] .recipe-card{background:#1e1e1e;border-color:#333;box-shadow:0 2px 8px #0000004d;color:#e0e0e0}[data-theme=dark] .recipe-card h3{color:#66bb6a}[data-theme=dark] .recipe-meta span{background-color:#2d2d2d;color:#bbb}[data-theme=dark] .recipe-info{color:#888}[data-theme=dark] .member-item{background:#2d2d2d}[data-theme=dark] .member-item--owner{background:#2d2500;border-color:#7d6000}[data-theme=dark] .member-name{color:#e0e0e0}[data-theme=dark] .member-role,[data-theme=dark] .member-section h4,[data-theme=dark] .modal-subtitle{color:#888}[data-theme=dark] .no-members,[data-theme=dark] .no-results{color:#666}[data-theme=dark] .member-search-input{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .member-search-input:focus{border-color:#64b5f6;box-shadow:0 0 0 3px #64b5f626}[data-theme=dark] .member-suggestions{border-color:#444}[data-theme=dark] .member-suggestion{border-bottom-color:#333;color:#e0e0e0}[data-theme=dark] .btn-add-member{background:#1b3a1e;color:#81c784}[data-theme=dark] .btn-remove-member{background:#3d1515;color:#ef9a9a}[data-theme=dark] .recipe-content h1{color:#e0e0e0}[data-theme=dark] .back-link{color:#64b5f6}[data-theme=dark] .badge{background:#2d2d2d;color:#bbb}[data-theme=dark] .badge-special{background:#3d2e00;border-color:#f59e0b;color:#ffd54f}[data-theme=dark] .info-text{color:#aaa}[data-theme=dark] .ingredients-column,[data-theme=dark] .instructions-column{background:#1e1e1e}[data-theme=dark] .ingredients-column h2,[data-theme=dark] .instructions-column h2{color:#81c784}[data-theme=dark] .servings-for-label{color:#888}[data-theme=dark] .servings-control-panel{background:#2d2d2d;border-color:#444}[data-theme=dark] .servings-label{color:#bbb}[data-theme=dark] .servings-number{color:#64b5f6}[data-theme=dark] .servings-number.clickable:hover{background:#1a2a3d}[data-theme=dark] .servings-input-compact{background:#2d2d2d;border-color:#64b5f6;color:#64b5f6}[data-theme=dark] .btn-reset-small{background:#2d2d2d;border-color:#444;color:#bbb}[data-theme=dark] .btn-reset-small:hover{background:#3d3d3d}[data-theme=dark] .ingredient-item{border-bottom-color:#333}[data-theme=dark] .ingredient-amount{color:#64b5f6}[data-theme=dark] .ingredient-unit{color:#888}[data-theme=dark] .ingredient-name,[data-theme=dark] .instructions-text{color:#e0e0e0}[data-theme=dark] .sc-header{background:#2d2d2d;border-bottom-color:#444;color:#bbb}[data-theme=dark] .sc-row{border-bottom-color:#2a2a2a}[data-theme=dark] .sc-row:hover{background:#1e1e1e}[data-theme=dark] .sc-row-separate{background:#2a2200}[data-theme=dark] .sc-row-separate:hover{background:#332900}[data-theme=dark] .sc-name-col{color:#e0e0e0}[data-theme=dark] .sc-col-sublabel,[data-theme=dark] .sc-no-amount,[data-theme=dark] .sc-unit{color:#666}[data-theme=dark] .sc-legend{color:#888}[data-theme=dark] .special-cases-table{border-color:#444}[data-theme=dark] .supplements-section{background:linear-gradient(135deg,#2a2000,#2d2500);border-left-color:#f59e0b}[data-theme=dark] .supplements-content,[data-theme=dark] .supplements-section h2{color:#ffd54f}[data-theme=dark] .credits-section{background:#2d2d2d}[data-theme=dark] .credits-text{color:#888}[data-theme=dark] .credits-text strong{color:#bbb}[data-theme=dark] .notes-section{background:#1e1e1e}[data-theme=dark] .notes-section p{color:#aaa}[data-theme=dark] .recipe-form-container h1{color:#e0e0e0}[data-theme=dark] .loading-message{background:#2d2d2d;color:#e0e0e0}[data-theme=dark] .form-section{background:#1e1e1e;border-color:#333}[data-theme=dark] .form-section h2{color:#bbb}[data-theme=dark] .form-note{background:#0a1a2e;border-left-color:#64b5f6;color:#bbb}[data-theme=dark] .form-note strong{color:#64b5f6}[data-theme=dark] .form-group label{color:#bbb}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea,[data-theme=dark] .input-amount,[data-theme=dark] .input-name,[data-theme=dark] .input-unit{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .form-group small{color:#777}[data-theme=dark] .ingredient-header-row{border-bottom-color:#444;color:#777}[data-theme=dark] .ingredient-row{border-bottom-color:#333}[data-theme=dark] .combine-legend{background:#2d2d2d;color:#bbb}[data-theme=dark] .form-actions{background:#1e1e1e}[data-theme=dark] .btn-delete-ingredient{background:#2d2d2d;border-color:#ef9a9a;color:#ef9a9a}[data-theme=dark] .btn-delete-ingredient:hover{background:#dc3545;color:#fff}[data-theme=dark] .auth-box{background:#1e1e1e}[data-theme=dark] .auth-box h1{color:#e0e0e0}[data-theme=dark] .auth-subtitle{color:#777}[data-theme=dark] .auth-box .form-group label{color:#bbb}[data-theme=dark] .auth-box .form-group input{background-color:#2d2d2d;border-color:#444;color:#e0e0e0;color-scheme:dark}[data-theme=dark] .auth-box .form-group input:focus{border-color:#e86b35}[data-theme=dark] .auth-footer{color:#888}[data-theme=dark] .admin-header h2{color:#e0e0e0}[data-theme=dark] .admin-header p{color:#888}[data-theme=dark] .admin-tabs{border-bottom-color:#333}[data-theme=dark] .admin-tab{color:#888}[data-theme=dark] .admin-card{background:#1e1e1e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .admin-card h3{color:#e0e0e0}[data-theme=dark] .invite-email-input{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .invitation-item{border-color:#333}[data-theme=dark] .invitation-item.expired{background:#1a1a1a}[data-theme=dark] .inv-email{color:#e0e0e0}[data-theme=dark] .inv-meta{color:#777}[data-theme=dark] .user-item{border-color:#333}[data-theme=dark] .user-name{color:#e0e0e0}[data-theme=dark] .user-date,[data-theme=dark] .user-meta{color:#777}[data-theme=dark] .role-select{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .invitation-item.used{background:#1e1a2e;border-color:#3d2a5e}[data-theme=dark] .invitation-item.active,[data-theme=dark] .invite-result{background:#162a1e;border-color:#1a4a2a}[data-theme=dark] .invite-result-header{background:#1a3a22;color:#81c784}[data-theme=dark] .invite-link-text{background:#2d2d2d;border-color:#444;color:#bbb}[data-theme=dark] .btn-close{color:#81c784}[data-theme=dark] .invite-type-btn{background:#2a2a2a;border-color:#3a3a3a;color:#999}[data-theme=dark] .invite-type-btn:hover{background:#333;border-color:#555;color:#bbb}[data-theme=dark] .invite-type-btn.active-stamm{background:#2d2010;border-color:#8b6914;color:#f5c842}[data-theme=dark] .invite-type-btn.active-genuss{background:#2d1a0e;border-color:#e86b35;color:#f59c6b}[data-theme=dark] .empty-text,[data-theme=dark] .loading-text{color:#666}[data-theme=dark] .btn-copy-sm{background:#0d2a4a;color:#64b5f6}[data-theme=dark] .btn-copy-sm:hover{background:#163a5f}[data-theme=dark] .btn-delete{background:#3d1515;color:#ef9a9a}[data-theme=dark] .btn-delete:hover{background:#521c1c}[data-theme=dark] .inbox-section{background:#1e1a0a;border-color:#3a3010}[data-theme=dark] .inbox-section h2{color:#e0e0e0}[data-theme=dark] .inbox-item{background:#2d2d2d;border-color:#444}[data-theme=dark] .inbox-item-info strong{color:#e0e0e0}[data-theme=dark] .inbox-category{background:#333;color:#aaa}[data-theme=dark] .inbox-from{color:#888}[data-theme=dark] .inbox-badge{background:#e86b35;color:#fff}[data-theme=dark] .modal-hint{color:#aaa}[data-theme=dark] .share-tabs{border-color:#333}[data-theme=dark] .share-tab{color:#aaa}[data-theme=dark] .share-tab.active{border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .share-link-input{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .share-hint{color:#aaa}[data-theme=dark] .share-user-input{background:#2d2d2d;border-color:#444;color:#e0e0e0}[data-theme=dark] .share-success{background:#1a2e1a;color:#81c784}[data-theme=dark] .share-error{background:#2e1a1a;color:#ef9a9a}[data-theme=dark] .copyright-confirm{background:#2d2d1a;border-color:#555}[data-theme=dark] .image-manager-actions{background:#2d2d2d}[data-theme=dark] .image-manager-item{border-color:#333}[data-theme=dark] .sc-toggle-combined{background:#1a2e1a;border-color:#4caf50}[data-theme=dark] .sc-toggle-separate{background:#2e2a1a;border-color:#aaa}[data-theme=dark] .loading{color:#aaa}[data-theme=dark] .badge-active{background:#1a2e1a;color:#81c784}[data-theme=dark] .badge-expired{background:#333;color:#aaa}[data-theme=dark] .badge-used{background:#2a1a3e;color:#ce93d8}[data-theme=dark] .badge-admin{background:#2e2a1a;color:#ffd54f}[data-theme=dark] .error{color:#ef9a9a}
/*# sourceMappingURL=main.e7084b71.css.map*/