:root{--theme-primary: #FFB6C1;--theme-secondary: #FFC0CB;--theme-accent: #FF69B4;--theme-background: #FFF0F5;--theme-surface: #FFFFFF;--theme-text: #4A4A4A;--theme-text-light: #6B6B6B;--theme-border: #FFD1DC;--theme-success: #98FB98;--theme-danger: #FF6B6B;--theme-warning: #FFDAB9;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition-fast: .15s ease;--transition-normal: .3s ease}.filter-card{border:2px solid var(--theme-border)!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius-lg)!important;background:linear-gradient(135deg,var(--theme-surface) 0%,var(--theme-background) 100%)!important;transition:all var(--transition-normal)}.filter-card:hover{box-shadow:var(--shadow-lg)!important;border-color:var(--theme-accent)!important}.filter-label{font-weight:600;color:var(--theme-text);margin-bottom:.5rem;display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.search-input{border:2px solid var(--theme-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.95rem;transition:all var(--transition-fast);background-color:var(--theme-surface);color:var(--theme-text)}.search-input:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #ff69b426;transform:translateY(-1px)}.search-input::placeholder{color:var(--theme-text-light);opacity:.7}.filter-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A4A4A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;background-color:var(--theme-surface);border:2px solid var(--theme-border);border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:.95rem;color:var(--theme-text);padding:.75rem 1rem}.filter-select:hover{border-color:var(--theme-accent)}.filter-select:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #ff69b426;transform:translateY(-1px)}.filter-select option{padding:.5rem;font-size:.95rem;background-color:var(--theme-surface);color:var(--theme-text)}.filter-toggle-btn:hover{border-color:var(--theme-accent);background-color:var(--theme-background);transform:translateY(-1px)}.filter-reset-btn:hover{background-color:var(--theme-background);border-color:var(--theme-text-light);color:var(--theme-text);transform:translateY(-1px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--theme-background);color:var(--theme-text);line-height:1.7;font-size:16px;transition:background-color var(--transition-normal),color var(--transition-normal)}code{font-family:Courier New,monospace}.container{max-width:1280px;margin:0 auto;padding:0 24px}@media (max-width: 768px){.container{padding:0 16px}}.navbar{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-accent) 100%);padding:1rem 0;margin-bottom:2rem;box-shadow:var(--shadow-md);transition:background var(--transition-normal);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-brand{color:#fff!important;font-size:1.875rem;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.15);letter-spacing:-.5px;text-decoration:none;display:flex;align-items:center;gap:.75rem}.navbar-logo{height:2.5rem;width:auto;vertical-align:middle}.navbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.navbar-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.nav-buttons{display:flex;gap:.75rem}.nav-actions{display:flex;align-items:center;gap:.75rem}@media (max-width: 768px){.navbar .container{flex-direction:column;text-align:center}.navbar .d-flex{flex-wrap:wrap;justify-content:center!important;gap:.5rem;width:100%;margin-top:.5rem}.navbar-brand{font-size:1.5rem}}.btn{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:600;transition:all var(--transition-normal);letter-spacing:.025em;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-accent) 100%);color:#fff;box-shadow:var(--shadow-sm);border:2px solid transparent}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-primary) 100%)}.btn-secondary{background-color:var(--theme-surface);color:var(--theme-text);border:2px solid var(--theme-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--theme-primary);color:var(--theme-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background:linear-gradient(135deg,var(--theme-success) 0%,#6BCF7F 100%);color:#fff;border:none;box-shadow:var(--shadow-sm)}.btn-success:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(135deg,var(--theme-danger) 0%,#FF8787 100%);color:#fff;border:none;box-shadow:var(--shadow-sm)}.btn-danger:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-outline-light:hover{background:#ffffff26;border-color:#fff;transform:translateY(-1px)}.btn-sm{padding:.375rem .75rem;font-size:.875rem;min-height:32px}.card{background:var(--theme-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--theme-border);transition:all var(--transition-normal);overflow:hidden;position:relative}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--theme-primary)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--theme-primary) 0%,var(--theme-accent) 100%);opacity:0;transition:opacity var(--transition-normal)}.card:hover:before{opacity:1}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.625rem;font-weight:600;color:var(--theme-text);font-size:.9375rem;letter-spacing:.025em}.form-control{width:100%;padding:.875rem 1rem;border:2px solid var(--theme-border);border-radius:var(--radius-md);font-size:1rem;background-color:var(--theme-surface);color:var(--theme-text);transition:all var(--transition-fast);font-family:inherit;line-height:1.5}.form-control:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #ff69b426;transform:translateY(-1px)}.form-control::placeholder{color:var(--theme-text-light);opacity:.7}textarea.form-control{min-height:120px;resize:vertical;line-height:1.6}select.form-control{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A4A4A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;background-color:var(--theme-surface);border:2px solid var(--theme-border);border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:.95rem;color:var(--theme-text)}select.form-control:hover{border-color:var(--theme-accent)}select.form-control:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #ff69b426;transform:translateY(-1px)}select.form-control option{padding:.5rem;font-size:.95rem;background-color:var(--theme-surface);color:var(--theme-text)}.filter-section{background:var(--theme-surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:2rem;border:1px solid var(--theme-border)}.filter-label{font-weight:600;color:var(--theme-text);margin-bottom:.5rem;display:block;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.filter-select{position:relative}.filter-select:after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--theme-text-light)}.filter-toggle-group{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-toggle-btn{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);border:2px solid var(--theme-border);background-color:var(--theme-surface);color:var(--theme-text)}.filter-toggle-btn:hover{border-color:var(--theme-accent);background-color:var(--theme-background)}.filter-toggle-btn.active{background-color:var(--theme-accent);border-color:var(--theme-accent);color:#fff;box-shadow:var(--shadow-sm)}.filter-reset-btn{padding:.5rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);border:2px solid var(--theme-border);background-color:transparent;color:var(--theme-text-light)}.filter-reset-btn:hover{background-color:var(--theme-background);border-color:var(--theme-text-light);color:var(--theme-text)}.genre-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.genre-entree{background-color:#e3f2fd;color:#1976d2}.genre-plat{background-color:#fff3e0;color:#f57c00}.genre-dessert{background-color:#fce4ec;color:#c2185b}.tag{display:inline-block;background:linear-gradient(135deg,var(--theme-secondary) 0%,var(--theme-primary) 100%);color:#fff;padding:.3rem .8rem;border-radius:15px;margin-right:.5rem;margin-bottom:.5rem;font-size:.85rem;font-weight:500;box-shadow:0 2px 4px #0000001a}.rating{color:gold;font-size:1.3rem;letter-spacing:2px}.rating-star{text-shadow:0 2px 4px rgba(0,0,0,.2)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;margin-top:2rem}.recipe-card{cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;height:100%;display:flex;flex-direction:column}.recipe-card:hover{border-color:var(--theme-primary);transform:translateY(-8px);box-shadow:var(--shadow-lg)}.recipe-title{font-size:1.5rem;margin-bottom:.75rem;color:var(--theme-text);font-weight:700;line-height:1.3}.recipe-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px dashed var(--theme-border);flex-wrap:wrap;gap:.5rem}.recipe-ingredients,.recipe-steps{margin-top:1rem;flex-grow:1}.recipe-ingredients ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;list-style:none;padding:0}.recipe-ingredients h4,.recipe-steps h4{margin-bottom:.75rem;color:var(--theme-accent);font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.recipe-ingredients h4:before{content:"🥘";font-size:1.25rem}.recipe-steps h4:before{content:"📝";font-size:1.25rem}.ingredient-item,.step-item{border-bottom:1px solid var(--theme-border);transition:all var(--transition-fast);border-radius:var(--radius-sm);margin:.25rem 0;padding:.625rem .75rem}.ingredient-item:hover,.step-item:hover{background-color:var(--theme-background);transform:translate(4px)}.step-number{font-weight:700;color:var(--theme-accent);margin-right:.5rem;font-size:1.125rem;min-width:24px;display:inline-block}.recipe-card-header{margin-bottom:1rem}.recipe-card-body{flex-grow:1}.recipe-card-footer{padding-top:1rem;border-top:1px solid var(--theme-border)}.sheet-card-header{margin-bottom:1rem}.sheet-card-body{flex-grow:1;margin-bottom:1rem}.sheet-card-footer{padding-top:.75rem;border-top:1px solid var(--theme-border);display:flex;justify-content:space-between;align-items:center}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.modal-content{background:var(--theme-surface);border-radius:var(--radius-xl);padding:2.5rem;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:2px solid var(--theme-border);animation:modalSlideIn .3s ease;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:2px solid var(--theme-border)}.modal-header h2{margin:0;color:var(--theme-accent);font-size:2rem;font-weight:700}.close-btn{background:none;border:none;font-size:2.5rem;cursor:pointer;color:var(--theme-text-light);transition:all var(--transition-fast);line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-btn:hover{color:var(--theme-danger);transform:rotate(90deg);background-color:var(--theme-background)}.alert{padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;border:none;font-weight:500}.alert-danger{background-color:#ffe5e5;color:#d32f2f;border-left:4px solid var(--theme-danger)}.alert-success{background-color:#e5ffe5;color:#388e3c;border-left:4px solid var(--theme-success)}.text-center{text-align:center}.text-muted{color:var(--theme-text-light)}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:1rem}.list-unstyled{list-style:none;padding-left:0}@media (max-width: 768px){.container{padding:10px}.navbar{padding:.75rem 0}.navbar-brand{font-size:1.25rem}.btn{padding:.5rem .8rem;font-size:.85rem}.recipe-grid{grid-template-columns:1fr;gap:1rem}.modal-content{padding:1.5rem;width:95%}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--theme-background)}::-webkit-scrollbar-thumb{background:var(--theme-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--theme-accent)}
