.modal-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.modal-container{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-extra-large{width:100%;max-width:1600px}.modal-super-large{width:95%;max-width:1200px}.modal-super-large .recipe-form,.modal-super-large .form{max-width:none!important;width:100%!important}.modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:24px;overflow-y:auto;flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.modal-body .form-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.dark .modal-content{background:#1f2937}.dark .modal-header{border-bottom-color:#374151}.dark .modal-title{color:#f9fafb}.dark .modal-close{color:#9ca3af}.dark .modal-close:hover{background-color:#374151;color:#f3f4f6}.dark .modal-body .form-group label{color:#e5e7eb}.dark .modal-body .form-control,.dark .modal-body input,.dark .modal-body textarea,.dark .modal-body select{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .modal-body .form-control:focus,.dark .modal-body input:focus,.dark .modal-body textarea:focus,.dark .modal-body select:focus{border-color:#3b82f6;background:#374151}.dark .modal-body .form-actions{border-top-color:#374151}@media (max-width: 640px){.modal-container{padding:10px}.modal-content{max-height:95vh}.modal-body{padding:8px}.modal-body .form-row{flex-direction:column}.modal-body .recipe-form,.modal-body .form{padding:.5rem!important}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:4px;transition:background-color .2s}.close-btn:hover{background-color:#f3f4f6}.modal-body{padding:1.5rem}.recipe-title{margin:0 0 1.5rem;font-size:1.125rem;font-weight:500;color:#374151}.rating-section{margin-bottom:1.5rem}.rating-section label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.star-rating{display:flex;gap:.25rem;margin-bottom:.5rem}.star-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s;filter:grayscale(100%) brightness(.5)}.star-btn:hover{transform:scale(1.1)}.star-btn.active{filter:none;transform:scale(1.1)}.rating-text{font-size:.875rem;color:#6b7280;font-weight:500;margin:0;min-height:1.25rem}.comment-section{margin-bottom:1.5rem}.comment-section label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.comment-section textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:.875rem;resize:vertical;min-height:100px;font-family:inherit}.comment-section textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.comment-section small{display:block;margin-top:.25rem;color:#6b7280;font-size:.75rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-icon.rate-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s;font-size:1rem}.btn-icon.rate-btn:hover{background-color:#fef3c7;transform:scale(1.1)}.stat-item{font-size:.875rem;color:#6b7280}.my-recipe-wrapper{position:relative;margin-bottom:1rem}.recipe-visibility-header{margin-bottom:.5rem;display:flex;justify-content:flex-end}.visibility-toggle{padding:.25rem .75rem;border:none;border-radius:1rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.visibility-toggle.public{background-color:#10b981;color:#fff}.visibility-toggle.private{background-color:#f59e0b;color:#fff}.visibility-toggle:hover{opacity:.8;transform:scale(1.05)}.saved-recipe-actions{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:#f9fafb;border-radius:.5rem;border-top:1px solid #e5e7eb}.saved-date{font-size:.75rem;color:#6b7280}.recipe-list-card{margin-bottom:1rem}.btn-rating{background-color:#6b7280!important;color:#fff!important;border:1px solid #6b7280!important}.btn-rating:hover{background-color:#4b5563!important;color:#fff!important;border-color:#4b5563!important}@media (max-width: 768px){.my-recipe-wrapper{margin-bottom:.75rem}.recipe-visibility-header{margin-bottom:.25rem}.saved-recipe-actions{flex-direction:column;gap:.5rem;align-items:flex-start}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#f8fafc}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#2563eb;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:1.5rem;font-weight:600}.nav-menu{display:flex;gap:1rem}.nav-menu button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#f3f4f6;color:#1f2937;border-radius:.375rem;cursor:pointer;transition:all .2s}.nav-menu button:hover{background:#e5e7eb;border-color:#9ca3af}.nav-menu button.active{background:#2563eb;color:#fff;border-color:#2563eb}.dark .nav-menu button{background:#374151;color:#f3f4f6;border-color:#4b5563}.dark .nav-menu button:hover{background:#4b5563;border-color:#6b7280}.dark .nav-menu button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.loading{text-align:center;padding:2rem;color:#6b7280}.error-banner{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:.375rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#dc2626;font-size:1.2rem;cursor:pointer;padding:.25rem}.empty-state{text-align:center;padding:3rem;color:#6b7280}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1rem;border:1px solid transparent;border-radius:.375rem;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;gap:.5rem}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-edit{background:#059669;color:#fff}.btn-edit:hover:not(:disabled){background:#047857}.btn-delete{background:#dc2626;color:#fff}.btn-delete:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.dark .btn-secondary{background:#374151;color:#f3f4f6;border-color:#4b5563}.dark .btn-secondary:hover:not(:disabled){background:#4b5563;border-color:#6b7280}.dark .btn-edit{background:#059669;color:#fff}.dark .btn-edit:hover:not(:disabled){background:#047857}.dark .btn-delete{background:#dc2626;color:#fff}.dark .btn-delete:hover:not(:disabled){background:#b91c1c}.form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:1rem}.form-section h4{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.75rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.form-control{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-control:disabled{background:#f9fafb;color:#6b7280}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:2rem;border-top:1px solid #e5e7eb}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:0;font-weight:400}.checkbox-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:400;cursor:pointer}input[type=checkbox],.allergen-checkbox input[type=checkbox],.allergen-checkboxes input[type=checkbox]{cursor:pointer!important;width:18px!important;height:18px!important;border:2px solid #d1d5db!important;background-color:#fff!important;accent-color:#2563eb!important;-webkit-appearance:none!important;appearance:none!important;border-radius:3px!important}input[type=checkbox]:checked,.allergen-checkbox input[type=checkbox]:checked,.allergen-checkboxes input[type=checkbox]:checked{background-color:#2563eb!important;border-color:#2563eb!important;position:relative!important}input[type=checkbox]:checked:before,.allergen-checkbox input[type=checkbox]:checked:before,.allergen-checkboxes input[type=checkbox]:checked:before{content:""!important;position:absolute!important;left:5px!important;top:2px!important;width:5px!important;height:10px!important;border:solid white!important;border-width:0 3px 3px 0!important;transform:rotate(45deg)!important}.dark input[type=checkbox],.dark .allergen-checkbox input[type=checkbox],.dark .allergen-checkboxes input[type=checkbox]{border:2px solid #9ca3af!important;background-color:#374151!important;accent-color:#60a5fa!important}.dark input[type=checkbox]:checked,.dark .allergen-checkbox input[type=checkbox]:checked,.dark .allergen-checkboxes input[type=checkbox]:checked{background-color:#60a5fa!important;border-color:#60a5fa!important}.dark .checkbox-label,.dark .allergen-checkbox span{color:#e5e7eb!important}.dark .checkbox-group label,.dark .allergen-checkboxes label{color:#e5e7eb}.recipe-list{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem;max-width:1200px!important;margin:0 auto!important;width:100%!important;display:block!important}.recipe-filters{margin-bottom:2rem}.recipe-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.tab-button{padding:.75rem 1rem;border:none;background:transparent;color:#6b7280;border-radius:.375rem .375rem 0 0;cursor:pointer;transition:all .2s;font-weight:500;border-bottom:2px solid transparent}.tab-button:hover{background:#f3f4f6;color:#374151}.tab-button.active{background:#2563eb;color:#fff;border-bottom-color:#2563eb}.dark .recipe-tabs{border-bottom-color:#374151}.dark .tab-button{color:#9ca3af}.dark .tab-button:hover{background:#374151;color:#f3f4f6}.dark .tab-button.active{background:#3b82f6;color:#fff;border-bottom-color:#3b82f6}.recipe-filters{display:flex;gap:.5rem;margin-bottom:2rem;align-items:center;width:100%}.recipe-filters button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:.375rem;cursor:pointer;transition:all .2s;font-size:.875rem}.recipe-filters button:hover{background:#f3f4f6;border-color:#9ca3af}.recipe-filters button.active{background:#2563eb;color:#fff;border-color:#2563eb}.dark .recipe-filters button{background:#374151;color:#f3f4f6;border-color:#4b5563}.dark .recipe-filters button:hover{background:#4b5563;border-color:#6b7280}.dark .recipe-filters button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.search-bar{display:flex;align-items:center;flex:1}.search-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;line-height:1.5;box-sizing:border-box;height:2.75rem}.filter-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;min-width:150px;line-height:1.5;box-sizing:border-box;height:2.75rem}.recipes-header{margin-bottom:1.5rem}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.recipe-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.recipe-card:hover{box-shadow:0 4px 6px #0000001a}.recipe-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.recipe-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0;flex:1}.recipe-actions{display:flex;gap:.5rem}.recipe-description{color:#6b7280;margin-bottom:1rem;line-height:1.5}.recipe-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.difficulty-badge,.category-badge,.cuisine-badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;color:#fff}.category-badge{background:#7c3aed}.cuisine-badge{background:#059669}.recipe-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;margin-bottom:1rem;padding:1rem;background:#fff;border-radius:.375rem}.stat{text-align:center}.stat label{display:block;font-size:.75rem;color:#6b7280;font-weight:500;margin-bottom:.25rem}.stat span{font-size:.875rem;font-weight:600;color:#111827}.ingredient-count,.calories{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.recipe-tags{display:flex;flex-wrap:wrap;gap:.25rem}.tag{background:#e0e7ff;color:#3730a3;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;position:relative}.tag button{background:none;border:none;color:#3730a3;cursor:pointer;margin-left:.25rem;font-weight:700}.recipe-form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.tag-input{margin-bottom:1rem}.tags-display{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ingredients-list{border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem}.ingredient-item{padding:1.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem;border-radius:.5rem;position:relative}.ingredient-item .form-control{position:relative;z-index:1}.ingredient-item:last-child{border-bottom:none;margin-bottom:0}.ingredient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.ingredient-order-controls{display:flex;align-items:center;gap:.5rem}.ingredient-number{font-weight:600;color:#374151;background:#f3f4f6;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;min-width:2rem;text-align:center}.btn-order{padding:.25rem .5rem;font-size:1rem;line-height:1;min-width:2rem;height:2rem;background:#f9fafb;border:1px solid #d1d5db;color:#374151;display:flex;align-items:center;justify-content:center}.btn-order:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-order:disabled{opacity:.5;cursor:not-allowed}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.ingredient-manager{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.ingredient-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ingredient-form{background:#fff;border-radius:.5rem;padding:2rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.ingredients-section{margin-top:2rem}.ingredients-header{margin-bottom:1rem}.ingredients-table{border:1px solid #e5e7eb;border-radius:.375rem;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 3fr 1fr 2fr 1fr;gap:1rem;padding:1rem;background:#f9fafb;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.table-row{display:grid;grid-template-columns:2fr 3fr 1fr 2fr 1fr;gap:1rem;padding:1rem;border-bottom:1px solid #f3f4f6;align-items:center}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f9fafb}.ingredient-name{font-weight:600;color:#111827}.ingredient-description{color:#6b7280;font-size:.875rem}.ingredient-unit{font-size:.875rem;color:#374151}.allergen-tags{display:flex;flex-wrap:wrap;gap:.25rem}.allergen-tag{background:#fee2e2;color:#dc2626;padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.ingredient-actions{display:flex;gap:.5rem}.allergen-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;text-align:center}.nav-menu{flex-wrap:wrap;justify-content:center;gap:.5rem}.nav-menu button{padding:.4rem .8rem;font-size:.875rem;white-space:nowrap}.app-main{padding:1rem}.form-row,.recipes-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column}.filter-select{min-width:auto}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header{display:none}.table-row{padding:1rem;border:1px solid #e5e7eb;border-radius:.375rem;margin-bottom:1rem}.ingredient-form-overlay{padding:.5rem}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.allergen-checkboxes{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (max-width: 480px){.recipe-stats{grid-template-columns:repeat(2,1fr)}.btn{padding:.5rem .75rem;font-size:.75rem}}.allergen-filter{margin-bottom:20px;background:#f8f9fa;border-radius:8px;padding:15px}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.filter-toggle{background:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px}.filter-toggle:hover{background:#0056b3}.filter-badge{background:#dc3545;color:#fff;border-radius:50%;padding:2px 6px;font-size:.8em;min-width:20px;text-align:center}.clear-filters,.clear-filters-btn{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:500}.clear-filters:hover,.clear-filters-btn:hover{background:#5a6268}.dark .clear-filters,.dark .clear-filters-btn{background:#4b5563;color:#f3f4f6;border:1px solid #6b7280}.dark .clear-filters:hover,.dark .clear-filters-btn:hover{background:#6b7280}.filter-panel{border-top:1px solid #dee2e6;padding-top:15px}.filter-section{margin-bottom:20px}.filter-section h4{margin:0 0 10px;color:#495057}.allergen-filter-panel{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem;max-width:1200px;margin-left:auto;margin-right:auto}.dark .allergen-filter-panel{background:#1f2937;border-color:#374151}.allergen-filter-panel .filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.allergen-filter-panel .filter-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#374151}.dark .allergen-filter-panel .filter-header h3{color:#f9fafb}.allergen-filter-panel .filter-description{margin-bottom:1rem}.allergen-filter-panel .filter-description p{margin:0;color:#6b7280;font-size:.95rem}.dark .allergen-filter-panel .filter-description p{color:#9ca3af}.allergen-filter-panel .allergen-checkboxes{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.allergen-filter-panel .filter-summary{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .allergen-filter-panel .filter-summary{border-top-color:#374151}.allergen-filter-panel .filter-summary p{margin:0;color:#374151;font-weight:500}.dark .allergen-filter-panel .filter-summary p{color:#f9fafb}.allergen-tags{display:flex;flex-wrap:wrap;gap:8px}.allergen-tag{display:flex;align-items:center;cursor:pointer}.allergen-tag input[type=checkbox]{display:none}.allergen-tag .tag{padding:4px 12px;border-radius:16px;border:2px solid #dee2e6;background:#fff;color:#495057;font-size:.9em;transition:all .2s}.allergen-tag .tag.include.active{background:#d4edda;border-color:#28a745;color:#155724}.allergen-tag .tag.exclude.active{background:#f8d7da;border-color:#dc3545;color:#721c24}.allergen-tag .tag:hover{border-color:#adb5bd}.allergen-display{display:flex;flex-direction:column;gap:5px}.allergen-display.small .allergen-tags{gap:4px}.allergen-display.small .allergen-tag{font-size:.8em;padding:2px 8px}.allergen-display .allergen-tag{display:inline-block;padding:3px 8px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;font-size:.85em;color:#495057}.allergen-tag.gluten{background:#fff3cd;border-color:#ffeaa7;color:#856404}.allergen-tag.dairy{background:#d1ecf1;border-color:#bee5eb;color:#0c5460}.allergen-tag.eggs{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.allergen-tag.nuts,.allergen-tag.tree-nuts{background:#d4d4aa;border-color:#c3c388;color:#533f03}.allergen-tag.soy{background:#d4edda;border-color:#c3e6cb;color:#155724}.allergen-tag.fish,.allergen-tag.shellfish{background:#cce7ff;border-color:#99d6ff;color:#004085}.allergen-tag.more{background:#e9ecef;border-color:#ced4da;color:#6c757d;font-weight:500}.allergen-tag.more.clickable{cursor:pointer;transition:all .2s ease}.allergen-tag.more.clickable:hover{background:#dee2e6;border-color:#adb5bd;transform:translateY(-1px)}.no-allergens{color:#6c757d;font-style:italic;font-size:.9em}.allergen-count{font-size:.8em;color:#6c757d}.allergen-manager{max-width:1200px;margin:0 auto}.quick-add-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.quick-add-section h3{margin:0 0 15px;color:#495057}.common-allergens{display:flex;flex-wrap:wrap;gap:8px}.search-section{margin-bottom:20px}.search-input{width:100%;max-width:400px;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.allergen-form{background:#fff;border:1px solid #dee2e6;padding:20px;border-radius:8px;margin-bottom:20px}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.allergen-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:15px;transition:box-shadow .2s}.allergen-card:hover{box-shadow:0 2px 8px #0000001a}.allergen-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.allergen-name{margin:0;color:#495057;flex:1}.allergen-actions{display:flex;gap:5px}.allergen-stats{display:flex;gap:20px;margin-bottom:10px}.stat{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:1.5em;font-weight:700;color:#007bff}.stat-label{font-size:.8em;color:#6c757d}.sidebar-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.sidebar-content h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1f2937}.stats-list{display:flex;flex-direction:column;gap:.75rem}.dark .sidebar-content{background:#1f2937;border-color:#374151}.dark .sidebar-content h3{color:#f9fafb}.dark .stat-item{background:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.dark .stat-number{color:#60a5fa!important}.dark .stat-label{color:#9ca3af!important}.usage-indicator{display:flex;justify-content:flex-end}.usage-badge{background:#28a745;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8em}.ingredient-manager .search-filters{display:flex;gap:15px;margin-bottom:20px;align-items:center}.ingredient-manager .search-box{flex:1}.ingredient-manager .search-box input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px}.ingredient-manager .allergen-filter select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;min-width:200px}.nutrition-section{border-top:1px solid #dee2e6;padding-top:15px;margin-top:15px}.nutrition-section h4{margin:0 0 10px;color:#495057}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.allergen-section{border:1px solid #dee2e6;padding:15px;margin-top:15px;background:#fff;border-radius:8px}.allergen-section h4{margin:0 0 10px;color:#495057}.allergen-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.allergen-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s}.allergen-checkbox span{color:#495057}.allergen-checkbox:hover{background-color:#f8f9fa}.dark .allergen-section{background:#374151;border-color:#4b5563}.dark .allergen-section h4,.dark .allergen-checkbox{color:#f9fafb}.dark .allergen-checkbox span{color:#e5e7eb}.dark .allergen-checkbox:hover{background-color:#4b5563}.ingredient-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:15px}.ingredient-main{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:start}.ingredient-info h4{margin:0 0 5px;color:#495057}.ingredient-info .description{margin:0 0 10px;color:#6c757d;font-size:.9em}.ingredient-meta{display:flex;gap:15px;font-size:.85em;color:#6c757d}.ingredient-allergens{display:flex;flex-direction:column;justify-content:center}.ingredient-actions{display:flex;flex-direction:column;gap:5px}.empty-state{text-align:center;padding:40px 20px;color:#6c757d}.empty-state p{margin-bottom:20px;font-size:1.1em}@media (max-width: 768px){.allergen-tags{justify-content:center}.allergen-grid{grid-template-columns:1fr}.ingredient-main{grid-template-columns:1fr;gap:10px}.ingredient-actions{flex-direction:row;justify-content:center}.allergen-manager .search-filters{flex-direction:column;align-items:stretch}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.allergen-checkboxes{grid-template-columns:1fr}}.recipe-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;position:relative;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;min-height:450px!important}.recipe-card:before{content:"";position:absolute;inset:0;background:#ffffff4d;z-index:1;pointer-events:none}.dark .recipe-card:before{background:none}.recipe-card>*{position:relative!important;z-index:2!important}.recipe-card .recipe-title{color:#000!important}.dark .recipe-card .recipe-title{color:#fff!important}.recipe-card .recipe-description,.recipe-card .recipe-author{color:#000!important}.dark .recipe-card .recipe-description,.dark .recipe-card .recipe-author{color:#ffffffe6!important}.gf-flour-calculator{max-width:900px;margin:0 auto}.blend-selector{text-align:center;margin-bottom:2rem}.blend-selector h2{color:#1e293b;font-size:2rem;font-weight:600;margin-bottom:.5rem}.blend-selector p{color:#64748b;font-size:1.1rem;margin-bottom:2rem}.blend-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.blend-tab{padding:.75rem 1.25rem;border:2px solid #e2e8f0;background:#fff;color:#64748b;border-radius:.5rem;cursor:pointer;font-weight:500;font-size:.95rem;transition:all .2s;white-space:nowrap}.blend-tab:hover{border-color:#cbd5e1;color:#475569}.blend-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.grams-breakdown{max-width:800px;margin:0 auto;background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.grams-breakdown-header{background:#f8fafc;padding:2rem;border-bottom:1px solid #e2e8f0;text-align:center}.grams-breakdown-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.grams-breakdown-header p{color:#64748b;font-size:1rem}.grams-breakdown-form{padding:2rem;background:#fff}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input{width:100%;max-width:300px;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.total-display{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.375rem;border:1px solid #e2e8f0}.total-label{font-weight:500;color:#374151;font-size:1.1rem}.total-value{font-size:1.5rem;font-weight:700;color:#2563eb}.ingredients-breakdown{padding:2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.ingredients-breakdown h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.ingredients-breakdown .ingredients-list{display:flex;flex-direction:column;gap:.75rem}.ingredients-breakdown .ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:.375rem;border:1px solid #e2e8f0;transition:border-color .2s}.ingredients-breakdown .ingredient-item:hover{border-color:#cbd5e1}.ingredient-name{font-weight:500;color:#374151;flex:1}.ingredient-percentage{color:#64748b;font-size:.875rem;margin:0 1rem}.ingredient-amount{font-weight:600;color:#2563eb;font-size:1rem;min-width:80px;text-align:right}.dark .blend-selector h2{color:#f1f5f9}.dark .blend-selector p{color:#94a3b8}.dark .blend-tab{background:#1e293b;border-color:#334155;color:#94a3b8}.dark .blend-tab:hover{border-color:#475569;color:#e2e8f0}.dark .blend-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark .grams-breakdown{background:#1e293b}.dark .grams-breakdown-header{background:#0f172a;border-bottom-color:#334155}.dark .grams-breakdown-header h2{color:#f1f5f9}.dark .grams-breakdown-header p{color:#94a3b8}.dark .grams-breakdown-form{background:#1e293b}.dark .form-group label{color:#e2e8f0}.dark .form-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.dark .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .total-display{background:#0f172a;border-color:#334155}.dark .total-label{color:#e2e8f0}.dark .total-value{color:#60a5fa}.dark .ingredients-breakdown{background:#0f172a;border-top-color:#334155}.dark .ingredients-breakdown h3{color:#f1f5f9}.dark .ingredient-item{background:#1e293b;border-color:#334155}.dark .ingredient-item:hover{border-color:#475569}.dark .ingredient-name{color:#e2e8f0}.dark .ingredient-percentage{color:#94a3b8}.dark .ingredient-amount{color:#60a5fa}.grams-breakdown-container{margin-top:1rem}@media (max-width: 1100px){.blend-tabs{flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:900px;margin:0 auto 2rem}.blend-tab{flex:1;min-width:160px;max-width:180px;text-align:center;font-size:.85rem;padding:.65rem .75rem}}@media (max-width: 900px){.blend-selector h2{font-size:1.75rem}.blend-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:600px;margin:0 auto 2rem}.blend-tab{flex:1;min-width:140px;max-width:160px;text-align:center;font-size:.8rem;padding:.6rem .5rem}}@media (max-width: 768px){.blend-selector h2{font-size:1.5rem}.blend-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem}.blend-tab{flex:1 1 30%;min-width:120px;max-width:140px;text-align:center;font-size:.75rem;padding:.6rem .4rem}}@media (max-width: 640px){.blend-tabs{flex-direction:column;align-items:center;gap:.75rem}.blend-tab{width:100%;max-width:300px;text-align:center;font-size:1rem;padding:.75rem 1.5rem}.grams-breakdown-header,.grams-breakdown-form,.ingredients-breakdown{padding:1rem}.ingredient-item{flex-direction:column;align-items:flex-start;gap:.5rem}.ingredient-amount{text-align:left;min-width:auto}}.recipe-card .recipe-top-section{background:#0006!important;padding:1rem!important;border-radius:.5rem!important;margin-bottom:1rem!important}.recipe-card .recipe-bottom-section{padding:1rem!important}.recipe-card .recipe-times,.recipe-card .recipe-stats,.recipe-card .allergen-section,.recipe-card .recipe-footer,.recipe-card .recipe-rating{background:#000000b3!important;color:#fff!important;padding:.75rem!important;border-radius:.5rem!important;margin-bottom:.5rem!important}.recipe-card .time-item,.recipe-card .stat-item{color:#fff!important;background:transparent!important}.recipe-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.recipe-card.clickable{cursor:pointer}.recipe-card.clickable:hover{border-color:#4caf50}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.recipe-title-section{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe-title{margin:0;font-size:1.3em;font-weight:600;color:#333;line-height:1.3}.featured-badge{background:linear-gradient(45deg,gold,#ffed4e);color:#333;padding:4px 8px;border-radius:12px;font-size:.75em;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px #ffd7004d}.recipe-actions{display:flex;gap:8px;flex-shrink:0}.btn-icon{background:none;border:1px solid #ddd;border-radius:6px;padding:6px 8px;cursor:pointer;font-size:14px;transition:all .2s ease}.btn-icon:hover{background:#f5f5f5}.edit-btn:hover{border-color:#4caf50;background:#f0f8f0}.delete-btn:hover{border-color:#f44336;background:#fff5f5}.recipe-description{color:#666;margin:0 0 16px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-metadata{margin-bottom:12px}.metadata-row{display:flex;gap:12px;margin-bottom:6px;flex-wrap:wrap}.metadata-row:last-child{margin-bottom:0}.metadata-item{display:inline-flex;align-items:center;font-size:.9em;color:#555;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e9ecef}.metadata-item.category{border-color:#007bff;background:#e7f3ff;color:#0056b3}.metadata-item.cuisine{border-color:#28a745;background:#e8f5e8;color:#155724}.metadata-item.yield{border-color:#6f42c1;background:#f0ebff;color:#4a154b}.metadata-item.difficulty{font-weight:500}.difficulty-easy{border-color:#28a745;background:#d4edda;color:#155724}.difficulty-medium{border-color:#ffc107;background:#fff3cd;color:#856404}.difficulty-hard{border-color:#dc3545;background:#f8d7da;color:#721c24}.recipe-times{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.time-item{font-size:.9em;color:#666;background:#f1f3f4;padding:4px 8px;border-radius:4px;display:inline-flex;align-items:center}.time-item.total-time{background:#e8f5e9;color:#2e7d32;font-weight:500}.allergen-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:12px;margin-bottom:16px}.allergen-warning{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:600;color:#856404}.allergen-icon{font-size:1.1em}.allergen-list{display:flex;gap:6px;flex-wrap:wrap}.allergen-badge{background:#dc3545;color:#fff;padding:3px 8px;border-radius:12px;font-size:.8em;font-weight:500}.recipe-stats{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stat-item{font-size:.85em;color:#666;background:#f8f9fa;padding:4px 8px;border-radius:4px;display:inline-flex;align-items:center;border:1px solid #e9ecef}.recipe-tags{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.recipe-tag{background:#e3f2fd;color:#1565c0;padding:3px 8px;border-radius:12px;font-size:.8em;border:1px solid #bbdefb}.recipe-tag.more-tags{background:#f5f5f5;color:#666;border-color:#ddd}.recipe-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #eee;font-size:.85em;color:#666;flex-wrap:wrap;gap:8px}.author-info,.date-info{display:inline-flex;align-items:center}@media (max-width: 768px){.recipe-card{padding:16px}.recipe-card-header{flex-direction:column;gap:12px}.recipe-actions{align-self:flex-start}.metadata-row,.recipe-times,.recipe-stats{flex-direction:column;gap:8px}.recipe-footer{flex-direction:column;align-items:flex-start}}.recipe-card.loading{opacity:.6;pointer-events:none}.recipe-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.recipe-cards-list .recipe-card{margin-bottom:16px}.custom-bg-card{background:none!important;border:5px solid orange!important}.recipe-card-with-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000001a,#00000080);z-index:1;pointer-events:none}.recipe-card-with-bg>*{position:relative;z-index:2}.recipe-card-with-bg .recipe-top-section{background:#0000004d;color:#fff;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.recipe-card-with-bg .recipe-bottom-section{padding:1rem}.recipe-card-with-bg .recipe-title{color:#fff}.recipe-card-with-bg .recipe-description{color:#ffffffe6}.recipe-card-with-bg .recipe-times,.recipe-card-with-bg .recipe-stats,.recipe-card-with-bg .allergen-section,.recipe-card-with-bg .recipe-footer,.recipe-card-with-bg .recipe-rating{background:#0009;color:#fff;padding:.75rem;border-radius:.5rem;margin-bottom:.5rem}.recipe-card-with-bg .time-item,.recipe-card-with-bg .stat-item,.recipe-card-with-bg .allergen-badge{color:#fff}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.list-header h2{margin:0;color:#333}.view-controls{display:flex;gap:8px}.view-controls button{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9em;transition:all .2s ease}.view-controls button:hover{background:#e9ecef}.view-controls button.active{background:#007bff;color:#fff;border-color:#007bff}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state h3{margin-bottom:12px;color:#333}.recipe-detail-modal{max-height:80vh;overflow-y:auto}.recipe-detail-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.recipe-detail-description{font-size:1.1em;color:#555;margin-bottom:16px;line-height:1.5}.recipe-detail-meta{margin-bottom:16px}.meta-row{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.meta-badge{background:#f1f3f4;padding:6px 12px;border-radius:16px;font-size:.9em;color:#333;border:1px solid #e0e0e0}.time-info{display:flex;gap:16px;flex-wrap:wrap;font-size:.95em;color:#666}.time-info span{background:#f8f9fa;padding:6px 10px;border-radius:4px;border:1px solid #e9ecef}.allergen-warning-detail{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:16px;margin-top:16px}.allergen-warning-detail h4{margin:0 0 12px;color:#856404;font-size:1.1em}.allergen-badges{display:flex;gap:8px;flex-wrap:wrap}.allergen-badges .allergen-badge{background:#dc3545;color:#fff;padding:6px 12px;border-radius:16px;font-size:.85em;font-weight:500}.recipe-detail-section{margin-bottom:32px}.recipe-detail-section h3{color:#333;border-bottom:2px solid #4caf50;padding-bottom:8px;margin-bottom:16px;font-size:1.3em}.ingredients-detail{margin-bottom:16px}.ingredient-group{margin-bottom:24px}.group-name{color:#4caf50;font-size:1.1em;font-weight:600;margin-bottom:12px;padding:8px 12px;background:#f1f8e9;border-radius:4px;border-left:4px solid #4caf50}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-list .ingredient-item{align-items:center;gap:8px;border-bottom:1px solid #f0f0f0}.ingredient-list .ingredient-item:last-child{border-bottom:none}.ingredient-list .ingredient-item .quantity{font-weight:600;color:#333;min-width:80px;flex-shrink:0}.ingredient-list .ingredient-item .name{flex:1;color:#333}.ingredient-list .ingredient-item .notes{color:#666;font-style:italic;font-size:.9em}.ingredient-list .ingredient-item .optional{color:#888;font-size:.85em;background:#f8f9fa;padding:2px 6px;border-radius:12px}.instructions-detail{counter-reset:step-counter}.instruction-step{display:flex;gap:16px;margin-bottom:16px;padding:16px;background:#fafafa;border-radius:8px;border-left:4px solid #2196f3}.step-number{background:#2196f3;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;font-size:.9em}.step-text{flex:1;line-height:1.5;color:#333;padding-top:4px}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.nutrition-item{background:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e9ecef;text-align:center}.nutrition-item .label{display:block;font-size:.85em;color:#666;margin-bottom:4px}.nutrition-item .value{display:block;font-size:1.2em;font-weight:600;color:#333}.additional-info{margin-bottom:20px}.additional-info h4{color:#333;margin-bottom:8px;font-size:1.05em}.additional-info p{color:#555;line-height:1.5;margin:0}.tags-display{display:flex;gap:6px;flex-wrap:wrap}.tag-detail{background:#e3f2fd;color:#1565c0;padding:4px 12px;border-radius:16px;font-size:.85em;border:1px solid #bbdefb}.recipe-detail-footer{margin-top:32px;padding-top:16px;border-top:1px solid #e0e0e0;color:#666;font-size:.9em}.recipe-detail-footer p{margin:4px 0}@media (max-width: 768px){.list-header{flex-direction:column;gap:12px;align-items:flex-start}.recipe-detail-modal{max-height:85vh}.meta-row,.time-info{flex-direction:column;gap:8px}.instruction-step{flex-direction:column;gap:12px}.step-number{align-self:flex-start}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ingredient-item{flex-direction:column;align-items:flex-start;gap:4px}.ingredient-item .quantity{min-width:auto}}.allergen-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.allergen-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.allergen-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0}.allergen-modal-header h3{margin:0;color:#111827;font-size:1.25rem}.allergen-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:4px;line-height:1;transition:all .2s ease}.allergen-modal-close:hover{background:#f3f4f6;color:#374151}.allergen-modal-content{padding:1.5rem}.all-allergen-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem}.all-allergen-tags .allergen-tag{font-size:.875rem;padding:6px 12px;border-radius:16px}.allergen-modal-note{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0;padding:1rem;background:#f9fafb;border-radius:6px;border-left:4px solid #f59e0b}.dark .allergen-modal-overlay{background:#000000b3}.dark .allergen-modal{background:#1f2937;color:#f9fafb}.dark .allergen-modal-header{background:#111827;border-bottom-color:#374151}.dark .allergen-modal-header h3{color:#f9fafb}.dark .allergen-modal-close{color:#9ca3af}.dark .allergen-modal-close:hover{background:#374151;color:#f3f4f6}.dark .allergen-modal-note{background:#374151;color:#d1d5db;border-left-color:#f59e0b}.dark .recipe-allergen-section{background:#1f2937;border-left-color:#f59e0b}.dark .recipe-allergen-section h2{color:#f9fafb}.dark .recipe-allergen-warning{background:#374151}.dark .recipe-allergen-warning p{color:#fbbf24}@media (max-width: 480px){.allergen-modal{margin:.5rem;max-width:calc(100vw - 1rem)}.allergen-modal-header{padding:.75rem 1rem}.allergen-modal-content{padding:1rem}}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{color:#1f2937;background-color:#fff;min-width:320px;min-height:100vh;margin:0;transition:background-color .3s,color .3s}body.dark{color:#f9fafb;background-color:#111827}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-800:oklch(43.8% .218 303.724);--color-pink-50:oklch(97.1% .014 343.198);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.right-4{right:calc(var(--spacing)*4)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-64{height:calc(var(--spacing)*64)}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-orange-500{border-color:var(--color-orange-500)}.border-red-200{border-color:var(--color-red-200)}.border-red-400{border-color:var(--color-red-400)}.border-transparent{border-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-orange-50{--tw-gradient-from:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-4{padding-top:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-gray-200{color:var(--color-gray-200)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-600{color:var(--color-orange-600)}.text-purple-800{color:var(--color-purple-800)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:text-indigo-600:is(:where(.group):hover *){color:var(--color-indigo-600)}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-green-900:hover{color:var(--color-green-900)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-orange-500:focus{--tw-ring-color:var(--color-orange-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.md\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}@media (hover:hover){.dark\:hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.dark\:hover\:text-blue-300:hover{color:var(--color-blue-300)}}}}.auth-page{background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem;display:flex}.auth-container{background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;width:100%;max-width:1200px;display:grid;overflow:hidden;box-shadow:0 20px 40px #0000001a}.auth-content{padding:3rem}.auth-sidebar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);flex-direction:column;justify-content:center;padding:3rem;display:flex}.auth-sidebar h2{margin-bottom:2rem;font-size:2rem;font-weight:700}.feature-list{flex-direction:column;gap:1.5rem;display:flex}.feature-item{align-items:flex-start;gap:1rem;display:flex}.feature-icon{flex-shrink:0;font-size:1.5rem}.feature-item h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.feature-item p{opacity:.9;line-height:1.5}.auth-form{max-width:400px;margin:0 auto}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{color:#1f2937;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.dark .auth-header h2{color:#f9fafb}.auth-header p{color:#6b7280}.dark .auth-header p{color:#9ca3af}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.form-group{margin-bottom:1rem}.form-group label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.form-control{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.form-control:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.form-control:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.form-control:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.dark .form-control{color:#f9fafb;border-color:#4b5563;background-color:#374151!important}.dark .form-control:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f9fafb!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .form-control:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f9fafb!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .form-control:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f9fafb!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .form-control:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f9fafb!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.form-control:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.dark .form-control:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background:#4f46e5}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{color:#fff;background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.link-button{color:#4f46e5;cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.link-button:hover{color:#4338ca}.auth-footer{text-align:center;border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.dark .auth-footer{border-top:1px solid #374151}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;transition:background-color .2s;display:flex}.user-menu-trigger:hover{background:#f3f4f6}.user-avatar{color:#fff;background:#4f46e5;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.user-name{color:#374151;font-weight:500}.user-type-badge{color:#374151;background:#e5e7eb;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.dropdown-arrow{color:#6b7280;font-size:.75rem;transition:transform .2s}.user-menu-dropdown{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:280px;margin-top:.5rem;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #0000001a}.user-menu-header{border-bottom:1px solid #e5e7eb;padding:1rem}.user-info .user-name{color:#111827;margin-bottom:.25rem;font-weight:600}.user-info .user-email{color:#6b7280;margin-bottom:.25rem;font-size:.875rem}.user-info .user-subscription{color:#4f46e5;font-size:.75rem;font-weight:500}.user-menu-items{padding:.5rem 0}.user-menu-item{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s;display:block}.user-menu-item:hover{background:#f3f4f6}.user-menu-item.upgrade{color:#f59e0b;font-weight:500}.user-menu-item.logout{color:#dc2626}.user-menu-divider{background:#e5e7eb;height:1px;margin:.5rem 0}.user-type-banner{background:#f3f4f6;border-bottom:1px solid #e5e7eb}.user-type-banner.free{background:linear-gradient(90deg,#fef3c7,#fde68a)}.user-type-banner.premium{background:linear-gradient(90deg,#dbeafe,#bfdbfe)}.user-type-banner.creator{background:linear-gradient(90deg,#d1fae5,#a7f3d0)}.user-type-banner.admin{background:linear-gradient(90deg,#fef3c7,#fcd34d)}.user-type-badge{font-size:.875rem;font-weight:600}.ad-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem;position:relative}.ad-label{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:.5rem;right:.5rem}.ad-content{cursor:pointer;align-items:center;gap:1rem;transition:transform .2s;display:flex}.ad-content:hover{transform:translateY(-2px)}.ad-image{object-fit:cover;border-radius:6px;width:80px;height:60px}.ad-text h4{color:#1e293b;margin-bottom:.25rem;font-weight:600}.ad-text p{color:#64748b;font-size:.875rem}.ad-card{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden}.ad-card:before{content:"";opacity:.3;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url('%23grain')"/></svg>');position:absolute;inset:0}.ad-overlay{z-index:1;position:relative}.ad-features{flex-direction:column;gap:.5rem;margin:1rem 0;font-size:.875rem;display:flex}.ad-features .feature-item{text-align:left;white-space:nowrap;padding:.25rem 0;display:block}.ad-card .ad-content{text-align:center;display:block}.ad-card .ad-content h3{margin:0 0 .5rem;font-weight:700}.ad-card .ad-content p{margin:0 0 1rem}.sidebar-ad{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.sidebar-ad h4{color:#1f2937;margin-bottom:.5rem;font-weight:600}.sidebar-ad p{color:#6b7280;margin-bottom:1rem;font-size:.875rem}.sidebar-ad .ad-features{margin:1rem 0;padding:0;list-style:none}.sidebar-ad .ad-features li{color:#374151;padding:.25rem 0;font-size:.875rem}.sidebar-ad .ad-features li:before{content:"✓";color:#10b981;margin-right:.5rem;font-weight:700}.dark .sidebar-ad{background:#1f2937;border:1px solid #374151}.dark .sidebar-ad h4{color:#f9fafb}.dark .sidebar-ad p{color:#d1d5db}.dark .sidebar-ad .ad-features li{color:#e5e7eb}.dark .sidebar-ad .ad-features li:before{color:#10b981}.btn-creator{color:#fff;background:#10b981}.btn-creator:hover:not(:disabled){background:#059669}.btn-premium{color:#fff;background:#3b82f6}.btn-premium:hover:not(:disabled){background:#2563eb}.upgrade-prompt{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.upgrade-content{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:500px;padding:2rem;position:relative}.close-button{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.upgrade-icon{margin-bottom:1rem;font-size:3rem}.upgrade-content h3{color:#1f2937;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.upgrade-content p{color:#6b7280;margin-bottom:1.5rem}.upgrade-benefits h4{color:#1f2937;margin-bottom:.75rem;font-weight:600}.upgrade-benefits ul{text-align:left;margin-bottom:1.5rem;padding:0;list-style:none}.upgrade-benefits li{color:#374151;padding:.25rem 0}.upgrade-benefits li:before{content:"✓";color:#10b981;margin-right:.5rem;font-weight:700}.upgrade-actions{justify-content:center;gap:1rem;display:flex}.dark .upgrade-content{color:#f9fafb;background:#1f2937}.dark .close-button{color:#9ca3af}.dark .close-button:hover{color:#f9fafb;background:#374151}.dark .upgrade-content h3{color:#f9fafb}.dark .upgrade-content p{color:#d1d5db}.dark .upgrade-benefits h4{color:#f9fafb}.dark .upgrade-benefits li{color:#d1d5db}.dark .upgrade-benefits li:before{color:#10b981}.subscription-page{background:#fff;border-radius:.5rem;max-width:1200px;margin:0 auto;padding:2rem;box-shadow:0 1px 3px #0000001a}.dark .subscription-page{color:#f9fafb;background:#1f2937}.subscription-page .page-header{text-align:center;margin-bottom:3rem}.subscription-page .page-header h1{color:#1f2937;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.dark .subscription-page .page-header h1{color:#f9fafb}.subscription-page .page-header p{color:#6b7280;font-size:1.25rem}.dark .subscription-page .page-header p{color:#9ca3af}.subscription-plans{max-width:1200px;margin:0 auto;padding:2rem}.plans-header{text-align:center;margin-bottom:3rem}.plans-header h2{color:#1f2937;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.plans-header p{color:#6b7280;font-size:1.25rem}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.plan-card{text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:2rem;transition:transform .2s,box-shadow .2s;position:relative}.dark .plan-card{color:#f9fafb;background:#1f2937;border-color:#374151}.plan-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001a}.plan-card.popular{border-color:#4f46e5;transform:scale(1.05)}.plan-card.popular:before{content:"";background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:12px 12px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.popular-badge{color:#fff;background:#4f46e5;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan-header{margin-bottom:2rem}.plan-name{color:#1f2937;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.dark .plan-name{color:#f9fafb}.plan-price{margin-bottom:1rem}.price-free{color:#10b981;font-size:2rem;font-weight:700}.price-amount{color:#1f2937;font-size:2.5rem;font-weight:700}.dark .price-amount{color:#f9fafb}.price-period{color:#6b7280;font-size:1rem}.dark .price-period{color:#9ca3af}.plan-description{color:#6b7280;line-height:1.6}.dark .plan-description{color:#9ca3af}.plan-features ul{text-align:left;padding:0;list-style:none}.plan-features li{color:#374151;align-items:center;padding:.5rem 0;display:flex}.dark .plan-features li{color:#d1d5db}.feature-check{color:#10b981;margin-right:.75rem;font-size:1.1rem;font-weight:700}.plan-action{margin-top:2rem}.btn-current{color:#6b7280;cursor:not-allowed;background:#e5e7eb}.current-plan-info{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.dark .current-plan-info{color:#f9fafb;background:#374151;border-color:#4b5563}.current-plan-details{justify-content:center;gap:2rem;margin-top:1rem;display:flex}.plan-type{color:#4f46e5;font-weight:600}.plan-status{color:#6b7280}.feature-comparison{margin-top:4rem}.feature-comparison h2{text-align:center;color:#1f2937;margin-bottom:2rem;font-size:2rem;font-weight:700}.dark .feature-comparison h2{color:#f9fafb}.comparison-table{overflow-x:auto}.comparison-table table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 4px 6px #0000001a}.dark .comparison-table table{background:#374151;border:1px solid #4b5563}.comparison-table th{color:#fff;text-align:center;background:#4f46e5;padding:1rem;font-weight:600}.comparison-table th:first-child{text-align:left}.dark .comparison-table th{background:#4338ca}.comparison-table td{color:#1f2937;text-align:center;border-bottom:1px solid #e5e7eb;padding:1rem}.comparison-table td:first-child{color:#1f2937;text-align:left;font-weight:600}.dark .comparison-table td{color:#f9fafb;text-align:center;border-bottom:1px solid #4b5563}.dark .comparison-table td:first-child{color:#f9fafb;text-align:left;font-weight:600}.comparison-table tr:nth-child(2n){background:#f8fafc}.dark .comparison-table tr:nth-child(2n){background:#4b5563}.comparison-table tr:nth-child(odd){background:#fff}.dark .comparison-table tr:nth-child(odd){background:#374151}.substitution-manager{max-width:1200px;margin:0 auto;padding:2rem}.manager-header{justify-content:between;align-items:center;margin-bottom:2rem;display:flex}.manager-header h2{color:#1f2937;font-size:1.875rem;font-weight:700}.info-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.info-banner p{color:#1e40af;margin:0}.search-filters{margin-bottom:2rem}.search-box{width:100%}.search-input,.search-box input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;margin:0;padding:.75rem;font-size:1rem}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:150px;padding:.75rem}.substitution-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.substitution-form h3{color:#1f2937;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.form-actions{gap:1rem;margin-top:1.5rem;display:flex}.substitution-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.substitution-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.btn-small{padding:.375rem .75rem;font-size:.875rem}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.substitution-category{margin-bottom:.75rem}.category-badge{color:#3730a3;background:#e0e7ff;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.substitution-description{color:#6b7280;margin-bottom:.75rem;line-height:1.5}.substitution-meta{color:#9ca3af;font-size:.875rem}.ingredient-substitutions{margin-top:2rem}.substitutions-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.substitutions-header h3{color:#1f2937;font-size:1.25rem;font-weight:600}.add-substitution-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.substitution-items{flex-direction:column;gap:1rem;display:flex}.substitution-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.substitution-main{justify-content:space-between;align-items:flex-start;display:flex}.substitution-info{flex:1}.substitution-details{flex-wrap:wrap;gap:1rem;margin:.5rem 0;display:flex}.conversion-ratio{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.875rem;font-weight:500}.context-badge{color:#7c2d12;background:#f3e8ff;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.confidence-badge{color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.conversion-notes{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-style:italic}.substitution-display{margin-top:.5rem}.no-substitutions{color:#9ca3af;font-size:.875rem;font-style:italic}.substitution-tags{flex-wrap:wrap;gap:.5rem;display:flex}.substitution-tag{color:#475569;cursor:help;background:#f1f5f9;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:background-color .2s;display:flex}.substitution-tag:hover{background:#e2e8f0}.substitution-tag.more,.substitution-tag.less{color:#fff;cursor:pointer;background:#4f46e5}.substitution-tag.more:hover,.substitution-tag.less:hover{background:#4338ca}.confidence-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px}.recipe-privacy{z-index:2;position:absolute;top:.5rem;left:.5rem}.privacy-badge{border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.privacy-badge.public{color:#065f46;background:#d1fae5}.privacy-badge.private{color:#92400e;background:#fef3c7}.featured-badge{color:#fff;z-index:2;background:#fbbf24;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}.recipe-author{color:#6b7280;margin-bottom:.5rem;font-size:.875rem}.recipe-engagement{color:#9ca3af;justify-content:space-between;margin-top:.5rem;font-size:.75rem;display:flex}.recipe-quick-actions{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.upgrade-hint{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:.75rem;font-size:.875rem}.upgrade-link{color:#4f46e5;font-weight:500;text-decoration:none}.upgrade-link:hover{text-decoration:underline}.upgrade-hint-small{font-size:.75rem}.upgrade-link-small{color:#4f46e5;font-weight:500;text-decoration:none}.recipe-list-footer{text-align:center;margin-top:3rem}.footer-ad{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;padding:2rem}.footer-ad .ad-content h3{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.footer-ad .ad-content p{opacity:.9;margin-bottom:1.5rem}.premium-teaser{text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-top:2rem;padding:2rem}.premium-teaser h3{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.premium-features{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.premium-features .feature{color:#374151;align-items:center;gap:.5rem;display:flex}.feature-icon{font-size:1.25rem}.teaser-actions{justify-content:center;gap:1rem;display:flex}@media (max-width:768px){.auth-container{grid-template-columns:1fr}.auth-sidebar{order:-1}.plans-grid{grid-template-columns:1fr}.plan-card.popular{transform:none}.form-row{grid-template-columns:1fr}.search-filters{flex-direction:column}.substitution-cards{grid-template-columns:1fr}.substitution-details{flex-direction:column;gap:.5rem}.teaser-actions{flex-direction:column}}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;max-height:90vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dark .modal-content{background:#1f2937;border:1px solid #374151;box-shadow:0 20px 25px -5px #00000040,0 10px 10px -5px #0000001a}.modal-content.auth-modal{width:100%;max-width:400px}.modal-close{color:#6b7280;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:#111827;background-color:#f3f4f6}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-form .form-control{background-color:#fff!important;border:1px solid #d1d5db!important}.auth-form .form-control:-webkit-autofill{-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.auth-form .form-control:-webkit-autofill:hover{-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.auth-form .form-control:-webkit-autofill:focus{-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.auth-form .form-control:-webkit-autofill:active{-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.dark .auth-form .form-control{color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}.dark .auth-form .form-control:-webkit-autofill{-webkit-text-fill-color:#f9fafb!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .auth-form .form-control:-webkit-autofill:hover{-webkit-text-fill-color:#f9fafb!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .auth-form .form-control:-webkit-autofill:focus{-webkit-text-fill-color:#f9fafb!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.dark .auth-form .form-control:-webkit-autofill:active{-webkit-text-fill-color:#f9fafb!important;-webkit-box-shadow:inset 0 0 0 30px #374151!important}.loading{color:#6b7280;justify-content:center;align-items:center;padding:2rem;display:flex}.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.error button{color:#dc2626;cursor:pointer;background:0 0;border:none;font-size:1.25rem}.empty-state{text-align:center;color:#6b7280;padding:3rem 1rem}.empty-state h2,.empty-state h3{color:#374151;margin-bottom:1rem}.empty-state p{margin-bottom:1.5rem}.dark .recipe-list{color:#f9fafb!important;background-color:#111827!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;display:block!important}.recipe-list,.recipe-form,.ingredient-manager,.form{box-sizing:border-box!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}.nav-button-container{gap:1rem!important}.nav-button-container>*{flex-shrink:0!important}.nav-button-container .flex{gap:1rem!important}nav .btn.btn-secondary.btn-small{justify-content:center!important;align-items:center!important;min-height:2.5rem!important;padding:.75rem 1.25rem!important;font-size:.875rem!important;display:inline-flex!important}.sm\\:hidden.flex.items-center.space-x-4>*{margin-right:1rem!important}.sm\\:hidden.flex.items-center.space-x-4>:last-child{margin-right:0!important}main{width:100%!important;max-width:none!important;padding-left:1rem!important;padding-right:1rem!important;display:block!important}main>*{width:100%!important;max-width:1200px!important;margin:0 auto!important}nav .max-w-7xl{width:100%!important;max-width:none!important}nav .flex.justify-between{width:100%!important;padding-left:1rem!important;padding-right:1rem!important}nav .hidden.sm\\:ml-6.sm\\:flex.sm\\:items-center.sm\\:space-x-4{margin-left:auto!important;margin-right:0!important}.dark .recipe-filters{background-color:#1f2937;border-color:#374151}.dark .search-input{color:#f9fafb;background-color:#374151;border-color:#4b5563}.dark .search-input::placeholder{color:#9ca3af}.dark .filter-select{color:#f9fafb;background-color:#374151;border-color:#4b5563}.dark .recipe-card{color:#f9fafb;background-color:#1f2937;border-color:#374151}.dark .recipe-title{color:#f9fafb}.dark .recipe-description{color:#d1d5db}.dark .recipe-author{color:#fff}.dark .category-badge,.dark .cuisine-badge{color:#d1d5db;background-color:#374151}.dark .stat label{color:#9ca3af}.dark .stat span,.dark .ingredient-count,.dark .calories{color:#d1d5db}.dark .recipe-engagement{color:#9ca3af}.dark .tag{color:#d1d5db;background-color:#374151}.dark .upgrade-hint{color:#bfdbfe;background-color:#1e3a8a;border-color:#3b82f6}.dark .upgrade-link,.dark .upgrade-link-small{color:#60a5fa}.dark .premium-teaser{color:#f9fafb;background-color:#1f2937;border-color:#374151}.dark .premium-teaser h3{color:#f9fafb}.dark .premium-features .feature{color:#d1d5db}.dark .footer-ad{background:linear-gradient(135deg,#065f46,#047857)}.dark .empty-state{color:#9ca3af}.dark .empty-state h2,.dark .empty-state h3{color:#d1d5db}.dark .btn-primary{color:#fff;background:#4f46e5}.dark .btn-primary:hover:not(:disabled){background:#4338ca}.dark .btn-secondary{color:#fff;background:#6b7280}.dark .btn-secondary:hover:not(:disabled){background:#4b5563}.dark .recipe-times{background-color:#1f2937}.dark .time-item{color:#d1d5db;background-color:#374151}.dark .time-item.total-time{color:#d1fae5;background-color:#065f46}.dark .recipe-stats{background-color:#1f2937;border-color:#374151}.dark .recipe-metadata{background-color:#1f2937}.dark .metadata-item{color:#d1d5db;background-color:#374151;border-color:#4b5563}.dark .metadata-item.category{color:#bfdbfe;background-color:#1e3a8a;border-color:#3b82f6}.dark .metadata-item.cuisine{color:#a7f3d0;background-color:#065f46;border-color:#10b981}.dark .metadata-item.yield{color:#e9d5ff;background-color:#581c87;border-color:#a855f7}.dark .allergen-checkbox:hover{color:#f9fafb!important;background-color:#374151!important}.dark .allergen-checkbox{color:#f9fafb!important}.dark .modal-content{color:#f9fafb!important;background-color:#1f2937!important}.dark .modal-title{color:#f9fafb!important}.dark .modal-header{border-bottom-color:#374151!important}.dark .modal-close{color:#9ca3af!important}.dark .modal-close:hover{color:#f9fafb!important;background-color:#374151!important}.dark .recipe-form,.dark .form{color:#f9fafb!important;background-color:#1f2937!important}.dark .form-header{border-bottom-color:#374151!important}.dark .form-section h3,.dark .form-section h4{color:#f9fafb!important}.dark .form-group label{color:#d1d5db!important}.dark .form-control,.dark input,.dark textarea,.dark select{color:#f9fafb!important;background-color:#374151!important;border-color:#4b5563!important}.dark .form-control:focus,.dark input:focus,.dark textarea:focus,.dark select:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11a!important}.dark .form-control:disabled,.dark input:disabled,.dark textarea:disabled,.dark select:disabled{color:#9ca3af!important;background-color:#4b5563!important}.dark .form-control::placeholder,.dark input::placeholder,.dark textarea::placeholder{color:#9ca3af!important}.dark .form-actions{border-top-color:#374151!important}.dark .ingredients-list{background-color:#374151!important;border-color:#4b5563!important}.dark .ingredient-item{border-bottom-color:#4b5563!important}.dark .tags-display .tag{color:#d1d5db!important;background-color:#4b5563!important}.dark .section-header{color:#f9fafb!important}.dark .bg-white{background-color:#1f2937!important}.dark .text-gray-700{color:#d1d5db!important}.dark .text-gray-600{color:#9ca3af!important}.dark .text-gray-800,.dark .text-gray-900{color:#f9fafb!important}.dark .border-gray-200{border-color:#374151!important}.dark .border-gray-300{border-color:#4b5563!important}.dark .shadow-md,.dark .shadow-sm,.dark .shadow-lg{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003!important}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#f9fafb!important}.dark .font-semibold{color:#e5e7eb!important}.dark .font-bold{color:#f9fafb!important}.dark .text-blue-600{color:#60a5fa!important}.dark .hover\\:text-blue-800:hover{color:#3b82f6!important}.dark .rounded-lg,.dark .rounded-md{background-color:#1f2937!important;border-color:#374151!important}.dark .bg-gray-50{background-color:#374151!important}.dark .bg-gray-100{background-color:#4b5563!important}.dark .bg-blue-100{color:#bfdbfe!important;background-color:#1e3a8a!important}.dark .bg-green-100{color:#a7f3d0!important;background-color:#065f46!important}.dark .bg-yellow-100{color:#fde68a!important;background-color:#92400e!important}.dark .bg-red-100{color:#fca5a5!important;background-color:#7f1d1d!important}.dark .text-blue-800{color:#bfdbfe!important}.dark .text-green-800{color:#a7f3d0!important}.dark .text-yellow-800{color:#fde68a!important}.dark .text-red-800{color:#fca5a5!important}.dark .text-center{color:#d1d5db!important}.dark .divide-gray-200>:not([hidden])~:not([hidden]){border-color:#374151!important}.dark ol,.dark ul,.dark li{color:#d1d5db!important}.recipe-card .ingredient-count,.recipe-card .calories,.recipe-card .recipe-engagement,.recipe-card .recipe-allergens,.recipe-card .recipe-rating,.recipe-card .recipe-stats{color:#1f2937!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;background-color:#ffffffb3!important;border-radius:.375rem!important;margin-bottom:.5rem!important;padding:.5rem!important}.dark .recipe-card .ingredient-count,.dark .recipe-card .calories,.dark .recipe-card .recipe-engagement,.dark .recipe-card .recipe-allergens,.dark .recipe-card .recipe-rating,.dark .recipe-card .recipe-stats{color:#f9fafb!important;background-color:#111827b3!important}.dark .ingredient-manager{color:#f9fafb;background-color:#111827}.dark .manager-header h2{color:#f9fafb!important}.dark .ingredient-card{color:#f9fafb!important;background-color:#1f2937!important;border-color:#374151!important}.dark .ingredient-main{background-color:#1f2937!important}.dark .ingredient-info h4{color:#f9fafb!important}.dark .ingredient-info .description{color:#d1d5db!important}.dark .ingredient-meta .unit,.dark .ingredient-meta .calories{color:#9ca3af!important}.dark .search-box input,.dark .search-input{color:#f9fafb!important;background-color:#374151!important;border-color:#4b5563!important}.dark .search-box input::placeholder,.dark .search-input::placeholder{color:#9ca3af!important}.dark .allergen-filter select{color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}.allergen-filter{background:0 0!important;border:none!important;outline:none!important;padding:0!important}.allergen-filter select{box-sizing:border-box!important;vertical-align:baseline!important;appearance:none!important;background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:6px!important;outline:none!important;min-width:150px!important;height:48px!important;margin:0!important;padding:.75rem!important;font-size:1rem!important;line-height:normal!important}.allergen-filter select:focus{border-color:#4f46e5!important;box-shadow:0 0 0 1px #4f46e51a!important}.dark .allergen-filter{background:0 0!important;border:none!important;outline:none!important}.dark .list-header span{color:#d1d5db!important}.dark .allergen-checkbox{color:#f9fafb!important;border-color:#4b5563!important}.dark .allergen-checkbox:hover{background-color:#374151!important}.allergen-checkbox input[type=checkbox]{accent-color:#2563eb!important;background-color:#fff!important;border:2px solid #d1d5db!important}.allergen-checkbox input[type=checkbox]:checked{background-color:#2563eb!important;border-color:#2563eb!important}.dark .allergen-checkbox input[type=checkbox]{accent-color:#60a5fa!important;background-color:#1f2937!important;border-color:#9ca3af!important}.dark .allergen-checkbox input[type=checkbox]:checked{accent-color:#60a5fa!important;background-color:#60a5fa!important;border-color:#60a5fa!important}.dark .allergen-section h4{color:#f9fafb!important}.dark .substitutions-management{color:#f9fafb!important;background-color:#1f2937!important}.dark .substitutions-management h4{color:#f9fafb!important}.dark .substitutions-management p{color:#d1d5db!important}.dark .substitutions-management .btn{color:#f9fafb!important;background-color:#374151!important;border-color:#4b5563!important}.dark .substitutions-management .btn:hover{background-color:#4b5563!important}.dark .substitutions-management .btn-danger{color:#fff!important;background-color:#dc2626!important}.dark .substitutions-management .btn-danger:hover{background-color:#b91c1c!important}.dark .ingredient-manager>div[style*="background: #f0f0f0"]{color:#d1d5db!important;background-color:#374151!important}.dark .ingredient-manager div[style*="color: #059669"]{color:#10b981!important}.dark .ingredient-manager div[style*="color: #666"]{color:#9ca3af!important}.dark .substitution-management div[style*="border: 1px solid #e5e7eb"]{background-color:#374151!important;border-color:#4b5563!important}.dark .substitution-management div[style*="color: #6b7280"]{color:#d1d5db!important}.dark .substitution-management small[style*="color: #6b7280"]{color:#9ca3af!important}.allergen-filter-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.allergen-filter-section h4{color:#374151;margin:0 0 1rem;font-size:1rem;font-weight:600}.allergen-checkboxes-filter{flex-wrap:wrap;gap:1rem;display:flex}.dark .allergen-filter-section{background:#374151;border-color:#4b5563}.dark .allergen-filter-section h4{color:#f9fafb}.dark .btn-secondary{color:#fff!important;background-color:#6b7280!important}.dark .btn-secondary:hover{background-color:#4b5563!important}.allergen-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.allergen-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.allergen-card:hover{box-shadow:0 4px 6px #0000001a}.allergen-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.allergen-name{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.allergen-actions{gap:.5rem;display:flex}.dark .allergen-card{color:#f9fafb!important;background:#1f2937!important;border-color:#374151!important}.dark .allergen-name{color:#f9fafb!important}.dark .allergen-card .allergen-stats{color:#d1d5db!important}.dark .allergen-card .usage-badge{color:#fff!important;background-color:#059669!important}.dark .allergen-card .btn{color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}.dark .allergen-card .btn:hover{background-color:#4b5563!important}.dark .allergen-card .btn-danger{color:#fff!important;background-color:#dc2626!important;border:1px solid #dc2626!important}.dark .allergen-card .btn-danger:hover{background-color:#b91c1c!important}.substitution-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.substitution-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.substitution-card:hover{box-shadow:0 4px 6px #0000001a}.substitution-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.substitution-name{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.substitution-actions{gap:.5rem;display:flex}.dark .substitution-card{color:#f9fafb!important;background:#1f2937!important;border-color:#374151!important}.dark .substitution-name{color:#f9fafb!important}.dark .substitution-card .substitution-stats{color:#d1d5db!important}.dark .substitution-card .category-badge,.dark .substitution-card .btn{color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}.dark .substitution-card .btn:hover{background-color:#4b5563!important}.dark .substitution-card .btn-danger{color:#fff!important;background-color:#dc2626!important;border:1px solid #dc2626!important}.dark .substitution-card .btn-danger:hover{background-color:#b91c1c!important}.substitution-manager .search-filters{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.substitution-manager .search-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;flex:1;margin:0;padding:.75rem;font-size:1rem}.substitution-manager .filter-select{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;min-width:150px;margin:0;padding:.75rem;font-size:1rem}.dark .substitution-manager .search-input,.dark .substitution-manager .filter-select{color:#f9fafb!important;background-color:#374151!important;border-color:#4b5563!important}.dark .substitution-manager .search-input::placeholder{color:#9ca3af!important}.dark .hover\:bg-gray-50:hover,.dark tr.hover\:bg-gray-50:hover{background-color:#374151!important}.dark tr.hover\:bg-gray-50:hover td{color:#f9fafb!important}.dark tr.hover\:bg-gray-50:hover .badge{color:#1f2937!important;background-color:#fbbf24!important}.dark tr.hover\:bg-gray-50:hover .btn{color:#f9fafb!important;background-color:#4b5563!important;border-color:#6b7280!important}.dark tr.hover\:bg-gray-50:hover .btn-danger{color:#fff!important;background-color:#dc2626!important}.dark .bg-red-100,.dark .bg-purple-100,.dark .bg-blue-100,.dark .bg-gray-100,.dark .bg-green-100,.dark .bg-yellow-100{background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.dark .text-red-800,.dark .text-purple-800,.dark .text-blue-800,.dark .text-gray-800,.dark .text-green-800,.dark .text-yellow-800{color:#f9fafb!important}.dark button[class*=text-blue],.dark [class*=text-blue-6]{color:#3b82f6!important;cursor:pointer!important;background:0 0!important;border:none!important;text-decoration:none!important}.dark button[class*=text-blue]:hover,.dark [class*=text-blue-6]:hover{color:#60a5fa!important;text-decoration:underline!important}.dark button[class*=text-red],.dark [class*=text-red-6]{color:#ef4444!important;cursor:pointer!important;background:0 0!important;border:none!important;text-decoration:none!important}.dark button[class*=text-red]:hover,.dark [class*=text-red-6]:hover{color:#f87171!important;text-decoration:underline!important}.dark button[class*=text-green],.dark [class*=text-green-6]{color:#10b981!important;cursor:pointer!important;background:0 0!important;border:none!important;text-decoration:none!important}.dark button[class*=text-green]:hover,.dark [class*=text-green-6]:hover{color:#34d399!important;text-decoration:underline!important}.dark button.disabled,.dark button:disabled{color:#6b7280!important;cursor:not-allowed!important}body.dark table tbody tr td button{background:0 0!important;border:none!important}body.dark table tbody tr td button:contains("Edit"){color:#3b82f6!important}body.dark table tbody tr td button:contains("Delete"){color:#ef4444!important}.dark table,.dark tbody,.dark tr,.dark td,.dark th{border-color:#374151!important}.dark .divide-y>:not([hidden])~:not([hidden]),.dark .divide-gray-200>:not([hidden])~:not([hidden]){border-top-color:#374151!important}.dark tbody.bg-white{background-color:#0000!important}.modal .allergen-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1.5rem 0;padding:1rem}.allergen-section h4{color:#374151;margin:0 0 1rem;font-size:1rem;font-weight:600}.allergen-checkboxes{flex-wrap:wrap;gap:1rem;display:flex}.dark .modal .allergen-section{background:#374151!important;border-color:#4b5563!important}.dark .modal .allergen-section h4{color:#f9fafb!important}button.substitution-button{background-color:#eff6ff!important;border:1px solid #dbeafe!important;padding:.25rem .5rem!important}button.substitution-button:hover{background-color:#dbeafe!important;border-color:#93c5fd!important}.dark button.substitution-button{background-color:#1e3a8a33!important;border-color:#3b82f64d!important}.dark button.substitution-button:hover{background-color:#1e3a8a4d!important;border-color:#3b82f680!important}.modal .substitution-card .bg-blue-100{background-color:#dbeafe!important}.dark .modal .substitution-card .bg-blue-100{background-color:#1e3a8a4d!important}.modal .substitution-card .bg-green-100{background-color:#d1fae5!important}.dark .modal .substitution-card .bg-green-100{background-color:#065f464d!important}.modal .substitution-card .bg-purple-100{background-color:#e9d5ff!important}.dark .modal .substitution-card .bg-purple-100{background-color:#581c874d!important}.modal .substitution-card .bg-yellow-100{background-color:#fef3c7!important}.dark .modal .substitution-card .bg-yellow-100{background-color:#713f124d!important}body:not(.dark) .modal-body .substitution-card .text-blue-900,body:not(.dark) .modal-body .substitution-card span.text-blue-900,body:not(.dark) .modal-body .substitution-card .text-blue-200,body:not(.dark) .modal-body .substitution-card .dark\:text-blue-200{color:#1e3a8a!important}body:not(.dark) .modal-body .substitution-card .text-green-900,body:not(.dark) .modal-body .substitution-card span.text-green-900,body:not(.dark) .modal-body .substitution-card .text-green-200,body:not(.dark) .modal-body .substitution-card .dark\:text-green-200{color:#14532d!important}body:not(.dark) .modal-body .substitution-card .text-purple-900,body:not(.dark) .modal-body .substitution-card span.text-purple-900,body:not(.dark) .modal-body .substitution-card .text-purple-200,body:not(.dark) .modal-body .substitution-card .dark\:text-purple-200{color:#581c87!important}body:not(.dark) .modal-body .substitution-card .text-yellow-900,body:not(.dark) .modal-body .substitution-card span.text-yellow-900,body:not(.dark) .modal-body .substitution-card .text-yellow-200,body:not(.dark) .modal-body .substitution-card .dark\:text-yellow-200{color:#713f12!important}body:not(.dark) .modal-body .substitution-card .text-gray-900,body:not(.dark) .modal-body .substitution-card h4.text-gray-900,body:not(.dark) .modal-body .substitution-card .text-gray-100,body:not(.dark) .modal-body .substitution-card .dark\:text-gray-100{color:#111827!important}body:not(.dark) .modal-body .substitution-card .text-gray-700,body:not(.dark) .modal-body .substitution-card p.text-gray-700,body:not(.dark) .modal-body .substitution-card .text-gray-300,body:not(.dark) .modal-body .substitution-card .dark\:text-gray-300{color:#374151!important}body:not(.dark) .modal-body .substitution-card .text-gray-600,body:not(.dark) .modal-body .substitution-card span.text-gray-600,body:not(.dark) .modal-body .substitution-card .text-gray-400,body:not(.dark) .modal-body .substitution-card .dark\:text-gray-400{color:#4b5563!important}body:not(.dark) .modal-body p.text-gray-600,body:not(.dark) .modal-body strong.text-gray-900,body:not(.dark) .modal-body .dark\:text-gray-400,body:not(.dark) .modal-body .dark\:text-gray-100{color:#374151!important}body:not(.dark) .modal-body .substitution-card span,body:not(.dark) .modal-body .substitution-card p,body:not(.dark) .modal-body .substitution-card h4{color:inherit!important}body:not(.dark) .modal-body .substitution-card{color:#111827!important}.dark .ingredient-actions .btn{color:#f9fafb!important;background-color:#374151!important;border-color:#4b5563!important}.dark .ingredient-actions .btn:hover{background-color:#4b5563!important}.dark .ingredient-actions .btn-small{color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}.dark .ingredient-actions .btn-small:hover{background-color:#4b5563!important}.dark .ingredient-actions button:not(.btn-danger):not([style*=backgroundColor]){color:#f9fafb!important;background-color:#374151!important;border:1px solid #4b5563!important}@media print{nav,button,select,.btn,.btn-primary,.btn-secondary,.btn-small,.substitution-button,.user-menu,.nav-button-container,.modal-overlay,.modal,img,video,iframe{display:none!important}.shadow-md,.shadow-sm,.shadow-lg{box-shadow:none!important}body{color:#000!important;background:#fff!important}.bg-white,.bg-gray-50,.bg-gray-100{background:#fff!important}*,h1,h2,h3,h4,h5,h6,.font-bold,.font-semibold{color:#000!important}.text-blue-600{color:#2563eb!important}.border,.border-l-4{border-color:#e5e7eb!important}.bg-white.rounded-lg{page-break-inside:avoid}.max-w-4xl{max-width:100%!important;margin:0!important;padding:.5rem!important}.ingredients,.instructions{page-break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
