.user-menu{position:relative}.user-menu-button{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;overflow:hidden;width:40px;height:40px}.user-avatar{width:100%;height:100%;object-fit:cover}.user-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#4a7c2d;color:#fff;font-weight:600;font-size:.9rem}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:240px;z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:1rem}.user-info strong{display:block;color:#333;margin-bottom:.25rem}.user-info small{display:block;color:#666;font-size:.85rem}.admin-badge{display:inline-block;background-color:#4a7c2d;color:#fff;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;margin-top:.5rem;text-transform:uppercase}.user-menu-divider{height:1px;background-color:#eee;margin:.5rem 0}.user-menu-links{padding:.5rem 0}.user-menu-link{display:block;padding:.75rem 1rem;color:#333;text-decoration:none;transition:background-color .2s}.user-menu-link:hover{background-color:#f5f5f5}.user-menu-link.admin{color:#4a7c2d;font-weight:600}.user-menu-logout{width:100%;padding:.75rem 1rem;background:none;border:none;color:#c33;font-weight:600;cursor:pointer;text-align:left;transition:background-color .2s}.user-menu-logout:hover{background-color:#fee}.user-menu-auth-links{display:flex;gap:1rem}.auth-link{padding:.5rem 1rem;text-decoration:none;color:#333;border-radius:6px;font-weight:500;transition:all .2s}.auth-link:hover{background-color:#ffffff1a}.auth-link.primary{background-color:#2d5016;color:#fff}.auth-link.primary:hover{background-color:#3d6020}.theme-toggle{background:#fff3;border:1px solid rgba(255,255,255,.3);width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;padding:0;transition:all .2s ease}.theme-toggle:hover{background:#ffffff4d;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d5016,#4a7c2d);padding:2rem 1rem}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:420px;width:100%;padding:2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#2d5016}.auth-header h2{font-size:1.5rem;margin:0 0 .5rem;color:#333}.auth-header p{color:#666;margin:0}.auth-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.auth-success{background-color:#efe;border:1px solid #cfc;color:#363;padding:1rem;border-radius:6px;margin-bottom:1.5rem}.auth-success p{margin:.5rem 0}.auth-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4a7c2d;box-shadow:0 0 0 3px #4a7c2d1a}.form-help{display:block;margin-top:.25rem;color:#666;font-size:.8rem}.form-footer{margin-bottom:1rem;text-align:right}.forgot-password-link{color:#4a7c2d;text-decoration:none;font-size:.9rem}.forgot-password-link:hover{text-decoration:underline}.auth-button{width:100%;padding:.875rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button.primary{background-color:#2d5016;color:#fff}.auth-button.primary:hover:not(:disabled){background-color:#3d6020}.auth-button.google{background-color:#fff;color:#333;border:1px solid #ddd}.auth-button.google:hover:not(:disabled){background-color:#f8f8f8;border-color:#ccc}.google-icon{width:20px;height:20px}.auth-divider{margin:1.5rem 0;text-align:center;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#ddd}.auth-divider span{position:relative;background-color:#fff;padding:0 1rem;color:#666;font-size:.9rem}.auth-links{text-align:center;margin-top:1.5rem}.auth-links p{color:#666;font-size:.9rem;margin:0}.auth-links a{color:#4a7c2d;text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #4a7c2d;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding:3rem 2rem}.error-container h2{color:#c33;margin-bottom:1rem}@media (max-width: 480px){.auth-card{padding:2rem 1.5rem}.auth-header h1{font-size:2rem}.auth-header h2{font-size:1.25rem}}.cookbooks-page{max-width:1400px;margin:0 auto;padding:2rem}.cookbooks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.cookbooks-header h1{font-size:2.5rem;color:#2e7d32;margin:0}.header-actions{display:flex;gap:1rem}.page-toolbar{display:flex;justify-content:flex-start;background:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 1px 3px #00000014;border:1px solid #e0e0e0}.cookbooks-section{margin-bottom:3rem}.cookbooks-section h2{font-size:1.8rem;color:#1b5e20;margin-bottom:1.5rem}.pagination-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;background:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014;border:1px solid #e0e0e0}.cookbooks-grid{display:grid;gap:1.5rem}.cookbook-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;aspect-ratio:1 / 1}.cookbook-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.cookbook-cover{width:100%;height:50%;object-fit:cover;flex-shrink:0}.cookbook-cover-placeholder{width:100%;height:50%;background:linear-gradient(135deg,#81c784,#4caf50);display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0}.cookbook-info{padding:.5rem;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cookbook-info h3{font-size:.75rem;color:#212121;margin:0 0 .25rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.cookbook-info .description{display:none}.cookbook-info .cookbook-stats{margin-top:auto;display:flex;flex-direction:column;gap:.1rem}.cookbook-info .recipe-count,.cookbook-info .cookbook-count{font-size:.6rem;color:#2e7d32;font-weight:600;margin:0;line-height:1.2;white-space:nowrap}.cookbook-info .cookbook-tags{display:none}.cookbooks-grid.columns-3 .cookbook-info h3{font-size:.95rem}.cookbooks-grid.columns-3 .recipe-count,.cookbooks-grid.columns-3 .cookbook-count{font-size:.75rem}.cookbooks-grid.columns-5 .cookbook-info h3{font-size:.85rem}.cookbooks-grid.columns-5 .recipe-count,.cookbooks-grid.columns-5 .cookbook-count{font-size:.7rem}.recent-recipes-section{margin-top:3rem}.recent-recipes-section h2{font-size:1.8rem;color:#1b5e20;margin:0}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.recent-recipes-section .recipe-card{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;aspect-ratio:1 / 1}.recent-recipes-section .recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.recent-recipes-section .recipe-card img{width:100%;height:60%;object-fit:cover;display:block;flex-shrink:0}.recent-recipes-section .recipe-info{padding:.5rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:0}.recent-recipes-section .recipe-info h3{margin:0 0 .25rem;font-size:.75rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.recent-recipes-section .recipe-info .description{margin:0;font-size:.65rem;color:#666;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:1}.recent-recipes-section .recipe-meta{display:flex;gap:.4rem;font-size:.6rem;color:#888;flex-shrink:0;margin-top:auto}.recent-recipes-section .columns-3 .recipe-info h3{font-size:.95rem}.recent-recipes-section .columns-3 .recipe-info .description{font-size:.8rem;-webkit-line-clamp:2}.recent-recipes-section .columns-3 .recipe-meta{font-size:.75rem}.recent-recipes-section .columns-5 .recipe-info h3{font-size:.85rem}.recent-recipes-section .columns-5 .recipe-info .description{font-size:.75rem;-webkit-line-clamp:2}.recent-recipes-section .columns-5 .recipe-meta{font-size:.7rem}.recent-recipes-section .columns-7 .recipe-info .description,.recent-recipes-section .columns-9 .recipe-info .description{display:none}.empty-state{text-align:center;padding:3rem 1rem;color:#757575}.empty-state p{margin-bottom:1.5rem}.btn-primary:hover{background-color:#1b5e20}.btn-link{background:none;border:none;color:#2e7d32;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:color .2s}.btn-link:hover{color:#1b5e20;text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;overflow-y:auto;padding:2rem 0}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;margin:auto}.modal h2{margin:0 0 1.5rem;color:#1b5e20}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.form-section{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.cookbooks-page{padding:1rem}.cookbooks-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;flex-direction:column}.header-actions button{width:100%}.page-toolbar,.pagination-toolbar{flex-direction:column;align-items:stretch;padding:1rem}.display-controls,.pagination-controls{flex-direction:column;align-items:stretch;gap:1rem}.cookbooks-grid,.recipes-grid{grid-template-columns:1fr}}.cookbook-stats{display:flex;gap:1rem;margin-top:.5rem}.cookbook-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.cookbook-tags .tag{font-size:.75rem;padding:.125rem .5rem;background:#e3f2fd;color:#1976d2;border-radius:12px}.cookbook-detail-page{max-width:1400px;margin:0 auto;padding:2rem}.cookbook-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.back-btn{background:none;border:none;color:#2e7d32;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:1rem;padding:.5rem 0;transition:color .2s}.cookbook-title-section{margin-bottom:1rem}.cookbook-title-section h1{font-size:2.5rem;color:#2e7d32;margin:0 0 .5rem}.cookbook-description{font-size:1.1rem;color:#666;margin:0 0 .5rem;line-height:1.5}.recipe-count{font-size:.95rem;color:#757575;margin:0}.cookbook-actions{margin-top:1rem;display:flex;gap:1rem}.btn-edit{background-color:#2e7d32;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-edit:hover{background-color:#1b5e20}.btn-delete{background-color:#d32f2f;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-delete:hover{background-color:#b71c1c}.quick-filters-section{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:2px solid #2e7d32;box-shadow:0 4px 12px #2e7d3226}.quick-filters-section h3{color:#1b5e20;font-size:1.1rem;margin:0 0 1rem;font-weight:600}.quick-tag-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.quick-tag-btn{padding:.75rem 1.5rem;border:2px solid #2e7d32;background:#fff;border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;color:#2e7d32;box-shadow:0 2px 4px #0000001a}.quick-tag-btn:hover{background-color:#f1f8e9;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.quick-tag-btn.active{background-color:#2e7d32;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #2e7d324d}.quick-tag-btn .checkmark{font-weight:700;font-size:1.2rem}.filters-section{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.search-box{margin-bottom:1.5rem}.search-box input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-box input:focus{outline:none;border-color:#2e7d32}.filter-group{margin-bottom:1rem}.filter-group label{display:block;font-weight:600;color:#424242;margin-bottom:.5rem;font-size:.95rem}.tag-filters{display:flex;flex-wrap:wrap;gap:.5rem}.tag-filter{padding:.5rem 1rem;border:2px solid #e0e0e0;background:#fff;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s}.tag-filter:hover{border-color:#2e7d32;background-color:#f1f8e9}.tag-filter.active{background-color:#2e7d32;color:#fff;border-color:#2e7d32}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-row .filter-group{flex:1;min-width:200px;margin-bottom:0}.filter-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s}.filter-group select:focus{outline:none;border-color:#2e7d32}.btn-clear-filters{background-color:#757575;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s}.btn-clear-filters:hover{background-color:#616161}.cookbook-toolbar{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;background:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014;border:1px solid #e0e0e0}.display-controls,.pagination-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.control-group label{font-size:.8rem;font-weight:500;color:#666;white-space:nowrap}.column-buttons,.items-per-page{display:flex;gap:.25rem;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden}.column-buttons button,.items-per-page button{min-width:2rem;padding:.35rem .6rem;border:none;background:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;color:#555}.column-buttons button:not(:last-child),.items-per-page button:not(:last-child){border-right:1px solid #d0d0d0}.column-buttons button:hover,.items-per-page button:hover{background-color:#f5f5f5}.column-buttons button.active,.items-per-page button.active{background-color:#2e7d32;color:#fff}.page-navigation{display:flex;gap:.5rem;align-items:center}.page-navigation button{padding:.35rem .75rem;border:1px solid #d0d0d0;background:#fff;color:#555;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.page-navigation button:hover:not(:disabled){background-color:#f5f5f5;border-color:#2e7d32;color:#2e7d32}.page-navigation button:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:.75rem;font-weight:500;color:#666;white-space:nowrap;margin:0 .25rem}.results-section{margin-top:2rem}.results-count{font-size:.95rem;color:#757575;margin-bottom:1.5rem}.recipes-grid{display:grid;gap:1.5rem}.recipe-card{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;position:relative;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;aspect-ratio:1 / 1}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.recipe-card>div:first-child{cursor:pointer;display:flex;flex-direction:column;flex:1;min-height:0}.recipe-card img.recipe-image{width:100%;height:60%;object-fit:cover;display:block;flex-shrink:0}.recipe-image-placeholder{width:100%;height:60%;background:linear-gradient(135deg,#ffb74d,#ff9800);display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0}.recipe-info{padding:.5rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:0}.recipe-info h3{margin:0 0 .25rem;font-size:.75rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.recipe-info .description{margin:0;font-size:.65rem;color:#666;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:1}.recipe-meta{display:flex;gap:.4rem;font-size:.6rem;color:#888;flex-shrink:0;margin-top:auto}.recipe-tags{display:none}.columns-3 .recipe-info h3{font-size:.95rem}.columns-3 .recipe-info .description{font-size:.8rem;-webkit-line-clamp:2}.columns-3 .recipe-meta{font-size:.75rem}.columns-5 .recipe-info h3{font-size:.85rem}.columns-5 .recipe-info .description{font-size:.75rem;-webkit-line-clamp:2}.columns-5 .recipe-meta{font-size:.7rem}.columns-7 .recipe-info .description,.columns-9 .recipe-info .description{display:none}.remove-recipe-btn{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;border-radius:50%;background-color:#d32f2fe6;color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:0}.recipe-card:hover .remove-recipe-btn{opacity:1}.remove-recipe-btn:hover{background-color:#b71c1c;transform:scale(1.1)}.empty-state{text-align:center;padding:3rem 1rem;color:#757575;font-size:1.1rem}@media (max-width: 768px){.cookbook-detail-page{padding:1rem}.cookbook-title-section h1{font-size:2rem}.filters-section{padding:1rem}.filter-row{flex-direction:column}.filter-row .filter-group{width:100%}.cookbook-toolbar{flex-direction:column;align-items:stretch;padding:1rem}.display-controls,.pagination-controls{flex-direction:column;align-items:stretch;gap:1rem}.recipes-grid,.included-cookbooks-section .cookbooks-grid{grid-template-columns:1fr}}.included-cookbooks-section{margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:8px}.included-cookbooks-section h2{margin-bottom:1rem;color:#333;font-size:1.5rem}.included-cookbooks-section .cookbooks-grid{display:grid;gap:1.5rem}.cookbook-card.nested{border:2px solid #e0e0e0;background:#fff;cursor:pointer;transition:all .2s ease;aspect-ratio:1 / 1;display:flex;flex-direction:column}.cookbook-card.nested:hover{border-color:#2e7d32;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.cookbook-card.nested .cookbook-cover,.cookbook-card.nested .cookbook-cover-placeholder{height:50%;font-size:2.5rem}.cookbook-card.nested .cookbook-info{padding:.5rem;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cookbook-card.nested .cookbook-info h3{font-size:.75rem;color:#212121;margin:0 0 .25rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.cookbook-card.nested .cookbook-info .description{display:none}.cookbook-card.nested .cookbook-stats{margin-top:auto;display:flex;flex-direction:column;gap:.1rem}.cookbook-card.nested .recipe-count,.cookbook-card.nested .cookbook-count{font-size:.6rem;color:#2e7d32;font-weight:600;margin:0;line-height:1.2;white-space:nowrap}.cookbook-card.nested .cookbook-tags{display:none}.cookbooks-grid.columns-3 .cookbook-card.nested .cookbook-info h3{font-size:.95rem}.cookbooks-grid.columns-3 .cookbook-card.nested .recipe-count,.cookbooks-grid.columns-3 .cookbook-card.nested .cookbook-count{font-size:.75rem}.cookbooks-grid.columns-5 .cookbook-card.nested .cookbook-info h3{font-size:.85rem}.cookbooks-grid.columns-5 .cookbook-card.nested .recipe-count,.cookbooks-grid.columns-5 .cookbook-card.nested .cookbook-count{font-size:.7rem}.edit-cookbook-page{max-width:800px;margin:0 auto;padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;color:#2e7d32;margin:1rem 0 0}.back-btn{background:none;border:none;color:#2e7d32;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;transition:color .2s}.back-btn:hover{color:#1b5e20;text-decoration:underline}.edit-cookbook-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.form-group label{display:block;font-weight:600;color:#424242;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2e7d32}.help-text{font-size:.85rem;color:#757575;margin:0 0 .75rem;font-weight:400}.form-section{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.form-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.form-section-icon{font-size:1.5rem;line-height:1}.form-section-title{flex:1}.form-section-title h2{font-size:1.3rem;color:#2e7d32;margin:0 0 .25rem;font-weight:600}.form-section-title p{font-size:.9rem;color:#757575;margin:0;font-weight:400}.form-section-content{margin-top:1rem}.form-section.collapsible .form-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;margin:-1.5rem -1.5rem 0;padding:1.5rem;border-radius:12px 12px 0 0}.form-section.collapsible .form-section-header:hover{background-color:#2e7d320d}.form-section-toggle{font-size:1.2rem;color:#2e7d32;transition:transform .2s}.form-section.collapsed .form-section-toggle{transform:rotate(-90deg)}.form-section.collapsed .form-section-content{display:none}.form-subsection{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.form-subsection:last-child{margin-bottom:0}.form-subsection-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.form-subsection-icon{font-size:1.2rem;line-height:1}.form-subsection-header h3{font-size:1.1rem;color:#424242;margin:0;font-weight:600}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;min-height:2rem}.filter-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#e8f5e9;color:#2e7d32;border-radius:16px;font-size:.9rem;font-weight:500}.filter-chip button{background:none;border:none;color:#2e7d32;font-size:1.2rem;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.filter-chip button:hover{background-color:#2e7d3233}.input-with-button{display:flex;gap:.5rem}.input-with-button input{flex:1}.btn-add-filter{background-color:#2e7d32;color:#fff;border:none;width:40px;height:40px;border-radius:8px;font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.btn-add-filter:hover{background-color:#1b5e20}.image-preview{margin-bottom:1rem}.image-preview img{max-width:300px;max-height:200px;object-fit:cover;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:.5rem}.image-url{font-size:.85rem;color:#666;margin:0;word-break:break-all}.image-upload-section{background-color:#f9f9f9;padding:1rem;border-radius:8px;border:2px dashed #e0e0e0}.file-input-label{display:inline-block;padding:.75rem 1.5rem;background-color:#2e7d32;color:#fff;border-radius:8px;cursor:pointer;transition:background-color .2s;font-weight:600;margin-bottom:1rem}.file-input-label:hover{background-color:#1b5e20}.file-selected{display:flex;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0}.file-selected span{flex:1;font-size:.9rem;color:#424242}.btn-upload{background-color:#1976d2;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.btn-upload:hover:not(:disabled){background-color:#1565c0}.btn-upload:disabled{background-color:#ccc;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #e0e0e0}.btn-primary{background-color:#2e7d32;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#1b5e20}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#2e7d32;border:2px solid #2e7d32;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#f1f8e9}.loading,.error{text-align:center;padding:3rem;font-size:1.1rem;color:#757575}@media (max-width: 768px){.edit-cookbook-page{padding:1rem}.edit-cookbook-form{padding:1.5rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.recipe-list-page{padding:1rem}.recipe-list-page h2{margin-bottom:1rem}.recipe-list-toolbar{position:sticky;top:0;background:var(--bg-primary, #ffffff);z-index:100;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.toolbar-section{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-bottom:.75rem}.toolbar-section:last-child{margin-bottom:0}.search-section{display:flex;align-items:center;gap:.5rem;flex:1;min-width:250px}.search-input-wrapper{position:relative;flex:1;max-width:400px}.search-input-wrapper input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:.9rem}.search-input-wrapper input:focus{outline:none;border-color:var(--primary-color, #4a90a4);box-shadow:0 0 0 2px #4a90a433}.search-type-toggle{display:flex;border:1px solid var(--border-color, #ccc);border-radius:4px;overflow:hidden}.search-type-toggle button{padding:.5rem .75rem;border:none;background:var(--bg-secondary, #f5f5f5);cursor:pointer;font-size:.85rem;transition:background-color .2s,color .2s}.search-type-toggle button:first-child{border-right:1px solid var(--border-color, #ccc)}.search-type-toggle button.active{background:var(--primary-color, #4a90a4);color:#fff}.search-type-toggle button:hover:not(.active){background:var(--bg-hover, #e8e8e8)}.display-controls{display:flex;align-items:center;gap:1rem}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.85rem;color:var(--text-primary, #333);white-space:nowrap}.column-buttons{display:flex;border:1px solid var(--border-color, #ccc);border-radius:4px;overflow:hidden}.column-buttons button{padding:.4rem .6rem;border:none;background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);cursor:pointer;font-size:.85rem;min-width:32px;transition:background-color .2s,color .2s;font-weight:500}.column-buttons button:not(:last-child){border-right:1px solid var(--border-color, #ccc)}.column-buttons button.active{background:var(--primary-color, #4a90a4);color:#fff}.column-buttons button:hover:not(.active){background:var(--bg-hover, #e8e8e8)}.size-slider-wrapper{display:flex;align-items:center;gap:.5rem}.size-slider{width:120px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color, #ccc);border-radius:2px;outline:none}.size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary-color, #4a90a4);border-radius:50%;cursor:pointer}.size-slider::-moz-range-thumb{width:16px;height:16px;background:var(--primary-color, #4a90a4);border-radius:50%;cursor:pointer;border:none}.size-label{font-size:.8rem;color:var(--text-secondary, #666);min-width:50px}.pagination-controls{display:flex;align-items:center;gap:1rem}.items-per-page{display:flex;border:1px solid var(--border-color, #ccc);border-radius:4px;overflow:hidden}.items-per-page button{padding:.4rem .6rem;border:none;background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);cursor:pointer;font-size:.85rem;min-width:36px;transition:background-color .2s,color .2s;font-weight:500}.items-per-page button:not(:last-child){border-right:1px solid var(--border-color, #ccc)}.items-per-page button.active{background:var(--primary-color, #4a90a4);color:#fff}.items-per-page button:hover:not(.active){background:var(--bg-hover, #e8e8e8)}.page-navigation{display:flex;align-items:center;gap:.5rem}.page-navigation button{padding:.4rem .6rem;border:1px solid var(--border-color, #ccc);border-radius:4px;background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .2s}.page-navigation button:hover:not(:disabled){background:var(--bg-hover, #e8e8e8)}.page-navigation button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.85rem;color:var(--text-primary, #333);white-space:nowrap}.recipe-grid-enhanced{display:grid;gap:1.5rem}.recipe-grid-enhanced .recipe-card{cursor:pointer;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;overflow:hidden;background:var(--bg-primary, #ffffff);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;aspect-ratio:1 / 1}.recipe-grid-enhanced .recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.recipe-grid-enhanced .recipe-card img{width:100%;height:60%;object-fit:cover;display:block;flex-shrink:0}.recipe-grid-enhanced .recipe-card-content{padding:.5rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:0}.recipe-grid-enhanced .recipe-card-content h3{margin:0 0 .25rem;font-size:.75rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.recipe-grid-enhanced .recipe-card-content p{margin:0;font-size:.65rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;flex-shrink:1}.recipe-grid-enhanced .recipe-meta{display:flex;gap:.4rem;font-size:.6rem;color:var(--text-secondary, #888);flex-shrink:0;margin-top:auto}.recipe-grid-enhanced.columns-3 .recipe-card-content h3{font-size:.95rem}.recipe-grid-enhanced.columns-3 .recipe-card-content p{font-size:.8rem;-webkit-line-clamp:2}.recipe-grid-enhanced.columns-3 .recipe-meta{font-size:.75rem}.recipe-grid-enhanced.columns-5 .recipe-card-content h3{font-size:.85rem}.recipe-grid-enhanced.columns-5 .recipe-card-content p{font-size:.75rem;-webkit-line-clamp:2}.recipe-grid-enhanced.columns-5 .recipe-meta{font-size:.7rem}.recipe-grid-enhanced.columns-7 .recipe-card-content p,.recipe-grid-enhanced.columns-9 .recipe-card-content p{display:none}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.loading{text-align:center;padding:3rem}.error{text-align:center;padding:2rem;color:var(--error-color, #dc3545)}@media (max-width: 768px){.recipe-list-toolbar{position:static}.toolbar-section,.search-section{flex-direction:column;align-items:stretch}.search-input-wrapper{max-width:none}.display-controls,.pagination-controls{flex-wrap:wrap;justify-content:center}.recipe-grid-enhanced{grid-template-columns:repeat(1,1fr)!important}}@media (max-width: 480px){.recipe-list-page{padding:.5rem}.control-group{flex-direction:column;align-items:flex-start}}.unified-recipe-edit{background-color:#fafafa;min-height:100vh;padding:1.5rem;font-size:1.05rem}.unified-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:3px solid #1976d2}.unified-title h1{font-size:2rem;margin:0;color:#1976d2;line-height:1.2}.unified-title h2{font-size:1.5rem;margin:.5rem 0 0;color:#555;font-weight:400}.unified-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.unified-controls button{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;background-color:#1976d2;color:#fff;font-weight:500;transition:background-color .2s}.unified-controls button:hover:not(:disabled){background-color:#0d47a1}.unified-controls button:disabled{background-color:#ccc;cursor:not-allowed}.unified-controls .save-btn{background-color:#2e7d32}.unified-controls .save-btn:hover:not(:disabled){background-color:#1b5e20}.unified-controls .regenerate-btn{background-color:#ff9800}.unified-controls .regenerate-btn:hover:not(:disabled){background-color:#f57c00}.unified-controls .cancel-btn{background-color:#757575}.unified-controls .cancel-btn:hover{background-color:#424242}.unsaved-changes-banner{background-color:#fff3e0;border:2px solid #ff9800;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;font-weight:500;color:#e65100}.basic-info-section{background-color:#fff;border:2px solid #1976d2;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.basic-info-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#e3f2fd;cursor:pointer;-webkit-user-select:none;user-select:none}.basic-info-header:hover{background-color:#bbdefb}.basic-info-header h3{margin:0;font-size:1.1rem;color:#1976d2}.collapse-icon{font-size:1.2rem;color:#1976d2;transition:transform .3s}.collapse-icon.collapsed{transform:rotate(-90deg)}.basic-info-content{padding:1rem}.form-group{margin-bottom:.75rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem;color:#333;font-size:.9rem}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;font-family:inherit}.form-group textarea{min-height:60px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.image-upload-section{padding:.75rem;background-color:#f5f5f5;border-radius:6px}.current-image{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.5rem}.current-image img{max-width:200px;border-radius:6px;box-shadow:0 2px 4px #0000001a}.image-actions{display:flex;flex-direction:column;gap:.5rem}.image-note{color:#666;font-size:.9rem;margin:0}.btn-delete-image{padding:.5rem 1rem;background-color:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.file-input-label{display:inline-block;padding:.5rem 1rem;background-color:#1976d2;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;border:none;font-weight:500;transition:background-color .2s}.file-input-label:hover{background-color:#0d47a1}.image-upload-control{display:inline-block}.edit-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.ingredients-panel{position:sticky;top:1.5rem;background-color:#fff;padding:1.5rem;border-radius:12px;border:2px solid #2e7d32;max-height:calc(100vh - 10rem);overflow-y:auto;display:flex;flex-direction:column}.ingredients-panel h3{margin-top:0;font-size:1.5rem;color:#2e7d32;margin-bottom:1rem}.ingredients-list{list-style:none;padding:0;margin:0 0 1rem;flex:1;overflow-y:auto;min-height:0}.ingredient-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:4px;transition:background-color .2s;border-bottom:1px solid #e0e0e0;margin-bottom:.5rem}.ingredient-item:hover{background-color:#e8f5e9}.ingredient-item.selected{background-color:#c8e6c9;border:2px solid #2e7d32}.ingredient-checkbox{width:1.25rem;height:1.25rem;cursor:pointer}.drag-handle{color:#9e9e9e;font-size:1rem;cursor:grab;-webkit-user-select:none;user-select:none}.ingredient-item.dragging{opacity:.5;cursor:grabbing}.ingredient-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.ingredient-inputs{display:grid;grid-template-columns:60px 60px 1fr;gap:.25rem;margin-bottom:.25rem}.ingredient-inputs input{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.ingredient-notes-input{width:100%;padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;font-style:italic;color:#666}.ingredient-notes-input::placeholder{color:#999;font-style:italic}.ingredient-notes-input:focus{outline:none;border-color:#2e7d32;color:#333}.ingredient-display{font-size:1.05rem;cursor:pointer}.ingredient-display:hover{color:#1b5e20}.btn-remove-ingredient{background:none;border:none;color:#d32f2f;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;line-height:1}.btn-remove-ingredient:hover{background-color:#ffebee}.ingredient-actions{display:flex;gap:.5rem;margin-bottom:1rem;flex-shrink:0}.btn-add-ingredient,.btn-delete-selected{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-add-ingredient{background-color:#2e7d32;color:#fff}.btn-add-ingredient:hover{background-color:#1b5e20}.btn-delete-selected{background-color:#d32f2f;color:#fff}.btn-delete-selected:hover:not(:disabled){background-color:#b71c1c}.btn-delete-selected:disabled{background-color:#ccc;cursor:not-allowed}.bulk-actions{margin-top:1rem;padding-top:1rem;border-top:2px solid #e0e0e0;flex-shrink:0}.bulk-actions p{font-size:.9rem;color:#666;margin:0 0 .5rem}.bulk-actions select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;margin-bottom:.5rem}.bulk-actions button{width:100%;padding:.5rem 1rem;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.bulk-actions button:hover:not(:disabled){background-color:#0d47a1}.bulk-actions button:disabled{background-color:#ccc;cursor:not-allowed}.instructions-panel{background-color:transparent}.instructions-panel h3{font-size:1.75rem;color:#1976d2;margin-bottom:1.5rem;margin-top:0}.instructions-list{list-style:none;padding:0;margin:0}.instruction-item{background-color:#fff;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:2px solid #e0e0e0;transition:all .3s ease}.instruction-item:hover{border-color:#1976d2}.instruction-item.drag-over{border-color:#2e7d32;background-color:#f1f8e9;box-shadow:0 4px 12px #2e7d3233}.instruction-item.dragging{opacity:.6;background-color:#f5f5f5;box-shadow:0 8px 16px #0003;border-color:#1976d2;transform:rotate(2deg)}.instruction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.instruction-header-left{display:flex;align-items:center;gap:.75rem}.instruction-drag-handle{cursor:grab;color:#999;font-size:1.3rem;display:flex;align-items:center;padding:.25rem;-webkit-user-select:none;user-select:none;transition:color .2s}.instruction-drag-handle:hover{color:#1976d2}.step-number{font-size:1.3rem;font-weight:700;color:#1976d2}.instruction-controls{display:flex;gap:.5rem}.btn-edit-instruction,.btn-delete-instruction{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-edit-instruction{background-color:#1976d2;color:#fff}.btn-edit-instruction:hover{background-color:#0d47a1}.btn-delete-instruction{background-color:#d32f2f;color:#fff}.btn-delete-instruction:hover{background-color:#b71c1c}.instruction-timing-input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;margin-bottom:.5rem}.instruction-timing-display{font-size:1rem;color:#d84315;background-color:#fff3e0;padding:.5rem 1rem;border-radius:6px;font-weight:500;display:inline-block}.instruction-text-display{font-size:1.2rem;line-height:1.8;color:#212121;margin-bottom:1rem;cursor:pointer;padding:.5rem;border-radius:4px}.instruction-text-display:hover{background-color:#f5f5f5}.instruction-text-input{width:100%;min-height:80px;padding:.75rem;border:2px solid #1976d2;border-radius:4px;font-size:1.1rem;font-family:inherit;resize:vertical;margin-bottom:.5rem}.instruction-edit-actions{display:flex;gap:.5rem;margin-bottom:1rem}.btn-save-instruction,.btn-cancel-instruction{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-save-instruction{background-color:#2e7d32;color:#fff}.btn-save-instruction:hover{background-color:#1b5e20}.btn-cancel-instruction{background-color:#757575;color:#fff}.btn-cancel-instruction:hover{background-color:#424242}.drop-zone{background-color:#f1f8e9;padding:1rem 1.25rem;border-radius:8px;margin-top:1rem;border-left:4px solid #2e7d32;min-height:60px}.drop-zone-header{color:#1b5e20;font-size:1.05rem;font-weight:500;display:block;margin-bottom:.5rem}.mapped-ingredients-list{list-style:none;padding:0;margin:0}.mapped-ingredient-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;border-radius:4px;transition:background-color .2s;margin-bottom:.25rem}.mapped-ingredient-item:hover{background-color:#dcedc8}.mapped-ingredient-text{flex:1;font-size:1.05rem}.no-ingredients-mapped{color:#757575;font-style:italic;margin:.5rem 0;text-align:center;padding:1rem}.btn-add-instruction{padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem}.btn-add-instruction:hover{background-color:#0d47a1}.section-container{margin-bottom:3rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background-color:#e3f2fd;border-radius:8px;border:2px solid #1976d2}.section-header h4{font-size:1.5rem;margin:0;color:#0d47a1}.section-timing{font-size:1rem;color:#666;background-color:#fff3e0;padding:.5rem 1rem;border-radius:6px;font-weight:500}.btn-remove-section{padding:.5rem 1rem;background-color:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-remove-section:hover{background-color:#b71c1c}.btn-add-section{padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:2rem}.btn-add-section:hover{background-color:#0d47a1}.loading,.error{text-align:center;padding:3rem;font-size:1.2rem}.error{color:#d32f2f}.unified-footer{position:sticky;bottom:0;background-color:#fff;border-top:3px solid #1976d2;padding:1rem 1.5rem;margin-top:2rem;display:flex;justify-content:center;gap:1rem;box-shadow:0 -2px 8px #0000001a;z-index:10}.unified-footer button{padding:.75rem 2rem;font-size:1.1rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background-color .2s}.unified-footer .save-btn-large{background-color:#2e7d32;color:#fff}.unified-footer .save-btn-large:hover:not(:disabled){background-color:#1b5e20}.unified-footer .save-btn-large:disabled{background-color:#ccc;cursor:not-allowed}.unified-footer .cancel-btn-large{background-color:#757575;color:#fff}.unified-footer .cancel-btn-large:hover{background-color:#424242}@media (max-width: 1024px){.edit-content{grid-template-columns:300px 1fr;gap:1rem}.ingredients-panel{font-size:.95rem}}@media (max-width: 768px){.unified-recipe-edit{padding:1rem}.unified-title h1{font-size:1.75rem}.unified-controls{flex-direction:column;width:100%}.unified-controls button{width:100%}.edit-content{grid-template-columns:1fr;gap:1.5rem}.ingredients-panel{position:static;max-height:none}.form-row{grid-template-columns:1fr}}.tags-input-container{border:2px solid #e0e0e0;border-radius:8px;padding:.75rem;background:#fff}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;min-height:2rem}.tags-list .tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background-color:#e8f5e9;color:#2e7d32;border-radius:16px;font-size:.9rem;font-weight:500}.tag-remove{background:none;border:none;color:#2e7d32;font-size:1.2rem;font-weight:700;cursor:pointer;padding:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.tag-remove:hover{background-color:#2e7d3233}.tag-input-row{display:flex;gap:.5rem}.tag-input-row input{flex:1;padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.95rem}.tag-input-row input:focus{outline:none;border-color:#2e7d32}.btn-add-tag{padding:.5rem 1rem;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s}.btn-add-tag:hover{background-color:#1b5e20}.field-help{font-size:.85rem;color:#757575;margin-top:.5rem;font-style:italic}.cooking-mode{background-color:#fafafa;min-height:100vh;padding:1.5rem}.cooking-mode.font-size-1{--content-font-scale: .7}.cooking-mode.font-size-2{--content-font-scale: .8}.cooking-mode.font-size-3{--content-font-scale: .9}.cooking-mode.font-size-4{--content-font-scale: .95}.cooking-mode.font-size-5{--content-font-scale: 1}.cooking-mode.font-size-6{--content-font-scale: 1.1}.cooking-mode.font-size-7{--content-font-scale: 1.2}.cooking-mode.font-size-8{--content-font-scale: 1.3}.cooking-mode.font-size-9{--content-font-scale: 1.4}.cooking-mode.font-size-10{--content-font-scale: 1.5}.cooking-mode.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;overflow-y:auto;padding:2rem;background-color:#fafafa}.cooking-mode-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:3px solid #2e7d32}.cooking-mode-title h1{font-size:2rem;margin:0;color:#1b5e20;line-height:1.2}.cooking-mode-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.cooking-mode-controls button{padding:.6rem 1rem;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;background-color:#2e7d32;color:#fff;font-weight:500;transition:background-color .2s}.cooking-mode-controls button:hover{background-color:#1b5e20}.cooking-mode-controls button:disabled{background-color:#ccc;cursor:not-allowed}.cooking-mode-controls .exit-btn{background-color:#d32f2f}.cooking-mode-controls .exit-btn:hover{background-color:#b71c1c}.cooking-mode-controls .fullscreen-btn{background-color:#1976d2}.cooking-mode-controls .fullscreen-btn:hover{background-color:#0d47a1}.cooking-mode-controls .manage-btn{background-color:#757575}.cooking-mode-controls .manage-btn:hover{background-color:#424242}.cooking-mode-controls .reset-mappings-btn{background-color:#ff9800}.cooking-mode-controls .reset-mappings-btn:hover{background-color:#f57c00}.servings-control{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:.5rem 1rem;border-radius:8px;border:2px solid #e0e0e0}.servings-control button{width:2.5rem;height:2.5rem;padding:0;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.servings-control span{font-weight:600;font-size:.95rem;white-space:nowrap}.toggle-inline-ingredients{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;padding:.75rem 1rem;border-radius:8px;border:2px solid #e0e0e0;font-size:.95rem}.toggle-inline-ingredients input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.cooking-mode-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;font-size:1rem;color:#555}.cooking-mode-meta span{background-color:#fff;padding:.75rem 1.25rem;border-radius:8px;border:1px solid #e0e0e0;font-weight:500}.cooking-mode-content{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 1024px){.cooking-mode-content{grid-template-columns:350px 1fr;align-items:start}.cooking-mode-ingredients-section{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}}.cooking-mode-ingredients-section{background-color:#fff;padding:1.5rem;border-radius:12px;border:2px solid #2e7d32}.cooking-mode-ingredients-section .hint-text{font-size:.9rem;color:#666;font-weight:400;font-style:italic}.cooking-mode-ingredients-section h2{margin-top:0;font-size:calc(1.5rem * var(--content-font-scale, 1));color:#2e7d32;margin-bottom:1rem;line-height:1.2}.cooking-mode-ingredients-section h3{font-size:calc(1.2rem * var(--content-font-scale, 1));color:#1b5e20;margin-top:1rem;margin-bottom:.5rem;line-height:1.2}.cooking-mode-ingredients-section ul{list-style:none;padding:0;margin:0}.cooking-mode-ingredients-section li{padding:.5rem;border-bottom:1px solid #e0e0e0}.cooking-mode-ingredients-section li:last-child{border-bottom:none}.ingredient-main{font-size:calc(1.05rem * var(--content-font-scale, 1));line-height:1.4;color:#212121}.ingredient-note{font-size:calc(.9rem * var(--content-font-scale, 1));line-height:1.3;color:#666;font-style:italic;margin-top:.15rem;padding-left:.5rem}.ingredient-section{margin-bottom:2rem}.cooking-mode-instructions h2{font-size:calc(1.5rem * var(--content-font-scale, 1));color:#2e7d32;margin-bottom:1rem;line-height:1.2}.instruction-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #2e7d32}.section-header h3{font-size:calc(1.3rem * var(--content-font-scale, 1));margin:0;color:#1b5e20;line-height:1.2}.section-timing{font-size:calc(.9rem * var(--content-font-scale, 1));color:#666;background-color:#fff3e0;padding:.4rem .8rem;border-radius:6px;font-weight:500}.instruction-step{background-color:#fff;padding:1rem;border-radius:12px;margin-bottom:1rem;border:2px solid #e0e0e0;transition:all .3s ease}.instruction-step.completed{background-color:#e8f5e9;border-color:#2e7d32;opacity:.7}.instruction-step.completed .step-text{text-decoration:line-through;color:#666}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.step-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.step-checkbox input[type=checkbox]{width:1.5rem;height:1.5rem;cursor:pointer;flex-shrink:0}.step-number{font-size:calc(1.2rem * var(--content-font-scale, 1));font-weight:700;color:#2e7d32;line-height:1.2}.instruction-timing{font-size:calc(.9rem * var(--content-font-scale, 1));color:#d84315;background-color:#fff3e0;padding:.4rem .8rem;border-radius:6px;font-weight:500}.step-text{font-size:calc(1.1rem * var(--content-font-scale, 1));line-height:1.5;color:#212121;margin-bottom:.75rem}.inline-ingredients{background-color:#f1f8e9;padding:.75rem 1rem;border-radius:8px;margin-top:.75rem;border-left:4px solid #2e7d32}.inline-ingredients strong{color:#1b5e20;font-size:calc(1rem * var(--content-font-scale, 1));display:block;margin-bottom:.4rem;line-height:1.2}.inline-ingredients ul{list-style:none;padding:0;margin:0}.inline-ingredients li{padding:.25rem 0;font-size:calc(1rem * var(--content-font-scale, 1));line-height:1.4;color:#33691e}.step-image{width:100%;max-width:600px;border-radius:8px;margin-top:1rem;box-shadow:0 2px 8px #0000001a}.cooking-mode-footer{text-align:center;padding:2rem 0;border-top:2px solid #e0e0e0}.exit-btn-large{padding:1rem 3rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;background-color:#d32f2f;color:#fff;font-weight:600;transition:background-color .2s}.exit-btn-large:hover{background-color:#b71c1c}@media (max-width: 768px){.cooking-mode-title h1{font-size:2rem}.cooking-mode-controls{flex-direction:column;width:100%}.cooking-mode-controls button{width:100%}.step-text{font-size:1.2rem}.inline-ingredients li{font-size:1.05rem}}@media print{.cooking-mode-header,.cooking-mode-controls,.cooking-mode-footer{display:none}.cooking-mode{background-color:#fff;padding:0}.instruction-step{page-break-inside:avoid;border:1px solid #ccc}}.collapsible-header{display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.collapse-icon{display:inline-block;font-size:.9em;margin-right:.25rem;transition:transform .2s ease}.step-number{display:flex;align-items:center;gap:.25rem}.instruction-step.collapsed{opacity:.6}.instruction-step.collapsed .step-header{margin-bottom:0}.toggle-auto-collapse{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;padding:.75rem 1rem;border-radius:8px;border:2px solid #e0e0e0;font-size:.95rem}.toggle-auto-collapse input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.font-size-control{display:flex;align-items:center;gap:.5rem;background-color:#fff;padding:.5rem .75rem;border-radius:8px;border:2px solid #e0e0e0}.font-size-btn{height:2.5rem;min-width:2.5rem;padding:0 .5rem;border:2px solid #2e7d32;border-radius:6px;cursor:pointer;background-color:#fff;color:#2e7d32;font-weight:700;font-size:1rem!important;display:flex;align-items:center;justify-content:center;transition:all .2s;white-space:nowrap}.font-size-btn.reset{font-size:.85rem!important;padding:0 .75rem}.font-size-btn:hover:not(:disabled){background-color:#2e7d32;color:#fff}.font-size-btn:disabled{opacity:.3;cursor:not-allowed;border-color:#ccc;color:#ccc}.font-size-label{font-size:.9rem!important;font-weight:500;color:#555;white-space:nowrap;margin:0 .25rem}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f9f9f9;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--brand-primary: #2d5016;--brand-secondary: #3d6821;--brand-hover: #1f3710;--border-color: #ddd;--border-light: #eee;--shadow: rgba(0,0,0,.1);--shadow-hover: rgba(0,0,0,.15)}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #242424;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--brand-primary: #4a7c2d;--brand-secondary: #5a8c3d;--brand-hover: #3d6821;--border-color: #404040;--border-light: #333333;--shadow: rgba(0,0,0,.3);--shadow-hover: rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}.header{background-color:var(--brand-primary);color:#fff;padding:1rem 0;box-shadow:0 2px 4px var(--shadow)}.header .container{display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo-container{display:flex;flex-direction:column;gap:.15rem}.logo{font-size:1.5rem;font-weight:700;margin:0}.logo a{color:#fff;text-decoration:none}.logo a:hover{opacity:.9}.version{font-size:.65rem;color:#90ee90;font-weight:500;letter-spacing:.5px;cursor:help;align-self:flex-start;margin-left:.25rem;opacity:.85;transition:opacity .2s ease}.version:hover{opacity:1}nav{display:flex;gap:1.5rem}nav a{color:#fff;text-decoration:none;font-weight:500}nav a:hover{text-decoration:underline}.main{flex:1;padding:2rem 0}.footer{background-color:var(--brand-primary);color:#fff;padding:1rem 0;text-align:center;margin-top:auto}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.recipe-card{background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px var(--shadow);transition:transform .2s;cursor:pointer}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px var(--shadow-hover)}.recipe-card img{width:100%;height:200px;object-fit:cover}.recipe-card-content{padding:1rem}.recipe-card h3{margin-bottom:.5rem;color:var(--brand-primary)}.recipe-card p{color:var(--text-secondary);font-size:.9rem}.recipe-detail{background:var(--bg-secondary);border-radius:8px;padding:2rem;box-shadow:0 2px 8px var(--shadow)}.recipe-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.recipe-actions-right{display:flex;gap:.75rem}.recipe-detail img{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:2rem}.recipe-detail h2{color:var(--brand-primary);margin-bottom:1rem}.recipe-meta{display:flex;gap:2rem;margin-bottom:2rem;color:var(--text-secondary);align-items:center;flex-wrap:wrap}.servings-control{display:flex;flex-direction:column;gap:.75rem}.servings-adjuster{display:flex;align-items:center;gap:.5rem}.servings-adjuster button{width:32px;height:32px;padding:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:var(--brand-primary);color:#fff;border:none;cursor:pointer;transition:background-color .2s}.servings-adjuster button:hover:not(:disabled){background-color:var(--brand-secondary)}.servings-adjuster button:disabled{background-color:#ccc;cursor:not-allowed}.servings-adjuster .reset-button{width:auto;height:auto;padding:.25rem .75rem;font-size:.85rem;font-weight:400;background-color:#666}.quick-scale-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.quick-scale-buttons .scale-button{width:auto;height:auto;min-width:50px;padding:.4rem .75rem;font-size:.9rem;font-weight:600;border-radius:4px;background-color:#4a7c2d;color:#fff;border:none;cursor:pointer;transition:all .2s}.quick-scale-buttons .scale-button:hover{background-color:#5a8c3d;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.quick-scale-buttons .scale-button:active{transform:translateY(0);box-shadow:0 1px 2px #0003}.servings-control .reset-button:hover{background-color:#777}.servings-control span{margin:0 .25rem;white-space:nowrap}.quick-tags-inline{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.tags-display-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.tags-display-inline strong{color:var(--text-primary);font-size:.95rem}.tag-chip-inline{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;background-color:var(--brand-light);color:var(--brand-primary);border-radius:12px;font-size:.85rem;font-weight:500;transition:background-color .2s}.tag-chip-inline:hover{background-color:#d4e8c9}.tag-remove-btn-inline{background:none;border:none;color:var(--brand-primary);font-size:1.1rem;font-weight:700;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;line-height:1}.tag-remove-btn-inline:hover:not(:disabled){background-color:#2e7d3233}.tag-remove-btn-inline:disabled{opacity:.5;cursor:not-allowed}.no-tags-inline{color:var(--text-secondary);font-size:.85rem}.tag-input-inline{display:flex;gap:.4rem;align-items:center}.tag-input-small{width:150px;padding:.35rem .6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.tag-input-small:focus{outline:none;border-color:var(--brand-primary)}.tag-input-small:disabled{opacity:.6;cursor:not-allowed}.tag-add-btn-small{background-color:var(--brand-primary);color:#fff;border:none;width:28px;height:28px;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0}.tag-add-btn-small:hover:not(:disabled){background-color:var(--brand-secondary)}.tag-add-btn-small:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.import-actions{display:flex;align-items:flex-start;gap:2rem;flex-wrap:wrap;margin-top:1rem}.import-tags-inline{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:300px}.import-tags-inline>label{font-weight:600;color:var(--text-primary);font-size:.95rem}.import-tags-display{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:2rem}.import-tag-input{display:flex;gap:.5rem;align-items:center}.recipe-sections{margin-top:2rem}.recipe-section{margin-bottom:3rem;padding:1.5rem;background-color:var(--bg-tertiary);border-radius:8px;border-left:4px solid var(--brand-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h3{color:var(--brand-primary);margin:0}.section-timing{background-color:var(--brand-primary);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;font-weight:500}.instruction-timing{color:var(--brand-primary);font-weight:600;font-size:.95rem}.recipe-section h4{color:var(--brand-primary);margin-bottom:1rem;font-size:1.1rem}.ingredients,.instructions{margin-bottom:2rem}.ingredients h3,.instructions h3{color:var(--brand-primary);margin-bottom:1rem}.ingredients ul{list-style:none;padding:0}.ingredients li{padding:.5rem 0;border-bottom:1px solid var(--border-light)}.instructions ol{padding-left:1.5rem}.instructions li{margin-bottom:1rem;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:var(--bg-secondary);color:var(--text-primary)}.form-group textarea{min-height:100px;resize:vertical}button{background-color:var(--brand-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}button:hover{background-color:var(--brand-hover)}button:disabled{background-color:#ccc;cursor:not-allowed}.error{color:#d32f2f;background-color:#ffebee;padding:1rem;border-radius:4px;margin-bottom:1rem}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.recipe-form{background:var(--bg-secondary);border-radius:8px;padding:2rem;box-shadow:0 2px 8px var(--shadow)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.sections-container{margin-top:2rem}.section-form{background-color:var(--bg-tertiary);border-radius:8px;border-left:4px solid var(--brand-primary);padding:1.5rem;margin-bottom:2rem}.section-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-form-header h4{margin:0;color:var(--brand-primary)}.subsection{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.subsection h5{color:var(--brand-primary);margin-bottom:1rem}.ingredient-row{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center}.ingredient-row .input-small{width:80px}.ingredient-row .input-flex{flex:1}.instruction-row{display:flex;gap:.75rem;margin-bottom:1rem;align-items:flex-start;background-color:var(--bg-secondary);padding:.75rem;border-radius:6px;border:2px solid transparent;transition:all .2s ease}.instruction-row:hover{border-color:var(--border-color);box-shadow:0 2px 4px var(--shadow)}.instruction-row.dragging{opacity:.5;background-color:var(--bg-primary);box-shadow:0 4px 8px var(--shadow-hover);border-color:var(--brand-primary)}.instruction-drag-handle{cursor:grab;color:var(--text-tertiary);font-size:1.2rem;display:flex;align-items:center;padding:.25rem;-webkit-user-select:none;user-select:none;margin-top:.5rem}.instruction-drag-handle:hover{color:var(--brand-primary)}.instruction-drag-handle:active{cursor:grabbing}.instruction-number{min-width:30px;height:30px;background-color:var(--brand-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-top:.5rem}.instruction-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.instruction-timing-input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background-color:var(--bg-secondary);color:var(--text-primary)}.btn-secondary{background-color:#666;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:.5rem}.btn-secondary:hover{background-color:#555}.btn-remove{background-color:#d32f2f;color:#fff;border:none;width:30px;height:30px;border-radius:4px;cursor:pointer;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove:hover{background-color:#b71c1c}.btn-danger-small{background-color:#d32f2f;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-danger-small:hover{background-color:#b71c1c}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-light)}.form-section{margin-top:2rem}.image-upload-section{padding:1.5rem;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.current-image{margin-bottom:1rem}.current-image img{max-width:300px;max-height:200px;object-fit:cover;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:.75rem}.image-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.image-note{font-size:.9rem;color:#666;margin:0}.btn-delete-image{background-color:#d32f2f;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-delete-image:hover:not(:disabled){background-color:#b71c1c}.btn-delete-image:disabled{background-color:#ccc;cursor:not-allowed}.image-upload-control{margin:1rem 0}.file-input{display:none}.file-input-label{display:inline-block;padding:.5rem 1rem;background-color:#a8d08d;color:#1a3a0d;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500;font-size:.9rem}.file-input-label:hover{background-color:#8cc269;color:#0f2408}.file-input:disabled+.file-input-label{background-color:#ccc;cursor:not-allowed}.image-help-text{font-size:.85rem;color:#666;margin-top:.5rem}.info-note{background-color:#e3f2fd;color:#1976d2;padding:.75rem;border-radius:4px;font-size:.9rem;border-left:4px solid #1976d2}.cookbook-list{max-height:400px;overflow-y:auto;margin:1.5rem 0}.cookbook-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:.75rem;background-color:var(--bg-tertiary);border-radius:8px;cursor:pointer;transition:all .2s}.cookbook-item:hover{background-color:#e8f5e9;transform:translate(4px)}.cookbook-item h3{margin:0 0 .25rem;font-size:1.1rem;color:#2e7d32}.cookbook-item p{margin:0 0 .5rem;font-size:.9rem;color:#666}.cookbook-item .recipe-count{font-size:.85rem;color:#757575}.btn-add{width:2.5rem;height:2.5rem;border-radius:50%;background-color:#2e7d32;color:#fff;border:none;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-add:hover{background-color:#1b5e20;transform:scale(1.1)}
