*{-webkit-tap-highlight-color:transparent}.admin-content{width:100%;box-sizing:border-box}@media (max-width: 1024px){.admin-content{width:100%}}@media (max-width: 768px){.admin-content{margin-left:0;width:100%}}.recipes-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--component-gap);margin:var(--section-margin) 0}.recipe-card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-internal-padding);transition:transform var(--transition-base)}.recipe-card:hover{transform:translateY(-5px)}.recipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--table-td-border)}.recipe-header h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.category{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--badge-radius);font-size:var(--font-size-sm)}.ingredients-details{margin-top:var(--spacing-md);border:var(--table-td-border);border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);overflow:hidden;transition:all var(--transition-base)}.ingredients-details[open]{background-color:var(--color-bg-primary);box-shadow:var(--shadow-md)}.ingredients-summary{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;transition:background-color var(--transition-fast);outline:none}.ingredients-summary:hover{background-color:var(--table-hover-bg)}.ingredients-summary h4{margin:0;color:var(--color-text-secondary);display:inline-block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.ingredients-summary::-webkit-details-marker{display:none}.ingredients-summary:after{content:"+";font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-action-primary);transition:transform var(--transition-base)}.ingredients-details[open] .ingredients-summary:after{transform:rotate(45deg)}.ingredients-list{padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-xl);margin:0;max-height:300px;overflow-y:auto}.ingredients-list li{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);line-height:1.4}.ingredients-list li:last-child{margin-bottom:0}.recipe-pricing{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-left:4px solid var(--color-action-primary)}.recipe-pricing .price-row{flex-wrap:wrap}.price-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.price-row:last-child{margin-bottom:0}.price-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.price-value{font-weight:var(--font-weight-medium);color:var(--color-action-primary)}.cogs-value{font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.profit-value.positive{font-weight:var(--font-weight-medium);color:var(--color-success)}.profit-value.negative{font-weight:var(--font-weight-medium);color:var(--color-danger)}.margin-value.positive{font-weight:var(--font-weight-medium);color:var(--color-success)}.margin-value.negative{font-weight:var(--font-weight-medium);color:var(--color-danger)}.recipe-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);justify-content:flex-end;flex-wrap:wrap}.recipe-actions .btn{min-height:44px;min-width:44px}.add-recipe-form{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-internal-padding);margin-top:var(--section-margin)}.form-group{margin-bottom:var(--form-element-gap)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-md);border:var(--form-input-border);border-radius:var(--form-input-radius);font-size:var(--font-size-base)}.form-group textarea{height:100px;resize:vertical}.btn{padding:var(--btn-padding);border:none;border-radius:var(--btn-radius);cursor:pointer;font-weight:var(--btn-font-weight)}.btn-primary{background-color:var(--color-action-primary);color:#fff}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-success{background-color:var(--color-success);color:#fff}.btn-secondary{background-color:var(--color-action-secondary);color:#fff}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:var(--modal-overlay-bg)}.modal-content{background-color:var(--modal-bg);margin:var(--modal-margin-top-mobile) auto;padding:0;border-radius:var(--modal-radius);width:90%;max-width:900px;box-shadow:var(--modal-shadow);animation:modalFadeIn var(--transition-base) ease-out}.modal-content .modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.modal-content .modal-header h2{font-size:1.25rem;word-break:break-word}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);border-bottom:var(--modal-header-border);background-color:var(--color-bg-tertiary);border-radius:var(--modal-radius) var(--modal-radius) 0 0}.modal-header h2{margin:0;color:var(--modal-title-color);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.close{color:var(--color-text-secondary);font-size:28px;font-weight:var(--font-weight-bold);cursor:pointer;transition:color var(--transition-fast);line-height:1}.close:hover,.close:focus{color:var(--color-danger);text-decoration:none}.modal-body{padding:var(--spacing-xl);max-height:70vh;overflow-y:auto}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{font-size:.875rem}.modal-body .form-actions{flex-direction:column;gap:.75rem}.modal-body .form-actions .btn{width:100%;font-size:.875rem}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.loading-spinner:before{content:"";display:inline-block;width:20px;height:20px;margin-right:var(--spacing-md);border:3px solid rgba(127,140,141,.3);border-radius:50%;border-top-color:#3498db;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{padding:var(--spacing-lg);background-color:var(--bg-danger);color:var(--color-danger);border-radius:var(--radius-md);text-align:center;margin:var(--spacing-lg) 0}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--section-margin)}.ingredient-field{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);border:var(--table-td-border);border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ingredient-field:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.ingredient-row{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr auto;gap:var(--spacing-md);align-items:end}.ingredient-row .form-group{margin-bottom:0}.ingredient-row label{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.ingredient-search-container{position:relative}.ingredient-search-input{width:100%;padding:var(--spacing-md);border:var(--form-input-border);border-radius:var(--form-input-radius);font-size:var(--font-size-base)}.ingredient-search-input:focus{outline:none;border-color:var(--form-input-focus-border);box-shadow:var(--form-input-focus-shadow)}.ingredient-search-results{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background-color:var(--color-bg-primary);border:var(--table-td-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100;display:none}.search-result-item{padding:var(--spacing-md);cursor:pointer;border-bottom:var(--table-td-border)}.search-result-item:hover{background-color:var(--table-hover-bg)}.search-result-item:last-child{border-bottom:none}.result-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.result-details{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.no-results{padding:var(--spacing-md);color:var(--color-text-secondary);font-style:italic;text-align:center}@media (max-width: 768px){.recipes-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md);margin:var(--spacing-md) 0}.recipe-card{padding:var(--card-padding-mobile, var(--card-padding))}.recipe-header h3{font-size:var(--font-size-base)}.recipe-pricing{padding:var(--spacing-md)}.recipe-pricing .price-row{flex-direction:column;gap:var(--spacing-xs)}.recipe-pricing .price-label{font-size:var(--font-size-sm)}.recipe-pricing .price-value,.recipe-pricing .cogs-value,.recipe-pricing .profit-value,.recipe-pricing .margin-value{font-size:var(--font-size-base)}.ingredients-details{margin-top:var(--spacing-md)}.ingredients-summary{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.ingredients-summary h4{font-size:var(--font-size-base)}.ingredients-list{max-height:200px;padding:0 var(--spacing-md)}.ingredients-list li{font-size:var(--font-size-sm);line-height:1.3}.recipe-actions{flex-direction:column;gap:var(--spacing-sm)}.recipe-actions .btn{width:100%;font-size:var(--font-size-sm)}.add-recipe-form{padding:var(--spacing-lg)}.add-recipe-form h2{font-size:var(--font-size-lg)}.add-recipe-form .form-group{margin-bottom:.75rem}.add-recipe-form .form-group label{font-size:var(--font-size-sm)}.modal-content{width:95%;max-width:95%;padding:var(--spacing-lg)}.modal-content .modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md)}.modal-content .modal-header h2{font-size:1.125rem}.modal-content .modal-body{padding:var(--spacing-md);max-height:75vh}.modal-content .modal-body .form-group{margin-bottom:.75rem}.modal-content .modal-body .form-group label{font-size:.875rem}.modal-content .modal-body .form-actions{flex-direction:column;gap:.75rem}.modal-content .modal-body .form-actions .btn{width:100%;font-size:.875rem}.modal-content .modal-body .ingredient-field{padding:.75rem}.modal-content .modal-body .ingredient-row{grid-template-columns:1fr;gap:.5rem}.modal-content .modal-body .ingredient-row label{font-size:.75rem}}@media (max-width: 480px){.recipes-container{grid-template-columns:1fr;gap:var(--spacing-sm)}.recipe-card{padding:var(--card-padding-mobile, var(--card-padding-mobile))}.recipe-header h3{font-size:var(--font-size-base)}.recipe-pricing{padding:var(--spacing-sm)}.recipe-pricing .price-label{font-size:.8125rem}.recipe-pricing .price-value,.recipe-pricing .cogs-value,.recipe-pricing .profit-value,.recipe-pricing .margin-value{font-size:var(--font-size-sm)}.ingredients-summary{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.ingredients-summary h4{font-size:var(--font-size-sm)}.ingredients-list{max-height:150px;padding:0 var(--spacing-sm)}.ingredients-list li{font-size:.8125rem;line-height:1.2}.add-recipe-form{padding:var(--spacing-sm)}.add-recipe-form h2{font-size:var(--font-size-sm)}.add-recipe-form .form-group{margin-bottom:.625rem}.add-recipe-form .form-group label{font-size:.8125rem}.modal-content{width:98%;max-width:98%;padding:var(--spacing-sm)}.modal-content .modal-header{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm)}.modal-content .modal-header h2{font-size:1rem}.modal-content .modal-body{padding:var(--spacing-sm);max-height:80vh}.modal-content .modal-body .form-group{margin-bottom:.625rem}.modal-content .modal-body .form-group label{font-size:.8125rem}.modal-content .modal-body .form-actions{flex-direction:column;gap:.625rem}.modal-content .modal-body .form-actions .btn{width:100%;font-size:.8125rem}.modal-content .modal-body .ingredient-field{padding:.625rem}.modal-content .modal-body .ingredient-row{grid-template-columns:1fr;gap:.5rem}.modal-content .modal-body .ingredient-row label{font-size:.6875rem}}@media (max-width: 375px){.recipe-card{padding:var(--card-padding-mobile, var(--card-padding-mobile))}.recipe-header h3{font-size:var(--font-size-base)}.recipe-pricing{padding:var(--spacing-sm)}.recipe-pricing .price-label{font-size:.75rem}.recipe-pricing .price-value,.recipe-pricing .cogs-value,.recipe-pricing .profit-value,.recipe-pricing .margin-value{font-size:var(--font-size-sm)}.ingredients-summary{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.ingredients-summary h4{font-size:var(--font-size-sm)}.ingredients-list{max-height:120px;padding:0 var(--spacing-sm)}.ingredients-list li{font-size:.75rem;line-height:1.1}.add-recipe-form{padding:var(--spacing-sm)}.add-recipe-form h2{font-size:var(--font-size-sm)}.add-recipe-form .form-group{margin-bottom:.5rem}.add-recipe-form .form-group label{font-size:.75rem}.modal-content{width:100%;max-width:100%;padding:var(--spacing-sm)}.modal-content .modal-header{padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-xs)}.modal-content .modal-header h2{font-size:.9375rem}.modal-content .modal-body{padding:var(--spacing-sm);max-height:85vh}.modal-content .modal-body .form-group{margin-bottom:.5rem}.modal-content .modal-body .form-group label{font-size:.75rem}.modal-content .modal-body .form-actions{flex-direction:column;gap:.5rem}.modal-content .modal-body .form-actions .btn{width:100%;font-size:.75rem}.modal-content .modal-body .ingredient-field{padding:.5rem}.modal-content .modal-body .ingredient-row{grid-template-columns:1fr;gap:.5rem}.modal-content .modal-body .ingredient-row label{font-size:.6875rem}}
