@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";
:root{--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--primary-rgb:99, 102, 241;--secondary:#ec4899;--secondary-light:#f472b6;--accent-1:#14b8a6;--accent-2:#f59e0b;--accent-3:#8b5cf6;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--bg-main:#fafbfc;--bg-app:#f3f4f6;--bg-card:#fff;--bg-nav:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-input:#f8f9fa;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--text-light:#9ca3af;--border-color:#e5e7eb;--border-focus:var(--primary);--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 30px #0000001f;--shadow-hover:0 12px 40px #667eea26;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--font-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Poppins", sans-serif;--hsl-background:0 0% 100%;--hsl-foreground:240 10% 3.9%;--hsl-card:0 0% 100%;--hsl-card-foreground:240 10% 3.9%;--hsl-popover:0 0% 100%;--hsl-popover-foreground:240 10% 3.9%;--hsl-primary:240 5.9% 10%;--hsl-primary-foreground:0 0% 98%;--hsl-secondary:240 3% 94%;--hsl-secondary-foreground:240 5.9% 10%;--hsl-muted:240 3% 94%;--hsl-muted-foreground:240 3.8% 46.1%;--hsl-accent:240 3% 94%;--hsl-accent-foreground:240 5.9% 10%;--hsl-destructive:0 84.2% 60.2%;--hsl-destructive-foreground:0 0% 98%;--hsl-border:240 5.9% 90%;--hsl-input:0 0% 100%;--hsl-ring:240 10% 3.9%;--radius:.5rem}.dark{--primary:#818cf8;--primary-light:#a5b4fc;--primary-dark:#6366f1;--secondary:#f472b6;--secondary-light:#f9a8d4;--accent-1:#2dd4bf;--accent-2:#fbbf24;--accent-3:#a78bfa;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:#60a5fa;--bg-main:#020617;--bg-app:#0f172a;--bg-card:#1e293b;--bg-input:#334155;--bg-nav:linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-light:#64748b;--border-color:#334155;--border-focus:var(--primary);--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080;--shadow-hover:0 12px 40px #818cf833;--hsl-background:240 6% 10%;--hsl-foreground:0 0% 98%;--hsl-card:240 6% 10%;--hsl-card-foreground:0 0% 98%;--hsl-popover:240 6% 10%;--hsl-popover-foreground:0 0% 98%;--hsl-primary:0 0% 98%;--hsl-primary-foreground:240 5.9% 10%;--hsl-secondary:240 5% 14%;--hsl-secondary-foreground:0 0% 98%;--hsl-muted:240 5% 14%;--hsl-muted-foreground:240 5% 64.9%;--hsl-accent:45 90% 55%;--hsl-accent-foreground:45 90% 5%;--hsl-destructive:0 72.2% 50.6%;--hsl-destructive-foreground:0 0% 98%;--hsl-border:240 5% 14%;--hsl-input:240 5% 14%;--hsl-ring:45 90% 55%}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100vw;overflow-x:hidden}body{font-family:var(--font-base);background:var(--bg-main);color:var(--text-primary);width:100%;max-width:100vw;min-height:100vh;margin:0;padding:0;line-height:1.6;overflow-x:hidden}.app-wrapper{width:100%;max-width:100vw;overflow-x:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.container-fluid{width:100%;margin:0 auto;padding:0 24px}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}@media print{nav,.hamburger,button,.logout-link{display:none}body{background:#fff}.card,form{box-shadow:none;border:1px solid #ddd}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:16px;font-weight:700;line-height:1.3}h1.no-animate,h2.no-animate{animation:none!important}h1{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:20px;font-size:2.5rem;animation:.6s fadeInUp}h2{color:var(--primary-dark);font-size:1.875rem;animation:.6s .1s backwards fadeInUp}h3{color:var(--text-primary);font-size:1.5rem}h4{color:var(--text-secondary);font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:16px;font-size:1rem;line-height:1.7}strong{color:var(--text-primary);font-weight:600}hr{background:linear-gradient(to right, transparent, var(--border-color), transparent);border:none;height:1px;margin:20px 0}[data-tooltip]{cursor:help;position:relative}[data-tooltip]:before{content:attr(data-tooltip);background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius-sm);white-space:normal;opacity:0;visibility:hidden;transition:var(--transition-fast);z-index:10000;box-shadow:var(--shadow-lg);pointer-events:none;border:2px solid var(--primary-light);text-align:center;word-wrap:break-word;min-width:180px;max-width:280px;padding:10px 14px;font-size:.85rem;font-weight:500;line-height:1.5;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}[data-tooltip]:after{content:"";border-style:solid;border-width:8px 8px 0;border-color:var(--primary-light) transparent transparent transparent;opacity:0;visibility:hidden;transition:var(--transition-fast);z-index:10000;pointer-events:none;position:absolute;bottom:110%;left:50%;transform:translate(-50%)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible;bottom:120%}[data-tooltip]:hover:after{bottom:106%}@media (max-width:480px){[data-tooltip]:before{min-width:140px;max-width:200px;padding:8px 12px;font-size:.75rem}}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.text-small{font-size:.875rem}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.3rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.dark body{background:var(--bg-main);color:var(--text-primary)}.dark .search-row input[type=text],.dark .search-row input[type=number],.dark .search-row select{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}.dark .search-row input[type=text]:focus,.dark .search-row input[type=number]:focus,.dark .search-row select:focus{background:var(--bg-input);border-color:var(--primary)}.dark .active-filters{background:var(--bg-card);border-color:var(--border-color)}.dark .recipe-card{background:var(--bg-card)}.dark .recipe-image,.dark .recipe-image-placeholder{background:var(--bg-app)}.dark .favorite-btn{background:#1e293bf2!important}.dark .favorite-btn:hover{background:var(--bg-card)!important}.dark .update-notice{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b66}.dark .update-notice a{color:#fcd34d!important}.dark .update-notice a:hover{color:#fbbf24!important}.dark .error-alert{color:#fca5a5;background:#ef44441a;border-color:#ef44444d #ef44444d #ef44444d #ef4444}.dark .tip-box{background:#ec48991a!important;border-left-color:#ec4899!important}.dark .tip-box strong{color:#f9a8d4!important}.dark .welcome-section>p:first-of-type{color:var(--text-secondary);background:linear-gradient(135deg,#6366f11f,#ec48991f)}.dark .custom-symptom-box input{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}.dark .custom-symptom-box input:focus{background:var(--bg-input)}.dark .symptom-notes{background:var(--bg-app);color:var(--text-secondary)}.dark .menu-calendar-mobile .day-card{background:var(--bg-card);box-shadow:0 2px 8px #0006}.dark .menu-calendar-mobile .meal-section{border-bottom-color:var(--border-color)}.dark .menu-calendar-mobile .meal-type{color:var(--text-primary)}.dark .menu-calendar-mobile .breakfast{background:linear-gradient(135deg,#6366f133 0%,#6366f11f 100%)}.dark .menu-calendar-mobile .lunch{background:linear-gradient(135deg,#f59e0b33 0%,#f59e0b1f 100%)}.dark .menu-calendar-mobile .dinner{background:linear-gradient(135deg,#10b98133 0%,#10b9811f 100%)}.dark .menu-calendar-mobile .recipe-entry{background:#ffffff0d}.dark .menu-calendar-mobile .recipe-entry.repeated{background:#ef44441a;border-color:#ef4444}.dark .menu-calendar-mobile .recipe-name a{color:var(--primary-light)}.dark .menu-calendar-mobile .empty-meal{color:var(--text-light)}.dark .menu-calendar-mobile .repeated-warning{color:#f87171}.dark .week-nav a{background:var(--bg-app);color:var(--primary-light)}.dark input:focus,.dark select:focus,.dark textarea:focus{background:var(--bg-input)}.dark .shopping-item.checked{background:linear-gradient(135deg,#ffffff05,#ffffff0a)!important}.dark .filter-tag-text{color:#93c5fd;background:linear-gradient(135deg,#3b82f633 0%,#2563eb26 100%);border-color:#3b82f666}.dark .filter-tag-category{color:#6ee7b7;background:linear-gradient(135deg,#10b98133 0%,#05966926 100%);border-color:#10b98166}.dark .filter-tag-difficulty{color:#fcd34d;background:linear-gradient(135deg,#f59e0b33 0%,#d9770626 100%);border-color:#f59e0b66}.dark .filter-tag-time{color:#c4b5fd;background:linear-gradient(135deg,#8b5cf633 0%,#6d28d926 100%);border-color:#8b5cf666}.dark .filter-tag-calories{color:#f9a8d4;background:linear-gradient(135deg,#ec489933 0%,#be185d26 100%);border-color:#ec489966}.dark .welcome-content strong{color:var(--primary-light);background:#6366f133}.dark .chart-card{background:var(--bg-card)}.dark .analytics-error{color:#fca5a5;background:#ef44441a;border-color:#ef44444d}.dark .search-filters{border-color:var(--border-color)!important;background:linear-gradient(135deg,#6366f11a,#ec48991a)!important}.dark .no-recipes{border-color:var(--border-color);background:linear-gradient(135deg,#6366f11a,#ec48991a)}.dark .recipe-detail-page .recipe-card{background:var(--bg-card);border-color:var(--border-color)}.dark .recipe-header h2{color:var(--primary-light)}.dark .recipe-image-section{border-color:var(--border-color);background:linear-gradient(135deg,#6366f114,#ec489914)}.dark .recipe-description-card{border-left-color:var(--primary);background:linear-gradient(135deg,#6366f11a,#ec48991a)}.dark .recipe-description-card p{color:var(--text-secondary)}.dark .recipe-categories-section{background:0 0}.dark .category-badge{text-shadow:0 1px 2px #00000080;color:#fff!important;border-color:var(--category-color)!important;background-color:#ffffff1a!important}.dark .recipe-stats-card{border-color:var(--border-color);color:var(--text-secondary);background:linear-gradient(135deg,#6366f114,#ec489914)}.dark .recipe-section-card{border-color:var(--border-color);background:linear-gradient(135deg,#ffffff05,#ffffff0a)}.dark .recipe-section-card h4{color:var(--text-primary)}.dark .ingredients-list li{border-bottom-color:var(--border-color);color:var(--text-secondary)}.dark .ingredients-list li:hover{color:var(--text-primary)}.dark .instructions-text,.dark .nutrition-values-grid span,.dark .recipe-source-card{background:var(--bg-app);border-color:var(--border-color);color:var(--text-secondary)}.dark .action-btn.btn-favorite-outline{background:var(--bg-card);color:#f472b6;border-color:#f472b666}.dark .action-btn.btn-favorite-outline:hover{background:#ec48991a}.dark .update-banner{background:linear-gradient(135deg,#f59e0b26 0%,#f59e0b1a 100%);border-color:#f59e0b66}.dark .update-banner-content strong,.dark .update-banner-content p{color:#fcd34d}.dark .recipe-form input[type=text],.dark .recipe-form input[type=number],.dark .recipe-form input[type=url],.dark .recipe-form select,.dark .recipe-form textarea{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}.dark .recipe-form input:focus,.dark .recipe-form select:focus,.dark .recipe-form textarea:focus{background:var(--bg-input)}.dark .file-drop-zone{background:var(--bg-app);border-color:var(--border-color)}.dark .file-drop-zone:hover{background:#6366f10d}.dark .current-image-preview{background:var(--bg-app);border-color:var(--border-color)}.dark .current-image-preview .preview-image{background:var(--bg-app)}.dark .preview-container,.dark .category-group-card{background:var(--bg-app);border-color:var(--border-color)}.dark .category-checkbox-label:hover{background:#6366f114}.dark .ingredient-row{background:var(--bg-app)!important;border-color:var(--border-color)!important}.dark .ingredient-row input,.dark .ingredient-row select{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}.dark .ingredient-row input:focus,.dark .ingredient-row select:focus{background:var(--bg-input)}.dark .remove-ingredient-btn{background:var(--bg-app);border-color:var(--border-color)}.dark .remove-ingredient-btn:hover{background:#ef4444;border-color:#ef4444}.dark .nutrition-field input{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}.dark .nutrition-field input:focus{background:var(--bg-input)}.dark .url-input{background:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.dark .url-input:focus{background:var(--bg-input)!important}.dark .upload-notice{color:#fcd34d;background:linear-gradient(135deg,#f59e0b26,#f59e0b1a);border-color:#fbbf2466}.dark .alert-success{color:#6ee7b7;background:linear-gradient(135deg,#10b98126,#34d3991a);border-color:#10b98166}.dark .alert-danger{color:#fca5a5;background:linear-gradient(135deg,#ef444426,#f871711a);border-color:#ef444466}.dark .alert-info{color:#93c5fd;background:linear-gradient(135deg,#3b82f626,#60a5fa1a);border-color:#3b82f666}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:var(--bg-app)}.dark ::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:var(--text-light)}button,.btn,.btn-submit,button[type=submit]{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);letter-spacing:.3px;border:none;padding:12px 28px;font-family:inherit;font-size:.95rem;font-weight:600;position:relative;overflow:hidden}button:before,.btn:before,.btn-submit:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button:hover:not(:disabled):before,.btn:hover:before,.btn-submit:hover:before{width:300px;height:300px}button:hover:not(:disabled),.btn:hover,.btn-submit:hover{box-shadow:0 8px 20px #6366f14d}button:active:not(:disabled),.btn:active,.btn-submit:active{box-shadow:0 4px 10px #6366f133}button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#9ca3af 0%,#d1d5db 100%)}.button-group{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:48px;display:flex}.button-group button,.button-group .btn{min-width:140px;padding:14px 32px;font-size:1rem}.btn-secondary,.btn-cancel,a.btn-cancel{color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:var(--transition);cursor:pointer;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border:none;padding:14px 40px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.btn-secondary:hover,.btn-cancel:hover,a.btn-cancel:hover{box-shadow:0 8px 20px #6b72804d}.card-button-1{background:linear-gradient(135deg, var(--accent-1) 0%, #10b981 100%)}.card-button-1:hover{box-shadow:0 8px 20px #14b8a64d}.card-button-2{background:linear-gradient(135deg, var(--secondary) 0%, var(--secondary-light) 100%)}.card-button-2:hover{box-shadow:0 8px 20px #ec48994d}.card-button-3{background:linear-gradient(135deg, var(--accent-2) 0%, #fbbf24 100%)}.card-button-3:hover{box-shadow:0 8px 20px #f59e0b4d}.card-button-4{background:linear-gradient(135deg, var(--accent-3) 0%, #a78bfa 100%)}.card-button-4:hover{box-shadow:0 8px 20px #8b5cf64d}.btn-action{border-radius:var(--radius-full);transition:var(--transition);box-shadow:var(--shadow-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-edit{background:linear-gradient(135deg, var(--accent-1) 0%, #10b981 100%);color:#fff}.btn-edit:hover{box-shadow:0 4px 12px #14b8a64d}.btn-delete:hover{box-shadow:0 4px 12px #ef44444d}.btn-share:hover{transform:translateY(-2px);background:linear-gradient(135deg,#059669 0%,#047857 100%)!important;box-shadow:0 4px 12px #10b98166!important}.btn-save{background:linear-gradient(to right, var(--primary), var(--primary-light));border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 32px;font-weight:700;transition:all .2s;display:inline-flex;color:#fff!important}.btn-save:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:scale(1.02)}.btn-save:active:not(:disabled){transform:scale(.98)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius-full);transition:var(--transition);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-weight:700;text-decoration:none;display:inline-flex}.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.favorite-btn{cursor:pointer;transition:var(--transition-fast)!important;background:#fffffff2!important;border:none!important;border-radius:50%!important;outline:none!important;padding:0!important;line-height:1!important;overflow:visible!important;box-shadow:0 4px 12px #0003!important}.favorite-btn:before,.favorite-btn:after{display:none!important}.favorite-btn:hover,.favorite-btn:focus,.favorite-btn:active{background:#fff!important;box-shadow:0 2px 8px #0003!important}@media (max-width:768px){button,.btn,.btn-submit{padding:10px 20px;font-size:.9rem}.button-group{flex-direction:column;width:100%}.button-group button,.button-group .btn{width:100%}.btn-secondary,.btn-cancel{text-align:center;width:100%}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);transition:var(--transition);padding:32px;position:relative}.card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary), var(--accent-1));width:100%;height:4px;transition:var(--transition);position:absolute;top:0;left:0;transform:scaleX(0)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-8px)}.card:hover:before{transform:scaleX(1)}.card h3{margin-bottom:12px;font-size:1.4rem}.card p{color:var(--text-secondary);margin-bottom:20px;font-size:.95rem}@media (max-width:768px){.card{padding:24px}}form:not(.shopping-item-form),.form-container{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition);margin-bottom:32px;padding:32px}form:not(.shopping-item-form):hover{box-shadow:var(--shadow-lg)}.form-group{flex-direction:column;margin-bottom:20px;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px;display:grid}.form-grid-1{grid-template-columns:1fr}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-group-full{grid-column:1/-1}label{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:500;display:block}input,select,textarea{border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);transition:var(--transition);margin-bottom:20px;padding:12px 16px;font-family:inherit;font-size:.95rem}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);background:var(--bg-input);outline:none;box-shadow:0 0 0 4px #6366f11a}input::-moz-placeholder{color:var(--text-light)}textarea::-moz-placeholder{color:var(--text-light)}input::placeholder,textarea::placeholder{color:var(--text-light)}textarea{resize:vertical;min-height:120px;font-family:inherit}.file-input-wrapper{display:inline-block;position:relative;overflow:hidden}.file-input-wrapper input[type=file]{position:absolute;left:-9999px}.file-input-label{color:#fff;cursor:pointer;background:#007bff;border-radius:5px;padding:10px 20px;transition:background .2s;display:inline-block}.file-input-label:hover{background:#0056b3}.password-input-wrapper{align-items:center;margin-bottom:20px;display:flex;position:relative}.password-input-wrapper input{width:100%;margin-bottom:0;padding-right:45px}.toggle-password{cursor:pointer;transition:var(--transition);opacity:.6;border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;padding:8px;font-size:1.2rem;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:none!important;border:none!important}.toggle-password:hover{opacity:1;background:#6366f11a;box-shadow:none!important}.toggle-password:active{background:#6366f133}.password-strength{align-items:center;gap:12px;margin-top:10px;margin-bottom:16px;display:flex}.strength-meter{background:var(--border-color);border-radius:3px;flex:1;height:6px;overflow:hidden}.strength-meter-fill{background:var(--border-color);width:0%;height:100%;transition:width .3s,background-color .3s}.form-group input,.form-group select,.form-group textarea{margin-bottom:0}@media (max-width:768px){form:not(.shopping-item-form),.form-container{padding:24px}.form-grid,.form-grid-3{grid-template-columns:1fr;gap:16px}input,select,textarea{padding:12px 14px;font-size:.9rem}}header.app-header{background:var(--bg-nav);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:16px;margin-bottom:1.5rem;padding:12px 24px;animation:.4s ease-out slideDown;display:flex;position:sticky;top:0}nav{box-shadow:none;z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;flex:1;margin:0;padding:0;animation:none;position:relative;top:0}.avatar-container{z-index:1001;flex-shrink:0;align-items:center;gap:4px;display:flex}.hamburger{cursor:pointer;color:#fff;border-radius:var(--radius-sm);transition:var(--transition);background:#fff3;border:none;padding:6px 12px;font-size:1.5rem;display:none}.hamburger:hover{background:#ffffff4d;transform:scale(1.05)}#nav-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}nav a{color:#fff;transition:var(--transition);border-radius:var(--radius-full);letter-spacing:.3px;align-items:center;padding:6px 14px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-separator{color:#fff;opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:300}@media (max-width:768px){.nav-separator{display:none}}nav a:before{content:"";width:0;height:2px;transition:var(--transition);background:#fff;position:absolute;bottom:0;left:50%;transform:translate(-50%)}nav a:hover{background:#ffffff26;transform:translateY(-2px)}nav a:hover:before{width:70%}.dropdown-menu-item:hover{background-color:#0000000d}.dark .dropdown-menu-item:hover{background-color:#ffffff1a}.dropdown-menu-sub:hover>.dropdown-menu-sub-content{display:block!important}.dropdown-menu-sub-content{display:none}@media (max-width:768px){header.app-header{border-radius:0;flex-wrap:wrap;padding:12px 16px}nav{flex:none;order:3;width:100%}.hamburger{order:2;display:block}.avatar-container{order:1}#nav-links{border-radius:var(--radius-md);background:#ffffff1a;flex-direction:column;gap:4px;width:100%;max-width:none;margin:8px 0 0;padding:8px;display:none}#nav-links.show{animation:.3s fadeIn;display:flex}nav a{text-align:center;width:100%;padding:10px}}.error,[style*="color: red"]{font-weight:500;color:#ef4444!important;border-radius:var(--radius-sm)!important;background:#fef2f2!important;border:1px solid #fecaca!important;margin-bottom:20px!important;padding:16px!important}.error-alert{border-radius:var(--radius-lg);background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:2px solid #fca5a5;align-items:center;gap:12px;max-width:500px;margin:0 auto 24px;padding:16px 20px;animation:.4s cubic-bezier(.4,0,.2,1) slideInDown;display:flex;box-shadow:0 4px 12px #dc262626}.error-icon{flex-shrink:0;font-size:1.5rem;animation:.5s shake}.error-text{color:#dc2626;letter-spacing:.2px;font-size:.95rem;font-weight:600;line-height:1.5}.auth-error-alert-centered{text-align:left;justify-content:flex-start;align-items:center}.auth-error-alert-centered .error-icon{align-self:center;align-items:center;line-height:1;display:flex}.auth-error-alert-centered .error-text{align-items:center;margin:0;line-height:1.3;display:flex}.auth-error-alert-centered .flex-1{align-items:center;margin:0;display:flex}.success-alert{border-radius:var(--radius-lg);background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:2px solid #86efac;align-items:center;gap:12px;max-width:500px;margin:0 auto 24px;padding:16px 20px;animation:.4s cubic-bezier(.4,0,.2,1) slideInDown;display:flex;box-shadow:0 4px 12px #16a34a26}.success-icon{flex-shrink:0;font-size:1.5rem}.success-text{color:#16a34a;letter-spacing:.2px;font-size:.95rem;font-weight:600;line-height:1.5}.error-box,.alert-error{color:#ef4444;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;margin-bottom:32px;padding:16px;font-weight:500}.success-box,.alert-success{color:#16a34a;border-radius:var(--radius-md);background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;margin-bottom:32px;padding:16px;font-weight:500}.tip-box{border-radius:var(--radius-md);border-left:5px solid var(--primary);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f11a,#ec48991a);margin-top:48px;padding:24px 28px;font-size:1rem;line-height:1.7}.tip-box strong{color:var(--primary);font-size:1.05rem}.empty-state{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--border-color);background:linear-gradient(135deg,#6366f10d,#ec48990d);padding:60px 20px}.empty-state p{color:var(--text-secondary);margin:0;font-size:1.1rem}.empty-state p:first-child{margin-bottom:12px;font-size:2.5rem}.empty-state-text{color:var(--text-light);font-size:.95rem}@media (max-width:768px){.tip-box{margin-top:32px;padding:18px 20px;font-size:.95rem}.empty-state{padding:40px 20px}.empty-state p:first-child{font-size:2rem}}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-container{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);width:100%;max-width:420px;animation:.3s cubic-bezier(.16,1,.3,1) modalScaleUp;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000004d}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-content{padding:32px 24px}.modal-icon-wrapper{background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:1.5rem;display:flex}.dark .modal-icon-wrapper{background:#ef444433}.modal-title{text-align:center;color:var(--text-primary);margin-bottom:12px;font-size:1.25rem;font-weight:800}.modal-description{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:.95rem;line-height:1.6}.modal-actions{flex-direction:column;gap:12px;display:flex}.modal-actions button{border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.modal-error{color:#dc2626;border-radius:var(--radius-md);text-align:center;background:#fef2f2;border:1px solid #fecaca;margin-bottom:20px;padding:12px;font-size:.875rem}.dark .modal-error{color:#f87171;background:#dc26261a;border-color:#dc262633}.flash-container{z-index:9999;max-width:400px;position:fixed;top:20px;right:20px}.flash-message{border-radius:8px;margin-bottom:10px;padding:15px 40px 15px 15px;font-weight:500;line-height:1.5;animation:.3s ease-out slideIn;position:relative;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.flash-success{color:#155724;background-color:#d4edda;border-left:4px solid #28a745}.flash-error{color:#721c24;background-color:#f8d7da;border-left:4px solid #dc3545}.flash-info{color:#0c5460;background-color:#d1ecf1;border-left:4px solid #17a2b8}.flash-warning{color:#856404;background-color:#fff3cd;border-left:4px solid #ffc107}.flash-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;width:20px;height:20px;padding:0;font-size:20px;line-height:1;transition:opacity .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.flash-close:hover{opacity:1}@media (max-width:768px){.flash-container{max-width:none;left:10px;right:10px}.flash-message{font-size:14px}}@media (max-width:480px){.flash-container{top:10px}}.timeline-list{box-shadow:none;background:0 0;flex-direction:column;gap:0;margin-top:28px;margin-bottom:20px;padding:0;list-style:none;display:flex;position:relative}.timeline-list:before{content:"";background:linear-gradient(180deg, var(--primary), var(--secondary), var(--accent-1));opacity:.8;border-radius:2px;width:4px;position:absolute;top:20px;bottom:20px;left:20px}.timeline-item{transition:var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;margin:0;padding:18px 0 18px 60px;position:relative}.timeline-item:hover{background:#6366f108;padding-left:65px}.timeline-item:before{content:"";background:var(--bg-main);border:4px solid var(--primary);width:22px;height:22px;box-shadow:0 0 0 4px var(--bg-main), 0 2px 8px #6366f133;transition:var(--transition);z-index:1;border-radius:50%;position:absolute;top:22px;left:10px}.timeline-item:nth-child(2):before{border-color:var(--secondary);box-shadow:0 0 0 4px var(--bg-main), 0 2px 8px #ec489933}.timeline-item:nth-child(3):before{border-color:var(--accent-1);box-shadow:0 0 0 4px var(--bg-main), 0 2px 8px #14b8a633}.timeline-item:nth-child(n+4):before{border-color:var(--accent-2);box-shadow:0 0 0 4px var(--bg-main), 0 2px 8px #f59e0b33}.timeline-item:hover:before{background:var(--primary);transform:scale(1.3);box-shadow:0 0 0 6px #6366f126,0 4px 12px #6366f14d}.timeline-item:nth-child(2):hover:before{background:var(--secondary);box-shadow:0 0 0 6px #ec489926,0 4px 12px #ec48994d}.timeline-item:nth-child(3):hover:before{background:var(--accent-1);box-shadow:0 0 0 6px #14b8a626,0 4px 12px #14b8a64d}.timeline-item:nth-child(n+4):hover:before{background:var(--accent-2);box-shadow:0 0 0 6px #f59e0b26,0 4px 12px #f59e0b4d}.timeline-item strong{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:8px;font-size:1.08rem;font-weight:600;line-height:1.4;display:flex}.timeline-item strong:after{content:attr(data-icon);filter:drop-shadow(0 2px 4px #0000001a);flex-shrink:0;margin-left:auto;font-size:1.4rem}.timeline-item p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.7}@media (max-width:768px){.timeline-list:before{width:3px;left:12px}.timeline-item{padding:16px 12px 16px 48px}.timeline-item:before{left:-2px;transform:scale(.85)}.timeline-item strong{font-size:1rem}.timeline-item p{font-size:.9rem}.timeline-list:before,.timeline-item:before{display:none}.timeline-item{background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);margin-bottom:16px;padding:16px 18px}.timeline-item:hover{background:var(--bg-card);box-shadow:var(--shadow-md);padding-left:18px;transform:none}.timeline-item:first-child{border-left-color:var(--primary)}.timeline-item:nth-child(2){border-left-color:var(--secondary)}.timeline-item:nth-child(3){border-left-color:var(--accent-1)}.timeline-item:nth-child(n+4){border-left-color:var(--accent-2)}.timeline-item strong{align-items:flex-start;gap:10px;margin-bottom:8px;font-size:1.05rem;display:flex}.timeline-item strong:after{flex-shrink:0;order:-1;margin-left:0;margin-right:8px;font-size:1.5rem}.timeline-item p{margin-left:0;padding-left:0;font-size:.92rem;line-height:1.6}.timeline-list{box-shadow:none;background:0 0;margin-bottom:32px;padding:0}}.circular-gallery-container{perspective:2000px;cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:600px;margin:40px 0;display:flex;position:relative;overflow:hidden}.circular-gallery-container:active{cursor:grabbing}.gallery-wheel{width:280px;height:400px;transform-style:preserve-3d;pointer-events:none;position:relative}.gallery-card{backface-visibility:hidden;background:var(--bg-card,#1a1a1a);border:1px solid #ffffff1a;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 15px 45px #0009}.gallery-img-wrapper{width:100%;height:100%;position:relative}.gallery-card img{-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%;height:100%}.placeholder-box{background:var(--bg-app);justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.gallery-card-info{text-align:center;background:linear-gradient(#0000,#000000f2);padding:20px;position:absolute;bottom:0;left:0;right:0}.gallery-card-info p{text-shadow:0 2px 4px #000c;margin:0;font-size:1.1rem;font-weight:600}.footer-link{color:var(--primary);transition:var(--transition);border-radius:var(--radius-sm);padding:4px 8px;font-weight:600;text-decoration:none;display:inline-block}.footer-link:hover{color:var(--primary-light);box-shadow:var(--shadow-sm);background-color:#6366f11a;transform:translateY(-2px)}.welcome-content{max-width:800px;margin:0 auto;padding:40px 24px 60px}.welcome-content h1:after{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:2px;width:60px;height:4px;position:absolute;bottom:0;left:0}.welcome-content h1{padding-bottom:20px;position:relative}.welcome-content strong{color:var(--primary);background:#6366f11a;border-radius:4px;padding:2px 6px}.welcome-content p:first-of-type{margin-bottom:32px}@media (max-width:768px){.welcome-content{padding:40px 20px}}.welcome-content .button-group .btn{border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:140px;padding:12px 32px;font-weight:600;display:flex}.welcome-content .button-group .btn-outline{background:var(--secondary)!important;color:#fff!important;border:none!important}.welcome-content .button-group .btn-outline:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ec48994d;background:var(--secondary-light)!important}.login-form{max-width:500px;margin:0 auto}.login-btn{justify-content:center;align-items:center;width:100%;margin-top:8px;display:flex}.login-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:32px;padding-top:24px}.login-footer p{color:var(--text-secondary);margin-bottom:0}.error-icon{flex-shrink:0;font-size:1.3rem}.error-text{flex:1}@media (max-width:768px){.login-form{max-width:100%}}.register-form{max-width:500px;margin:0 auto}.password-input-wrapper input{margin-bottom:0}.toggle-password{cursor:pointer;transition:var(--transition);opacity:.6;border-radius:var(--radius-sm);z-index:1;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;font-size:1.2rem;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-password:hover{opacity:1;box-shadow:none;background:#6366f11a}.toggle-password.active{opacity:1}.password-match{border-radius:var(--radius-sm);margin-top:8px;margin-bottom:16px;padding:8px 12px;font-size:.9rem;font-weight:500;display:none}.password-match:not(:empty){display:block}.password-match.match-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-left:3px solid #16a34a}.password-match.match-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-left:3px solid #dc2626}.register-btn{justify-content:center;align-items:center;width:100%;margin-top:16px;display:flex}.strength-text{font-size:1rem!important}.register-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.register-btn:disabled:hover{box-shadow:var(--shadow-md);transform:none}.register-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:32px;padding-top:24px}.register-footer p{color:var(--text-secondary);margin-bottom:0}.inline-link{color:var(--primary);transition:var(--transition);font-weight:600;text-decoration:none}.inline-link:hover{color:var(--primary-dark);text-decoration:underline}.error-alert{color:#dc2626;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;align-items:center;gap:12px;margin-bottom:24px;padding:16px;font-weight:500;animation:.3s slideDown;display:flex}.error-icon{flex-shrink:0;align-items:center;font-size:1.3rem;line-height:1;display:flex}.error-text{flex:1;align-items:center;line-height:1.2;display:flex}@media (max-width:768px){.register-form{max-width:100%}.password-input-wrapper{margin-bottom:0}}.inline-link{color:var(--primary);transition:var(--transition);border-bottom:2px solid #0000;padding-bottom:1px;font-weight:600;text-decoration:none}.inline-link:hover{color:var(--primary-dark);border-bottom-color:var(--primary)}.welcome-section{background:0 0;border:none;margin-top:40px;padding:0}.welcome-section>p:first-of-type{border-radius:var(--radius-md);border-left:4px solid var(--primary);color:var(--text-secondary);background:linear-gradient(135deg,#6366f114,#ec489914);margin-bottom:40px;padding:20px 24px;font-size:1.05rem;line-height:1.7}.welcome-section h2{color:var(--primary);margin-bottom:24px;font-size:2rem}.welcome-section h3{color:var(--text-primary);border-bottom:2px solid var(--border-color);align-items:center;gap:12px;margin-top:48px;margin-bottom:28px;padding-bottom:12px;font-size:1.6rem;display:flex}.welcome-section h3:first-of-type{margin-top:32px}.timeline-item p{text-align:left!important}.tip-box{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;margin-top:48px;padding:24px 28px;font-size:1rem;line-height:1.7;background:#fdf2f8!important;border-left:5px solid #ec4899!important}.tip-box strong{font-size:1.05rem;color:#be185d!important}.dashboard-cards{gap:28px;margin-top:40px;animation:.8s fadeInUp;display:grid;grid-template-columns:repeat(2,1fr)!important}.dashboard-cards .card{border-radius:.8rem!important}.card-button-1{background:var(--success)!important;border-radius:var(--radius-full)!important;border:none!important}.logout-container{text-align:center;margin-top:30px}.logout-link{color:var(--secondary);transition:var(--transition);border-radius:var(--radius-full);border:2px solid var(--secondary);margin-top:40px;padding:10px 24px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.logout-link:hover{background:var(--secondary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ec48994d}.future-features{border-radius:var(--radius-lg);border:2px dashed var(--border-color);background:linear-gradient(135deg,#6366f10d,#ec48990d);margin-top:60px;padding:40px}.future-features h2{text-align:center;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:2rem}.future-intro{text-align:center;color:var(--text-secondary);max-width:600px;margin-bottom:36px;margin-left:auto;margin-right:auto;font-size:1.05rem}.future-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px;display:grid}.future-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;transition:var(--transition);padding:28px 24px;position:relative;overflow:hidden}.future-item:before{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary));width:100%;height:3px;transition:var(--transition);position:absolute;top:0;left:0;transform:scaleX(0)}.future-item:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-4px)}.future-item:hover:before{transform:scaleX(1)}.future-icon{filter:drop-shadow(0 4px 8px #0000001a);margin-bottom:16px;font-size:3rem;display:block}.future-item h4{color:var(--text-primary);margin-bottom:12px;font-size:1.2rem;font-weight:600}.future-item p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}@media (max-width:768px){.dashboard-cards{grid-template-columns:1fr!important}.welcome-section{margin-top:24px}.welcome-section>p:first-of-type{margin-bottom:32px;padding:16px 18px;font-size:1rem}.welcome-section h3{margin-top:32px;margin-bottom:20px;padding-bottom:10px;font-size:1.3rem}.tip-box{margin-top:32px;padding:18px 20px;font-size:.95rem}.future-features{margin-top:40px;padding:28px 20px}.future-features h2{font-size:1.6rem}.future-intro{margin-bottom:28px;font-size:1rem}.future-grid{grid-template-columns:1fr;gap:20px}.future-item{padding:24px 20px}.future-icon{font-size:2.5rem}.future-item h4{font-size:1.1rem}.future-item p{font-size:.9rem}}.recipes-header{border-bottom:2px solid var(--border-color);margin-bottom:32px;padding-bottom:24px;position:relative}.recipes-header h2{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:2.2rem;font-weight:700;display:inline-block;position:relative}.recipes-header h2:after{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:2px;width:80px;height:4px;position:absolute;bottom:-8px;left:0}.recipe-count{color:var(--text-secondary);margin-top:8px;font-size:1rem;font-weight:500}.search-filters{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;border:2px solid var(--border-color)!important;transition:var(--transition)!important;background:linear-gradient(135deg,#6366f108,#ec489908)!important;margin-bottom:28px!important;padding:28px!important}.search-filters:hover{border-color:var(--primary-light)!important;box-shadow:0 0 0 4px #6366f10d!important}.search-filters form{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin-bottom:0!important;padding:0!important;transition:none!important}.search-filters form:hover{box-shadow:none!important}.search-form{flex-direction:column;gap:18px;display:flex}.search-row{flex-wrap:wrap;align-items:stretch;gap:16px;display:flex}.search-input-wrapper{flex:1;min-width:280px}.search-select-wrapper{min-width:180px}.search-row input[type=text],.search-row input[type=number],.search-row select{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);transition:var(--transition);box-sizing:border-box;width:100%;height:48px;padding:12px 16px;font-family:inherit;font-size:.95rem}.search-row input[type=text]:focus,.search-row input[type=number]:focus,.search-row select:focus{border-color:var(--primary);background:var(--bg-card);outline:none;box-shadow:0 0 0 4px #6366f11a}.search-row input[type=text]::placeholder{color:var(--text-light);font-style:italic}.filter-group{align-items:center;gap:10px;min-width:150px;display:flex}.filter-group label{white-space:nowrap;color:var(--text-primary);font-size:.9rem;font-weight:600}.filter-group input[type=number]{width:95px}.search-buttons{gap:12px;margin-left:auto;display:flex}.search-row button[type=submit],.search-buttons a,.search-buttons .btn-clear{border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition);white-space:nowrap;height:48px;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.search-row button[type=submit]{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%)!important;color:#fff!important}.search-row button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f14d;background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%)!important}.search-buttons a,.search-buttons .btn-clear{color:#fff!important;background:linear-gradient(135deg,#6b7280 0%,#9ca3af 100%)!important;display:inline-flex!important}.search-buttons a:hover,.search-buttons .btn-clear:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6b728066;background:linear-gradient(135deg,#4b5563 0%,#6b7280 100%)!important}.source-filter-bar{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);gap:0;width:fit-content;margin-bottom:20px;display:flex;overflow:hidden}.source-filter-btn{color:var(--text-secondary);cursor:pointer;border:none;border-right:1px solid var(--border-color);background:0 0;padding:8px 18px;font-size:.85rem;font-weight:500;transition:all .2s}.source-filter-btn:last-child{border-right:none}.source-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.source-filter-btn.active{background:var(--accent-gradient,linear-gradient(135deg, #f97316, #e0592a));color:#fff;font-weight:600}.active-filters{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;padding:16px 20px;display:flex}.filter-label{color:var(--text-primary);margin-right:4px;font-size:.95rem;font-weight:700}.filter-tag{border-radius:var(--radius-md);transition:var(--transition);border:2px solid;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.filter-tag:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.filter-tag-text{color:#1e40af;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#93c5fd}.filter-tag-category{color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-color:#6ee7b7}.filter-tag-difficulty{color:#92400e;background:linear-gradient(135deg,#fed7aa 0%,#fde68a 100%);border-color:#fcd34d}.filter-tag-time{color:#6b21a8;background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%);border-color:#d8b4fe}.filter-tag-calories{color:#9f1239;background:linear-gradient(135deg,#fce7f3 0%,#fbcfe8 100%);border-color:#f9a8d4}.filter-tag a,.filter-tag button{color:inherit;opacity:.7;cursor:pointer;background:#0000001a;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;padding:0;font-size:1.1rem;font-weight:700;line-height:1;text-decoration:none;transition:opacity .2s;display:inline-flex}.filter-tag a:hover,.filter-tag button:hover{opacity:1;background:#0003}.recipes-grid,div.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;gap:28px!important;margin-bottom:40px!important;display:grid!important}.recipe-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;height:100%;transition:all .3s;display:flex;position:relative;margin:0!important;padding:0!important}.recipe-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-6px)}.recipe-image,.recipe-image-placeholder{border-top-left-radius:calc(var(--radius-lg) - 2px);border-top-right-radius:calc(var(--radius-lg) - 2px);background:#f5f5f5;width:100%;height:240px;position:relative;overflow:hidden;border:none!important;margin:0!important;padding:0!important}.recipe-image a{width:100%;height:100%;margin:0;padding:0;display:block}.recipe-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;margin:0;padding:0;transition:transform .4s;display:block}.recipe-image img:hover{transform:scale(1.08)}.recipe-image-placeholder{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);justify-content:center;align-items:center;display:flex}.placeholder-icon{opacity:.9;filter:drop-shadow(0 4px 8px #00000026);font-size:80px}.favorite-form{z-index:10;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;position:absolute!important;top:12px!important;right:12px!important}.favorite-btn{cursor:pointer;z-index:11!important;background:#fffffff2!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:50px!important;height:50px!important;padding:0!important;font-size:20px!important;line-height:50px!important;transition:all .3s!important;display:flex!important;position:relative!important;overflow:visible!important;box-shadow:0 4px 12px #0003!important}.favorite-btn:before,.favorite-btn:after{display:none!important}.favorite-btn:hover{background:#fff!important;transform:scale(1.2)!important;box-shadow:0 6px 16px #0000004d!important}.recipe-content{flex-direction:column;flex:1;padding:24px;display:flex}.recipe-card h3{margin:0 0 12px;font-size:1.35rem;line-height:1.3}.recipe-card h3 a{color:var(--text-primary);font-weight:700;text-decoration:none;transition:color .2s;display:block}.recipe-card h3 a:hover{color:var(--primary)}.recipe-description{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem;font-style:italic;line-height:1.5}.recipe-categories{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.category-badge{border-radius:var(--radius-md);transition:var(--transition);padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-block}.category-badge:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.category-more{color:var(--text-light);align-self:center;font-size:.8rem;font-weight:500}.recipe-stats{color:var(--text-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:18px;padding:14px 0;font-size:.9rem;display:grid}.recipe-stats span{justify-content:center;align-items:center;gap:6px;font-weight:600;display:flex}.stat-icon{font-size:1.1em}.recipe-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:16px;display:flex}.recipe-actions a,.recipe-actions button{border-radius:var(--radius-md);transition:var(--transition);box-shadow:var(--shadow-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:12px 18px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-view{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%)!important;color:#fff!important;flex:1!important}.btn-view:hover{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%)!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px #6366f14d!important}.btn-share{background:linear-gradient(135deg, var(--success) 0%, #059669 100%)!important;color:#fff!important}.btn-share:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #10b98166!important}.btn-edit{color:#78350f!important;background:linear-gradient(135deg,#fbbf24 0%,#fcd34d 100%)!important}.btn-edit:hover{background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #f59e0b66!important}.btn-delete{color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#f87171 100%)!important}.btn-delete:hover{background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #ef444466!important}.no-recipes{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--border-color);background:linear-gradient(135deg,#6366f10d,#ec48990d);padding:80px 40px;animation:.6s fadeIn}.no-recipes-icon{opacity:.6;filter:drop-shadow(0 4px 8px #0000001a);margin-bottom:24px;font-size:80px}.no-recipes h3{color:var(--text-primary);margin:0 0 16px;font-size:1.6rem;font-weight:700}.no-recipes p{color:var(--text-secondary);margin:0;font-size:1.05rem}.no-recipes a{color:var(--primary);transition:var(--transition);border-bottom:2px solid #0000;padding-bottom:2px;font-weight:600;text-decoration:none}.no-recipes a:hover{color:var(--primary-dark);border-bottom-color:var(--primary)}@media (max-width:768px){.recipes-header{margin-bottom:24px;padding-bottom:20px}.recipes-header h2{margin-bottom:8px;font-size:1.75rem}.recipes-header h2:after{width:60px;height:3px}.recipe-count{font-size:.9rem}.recipes-grid{grid-template-columns:1fr!important;gap:24px!important}.search-filters{margin-bottom:24px!important;padding:20px!important}.search-form{gap:14px}.search-row{flex-direction:column;align-items:stretch;gap:12px}.search-input-wrapper,.search-select-wrapper{width:100%;min-width:100%}.search-row input[type=text],.search-row select{height:46px;padding:11px 14px;font-size:.95rem}.search-row-filters{flex-wrap:wrap;flex-direction:row!important}.filter-group{flex:1;min-width:110px}.filter-group label{font-size:.8rem}.filter-group input[type=number]{width:65px;padding:9px 10px;font-size:.9rem}.search-buttons{gap:10px;width:100%;margin-left:0}.search-row button[type=submit],.search-buttons a{flex:1;padding:11px 16px;font-size:.9rem}.active-filters{gap:8px;margin-bottom:20px;padding:14px 16px;font-size:.85rem}.filter-label{width:100%;margin-bottom:6px;font-size:.85rem}.filter-tag{padding:6px 12px;font-size:.75rem}.recipe-card{border-width:1px}.recipe-image,.recipe-image-placeholder{height:220px}.placeholder-icon{font-size:70px}.favorite-btn{width:44px!important;height:44px!important;font-size:24px!important}.recipe-content{padding:20px}.recipe-card h3{margin-bottom:10px;font-size:1.2rem}.recipe-description{margin-bottom:14px;font-size:.9rem}.recipe-categories{gap:7px;margin-bottom:14px}.category-badge{padding:5px 12px;font-size:.75rem}.recipe-stats{grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:16px;padding:12px 0;font-size:.85rem;display:grid}.recipe-stats span{justify-content:center;gap:4px}.recipe-actions{flex-direction:row;gap:8px;padding-top:14px}.btn-view{flex:2!important}.recipe-actions a,.recipe-actions button{padding:11px 14px;font-size:.9rem}.no-recipes{padding:60px 24px}.no-recipes-icon{margin-bottom:20px;font-size:64px}.no-recipes h3{margin-bottom:12px;font-size:1.4rem}.no-recipes p{font-size:.95rem}}@media (min-width:769px) and (max-width:1024px){.recipes-grid{grid-template-columns:repeat(2,1fr)!important;gap:24px!important}.search-filters{padding:24px!important}.filter-group{min-width:140px}.recipe-image,.recipe-image-placeholder{height:230px}}.base-recipe-badge{vertical-align:middle;opacity:.85;filter:drop-shadow(0 1px 2px #00000026);margin-left:6px;font-size:.85em}.own-recipe-badge{vertical-align:middle;opacity:.8;cursor:help;margin-left:4px;font-size:.85em}.update-notice{border-radius:var(--radius-md);color:#92400e;background:#fef3c7;border:1px solid #f59e0b;margin-bottom:12px;padding:8px 12px;font-size:.85rem;font-weight:500;line-height:1.4}.update-notice a{color:#92400e!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:0!important;font-weight:700!important;text-decoration:underline!important;display:inline!important;transform:none!important}.update-notice a:hover{color:#78350f!important;transform:none!important}.nutrition-breakdown{margin-top:4px}.nutrition-breakdown-toggle{border:1.5px dashed var(--border-color);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text-secondary,#6b7280);text-align:left;background:#6366f10a;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.nutrition-breakdown-toggle:hover{border-color:var(--primary-light);background:#6366f114;border-style:solid}.nutrition-breakdown-toggle .toggle-arrow{color:var(--text-light);font-size:.65rem;transition:transform .15s}.nutrition-breakdown-toggle .toggle-count{background:var(--primary);color:#fff;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.nutrition-breakdown-table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:14px;overflow-x:auto}.nutrition-breakdown-table{border-collapse:collapse;width:100%;font-size:.82rem}.nutrition-breakdown-table thead{z-index:1;position:sticky;top:0}.nutrition-breakdown-table th{text-align:right;color:var(--text-light,#6b7280);border-bottom:2px solid var(--border-color);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#6366f10a,#ec48990a);padding:10px 12px;font-size:.75rem;font-weight:600}.nutrition-breakdown-table th:first-child{text-align:left;padding-left:14px}.nutrition-breakdown-table th:last-child{padding-right:14px}.nutrition-breakdown-table td{text-align:right;border-bottom:1px solid var(--border-light,#f0f0f0);padding:8px 12px;transition:background .1s}.nutrition-breakdown-table td:first-child{text-align:left;padding-left:14px}.nutrition-breakdown-table td:last-child{padding-right:14px}.nutrition-breakdown-table tbody tr:hover td{background:#6366f108}.breakdown-ing-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;overflow:hidden}.breakdown-ing-qty{color:var(--text-light,#9ca3af);white-space:nowrap;font-size:.8rem}.nutrition-breakdown-table tfoot td{color:var(--text-primary);background:#6366f105;border-bottom:none;padding-top:10px;padding-bottom:8px;font-weight:700}.nutrition-breakdown-table tfoot tr:first-child td{border-top:2px solid var(--border-color)}.breakdown-per-serving td,.breakdown-per-100g td{color:var(--text-light,#9ca3af);background:0 0;padding-top:4px;padding-bottom:4px;font-size:.78rem;font-weight:500}.nutrition-breakdown-loading{text-align:center;color:var(--text-light);padding:20px 16px;font-size:.9rem}.recipe-detail-page{max-width:1200px;margin:0 auto;padding:20px}.recipe-detail-page .recipe-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-md);transition:var(--transition);max-width:calc(100% - 15px);margin:40px auto!important;padding:50px!important}.recipe-detail-page .recipe-card:hover{box-shadow:var(--shadow-lg)}.recipe-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.recipe-title-wrapper{flex:1;min-width:300px}.recipe-header h2{color:var(--primary-dark);margin:0;font-size:32px;font-weight:700;line-height:1.3}.recipe-header-actions{flex-shrink:0;gap:10px;display:flex}.recipe-header-actions a{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.recipe-header-actions a.edit-btn{color:#000;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ffc107 0%,#ff9800 100%)}.recipe-header-actions a.edit-btn:hover{background:linear-gradient(135deg,#ffb300 0%,#f57c00 100%);box-shadow:0 6px 16px #ff98004d}.recipe-header-actions a.back-btn{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6c757d 0%,#495057 100%)}.recipe-header-actions a.back-btn:hover{background:linear-gradient(135deg,#5a6268 0%,#343a40 100%);box-shadow:0 6px 16px #6c757d4d}.recipe-image-section{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);justify-content:center;align-items:center;margin:30px 0;padding:20px;display:flex}.recipe-image-section:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.recipe-detail-image{-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:100%;height:auto;max-height:500px;box-shadow:var(--shadow-md);transition:var(--transition)}.recipe-detail-image:hover{box-shadow:var(--shadow-lg);transform:scale(1.02)}.recipe-description-card{border-left:4px solid var(--primary);border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f10d,#ec48990d);margin-bottom:24px;padding:20px 24px}.recipe-description-card p{color:var(--text-secondary);margin:0;font-size:16px;font-style:italic;line-height:1.7}.recipe-categories-section{background:0 0;margin-bottom:24px}.categories-grid{flex-wrap:wrap;gap:12px;display:flex}.recipe-detail-page .category-badge{box-shadow:var(--shadow-sm);transition:var(--transition);border:2px solid;border-radius:25px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.recipe-detail-page .category-badge:hover{box-shadow:0 4px 10px #00000026}.recipe-stats-card{color:var(--text-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition);background:linear-gradient(135deg,#6366f10d,#ec48990d);flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:20px 24px;font-size:15px;display:flex}.recipe-stats-card:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.recipe-stats-card span{align-items:center;gap:6px;font-weight:600;display:inline-flex}.recipe-section-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);margin-bottom:24px;padding:28px}.recipe-section-card:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.recipe-section-card h4{color:var(--text-primary);align-items:center;gap:10px;margin:0 0 20px;font-size:1.3rem;font-weight:600;display:flex}.ingredients-list{margin:0;padding:0;line-height:2;list-style:none}.ingredients-list li{border-bottom:1px dashed var(--border-color);color:var(--text-secondary);transition:var(--transition);padding:12px 0 12px 30px;font-size:15px;position:relative}.ingredients-list li:before{content:"•";color:var(--primary);font-size:20px;font-weight:700;position:absolute;left:8px}.ingredients-list li:last-child{border-bottom:none}.ingredients-list li:hover{color:var(--text-primary);padding-left:35px}.instructions-text{white-space:pre-line;color:var(--text-secondary);background:var(--bg-app);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin:0;padding:20px;font-size:15px;line-height:1.8}.nutrition-values-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.nutrition-values-grid span{color:var(--text-secondary);background:var(--bg-app);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:var(--transition);align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:600;display:inline-flex}.nutrition-values-grid span:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #6366f11a}.recipe-source-card{color:var(--text-secondary);background:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:8px;margin-bottom:28px;padding:16px 20px;font-size:14px;font-weight:500;display:flex}.recipe-source-card a{color:var(--primary);transition:var(--transition);font-size:18px;text-decoration:none}.recipe-source-card a:hover{color:var(--primary-light);transform:scale(1.1)}.recipe-detail-page .recipe-actions{flex-wrap:wrap;gap:12px;margin-top:8px;padding-top:24px;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.action-btn.back-btn:hover{background:linear-gradient(135deg,#5a6268 0%,#343a40 100%);box-shadow:0 6px 16px #6c757d4d}.action-btn.edit-btn{color:#000;background:linear-gradient(135deg,#ffc107 0%,#ff9800 100%)}.action-btn.edit-btn:hover{background:linear-gradient(135deg,#ffb300 0%,#f57c00 100%);box-shadow:0 6px 16px #ff98004d}.action-btn.delete-btn{color:#fff;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%)}.action-btn.delete-btn:hover{background:linear-gradient(135deg,#da190b 0%,#b71c1c 100%);box-shadow:0 6px 16px #f443364d}.action-btn.btn-share{background:linear-gradient(135deg, var(--success) 0%, #059669 100%);color:#fff}.action-btn.btn-share:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 6px 16px #10b9814d}.action-btn.btn-favorite{color:#fff;background:linear-gradient(135deg,#ec4899 0%,#f472b6 100%);margin-left:auto}.action-btn.btn-favorite:hover{background:linear-gradient(135deg,#db2777 0%,#ec4899 100%);box-shadow:0 6px 16px #ec48994d}.action-btn.btn-favorite-outline{background:var(--bg-card);color:#ec4899;border:2px solid #f9a8d4;margin-left:auto}.action-btn.btn-favorite-outline:hover{background:#ec489914;border-color:#ec4899;box-shadow:0 6px 16px #ec48991a}@media (max-width:768px){.recipe-detail-page{padding:15px}.recipe-detail-page .recipe-card{max-width:calc(100% - 30px);margin:20px auto!important;padding:30px!important}.recipe-header{flex-direction:column;gap:15px}.recipe-header h2{font-size:26px}.recipe-title-wrapper{min-width:100%}.recipe-header-actions{justify-content:space-between;width:100%}.recipe-header-actions a{flex:1;justify-content:center}.recipe-image-section{padding:15px}.recipe-detail-image{max-height:300px}.recipe-stats-card{grid-template-columns:1fr 1fr;gap:12px 16px;padding:16px;display:grid}.recipe-section-card{padding:20px}.recipe-section-card h4{font-size:1.1rem}.nutrition-values-grid{grid-template-columns:1fr 1fr}.recipe-detail-page .recipe-actions{flex-direction:column}.action-btn{justify-content:center;width:100%}}@media (max-width:480px){.recipe-detail-page{padding:10px}.recipe-detail-page .recipe-card{max-width:calc(100% - 20px);margin:10px auto!important;padding:20px!important}.recipe-header h2{font-size:24px}.categories-grid{gap:8px}.recipe-detail-page .category-badge{padding:8px 14px;font-size:13px}.recipe-section-card{padding:16px}.recipe-section-card h4{font-size:1rem}.nutrition-values-grid{grid-template-columns:1fr}}.update-banner{border-radius:var(--radius-md);background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #f59e0b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:20px 24px;display:flex}.update-banner-content strong{color:#92400e;margin-bottom:6px;font-size:1rem;display:block}.update-banner-content p{color:#92400e;margin:0;font-size:.9rem;line-height:1.5}.update-banner .btn-view{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-md);white-space:nowrap;transition:var(--transition);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:6px;padding:10px 22px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.update-banner .btn-view:hover{background:linear-gradient(135deg, #4f46e5 0%, var(--primary) 100%);box-shadow:0 6px 16px #6366f14d}@media (max-width:768px){.update-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 18px}.update-banner .btn-view{justify-content:center;width:100%}}.add-recipe-container{width:100%;max-width:800px;margin:0 auto}.add-recipe-container h2{text-align:left;width:100%;margin-bottom:30px}.recipe-form{width:100%;margin-top:20px;margin-bottom:35px}.recipe-form input[type=text],.recipe-form input[type=number],.recipe-form input[type=url],.recipe-form select,.recipe-form textarea{border:2px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:var(--transition);background:var(--bg-input);padding:10px 14px;font-family:inherit;font-size:.95rem}.recipe-form input:focus,.recipe-form select:focus,.recipe-form textarea:focus{border-color:var(--primary);background:var(--bg-input);outline:none;box-shadow:0 0 0 4px #6366f11a}.recipe-form label{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.form-section-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);margin-bottom:24px;padding:28px}.form-section-card:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.form-section-card h4{color:var(--text-primary);align-items:center;gap:12px;margin-top:0;margin-bottom:20px;font-size:1.3rem;font-weight:600;display:flex}.image-upload-section{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);margin-bottom:24px;padding:28px}.image-upload-section:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.section-title{color:var(--text-primary);align-items:center;gap:12px;margin-bottom:24px;font-size:1.3rem;font-weight:600;display:flex}.section-icon{font-size:1.5rem}.current-image-container{margin-bottom:24px}.current-image-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.image-actions{gap:10px;display:flex}.btn-change-image,.btn-remove-image,.btn-cancel-change{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-change-image{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;box-shadow:var(--shadow-sm)}.btn-change-image:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f14d}.btn-remove-image{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ef4444,#f87171)}.btn-remove-image:hover{background:linear-gradient(135deg,#dc2626,#ef4444);transform:translateY(-2px);box-shadow:0 6px 16px #ef44444d}.btn-cancel-change{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6b7280,#9ca3af)}.btn-cancel-change:hover{background:linear-gradient(135deg,#4b5563,#6b7280);transform:translateY(-2px)}.current-image-preview{background:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:16px}.current-image-preview .preview-image{-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md);width:100%;max-height:400px;box-shadow:var(--shadow-sm);background:var(--bg-app)}.current-image-preview .preview-image.portrait{max-width:500px;margin:0 auto;display:block}.current-image-preview .preview-image.landscape{width:100%;max-height:350px}.current-image-preview .preview-image.square{max-width:400px;max-height:400px;margin:0 auto;display:block}.upload-section-wrapper{animation:.3s slideDown}.upload-notice{border-radius:var(--radius-md);color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;margin-bottom:20px;padding:14px 18px;font-size:.95rem;animation:.3s slideDown}.upload-area{margin-bottom:24px}.upload-label{color:var(--text-primary);margin-bottom:12px;font-size:.95rem;font-weight:600;display:block}.file-drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;background:var(--bg-app);transition:var(--transition);cursor:pointer;padding:40px 20px;position:relative;overflow:hidden}.file-drop-zone:hover{border-color:var(--primary);background:#6366f10a;transform:translateY(-2px)}.file-drop-zone.drag-over{border-color:var(--primary);background:#6366f112}.upload-icon{opacity:.6;margin-bottom:16px;font-size:3rem}.upload-text{color:var(--text-primary);margin-bottom:8px;font-size:1.05rem;font-weight:600}.upload-subtext{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem}.browse-btn{cursor:pointer;display:inline-block;background:linear-gradient(135deg, var(--primary), var(--primary-light))!important;color:#fff!important;transition:var(--transition)!important;box-shadow:var(--shadow-sm)!important;border:none!important;border-radius:9999px!important;padding:10px 24px!important;font-size:.9rem!important;font-weight:600!important}.browse-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #6366f14d!important}.browse-btn:before{display:none}.file-input{display:none!important}.file-info{border-radius:var(--radius-sm);color:var(--success);background:#10b9811a;border:1px solid #10b9814d;margin-top:16px;padding:12px 16px;font-size:.9rem;font-weight:500;display:none}.file-info.show{animation:.3s slideDownInfo;display:block}@keyframes slideDownInfo{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.divider{text-align:center;color:var(--text-light);align-items:center;margin:28px 0;font-size:.9rem;font-weight:600;display:flex}.divider:before,.divider:after{content:"";border-bottom:2px solid var(--border-color);flex:1}.divider:not(:empty):before{margin-right:16px}.divider:not(:empty):after{margin-left:16px}.url-input-area{margin-bottom:24px}.input-wrapper{position:relative}.url-icon{color:var(--text-light);pointer-events:none;font-size:1.2rem;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.url-input{width:100%;border:2px solid var(--border-color)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;transition:var(--transition)!important;background:var(--bg-input)!important;margin-bottom:0!important;padding:14px 16px 14px 48px!important;font-size:.95rem!important}.url-input:focus{border-color:var(--primary)!important;background:var(--bg-input)!important;outline:none!important;box-shadow:0 0 0 4px #6366f11a!important}.url-input::placeholder{color:var(--text-light)}.input-hint{color:var(--text-secondary);margin-top:8px;font-size:.85rem;display:block}.preview-container{background:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-top:24px;padding:20px;display:none}.preview-container.show{animation:.4s fadeInPreview;display:block}@keyframes fadeInPreview{0%{opacity:0}to{opacity:1}}.preview-label{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;font-weight:600;display:flex}.preview-image{-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:400px;box-shadow:var(--shadow-md)}.remove-preview{cursor:pointer;margin-top:12px;margin-left:auto;display:block;color:#fff!important;transition:var(--transition)!important;background:#ef4444!important;border:none!important;border-radius:9999px!important;padding:8px 20px!important;font-size:.85rem!important;font-weight:600!important}.remove-preview:hover{background:#dc2626!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #ef44444d!important}.remove-preview:before{display:none}.categories-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.category-group-card{background:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:var(--transition);padding:18px}.category-group-card:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-light)}.category-group-card h5{color:var(--text-secondary);text-transform:capitalize;margin-top:0;margin-bottom:14px;font-size:.95rem;font-weight:600}.category-checkbox-label{cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);width:100%;color:var(--text-primary);align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;display:inline-flex}.category-checkbox-label:hover{background:#6366f10f}.category-checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.category-icon{text-align:center;flex-shrink:0;width:auto;min-width:28px;font-size:1.2em;display:inline-block}.ingredients-section{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);margin-bottom:24px;padding:28px}.ingredients-section:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.ingredients-section h3{color:var(--text-primary);align-items:center;gap:12px;margin-top:0;margin-bottom:8px;font-size:1.3rem;display:flex}.ingredients-section h3:before{content:"🍎";font-size:1.5rem}.instructions-text{color:var(--text-secondary);margin-bottom:24px;font-size:.9rem;line-height:1.5}.ingredients-container{flex-direction:column;gap:10px;display:flex}.ingredient-row{background:0 0;border:none;grid-template-columns:110px 140px 1fr 44px;align-items:stretch;gap:10px;padding:0;display:grid}.ingredient-row input,.ingredient-row select{border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);background:var(--bg-input);color:var(--text-primary);box-sizing:border-box;height:44px;padding:0 14px;font-size:.95rem}.ingredient-row input:focus,.ingredient-row select:focus{border-color:var(--primary);background:var(--bg-input);outline:none;box-shadow:0 0 0 3px #6366f11a}.ingredient-row input::placeholder{color:var(--text-light)}.ciqual-name-wrapper{align-items:stretch;display:flex;position:relative}.ciqual-name-wrapper input{flex:1}.ciqual-autocomplete-dropdown{background:var(--bg-card);border:2px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);z-index:100;border-top:none;width:max(120%,460px);max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.ciqual-autocomplete-dropdown li{cursor:pointer;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:8px 14px;transition:background .15s;display:grid}.ciqual-autocomplete-dropdown li:hover,.ciqual-autocomplete-dropdown li.selected{background:var(--bg-hover,#6366f114)}.ciqual-autocomplete-dropdown .food-icon{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff40;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ciqual-autocomplete-dropdown .food-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ciqual-badge{cursor:help;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.ciqual-ingredient .ciqual-name-wrapper input{border-color:var(--primary-light,#a5b4fc)}.add-ingredient-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#10b981 0%,#34d399 100%);border:none;align-items:center;gap:8px;margin-top:16px;padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex}.add-ingredient-btn:hover{background:linear-gradient(135deg,#059669 0%,#10b981 100%);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.remove-ingredient-btn{background:var(--bg-app);color:#ef4444;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;transition:var(--transition);justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:700;display:flex}.remove-ingredient-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:scale(1.05);box-shadow:0 4px 12px #ef44444d}.nutrition-mode-toggle{background:var(--bg-app);border:2px solid var(--border-color);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.nutrition-toggle-btn{border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:var(--transition);color:var(--text-light);background:0 0;border:none;padding:5px 14px;font-size:.82rem;font-weight:600}.nutrition-toggle-btn.active{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 2px 8px #6366f159}.nutrition-toggle-btn:not(.active):hover{color:var(--text-primary);background:#6366f114}.nutrition-auto-badge{border-radius:var(--radius-md);color:#6366f1;background:linear-gradient(135deg,#6366f11a,#a855f71a);border:1px solid #6366f140;align-items:center;gap:6px;margin-bottom:14px;padding:6px 12px;font-size:.82rem;font-weight:500;display:inline-flex}.nutrition-auto-input{cursor:not-allowed;color:#6366f1!important;background:linear-gradient(135deg,#6366f10d,#a855f70d)!important;border-color:#6366f14d!important;font-weight:600!important}.nutrition-section{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f108,#ec489908);margin-bottom:24px;padding:28px}.nutrition-section:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10d}.nutrition-section h4{color:var(--text-primary);align-items:center;gap:12px;margin-top:0;margin-bottom:20px;font-size:1.3rem;display:flex}.nutrition-section h4:before{content:"📈";font-size:1.5rem}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.nutrition-field{flex-direction:column;gap:8px;display:flex}.nutrition-field label{color:var(--text-primary);font-size:.9rem;font-weight:600}.nutrition-field input{border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);background:var(--bg-input);color:var(--text-primary);box-sizing:border-box;height:44px;padding:0 14px;font-size:.95rem}.nutrition-field input:focus{border-color:var(--primary);background:var(--bg-input);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-actions{gap:12px;margin-top:32px;display:flex}.btn-submit{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#10b981 0%,#34d399 100%);border:none;padding:14px 32px;font-size:1rem;font-weight:600}.btn-submit:hover{background:linear-gradient(135deg,#059669 0%,#10b981 100%);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-cancel{color:#fff;border-radius:var(--radius-md);transition:var(--transition);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6b7280 0%,#9ca3af 100%);align-items:center;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-cancel:hover{background:linear-gradient(135deg,#4b5563 0%,#6b7280 100%);transform:translateY(-2px);box-shadow:0 4px 12px #6b728066}.alert{border-radius:var(--radius-md);border:2px solid;margin-bottom:20px;padding:14px 18px;font-weight:500;animation:.3s slideDown}.alert-success{color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-color:#6ee7b7}.alert-danger{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#fca5a5}.alert-info{color:#1e40af;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#93c5fd}@media (max-width:768px){.form-section-card,.image-upload-section,.ingredients-section,.nutrition-section{padding:20px 16px}.file-drop-zone{padding:32px 16px}.upload-icon{font-size:2.5rem}.upload-text{font-size:1rem}.section-title,.form-section-card h4,.ingredients-section h3,.nutrition-section h4{font-size:1.1rem}.categories-grid{grid-template-columns:1fr}.ingredient-row{background:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;grid-template-columns:1fr;gap:10px;padding:16px;position:relative;display:flex!important}.ingredient-row input[name*=quantity]{float:left;width:calc(40% - 5px)}.ingredient-row select[name*=unit]{float:right;width:calc(60% - 5px)}.ingredient-row input[name*=name]{clear:both;width:100%}.remove-ingredient-btn{width:32px;height:32px;font-size:18px;position:absolute;top:8px;right:8px}.nutrition-grid{grid-template-columns:1fr 1fr}.form-actions{flex-direction:column}.btn-submit,.btn-cancel{justify-content:center;width:100%}.form-section-card>div[style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:15px!important;display:grid!important}.form-section-card>div[style*="grid-template-columns: 1fr 1fr 1fr"]>div:last-child{grid-column:1/-1}.current-image-header{flex-direction:column;align-items:flex-start}.image-actions{flex-direction:column;width:100%}.btn-change-image,.btn-remove-image,.btn-cancel-change{justify-content:center;width:100%}}.btn-add-recipe{color:#fff;transition:var(--transition);background:linear-gradient(135deg,#10b981 0%,#34d399 100%);border-radius:5px;padding:8px 12px;text-decoration:none;display:inline-block}.btn-add-recipe:hover{background:linear-gradient(135deg,#059669 0%,#10b981 100%);box-shadow:0 4px 12px #10b98166}.btn-add-menu{color:#fff;cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#6366f1 0%,#818cf8 100%);border:none;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:1rem}.btn-add-menu:hover{background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);box-shadow:0 4px 12px #6366f166}.recipe-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);transition:var(--transition);margin-bottom:12px;padding:12px}.recipe-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.recipe-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.recipe-header input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0;transform:scale(1.2)}.recipe-header strong{color:var(--text-primary);flex:1;margin:0;font-size:1rem}.recipe-selectors{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.selector-group{flex-direction:column;gap:4px;display:flex}.selector-group label{color:var(--text-secondary);margin:0;font-size:.85rem;font-weight:600}.selector-group select{width:100%;margin:0;padding:8px 12px;font-size:.9rem}.week-nav{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:12px 20px;display:flex}.week-nav a{color:var(--primary);cursor:pointer;padding:8px 12px;text-decoration:underline;display:inline-block}.week-nav a:hover{color:var(--primary-light);text-decoration:none}.menu-calendar{font-size:.9rem}.menu-calendar th,.menu-calendar td{min-width:80px}.menu-calendar .remove-btn{color:#ef4444;cursor:pointer;transition:var(--transition);background:0 0;border:none;margin-left:8px;padding:2px 4px;font-size:.85rem}.menu-calendar .remove-btn:hover{transform:scale(1.2)}.menu-calendar-mobile{display:none}@media (max-width:768px){.btn-add-menu{width:100%}.recipe-selectors{grid-template-columns:1fr;gap:10px}.recipe-item{padding:10px}.recipe-header{flex-direction:row;align-items:center;gap:12px}.recipe-header input[type=checkbox]{flex-shrink:0;order:-1}.recipe-header strong{flex:1;font-size:.95rem}.week-nav{flex-direction:column;gap:8px;padding:12px}.week-nav a{text-align:center;background:var(--bg-app);border-radius:6px;width:100%;padding:10px;text-decoration:none}.menu-calendar{display:none}.menu-calendar-mobile{display:block}form[method=get]{flex-direction:column;gap:8px;display:flex}form[method=get] label,form[method=get] select,form[method=get] input,form[method=get] button{width:100%;margin:0!important}form[method=get] button{padding:10px!important}}.menu-calendar-mobile .day-card{background:var(--bg-card);box-shadow:var(--shadow-md);border-radius:12px;margin-bottom:16px;overflow:hidden}.menu-calendar-mobile .day-header{color:#fff;text-align:center;background:linear-gradient(135deg,#6366f1 0%,#818cf8 100%);padding:10px 16px;font-size:1rem;font-weight:700}.menu-calendar-mobile .meal-section{border-bottom:1px solid var(--border-color);padding:10px 12px}.menu-calendar-mobile .meal-section:last-child{border-bottom:none}.menu-calendar-mobile .meal-type{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:6px;font-size:.9rem;font-weight:600;display:flex}.menu-calendar-mobile .breakfast{background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%)}.menu-calendar-mobile .lunch{background:linear-gradient(135deg,#fed7aa 0%,#fde68a 100%)}.menu-calendar-mobile .dinner{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.menu-calendar-mobile .recipe-entry{background:#fff9;border-radius:8px;justify-content:space-between;align-items:center;margin:6px 0;padding:8px;display:flex}.menu-calendar-mobile .recipe-entry.repeated{background:#fecaca4d;border:2px solid #ef4444}.menu-calendar-mobile .recipe-name{flex:1;margin-right:8px}.menu-calendar-mobile .recipe-name a{color:#2563eb;font-size:.9rem;font-weight:500;text-decoration:none}.menu-calendar-mobile .recipe-name a:hover{text-decoration:underline}.menu-calendar-mobile .repeated-warning{color:#dc2626;margin-top:4px;font-size:.75rem;font-style:italic;display:block}.menu-calendar-mobile .remove-btn{color:#ef4444;justify-content:center;align-items:center;min-width:30px;padding:4px;font-size:1.2rem;text-decoration:none;display:flex}.menu-calendar-mobile .empty-meal{color:var(--text-light);padding:4px 8px;font-size:.85rem;font-style:italic}@media (max-width:480px){.recipe-header strong{font-size:.9rem}.menu-calendar-mobile .day-header{padding:10px;font-size:.95rem}.menu-calendar-mobile .meal-section{padding:8px 10px}.menu-calendar-mobile .meal-type,.menu-calendar-mobile .recipe-name a{font-size:.85rem}}@media (min-width:769px){form[method=get] input[type=text][name=search]{width:320px!important;min-width:320px!important}}.sort-menu{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;margin-bottom:16px;padding:14px 20px;display:flex}.sort-menu strong{color:var(--text-primary);margin-right:8px;font-size:.95rem;font-weight:600}.sort-btn{border-radius:var(--radius-lg)!important;transition:var(--transition)!important;border:2px solid #0000!important;align-items:center!important;gap:8px!important;margin:0!important;padding:8px 18px!important;font-size:.9rem!important;font-weight:600!important;text-decoration:none!important;display:inline-flex!important}.sort-btn-active{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 4px 12px #6366f14d!important}.sort-btn-inactive{color:var(--primary)!important;border:2px solid var(--border-color)!important;background:0 0!important}.sort-btn-inactive:hover{transform:translateY(-1px);border-color:var(--primary-light)!important;background:linear-gradient(135deg,#6366f10d,#ec48990d)!important}.week-nav{border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f10d,#ec48990d);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.week-nav-btn{white-space:nowrap;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%)!important;color:#fff!important;border-radius:var(--radius-lg)!important;transition:var(--transition)!important;box-shadow:var(--shadow-sm)!important;border:none!important;padding:10px 20px!important;font-size:.9rem!important;font-weight:600!important;text-decoration:none!important}.week-nav-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166!important}.week-range{color:var(--text-primary);text-align:center;font-size:1.15rem;font-weight:700}.category-group{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:var(--bg-card);transition:var(--transition);margin-bottom:20px;overflow:hidden}.category-group:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.category-group[data-category="Oils, Condiments and Spices"] .category-header{color:#78350f!important;background:linear-gradient(135deg,#fcd34d 0%,#fbbf24 100%)!important}.category-group[data-category=Canned\ Goods] .category-header{color:#1e293b!important;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)!important}.category-group[data-category="Fruits and Vegetables"] .category-header{color:#064e3b!important;background:linear-gradient(135deg,#6ee7b7 0%,#34d399 100%)!important}.category-group[data-category="Dairy and Eggs"] .category-header{color:#312e81!important;background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%)!important}.category-group[data-category="Meat and Seafood"] .category-header{color:#7f1d1d!important;background:linear-gradient(135deg,#fca5a5 0%,#f87171 100%)!important}.category-group[data-category="Cereals and Legumes"] .category-header{color:#7c2d12!important;background:linear-gradient(135deg,#fed7aa 0%,#fdba74 100%)!important}.category-group[data-category="Nuts and Seeds"] .category-header{color:#451a03!important;background:linear-gradient(135deg,#d4a574 0%,#b8935e 100%)!important}.category-group[data-category=Beverages] .category-header{color:#0c4a6e!important;background:linear-gradient(135deg,#7dd3fc 0%,#38bdf8 100%)!important}.category-group[data-category=Bakery] .category-header{color:#713f12!important;background:linear-gradient(135deg,#fde68a 0%,#fcd34d 100%)!important}.category-group[data-category=Sweets] .category-header{color:#831843!important;background:linear-gradient(135deg,#fbcfe8 0%,#f9a8d4 100%)!important}.category-group[data-category=Frozen\ Foods] .category-header{color:#164e63!important;background:linear-gradient(135deg,#a5f3fc 0%,#67e8f9 100%)!important}.category-group[data-category=Others] .category-header{color:#581c87!important;background:linear-gradient(135deg,#d8b4fe 0%,#c084fc 100%)!important}.category-group[data-category=To\ Buy] .category-header{color:#7f1d1d!important;background:linear-gradient(135deg,#fca5a5 0%,#f87171 100%)!important}.category-group[data-category=Purchased] .category-header{color:#064e3b!important;background:linear-gradient(135deg,#6ee7b7 0%,#34d399 100%)!important}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+1) .category-header{color:#78350f;background:linear-gradient(135deg,#fcd34d 0%,#fbbf24 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+2) .category-header{color:#064e3b;background:linear-gradient(135deg,#6ee7b7 0%,#34d399 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+3) .category-header{color:#312e81;background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+4) .category-header{color:#7f1d1d;background:linear-gradient(135deg,#fca5a5 0%,#f87171 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+5) .category-header{color:#7c2d12;background:linear-gradient(135deg,#fed7aa 0%,#fdba74 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+6) .category-header{color:#0c4a6e;background:linear-gradient(135deg,#7dd3fc 0%,#38bdf8 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+7) .category-header{color:#713f12;background:linear-gradient(135deg,#fde68a 0%,#fcd34d 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+8) .category-header{color:#831843;background:linear-gradient(135deg,#fbcfe8 0%,#f9a8d4 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+9) .category-header{color:#164e63;background:linear-gradient(135deg,#a5f3fc 0%,#67e8f9 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+10) .category-header{color:#581c87;background:linear-gradient(135deg,#d8b4fe 0%,#c084fc 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+11) .category-header{color:#1e293b;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)}.category-group:not([data-category="Oils, Condiments and Spices"]):not([data-category=Canned\ Goods]):not([data-category="Fruits and Vegetables"]):not([data-category="Dairy and Eggs"]):not([data-category="Meat and Seafood"]):not([data-category="Cereals and Legumes"]):not([data-category="Nuts and Seeds"]):not([data-category=Beverages]):not([data-category=Bakery]):not([data-category=Sweets]):not([data-category=Frozen\ Foods]):not([data-category=Others]):not([data-category=To\ Buy]):not([data-category=Purchased]):nth-child(12n+12) .category-header{color:#451a03;background:linear-gradient(135deg,#d4a574 0%,#b8935e 100%)}.category-header{letter-spacing:.5px;text-transform:uppercase;border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:center;margin:0;padding:14px 24px;font-size:1rem;font-weight:700;display:flex}.category-header-content{align-items:center;gap:12px;display:flex}.category-icon-wrapper{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff4d;justify-content:center;align-items:center;padding:6px;display:flex}.category-count{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff6;padding:4px 12px;font-size:.8rem;font-weight:700}.shopping-list{background:var(--bg-card)!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:0!important;list-style:none!important}.shopping-item{position:relative;border-bottom:1px solid var(--border-color)!important;transition:var(--transition)!important;background:var(--bg-card)!important;box-shadow:none!important;border-left:3px solid #0000!important;border-radius:0!important;align-items:center!important;gap:12px!important;margin:0!important;padding:16px 24px!important;display:flex!important}.shopping-item:last-child{border-bottom:none!important}.shopping-item:before{content:"";background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);width:3px;transition:var(--transition);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.shopping-item:hover:before{transform:scaleY(1)}.shopping-item:hover{background:linear-gradient(135deg,#6366f108,#ec489908)!important}.shopping-item.checked{opacity:.6!important;background:linear-gradient(135deg,#00000005,#00000008)!important}.shopping-item.checked:before{background:#9ca3af}.shopping-item-form{align-items:center;gap:12px;width:100%;display:flex}.shopping-checkbox{cursor:pointer;accent-color:var(--primary);border-radius:4px;flex-shrink:0;width:20px!important;height:20px!important;margin:0!important}.shopping-item-text{color:var(--text-primary);flex:1;font-size:.95rem;font-weight:500;line-height:1.4}.shopping-item.checked .shopping-item-text{color:var(--text-secondary);text-decoration:line-through}.shopping-item-recipe{color:var(--text-secondary);border-radius:var(--radius-lg);white-space:nowrap;background:linear-gradient(135deg,#6366f114,#ec489914);margin-left:auto;padding:4px 12px;font-size:.85rem;font-style:italic;font-weight:500}.empty-shopping-list{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--border-color);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f10d,#ec48990d);padding:60px 40px;animation:.8s fadeInUp}.empty-icon{opacity:.6;margin-bottom:20px;font-size:4rem}.empty-shopping-list h3{color:var(--text-primary);margin:0 0 12px;font-size:1.5rem;font-weight:600}.empty-shopping-list p{color:var(--text-secondary);margin:0 0 28px;font-size:1rem;line-height:1.6}.empty-shopping-list a{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.empty-shopping-list a:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}@media (max-width:768px){.sort-menu{flex-flow:wrap;justify-content:flex-start;align-items:center;padding:12px 16px}.sort-menu strong{width:100%;margin-bottom:6px}.sort-btn{flex:none;padding:8px 16px!important;font-size:.85rem!important}.week-nav{flex-direction:column;gap:12px;margin-bottom:20px;padding:16px 20px}.week-nav-btn{text-align:center;width:100%;padding:12px 20px!important}.week-range{order:-1;font-size:1.05rem}.category-header{flex-wrap:wrap;gap:8px;padding:12px 18px;font-size:.95rem}.category-count{padding:3px 10px;font-size:.75rem}.shopping-item{padding:14px 18px!important}.shopping-item-form{grid-template-rows:auto auto!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:4px 12px!important;display:grid!important}.shopping-checkbox{grid-area:1/1!important}.shopping-item-text{word-wrap:break-word;overflow-wrap:break-word;font-size:.9rem;grid-area:1/2!important}.shopping-item-recipe{grid-area:2/2!important;width:fit-content!important;margin-top:4px!important;margin-left:0!important;padding:4px 10px!important;font-size:.8rem!important}.empty-shopping-list{padding:50px 24px}.empty-icon{font-size:3.5rem}.empty-shopping-list h3{font-size:1.3rem}.empty-shopping-list p{font-size:.95rem}.empty-shopping-list a{padding:12px 28px;font-size:.95rem}}@media (max-width:480px){.sort-menu{padding:10px 14px}.sort-btn{padding:7px 14px!important;font-size:.8rem!important}.week-nav{padding:14px 16px}.category-header{padding:10px 16px;font-size:.9rem}.shopping-item{padding:12px 16px!important}.shopping-item-text{font-size:.85rem}.empty-shopping-list{padding:40px 20px}.empty-icon{font-size:3rem}}.symptoms-form{background:var(--bg-card);border-radius:var(--radius-lg);max-width:600px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition);margin:40px auto;padding:32px}.symptoms-form:hover{box-shadow:var(--shadow-lg)}.custom-symptom-box{border-radius:var(--radius-md);border-left:4px solid var(--primary);background:linear-gradient(135deg,#6366f114,#ec489914);margin-top:20px;margin-bottom:20px;padding:20px}.custom-symptom-box label{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.custom-symptom-box input{border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);transition:var(--transition);margin-bottom:0;padding:12px 16px;font-family:inherit;font-size:.95rem}.custom-symptom-box input:focus{border-color:var(--primary);background:var(--bg-input);outline:none;box-shadow:0 0 0 4px #6366f11a}.custom-symptom-box small{color:var(--text-secondary);margin-top:8px;font-size:.85rem;display:block}.symptoms-form .btn-submit{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);width:100%;padding:14px 40px;font-size:1rem;position:relative;overflow:hidden}.symptoms-form .btn-submit:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.symptoms-form .btn-submit:hover:before{width:300px;height:300px}.symptoms-form .btn-submit:hover{box-shadow:0 8px 20px #6366f14d}.history-section{margin-top:40px}.history-section h3{color:var(--text-primary);border-bottom:2px solid var(--border-color);margin-bottom:28px;padding-bottom:12px;font-size:1.5rem}.symptoms-list{max-height:800px;box-shadow:none;background:0 0;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;padding-right:8px;list-style:none;display:grid;overflow-y:auto}.symptom-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);flex-direction:column;height:fit-content;padding:20px;display:flex}.symptom-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.symptom-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.symptom-header>div{flex-direction:column;display:flex}.symptom-type{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:1.2rem;font-weight:600;display:flex}.symptom-type:before{content:attr(data-emoji);font-size:1.5rem}.symptom-date{color:var(--text-secondary);font-size:.9rem}.symptom-actions{border-top:1px solid var(--border-color);gap:8px;margin-top:20px;padding-top:16px;display:flex}.symptom-body{flex-direction:column;gap:12px;display:flex}.intensity-badge{border-radius:var(--radius-full);color:#fff;width:fit-content;padding:6px 12px;font-size:.9rem;font-weight:600;display:inline-block}.intensity-badge[data-intensity="1"],.intensity-badge[data-intensity="2"],.intensity-badge[data-intensity="3"]{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.intensity-badge[data-intensity="4"],.intensity-badge[data-intensity="5"],.intensity-badge[data-intensity="6"]{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.intensity-badge[data-intensity="7"],.intensity-badge[data-intensity="8"],.intensity-badge[data-intensity="9"],.intensity-badge[data-intensity="10"]{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.symptom-notes{color:var(--text-secondary);background:var(--bg-main);border-radius:var(--radius-sm);border-left:3px solid var(--primary-light);margin:0;padding:12px;font-style:italic}.symptom-timing{color:var(--text-secondary);gap:16px;font-size:.95rem;display:flex}.symptom-timing span{align-items:center;gap:6px;display:flex}.symptom-timing strong{color:var(--text-primary);font-weight:600}.analytics-section{text-align:center;margin-top:40px}.btn-analytics{background:linear-gradient(135deg, var(--accent-1) 0%, #10b981 100%);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-md);transition:var(--transition);padding:14px 40px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.btn-analytics:hover{transform:translateY(-2px);box-shadow:0 8px 20px #14b8a64d}@media (max-width:768px){.symptoms-form{padding:24px}.symptoms-list{grid-template-columns:1fr;max-height:none}.symptom-card{padding:20px}.symptom-header{flex-direction:column;order:1;gap:8px}.symptom-body{order:2}.symptom-actions{border-top:1px solid var(--border-color);order:3;width:100%;margin-top:16px;padding-top:16px}.btn-action{text-align:center;flex:1;padding:10px 16px}.symptom-timing{flex-direction:column;gap:8px}}.analytics-stats{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-top:24px;margin-bottom:24px;padding:20px 28px}.analytics-stats p{margin-bottom:10px;font-size:1rem}.analytics-stats strong{color:var(--primary);font-weight:600}.analytics-nav{margin-bottom:24px}.analytics-nav a{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-full);transition:var(--transition);box-shadow:var(--shadow-sm);margin-right:12px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-block}.analytics-nav a:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.analytics-charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;max-width:100%;margin:0 auto;display:grid}.chart-card{border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition);background:#fff;padding:20px}.chart-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chart-card h3{color:var(--text-primary);margin-bottom:16px;font-size:1.2rem;font-weight:600}.chart-card.full-width{grid-column:1/-1}.no-data-message{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:2px dashed var(--border-color);margin-top:24px;padding:60px 40px}.no-data-message h3{color:var(--text-primary);margin-bottom:16px}.no-data-message p{color:var(--text-secondary);margin-bottom:28px;font-size:1.05rem}.no-data-message a{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-full);transition:var(--transition);box-shadow:var(--shadow-sm);padding:12px 28px;font-weight:600;text-decoration:none;display:inline-block}.no-data-message a:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.analytics-error{color:#ef4444;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;margin-top:24px;margin-bottom:24px;padding:16px 20px;font-weight:500}@media (max-width:768px){.analytics-charts-grid{grid-template-columns:1fr;gap:16px;padding:0}.chart-card{width:100%;max-width:100%;margin:0 auto;padding:16px}.chart-card h3{margin-bottom:12px;font-size:1.1rem}.chart-card canvas{max-width:100%;height:auto!important}.analytics-stats{margin-top:20px;margin-bottom:20px;padding:16px 20px}.analytics-stats p{font-size:.95rem}.no-data-message{margin-top:20px;padding:40px 24px}.no-data-message h3{font-size:1.3rem}.no-data-message p{font-size:.95rem}.analytics-nav{margin-bottom:20px}.analytics-nav a{padding:10px 18px;font-size:.9rem}.analytics-error{margin-top:20px}}@media (max-width:480px){.chart-card{padding:12px}.chart-card h3{font-size:1rem}.analytics-charts-grid{grid-template-columns:1fr}}.categorize-page{background:#f8f9fa;min-height:100vh;padding:40px 0 60px}.categorize-page .container{max-width:900px;margin:0 auto;padding:0 24px}.main-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:40px;animation:.5s fadeInUp}.page-title{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;border-bottom:2px solid var(--border-color);-webkit-background-clip:text;background-clip:text;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:20px;font-size:2rem;font-weight:700;display:flex}.page-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:1rem;line-height:1.6}.ingredient-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);background:linear-gradient(135deg,#6366f105,#ec489905);margin-bottom:20px;padding:24px}.ingredient-card:hover{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f10f}.ingredient-name{color:var(--text-primary);border-radius:var(--radius-md);border-left:4px solid var(--primary);background:linear-gradient(135deg,#6366f114,#ec48990f);align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;font-size:1.15rem;font-weight:700;display:flex}.category-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.category-option label{border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;font-weight:500;display:flex}.category-option label:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm);background:#6366f10d;transform:translateY(-1px)}.category-option input[type=radio]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:18px!important;min-width:18px!important;height:18px!important;box-shadow:none!important;background:initial!important;border:none!important;margin:0!important;padding:0!important}.category-option input[type=radio]:checked+i,.category-option input[type=radio]:checked~*{font-weight:700}.category-option:has(input[type=radio]:checked) label{border-color:var(--primary);background:#6366f114;box-shadow:0 0 0 3px #6366f11f}.mt-4{margin-top:32px}.text-end{text-align:right}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:14px 36px;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);transform:translateY(-2px);box-shadow:0 6px 16px #6366f159}@media (max-width:768px){.page-title{font-size:1.5rem}.category-options{grid-template-columns:1fr 1fr;gap:8px}.category-option label{padding:9px 10px;font-size:.82rem}.text-end{text-align:center}.btn-primary{justify-content:center;width:100%}.category-options{grid-template-columns:1fr}.category-option label{white-space:normal;padding:9px 10px;font-size:.82rem}.main-card{padding:24px 18px}}.review-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;max-width:calc(100% - 15px);margin:40px auto;padding:50px}.review-card:hover{box-shadow:var(--shadow-lg)}.review-header{border-bottom:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px;padding-bottom:28px;display:flex}.review-header h2{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:2rem;font-weight:700}.review-subtitle{color:var(--text-secondary);max-width:620px;margin:0;font-size:1rem;line-height:1.7}.review-header .back-btn{border-radius:var(--radius-md);color:#fff;white-space:nowrap;transition:var(--transition);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6c757d 0%,#495057 100%);flex-shrink:0;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.review-header .back-btn:hover{background:linear-gradient(135deg,#5a6268 0%,#343a40 100%);transform:translateY(-2px);box-shadow:0 6px 16px #6c757d4d}.review-select-all{border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);background:linear-gradient(135deg,#6366f10a,#ec48990a);justify-content:space-between;align-items:center;margin-bottom:28px;padding:16px 22px;display:flex}.review-select-all:hover{border-color:var(--primary-light)}.select-all-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex}.select-all-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.diff-count{color:var(--text-secondary);border:1px solid var(--border-color);background:#fff;border-radius:20px;padding:5px 14px;font-size:.85rem;font-weight:600}.diff-list{flex-direction:column;gap:20px;margin-bottom:40px;display:flex}.diff-item{border:2px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;transition:all .25s;overflow:hidden}.diff-item:hover{border-color:var(--primary-light);box-shadow:0 4px 16px #6366f114}.diff-item-selected{border-color:var(--primary)!important;box-shadow:0 0 0 4px #6366f11a!important}.diff-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#6366f108,#ec489908);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.diff-checkbox-label{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:1rem;font-weight:700;display:flex}.diff-checkbox{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.diff-badge{text-transform:uppercase;letter-spacing:.6px;border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:700}.diff-badge-changed{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.diff-columns{grid-template-columns:1fr 40px 1fr;min-height:120px;display:grid}.diff-col{padding:24px 26px}.diff-col-current{border-right:1px solid var(--border-color);background:#fff8f8}.diff-col-new{background:#f0fdf4}.diff-arrow{color:var(--text-light);border-right:1px solid var(--border-color);background:#fff;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.diff-col-title{text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:6px;margin-bottom:12px;font-size:.72rem;font-weight:800;display:flex}.diff-col-current .diff-col-title{color:#b91c1c}.diff-col-current .diff-col-title:before{content:"";background:#ef4444;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.diff-col-new .diff-col-title{color:#15803d}.diff-col-new .diff-col-title:before{content:"";background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.diff-col-content{color:var(--text-secondary);white-space:pre-line;word-break:break-word;font-size:.95rem;line-height:1.7}.diff-empty{color:var(--text-light);font-size:.85rem;font-style:italic}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:14px;padding-top:8px;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.action-btn.back-btn{color:#fff;background:linear-gradient(135deg,#6c757d 0%,#495057 100%)}.action-btn.back-btn:hover{background:linear-gradient(135deg,#5a6268 0%,#343a40 100%);transform:translateY(-2px);box-shadow:0 6px 16px #6c757d4d}.apply-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:none;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.apply-btn:hover{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);transform:translateY(-2px);box-shadow:0 6px 20px #22c55e59}.no-diffs{text-align:center;border-radius:var(--radius-lg);background:linear-gradient(135deg,#22c55e0d,#10a34a0d);border:2px dashed #86efac;padding:80px 40px}.no-diffs-icon{margin-bottom:24px;font-size:72px}.no-diffs h3{color:var(--text-primary);margin:0 0 12px;font-size:1.5rem;font-weight:700}.no-diffs p{color:var(--text-secondary);margin:0 0 28px;font-size:1rem}@media (max-width:768px){.review-card{margin:20px auto;padding:28px 20px}.review-header{flex-direction:column;gap:16px;margin-bottom:28px;padding-bottom:20px}.review-header h2{font-size:1.5rem}.review-header .back-btn{justify-content:center;width:100%}.review-select-all{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.diff-columns{grid-template-columns:1fr}.diff-arrow{display:none}.diff-col-current{border-bottom:2px dashed #fca5a5;border-right:none}.diff-col-new{border-top:none}.diff-col{padding:18px}.diff-header{padding:14px 18px}.review-actions{flex-direction:column-reverse}.apply-btn,.action-btn{justify-content:center;width:100%}}@media (max-width:480px){.review-card{margin:12px auto;padding:20px 16px}.review-header h2{font-size:1.3rem}}.error-page{justify-content:center;align-items:center;min-height:60vh;padding:20px;display:flex}.error-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);max-width:500px;padding:50px}.error-card h1{color:var(--error);margin-bottom:20px;font-size:48px}.error-text{color:var(--text-secondary);margin-bottom:30px;font-size:18px}.btn-back{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:var(--radius-md);transition:var(--transition);box-shadow:var(--shadow-sm);padding:12px 30px;font-weight:600;text-decoration:none;display:inline-block}.btn-back:hover{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);transform:translateY(-2px);box-shadow:0 6px 16px #6366f14d}.settings-container{max-width:900px;margin:0 auto;padding:40px 20px}.settings-header{margin-bottom:32px}.settings-header h1{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:8px;font-size:2.25rem;font-weight:800}.settings-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:1024px){.settings-grid{grid-template-columns:280px 1fr}}.settings-sidebar{flex-direction:column;gap:24px;display:flex}.profile-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;padding:24px;display:flex}.avatar-upload-wrapper{margin-bottom:16px;position:relative}.avatar-preview-container{border-radius:var(--radius-xl);border:4px solid var(--bg-app);width:160px;height:160px;box-shadow:0 0 0 2px var(--primary-light);background:var(--bg-app);justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-preview-container img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.avatar-edit-button{background:var(--primary);color:#fff;border:2px solid var(--bg-card);cursor:pointer;width:42px;height:42px;box-shadow:var(--shadow-lg);z-index:10;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:0;right:0}.avatar-edit-button:hover{background:var(--primary-dark);transform:scale(1.1)rotate(5deg)}.profile-name{color:var(--text-primary);margin-bottom:4px;font-size:1.125rem;font-weight:700}.profile-email{color:var(--text-muted);font-size:.8125rem}.settings-content{flex-direction:column;gap:24px;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{border-bottom:1px solid var(--border-color);background:rgba(var(--primary-rgb), .05);align-items:center;gap:12px;padding:16px 24px;display:flex}.icon-box{background:rgba(var(--primary-rgb), .1);border-radius:var(--radius-md);color:var(--primary);justify-content:center;align-items:center;padding:8px;display:flex}.section-header h2{color:var(--primary);margin-bottom:0;font-size:1rem;font-weight:700}.section-body{padding:24px}.form-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:700}.input-with-icon{position:relative}.input-icon{color:var(--text-light);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-group input{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-app);width:100%;padding:10px 12px 10px 38px;font-size:.9375rem;transition:all .2s}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed;background:rgba(var(--primary-rgb), .02)}.field-hint{color:var(--text-muted);margin:2px 2px 0;font-size:.75rem;line-height:1.4}.alert-box{border-radius:var(--radius-xl);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:12px;padding:12px;display:flex}.dark .alert-box{color:#fbbf24;background:#92400e1a;border-color:#92400e4d}.alert-box p{margin:0;font-size:.75rem;font-weight:500;line-height:1.4}.form-footer{justify-content:flex-end;width:100%;margin-top:24px;display:flex}.cropper-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cropper-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:var(--shadow-2xl);border:1px solid var(--border-color);overflow:hidden}.cropper-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cropper-title-box{align-items:center;gap:12px;display:flex}.cropper-title{color:var(--primary);margin-bottom:0;font-size:1rem;font-weight:700}.cropper-close-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.cropper-close-btn:hover{background:rgba(var(--primary-rgb), .05);color:var(--primary)}.cropper-content{background:#111;justify-content:center;max-height:60vh;padding:20px;display:flex;overflow:auto}.cropper-footer{border-top:1px solid var(--border-color);gap:12px;padding:16px 20px;display:flex}.btn-full{flex:1}.hidden{display:none!important}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-page{width:100%;max-width:100%;animation:.5s ease-in-out fadeIn;overflow-x:hidden}.about-hero h1{margin-bottom:1rem;font-size:3.5rem}.about-hero p{color:var(--text-muted);max-width:800px;margin-left:auto;margin-right:auto;font-size:1.25rem}.about-carousel{margin:20px 0}.about-tech{width:100%;max-width:100%;margin-top:30px;margin-bottom:30px;overflow:hidden}.bio-card{background:var(--bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:30px;transition:transform .3s}.bio-card:hover{border-color:var(--primary);transform:translateY(-5px)}.bio-card h3{color:var(--primary);margin-bottom:15px}.tech-stack-grid{padding:20px}.tech-item{background:var(--bg-app);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:15px;transition:all .3s}.tech-item:hover{background:var(--primary);color:#fff;transform:scale(1.05)}@media (max-width:768px){.about-hero h1{font-size:2.5rem}}.communities-page{max-width:1200px;margin:0 auto;padding:24px}.communities-header{border-bottom:2px solid var(--border-color);margin-bottom:32px;padding-bottom:24px}.communities-header h2{margin-bottom:8px;font-size:2.2rem;font-weight:700}.communities-subtitle{color:var(--text-secondary);font-size:1rem}.communities-search-section{margin-bottom:32px;position:relative}.communities-search-input{border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;color:var(--text-primary);transition:var(--transition);padding:12px 20px;font-size:1rem}.communities-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #6366f11a}.search-results-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--border-color);transition:var(--transition);align-items:center;gap:12px;padding:12px 16px;display:flex}.search-result-item:hover{background:#6366f10d}.search-result-item:last-child{border-bottom:none}.search-result-avatar img,.community-card-avatar img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:40px;height:40px}.communities-section{margin-bottom:40px}.communities-section h3{align-items:center;gap:8px;margin-bottom:16px;font-size:1.4rem;font-weight:600;display:flex}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.badge-count{background:var(--primary);color:#fff;border-radius:20px;padding:2px 10px;font-size:.85rem}.community-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.community-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex;position:relative}.community-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary), var(--accent-1));width:100%;height:4px;transition:var(--transition);position:absolute;top:0;left:0;transform:scaleX(0)}.community-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.community-card:hover:before{transform:scaleX(1)}.community-card-avatar{flex-shrink:0;position:relative}.avatar-placeholder{background:linear-gradient(135deg, var(--primary-light), var(--secondary));border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.6rem;display:flex}.community-card-avatar img{-o-object-fit:cover;object-fit:cover;border:2px solid var(--border-color);border-radius:50%;width:52px;height:52px}.role-badge{font-size:.85rem;position:absolute;bottom:-4px;right:-4px}.community-card-content{flex:1;min-width:0}.community-card-name{white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1rem;font-weight:600;overflow:hidden}.community-card-name a{color:inherit;text-decoration:none}.community-card-name a:hover{color:var(--primary)}.community-card-username,.community-card-meta,.community-card-desc{color:var(--text-secondary);margin:0;font-size:.85rem}.group-card-meta-row{align-items:center;gap:12px;margin-top:4px;display:flex}.visibility-badge{border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:500}.visibility-badge.public{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.visibility-badge.private{color:#6b7280;background:#6b72801a;border:1px solid #6b728033}.discovery-search{margin-bottom:20px}.discovery-section{border-top:1px solid var(--border-color);margin-top:60px;padding-top:40px}.community-card-actions{flex-flow:wrap;align-items:center;gap:6px;display:flex}.btn-add-friend,.btn-community-share,.btn-community-view,.btn-community-accept,.btn-community-reject,.btn-community-remove,.btn-community-join,.btn-create-group{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:6px 14px;font-size:.85rem;font-weight:500}.btn-add-friend,.btn-community-accept,.btn-create-group,.btn-community-join,.btn-community-share{background:var(--primary);color:#fff}.btn-add-friend:hover,.btn-community-accept:hover,.btn-create-group:hover,.btn-community-share:hover{background:var(--primary-dark)}.btn-community-view{border:1px solid var(--primary);color:var(--primary);background:0 0}.search-result-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-block-user{border:1px solid var(--danger,#ef4444);color:var(--danger,#ef4444);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:0 0;padding:6px 10px;font-size:.85rem;font-weight:500;line-height:1}.btn-block-user:hover{background:#ef44441a}.btn-community-action{border:1px solid var(--border-color,#e5e7eb);color:var(--text-primary);border-radius:var(--radius-sm,6px);cursor:pointer;transition:var(--transition);background:0 0;padding:4px 8px;font-size:.9rem;line-height:1}.btn-community-action:hover{background:var(--bg-hover,#0000000d);border-color:var(--primary)}.community-card-menu{z-index:10;position:absolute;top:8px;right:8px}.btn-kebab{cursor:pointer;border-radius:var(--radius-sm,6px);color:var(--text-secondary);transition:var(--transition);background:0 0;border:none;padding:4px 8px;font-size:1.3rem;line-height:1}.btn-kebab:hover{background:var(--bg-hover,#0000000d);color:var(--text-primary)}.kebab-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);z-index:20;position:absolute;top:100%;right:0;overflow:hidden}.kebab-item{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);transition:var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;display:flex}.kebab-item:hover{background:var(--bg-hover,#0000000d)}.kebab-item-danger{color:var(--danger,#ef4444)}.kebab-item-danger:hover{background:#ef44441a}.kebab-item-disabled{cursor:not-allowed;text-align:left;width:100%;color:var(--text-muted,#9ca3af);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;display:flex}.btn-community-reject,.btn-community-remove{border:1px solid var(--danger,#ef4444);color:var(--danger,#ef4444);background:0 0}.btn-community-reject:hover,.btn-community-remove:hover{background:var(--danger,#ef4444);color:#fff}.friendship-status-badge{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:20px;padding:4px 10px;font-size:.8rem}.create-group-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;display:flex}.member-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.create-group-actions{gap:12px;display:flex}.share-modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:80vh;box-shadow:var(--shadow-hover);padding:32px;overflow-y:auto}.share-modal h2{margin-bottom:16px;font-size:1.3rem}.share-modal h3{color:var(--text-secondary);margin:16px 0 8px;font-size:1rem;font-weight:600}.share-message-input{border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;background:var(--bg-primary);width:100%;color:var(--text-primary);padding:10px 14px;font-size:.9rem}.share-list{flex-direction:column;gap:8px;display:flex}.share-target-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:var(--transition);width:100%;color:var(--text-primary);background:0 0;align-items:center;gap:12px;padding:10px 16px;display:flex}.share-target-btn:hover:not(:disabled){border-color:var(--primary);background:#6366f114}.share-target-btn span:nth-child(2){flex:1;font-weight:600}.share-target-btn span:last-child{color:var(--text-muted);font-size:.8rem}.btn-close-modal{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;margin-top:16px;padding:10px;font-size:.9rem}.empty-state{color:var(--text-secondary);text-align:center;padding:32px 0;font-size:.95rem}@media (max-width:768px){.community-cards-grid{grid-template-columns:1fr}.community-card{text-align:left;flex-direction:column;align-items:flex-start}.community-card-actions{flex-direction:row;width:100%}.request-actions{flex-direction:row}.share-modal{padding:20px}}.pricing-section{background-color:var(--bg-main);min-height:calc(100vh - 80px);padding:80px 0}.pricing-container{max-width:1200px;margin:0 auto;padding:0 20px}.pricing-header{text-align:left;max-width:800px;margin-bottom:60px}.pricing-tag{color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:.85rem;font-weight:700;display:block}.pricing-title{margin-bottom:20px;font-size:2.5rem;font-weight:800}.pricing-subheader{color:var(--text-secondary);font-size:1.15rem;line-height:1.6}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:30px;display:grid}.pricing-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid var(--border-color);flex-direction:column;padding:40px;display:flex;position:relative;overflow:hidden}.pricing-card:hover{box-shadow:var(--shadow-hover);border-color:var(--primary-light);transform:translateY(-8px)}.pricing-card.featured{border:2px solid var(--primary);z-index:1;transform:scale(1.05)}.pricing-card.featured:hover{transform:scale(1.05)translateY(-8px)}.pricing-card-header{margin-bottom:30px}.pricing-card-icon{width:48px;height:48px;color:var(--primary);border-radius:var(--radius-md);background:#6366f11a;justify-content:center;align-items:center;margin-bottom:20px;font-size:1.5rem;display:flex}.pricing-card-title{color:var(--text-primary);margin-bottom:10px;font-size:1.5rem;font-weight:700}.pricing-card-price{color:var(--text-primary);margin-bottom:5px;font-size:2.5rem;font-weight:800}.pricing-card-price span{color:var(--text-muted);font-size:1rem;font-weight:500}.pricing-card-desc{color:var(--text-secondary);margin-top:10px;font-size:.95rem}.pricing-card-features{flex-grow:1;margin:0 0 40px;padding:0;list-style:none}.pricing-feature-item{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:16px;font-size:.95rem;display:flex}.pricing-feature-icon{color:var(--success);flex-shrink:0}.pricing-button{text-align:center;justify-content:center;align-items:center;width:100%;padding:14px 28px;font-size:1rem;display:inline-flex}@media (max-width:1024px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.pricing-section{padding:60px 0}.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-8px)}.pricing-title{font-size:2rem}}.notification-bell-wrapper{vertical-align:middle;display:inline-flex;position:relative}.notification-bell{cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;transition:background .2s;position:relative}.notification-bell:hover{background:var(--bg-hover,#ffffff1a)}.notification-badge{color:#fff;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 2px 4px #0003}.notification-dropdown{background:var(--bg-card,#fff);border-radius:var(--radius-md,12px);border:1px solid var(--border-color,#e5e7eb);z-index:9999;width:min(360px,90vw);max-height:480px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 8px 30px #00000026}.notification-dropdown-header{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-dropdown-title{font-size:.95rem;font-weight:700}.notification-mark-all-btn{color:var(--accent-color,#f97316);cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:500}.notification-mark-all-btn:hover{text-decoration:underline}.notification-dropdown-body{max-height:400px;overflow-y:auto}.notification-empty{text-align:center;color:var(--text-muted,#9ca3af);padding:32px 16px;font-size:.85rem}.notification-item{cursor:default;border-bottom:1px solid var(--border-color,#e5e7eb);align-items:flex-start;gap:10px;padding:10px 16px;transition:background .15s;display:flex}.notification-item.unread{cursor:pointer;background:#f973160f}.notification-item.unread:hover{background:#f973161a}.notification-item-icon{flex-shrink:0;margin-top:2px;font-size:1.2rem}.notification-item-content{flex:1;min-width:0}.notification-item-message{color:var(--text-primary,#1f2937);margin:0;font-size:.82rem;line-height:1.3}.notification-item-time{color:var(--text-muted,#9ca3af);margin-top:2px;font-size:.7rem;display:block}.notification-dropdown-footer{text-align:center;border-top:1px solid var(--border-color,#e5e7eb);padding:8px 16px}.notification-dropdown-footer a{color:var(--accent-color,#f97316);font-size:.82rem;font-weight:500}
