:root{--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px}.mobile-only{display:none!important}.tablet-up,.desktop-only{display:inherit}@media (max-width: 1023.98px){.desktop-only{display:none!important}}@media (max-width: 767.98px){.tablet-up{display:none!important}.mobile-only{display:inherit!important}}@media (max-width: 479.98px){.hide-under-mobile{display:none!important}}:root{--btn-border-radius: 999px;--btn-font-weight: 600;--btn-letter-spacing: .01em;--btn-gap: .5rem;--btn-padding-x-sm: 16px;--btn-padding-y-sm: 8px;--btn-padding-x-md: 24px;--btn-padding-y-md: 12px;--btn-padding-x-lg: 28px;--btn-padding-y-lg: 16px;--btn-font-size-sm: .875rem;--btn-font-size-md: 1rem;--btn-font-size-lg: 1.125rem;--btn-min-height-sm: 36px;--btn-min-height-md: 44px;--btn-min-height-lg: 52px;--btn-focus-outline-width: 3px;--btn-focus-outline-color: #111827;--btn-focus-outline-offset: 2px;--btn-disabled-bg: #9ca3af;--btn-disabled-color: #f9fafb;--btn-disabled-shadow: none;--btn-primary-color: #ffffff;--btn-primary-bg: linear-gradient(135deg, #43acbc 0%, #2d6c7a 100%);--btn-primary-bg-hover: linear-gradient(135deg, #4dc0c7 0%, #347a85 100%);--btn-primary-bg-active: linear-gradient(135deg, #3795a2 0%, #245762 100%);--btn-primary-shadow: 0 16px 30px rgba(67, 172, 188, .35);--btn-primary-shadow-hover: 0 20px 34px rgba(67, 172, 188, .4);--btn-primary-shadow-active: 0 12px 20px rgba(67, 172, 188, .28);--btn-primary-color-hover: #ffffff;--btn-primary-color-active: #ffffff;--btn-secondary-color: #0f172a;--btn-secondary-bg: rgba(255, 255, 255, .12);--btn-secondary-bg-hover: rgba(255, 255, 255, .2);--btn-secondary-bg-active: rgba(255, 255, 255, .12);--btn-secondary-border: rgba(67, 172, 188, .35);--btn-secondary-shadow: 0 6px 16px rgba(67, 172, 188, .18);--btn-secondary-shadow-hover: 0 12px 24px rgba(67, 172, 188, .22);--btn-secondary-shadow-active: 0 6px 12px rgba(67, 172, 188, .18);--btn-secondary-color-hover: #0f172a;--btn-secondary-color-active: #0f172a;--btn-secondary-border-hover: rgba(67, 172, 188, .5);--btn-secondary-border-active: rgba(67, 172, 188, .35);--btn-danger-color: #ffffff;--btn-danger-bg: linear-gradient(135deg, #f87171 0%, #c53030 100%);--btn-danger-bg-hover: linear-gradient(135deg, #fb7185 0%, #b91c1c 100%);--btn-danger-bg-active: linear-gradient(135deg, #ef4444 0%, #991b1b 100%);--btn-danger-shadow: 0 16px 30px rgba(239, 68, 68, .35);--btn-danger-shadow-hover: 0 20px 34px rgba(239, 68, 68, .4);--btn-danger-shadow-active: 0 12px 20px rgba(239, 68, 68, .28);--btn-danger-color-hover: #ffffff;--btn-danger-color-active: #ffffff;--btn-ghost-color: #0f172a;--btn-ghost-color-hover: #0f172a;--btn-ghost-color-active: #0f172a;--btn-ghost-bg-hover: rgba(15, 23, 42, .05);--btn-ghost-bg-active: rgba(15, 23, 42, .08);--btn-ghost-border: rgba(15, 23, 42, .2);--btn-ghost-border-hover: rgba(15, 23, 42, .3);--btn-ghost-border-active: rgba(15, 23, 42, .3)}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh}.auth-loading .loading-spinner{display:inline-block;width:3rem;height:3rem;border:4px solid rgba(230,57,70,.1);border-radius:50%;border-top-color:#e63946;animation:spin 1s linear infinite;margin-bottom:1rem}.auth-loading p{color:#666;font-size:1rem}.admin-auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.admin-auth-loading .loading-spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.admin-auth-loading .loading-content{text-align:center}.admin-auth-loading .loading-content h3{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.admin-auth-loading .loading-content p{color:#6b7280}.admin-auth-error{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.admin-auth-error .error-content{background-color:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:28rem;text-align:center}.admin-auth-error .error-content h3{font-size:1.25rem;font-weight:600;color:#7f1d1d;margin-bottom:1rem}.admin-auth-error .error-content p{color:#374151;margin-bottom:.5rem}.admin-auth-error .error-details{font-size:.875rem;color:#dc2626;background-color:#fef2f2;padding:.75rem;border-radius:.25rem;margin-top:1rem;margin-bottom:1rem}.admin-auth-error .retry-button{background-color:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s}.admin-auth-error .retry-button:hover{background-color:#1d4ed8}.admin-access-denied{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.admin-access-denied .access-denied-content{background-color:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:28rem;text-align:center}.admin-access-denied .access-denied-content h3{font-size:1.25rem;font-weight:600;color:#7f1d1d;margin-bottom:1rem}.admin-access-denied .access-denied-content p{color:#374151;margin-bottom:1rem}.admin-access-denied .required-permissions{text-align:left;margin-top:1.5rem;margin-bottom:1.5rem}.admin-access-denied .required-permissions h4{font-weight:600;color:#111827;margin-bottom:.5rem}.admin-access-denied .required-permissions ul{list-style:none;padding:0}.admin-access-denied .required-permissions li{font-size:.875rem;padding:.25rem .75rem;border-radius:.25rem;margin-bottom:.25rem}.admin-access-denied .required-permissions .has-permission{background-color:#dcfce7;color:#166534}.admin-access-denied .required-permissions .missing-permission{background-color:#fee2e2;color:#991b1b}.admin-access-denied .go-back-button{background-color:#4b5563;color:#fff;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s}.admin-access-denied .go-back-button:hover{background-color:#374151}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.admin-login-card{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:28rem;width:100%;padding:2rem}.admin-login-header{text-align:center;margin-bottom:2rem}.admin-login-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.admin-login-header p{color:#6b7280;font-size:.875rem}.admin-required-notice{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;padding:.75rem;margin-top:1rem}.admin-required-notice p{color:#92400e;font-size:.875rem;margin:0}.admin-login-form .form-group{margin-bottom:1.5rem}.admin-auth-error{background-color:#fee2e2;border:1px solid #fca5a5;border-radius:.375rem;padding:1rem;margin-bottom:1rem}.admin-auth-error strong{color:#991b1b;font-weight:600;display:block;margin-bottom:.25rem}.admin-auth-error p{color:#7f1d1d;font-size:.875rem;margin:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.validation-error{color:#ef4444;font-size:.875rem;margin-top:.25rem}.form-actions{margin-top:2rem}.admin-submit-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1rem;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.admin-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a}.admin-submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.security-notice{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;margin-top:1.5rem}.security-notice p{color:#4b5563;font-size:.75rem;margin:0;text-align:center}.admin-login-footer{margin-top:2rem;text-align:center;border-top:1px solid #e5e7eb;padding-top:1rem}.admin-login-footer a{color:#667eea;text-decoration:none;font-size:.875rem;transition:color .2s}.admin-login-footer a:hover{color:#764ba2;text-decoration:underline}.admin-login-footer span{margin:0 .5rem;color:#d1d5db}.admin-login-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-login-loading .loading-spinner{width:3rem;height:3rem;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.admin-login-loading p{font-size:1.125rem;font-weight:500}.admin-login-error{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-login-error .error-content{background:#fff;border-radius:.75rem;padding:2rem;text-align:center;max-width:28rem;box-shadow:0 20px 25px -5px #0000001a}.admin-login-error .error-content h2{color:#991b1b;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.admin-login-error .error-content p{color:#374151;margin-bottom:1rem}.admin-login-error .error-content button{background-color:#4b5563;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.admin-login-error .error-content button:hover{background-color:#374151}.loading-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.admin-header{position:fixed;top:0;left:0;right:0;height:4rem;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;z-index:1000;box-shadow:0 1px 3px #0000001a}.admin-header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.25rem;transition:background-color .2s}.sidebar-toggle:hover{background-color:#f3f4f6}.hamburger{width:1.5rem;height:1.5rem;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{width:100%;height:2px;background-color:#374151;border-radius:1px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.admin-logo{text-decoration:none;display:flex;align-items:center;gap:.5rem}.logo-text{font-size:1.25rem;font-weight:700;color:#1f2937}.admin-header-center{flex:1;display:flex;justify-content:center}.admin-header-right{display:flex;align-items:center;gap:1rem}.view-site-link{color:#6b7280;text-decoration:none;font-size:.875rem;padding:.5rem .75rem;border-radius:.25rem;transition:color .2s,background-color .2s}.view-site-link:hover{color:#374151;background-color:#f3f4f6}.admin-user-menu{position:relative;display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:background-color .2s}.admin-user-menu:hover{background-color:#f3f4f6}.admin-user-info{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.admin-username{font-size:.875rem;font-weight:500;color:#1f2937}.admin-role{font-size:.75rem;color:#6b7280;text-transform:capitalize}.admin-user-avatar{width:2rem;height:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.admin-user-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;min-width:12rem;padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:all .2s ease;z-index:1001}.admin-user-menu:hover .admin-user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;width:100%;padding:.5rem 1rem;color:#374151;text-decoration:none;font-size:.875rem;border:none;background:none;cursor:pointer;text-align:left;transition:background-color .2s}.dropdown-item:hover{background-color:#f3f4f6}.dropdown-divider{height:1px;background-color:#e5e7eb;margin:.5rem 0}.logout-button{color:#dc2626}.logout-button:hover{background-color:#fee2e2}@media (max-width: 768px){.admin-header{padding:0 .5rem}.admin-user-info,.view-site-link{display:none}}.admin-sidebar{position:fixed;top:4rem;left:0;bottom:0;width:16rem;background:#1f2937;color:#fff;transform:translate(-100%);transition:transform .3s ease;z-index:999;display:flex;flex-direction:column;overflow-y:auto}.admin-sidebar.open{transform:translate(0)}.sidebar-header{padding:1rem;border-bottom:1px solid #374151;display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:1.125rem;font-weight:600;margin:0;color:#f9fafb}.sidebar-close{background:none;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s,background-color .2s}.sidebar-close:hover{color:#fff;background-color:#374151}.sidebar-nav{flex:1;padding:1rem 0}.nav-item{margin-bottom:.25rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#d1d5db;text-decoration:none;transition:all .2s ease;border-left:3px solid transparent}.nav-link:hover{background-color:#374151;color:#fff}.nav-link.active{background-color:#1d4ed8;color:#fff;border-left-color:#3b82f6}.nav-group{margin-bottom:.5rem}.nav-group-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#9ca3af;font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.nav-group.active .nav-group-header{color:#e5e7eb}.nav-children{padding-left:1rem}.nav-children .nav-link{padding:.5rem 1rem;font-size:.875rem}.nav-icon{font-size:1.125rem;width:1.5rem;display:flex;align-items:center;justify-content:center}.nav-label{font-weight:500}.sidebar-footer{padding:1rem;border-top:1px solid #374151}.admin-info{display:flex;align-items:center;gap:.75rem}.admin-avatar{width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.admin-details{flex:1;min-width:0}.admin-name{font-size:.875rem;font-weight:500;color:#f9fafb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-role-badge{font-size:.75rem;color:#9ca3af;text-transform:capitalize;font-weight:400}@media (min-width: 1024px){.admin-sidebar{position:relative;top:0;transform:translate(0);z-index:auto}.sidebar-close{display:none}}@media (max-width: 768px){.admin-sidebar{width:100%;max-width:20rem}}.admin-sidebar::-webkit-scrollbar{width:.25rem}.admin-sidebar::-webkit-scrollbar-track{background:#1f2937}.admin-sidebar::-webkit-scrollbar-thumb{background:#4b5563;border-radius:.125rem}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:#6b7280}.admin-dashboard{min-height:100vh;background-color:#f9fafb}.admin-content{margin-top:4rem;margin-left:0;transition:margin-left .3s ease;min-height:calc(100vh - 4rem)}.admin-content.sidebar-open{margin-left:16rem}.admin-content-wrapper{padding:2rem;max-width:100%;margin:0 auto}.sidebar-overlay{position:fixed;top:4rem;left:0;right:0;bottom:0;background-color:#00000080;z-index:998;display:block}.admin-dashboard-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f9fafb}.admin-dashboard-loading .loading-spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.admin-dashboard-loading p{color:#6b7280;font-size:1.125rem}.admin-dashboard-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f9fafb;text-align:center;padding:2rem}.admin-dashboard-error h2{color:#dc2626;font-size:1.5rem;margin-bottom:1rem}.admin-dashboard-error p{color:#6b7280;margin-bottom:2rem}.admin-dashboard-error a{color:#3b82f6;text-decoration:none;font-weight:500;padding:.75rem 1.5rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;transition:background-color .2s,border-color .2s}.admin-dashboard-error a:hover{background-color:#f9fafb;border-color:#3b82f6}@media (max-width: 1023px){.admin-content.sidebar-open{margin-left:0}.sidebar-overlay{display:block}}@media (min-width: 1024px){.admin-content,.admin-content.sidebar-open{margin-left:16rem}.sidebar-overlay{display:none}}@media (max-width: 768px){.admin-content-wrapper{padding:1rem}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;padding:20px}.error-boundary-container{max-width:600px;width:100%;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:40px;text-align:center}.error-boundary-icon{width:80px;height:80px;margin:0 auto 24px;color:#e63946;background-color:#e639461a;border-radius:50%;display:flex;align-items:center;justify-content:center}.error-boundary-icon svg{width:40px;height:40px}.error-boundary-title{font-size:28px;font-weight:600;color:#333;margin:0 0 16px}.error-boundary-description{font-size:16px;color:#666;margin:0 0 32px;line-height:1.5}.error-boundary-details{text-align:left;margin:24px 0;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.error-boundary-details summary{background:#f5f5f5;padding:12px 16px;cursor:pointer;font-weight:500;border:none;outline:none}.error-boundary-details summary:hover{background:#eee}.error-boundary-details[open] summary{border-bottom:1px solid #e0e0e0}.error-boundary-error-info{padding:16px;font-size:14px;line-height:1.4}.error-boundary-error-info strong{display:block;margin-bottom:8px;color:#333}.error-boundary-stack{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px;padding:12px;margin-top:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.3;color:#666;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.error-boundary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}.error-boundary-button{padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:120px}.error-boundary-button.primary{background-color:#e63946;color:#fff}.error-boundary-button.primary:hover{background-color:#d32f3f;transform:translateY(-1px)}.error-boundary-button.secondary{background-color:#f5f5f5;color:#666;border:1px solid #e0e0e0}.error-boundary-button.secondary:hover{background-color:#eee;color:#333;transform:translateY(-1px)}.error-boundary-help{text-align:left;background:#f8f9fa;border-radius:6px;padding:20px;border:1px solid #e9ecef}.error-boundary-help p{font-size:14px;font-weight:500;color:#495057;margin:0 0 12px}.error-boundary-help ul{margin:0;padding-left:20px;color:#6c757d}.error-boundary-help li{font-size:14px;margin-bottom:4px;line-height:1.4}@media (max-width: 640px){.error-boundary{padding:16px}.error-boundary-container{padding:24px}.error-boundary-title{font-size:24px}.error-boundary-actions{flex-direction:column;align-items:stretch}.error-boundary-button{width:100%}}@media (prefers-color-scheme: dark){.error-boundary{background-color:#1a1a1a}.error-boundary-container{background:#2d2d2d;color:#e0e0e0}.error-boundary-title{color:#fff}.error-boundary-description{color:#b0b0b0}.error-boundary-details{border-color:#404040}.error-boundary-details summary{background:#3a3a3a;color:#e0e0e0}.error-boundary-details summary:hover{background:#454545}.error-boundary-stack{background:#2a2a2a;border-color:#404040;color:#b0b0b0}.error-boundary-help{background:#3a3a3a;border-color:#404040}}.hover-home-buttons{align-items:center;display:flex;justify-content:center;gap:10px;padding:10px 16px;min-width:160px;border-radius:8px;transition:background-color .2s ease}.hover-home-buttons:hover{background-color:#0000000a}.hover-home-buttons .home{color:#000;font-family:Crimson Text,Helvetica;font-size:36px;font-weight:400;letter-spacing:0;line-height:normal;text-align:center;white-space:nowrap}.hover-home-buttons .chefs-hover,.hover-home-buttons .recipes-hover,.hover-home-buttons .about-hover,.hover-home-buttons .home-hover{text-decoration:underline}@media (max-width: 1024px){.hover-home-buttons{min-width:140px}.hover-home-buttons .home{font-size:30px}}@media (max-width: 768px){.hover-home-buttons{min-width:auto}}.bottom-half-of-home{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;width:100%;padding:0 16px 24px;box-sizing:border-box}@media (max-width: 1024px){.bottom-half-of-home{justify-content:flex-start;padding:0 16px 16px}}@media (max-width: 768px){.bottom-half-of-home{display:none}}.logo-area{align-items:center;align-self:stretch;background-color:#d1d1d1;display:flex;gap:10px;justify-content:center;padding:4px 104px;position:relative;width:200px}.logo-group{height:181.94px;margin-left:-77.44px;margin-right:-77.44px;position:relative;transform:rotate(6.89deg);width:146.88px}.recipe-scroll{height:130px;left:15px;position:absolute;top:43px;width:113px}.scroll-icon-bottom{background-color:#e6e6e6;border-radius:25px;height:27px;left:0;position:absolute;top:103px;width:92px}.scroll-icon-main{background-color:#e7e7e7;height:103px;left:21px;position:absolute;top:14px;width:71px}.scroll-icon-top-bar{background-color:#e7e7e7;border-radius:25px;height:27px;left:21px;position:absolute;top:0;width:92px}.wooden-spoon{height:130px;left:82px;position:absolute;top:57px;transform:rotate(35.16deg);width:28px}.wooden-spoon-handle{background-color:#b68662;border-radius:20px;height:104px;left:7px;position:absolute;top:26px;width:14px}.wooden-spoon-bowl{background-color:#b68662;border-radius:13.99px/20.82px;height:42px;left:0;position:absolute;top:0;transform:rotate(-.01deg);width:28px}.chef-hat{height:49px;left:8px;position:absolute;top:16px;transform:rotate(-37.14deg);width:70px}.chef-hat-support{background-color:#fbfbfb;height:35px;left:9px;position:absolute;top:14px;width:52px}.chef-hat-poof{background-color:#fbfbfb;border-radius:34.96px/13.9px;height:28px;left:0;position:absolute;top:0;width:70px}@media (max-width: 480px){.logo-area{box-sizing:border-box;width:50px;max-width:140px;padding:4px 8px;margin-right:8px;justify-content:center;align-self:center;height:auto;max-height:50px;overflow:hidden;display:inline-flex}.logo-group{transform:rotate(6.89deg) scale(.5);height:90.97px;width:73.44px;margin-left:-38.72px;margin-right:-38.72px}.recipe-scroll{height:65px;left:7.5px;top:21.5px;width:56.5px}.scroll-icon-bottom{height:13.5px;top:51.5px;width:46px}.scroll-icon-main{height:51.5px;left:10.5px;top:7px;width:35.5px}.scroll-icon-top-bar{height:13.5px;left:10.5px;width:46px}.wooden-spoon{height:65px;left:41px;top:28.5px;width:14px}.wooden-spoon-handle{height:52px;left:3.5px;top:13px;width:7px}.wooden-spoon-bowl{height:21px;width:14px}.chef-hat{height:24.5px;left:4px;top:8px;width:35px}.chef-hat-support{height:17.5px;left:4.5px;top:7px;width:26px}.chef-hat-poof{height:14px;width:35px}}@media (max-width: 768px){.logo-area{box-sizing:border-box;width:50px;max-width:140px;padding:4px 8px;margin-right:8px;justify-content:center;align-self:center;height:auto;max-height:50px;overflow:hidden;display:inline-flex}.logo-group{transform:rotate(6.89deg) scale(.5);height:90.97px;width:73.44px;margin-left:-38.72px;margin-right:-38.72px}.recipe-scroll{height:65px;left:7.5px;top:21.5px;width:56.5px}.scroll-icon-bottom{height:13.5px;top:51.5px;width:46px}.scroll-icon-main{height:51.5px;left:10.5px;top:7px;width:35.5px}.scroll-icon-top-bar{height:13.5px;left:10.5px;width:46px}.wooden-spoon{height:65px;left:41px;top:28.5px;width:14px}.wooden-spoon-handle{height:52px;left:3.5px;top:13px;width:7px}.wooden-spoon-bowl{height:21px;width:14px}.chef-hat{height:24.5px;left:4px;top:8px;width:35px}.chef-hat-support{height:17.5px;left:4.5px;top:7px;width:26px}.chef-hat-poof{height:14px;width:35px}}.user-menu-container{position:relative}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:260px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:100;animation:dropdown-appear .2s ease-out}.user-menu-header{display:flex;align-items:center;padding:16px;background-color:#f8f8f8;border-bottom:1px solid #eaeaea}.user-menu-avatar{width:48px;height:48px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px #0000001a}.user-menu-user-info{margin-left:12px;overflow:hidden}.user-menu-username{font-weight:600;font-size:16px;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-items{padding:8px 0}.user-menu-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;font-size:14px;color:#333;cursor:pointer;transition:background-color .2s;text-decoration:none}.user-menu-item:hover{background-color:#f5f5f5;color:#e63946}.user-menu-signout{color:#e63946;font-weight:500}.user-menu-signout:hover{background-color:#e639461a}.notifications-menu-container{position:relative;margin-right:20px}.notifications-bell-button{background:none;border:none;cursor:pointer;position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#333;transition:color .2s ease;padding:0}.notifications-bell-button:hover{color:#e63946}.notifications-bell-icon{position:relative}.notifications-badge{position:absolute;top:-8px;right:-8px;background-color:#e63946;color:#fff;font-size:10px;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.notifications-dropdown{position:absolute;top:calc(100% + 12px);right:-50px;width:320px;max-height:480px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:100;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eaeaea}.notifications-title{margin:0;font-size:16px;font-weight:600;color:#333}.notifications-view-all{font-size:13px;color:#e63946;text-decoration:none}.notifications-view-all:hover{text-decoration:underline}.notifications-content{max-height:400px;overflow-y:auto}.notifications-loading,.notifications-empty,.notifications-error{padding:24px 16px;text-align:center;color:#666}.notifications-spinner{width:24px;height:24px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#e63946;margin:0 auto 12px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notifications-retry-button{margin-top:8px;padding:6px 12px;background-color:#f3f3f3;border:none;border-radius:4px;font-size:13px;cursor:pointer}.notifications-retry-button:hover{background-color:#e6e6e6}.notifications-list{list-style:none;margin:0;padding:0}.notification-item{position:relative;border-bottom:1px solid #f0f0f0}.notification-item:last-child{border-bottom:none}.notification-link{display:flex;padding:12px 16px;text-decoration:none;color:inherit;transition:background-color .2s}.notification-link:hover{background-color:#f7f7f7}.notification-content{flex:1}.notification-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#333}.notification-message{margin:0 0 8px;font-size:13px;color:#666;line-height:1.4}.notification-time{font-size:12px;color:#999}.notification-unread{background-color:#e639460d}.notification-unread-indicator{width:8px;height:8px;border-radius:50%;background-color:#e63946;margin-left:8px;flex-shrink:0;align-self:center}._overlay_1qlm2_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:900;pointer-events:none}._overlayOpen_1qlm2_12{opacity:1;visibility:visible;pointer-events:auto}._drawer_1qlm2_18{position:fixed;top:0;right:0;height:100vh;width:min(320px,85vw);max-width:400px;background:#fff;box-shadow:-4px 0 16px #0f172a33;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:1000;max-height:100vh}@supports (height: 100dvh){._drawer_1qlm2_18{height:100dvh;max-height:100dvh}}._drawerOpen_1qlm2_42{transform:translate(0)}._header_1qlm2_46{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #f1f5f9}._title_1qlm2_54{font-size:1rem;font-weight:600;color:#111827}._closeButton_1qlm2_60{background:none;border:none;padding:8px;border-radius:50%;cursor:pointer;transition:background-color .2s ease}._closeButton_1qlm2_60:focus-visible{outline:2px solid #2563eb;outline-offset:2px}._closeButton_1qlm2_60:hover{background-color:#94a3b829}._menu_1qlm2_78{flex:1;overflow-y:auto;padding:16px 20px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:24px}._sectionLabel_1qlm2_87{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:8px}._linkList_1qlm2_95{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}._accountDivider_1qlm2_104{height:1px;background-color:#e2e8f0;margin:8px 0}._navLink_1qlm2_110{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:8px;font-size:1rem;text-decoration:none;color:#1f2937;background:#f8fafc;transition:background-color .2s ease,color .2s ease}._navLink_1qlm2_110:hover{background:#e2e8f0}._navLink_1qlm2_110:focus-visible{outline:2px solid #2563eb;outline-offset:2px}._navLinkAccent_1qlm2_132{background:#f8fafc;color:#1f2937}._navLinkAccent_1qlm2_132:hover{background:#e2e8f0}._footer_1qlm2_141{padding:16px 20px calc(24px + env(safe-area-inset-bottom));border-top:1px solid #f1f5f9;display:flex;gap:12px;background:#fff;position:sticky;bottom:0;box-shadow:0 -6px 16px #0f172a14}._authButton_1qlm2_152{flex:1;border:none;border-radius:8px;padding:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease}._signInButton_1qlm2_163{background:#0f172a;color:#fff}._signInButton_1qlm2_163:hover{background:#1e293b}._signOutButton_1qlm2_172{background:#f1f5f9;color:#dc2626}._signOutButton_1qlm2_172:hover{background:#e2e8f0}.header-container{width:100%;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.header-inner{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;box-sizing:border-box}.header-logo-link{display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-right{display:flex;flex-direction:column;align-items:stretch;flex:1;gap:12px;min-width:0}.header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.header-main{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.header-search-bar-container{width:100%;max-width:420px}.header-search-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:12px;border:1px solid #cbd5f5;box-shadow:0 6px 12px #0f172a1f;background:#fff;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}.header-search-bar:hover{border-color:#3d9bb1;box-shadow:0 10px 20px #0f172a24}.header-search-bar:focus-visible{outline:2px solid #3d9bb1;outline-offset:3px}.header-search-text{color:#0f172a;font-family:Inter,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;white-space:nowrap}.header-search-icon{position:relative;width:32px;height:32px}.header-search-icon-group{position:relative;width:30px;height:29px}.header-search-handle{background-color:#999;height:3px;width:16px;position:absolute;top:21px;left:16px;transform:rotate(44deg)}.header-search-circle{border:3px solid #999999;border-radius:25px;width:22px;height:22px;position:absolute;top:0;left:0}.header-mobile-trigger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;border-radius:12px;border:1px solid #cbd5f5;background:#fff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.header-mobile-trigger:hover{background-color:#f1f5f9;border-color:#94a3b8}.header-mobile-trigger:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.header-mobile-trigger-bar{width:20px;height:2px;border-radius:999px;background-color:#0f172a}.header-bottom{display:flex;justify-content:center;width:100%;padding:0 32px 12px;box-sizing:border-box}.offline-banner{display:flex;align-items:center;gap:8px;margin:0 auto 16px;padding:10px 16px;border-radius:8px;background-color:#e63946;color:#fff;font-size:.95rem;width:calc(100% - 64px);max-width:1200px;box-sizing:border-box}.offline-banner svg{flex-shrink:0}@media (max-width: 1280px){.header-inner{padding:16px 24px}.header-bottom{padding:0 24px 12px}.offline-banner{width:calc(100% - 48px)}}@media (max-width: 1024px){.header-inner{gap:16px}.header-search-bar-container{max-width:360px}}@media (max-width: 768px){.header-inner{padding:14px 20px}.header-main{justify-content:flex-start}.header-logo-link{max-width:160px}.header-search-bar-container{display:none}.header-actions{gap:12px}.header-actions .notifications-menu,.header-actions .user-menu-container{display:none}.header-mobile-trigger{display:flex}.header-mobile-trigger.mobile-only{display:flex!important}.header-bottom{padding:0 20px 12px}.offline-banner{width:calc(100% - 40px);margin-bottom:16px}}@media (max-width: 480px){.header-inner{padding:12px 16px}.header-logo-link{max-width:140px}.header-bottom{padding:0 16px 8px}.offline-banner{width:calc(100% - 32px);padding-left:12px;padding-right:12px}}.header-create-recipe{align-items:center;background-color:#53b6cd;border-radius:5px;display:flex;height:40px;justify-content:center;margin-top:25px;margin-right:20px;padding:24px 20px;text-decoration:none;transition:background-color .2s}.header-create-recipe:hover{background-color:#3d9bb1}.header-create-recipe-text{color:#fff;font-family:Inter,Helvetica;font-size:16px;font-weight:500;letter-spacing:0;line-height:normal}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--btn-border-radius, 999px);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap, .5rem);padding:var(--btn-padding-y-md, 12px) var(--btn-padding-x-md, 24px);font-family:inherit;font-size:var(--btn-font-size-md, 1rem);font-weight:var(--btn-font-weight, 600);letter-spacing:var(--btn-letter-spacing, .01em);line-height:1.2;text-decoration:none;background:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;position:relative;min-height:var(--btn-min-height-md, 44px);box-shadow:none}.btn:focus-visible{outline:var(--btn-focus-outline-width, 3px) solid var(--btn-focus-outline-color, #111827);outline-offset:var(--btn-focus-outline-offset, 2px)}.btn:disabled{cursor:not-allowed;background:var(--btn-disabled-bg, #9ca3af);color:var(--btn-disabled-color, #f9fafb);box-shadow:var(--btn-disabled-shadow, none);transform:none;border-color:transparent}.btn--loading{pointer-events:none}.btn--loading .btn__content{opacity:.65}.btn--full-width{width:100%}.btn--sm{padding:var(--btn-padding-y-sm, 8px) var(--btn-padding-x-sm, 16px);font-size:var(--btn-font-size-sm, .875rem);min-height:var(--btn-min-height-sm, 36px)}.btn--lg{padding:var(--btn-padding-y-lg, 16px) var(--btn-padding-x-lg, 28px);font-size:var(--btn-font-size-lg, 1.125rem);min-height:var(--btn-min-height-lg, 52px)}.btn__content{display:inline-flex;align-items:center;gap:var(--btn-gap, .5rem)}.btn__label{display:inline-flex;align-items:center}.btn__icon{display:inline-flex;align-items:center;justify-content:center}.btn__spinner{width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;margin-right:calc(var(--btn-gap, .5rem) * .5);animation:btn-spinner .75s linear infinite}@keyframes btn-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn--primary{color:var(--btn-primary-color, #ffffff);background:var(--btn-primary-bg, linear-gradient(135deg, #43acbc 0%, #2d6c7a 100%));box-shadow:var(--btn-primary-shadow, 0 16px 30px rgba(67, 172, 188, .35))}.btn--primary:hover:not(:disabled){transform:translateY(-2px);background:var(--btn-primary-bg-hover, linear-gradient(135deg, #4dc0c7 0%, #347a85 100%));box-shadow:var(--btn-primary-shadow-hover, 0 20px 34px rgba(67, 172, 188, .4));color:var(--btn-primary-color-hover, var(--btn-primary-color, #ffffff))}.btn--primary:active:not(:disabled){transform:translateY(0);background:var(--btn-primary-bg-active, linear-gradient(135deg, #3795a2 0%, #245762 100%));box-shadow:var(--btn-primary-shadow-active, 0 12px 20px rgba(67, 172, 188, .28));color:var(--btn-primary-color-active, var(--btn-primary-color, #ffffff))}.btn--secondary{background:var(--btn-secondary-bg, rgba(255, 255, 255, .12));color:var(--btn-secondary-color, #0f172a);border:1px solid var(--btn-secondary-border, rgba(67, 172, 188, .35));box-shadow:var(--btn-secondary-shadow, 0 6px 16px rgba(67, 172, 188, .18))}.btn--secondary:hover:not(:disabled){transform:translateY(-2px);background:var(--btn-secondary-bg-hover, rgba(255, 255, 255, .2));box-shadow:var(--btn-secondary-shadow-hover, 0 12px 24px rgba(67, 172, 188, .22));border-color:var( --btn-secondary-border-hover, var(--btn-secondary-border, rgba(67, 172, 188, .35)) );color:var(--btn-secondary-color-hover, var(--btn-secondary-color, #0f172a))}.btn--secondary:active:not(:disabled){transform:translateY(0);background:var(--btn-secondary-bg-active, rgba(255, 255, 255, .12));box-shadow:var(--btn-secondary-shadow-active, 0 6px 12px rgba(67, 172, 188, .18));border-color:var( --btn-secondary-border-active, var(--btn-secondary-border, rgba(67, 172, 188, .35)) );color:var(--btn-secondary-color-active, var(--btn-secondary-color, #0f172a))}.btn--danger{color:var(--btn-danger-color, #ffffff);background:var(--btn-danger-bg, linear-gradient(135deg, #f87171 0%, #c53030 100%));box-shadow:var(--btn-danger-shadow, 0 16px 30px rgba(239, 68, 68, .35))}.btn--danger:hover:not(:disabled){transform:translateY(-2px);background:var(--btn-danger-bg-hover, linear-gradient(135deg, #fb7185 0%, #b91c1c 100%));box-shadow:var(--btn-danger-shadow-hover, 0 20px 34px rgba(239, 68, 68, .4));color:var(--btn-danger-color-hover, var(--btn-danger-color, #ffffff))}.btn--danger:active:not(:disabled){transform:translateY(0);background:var(--btn-danger-bg-active, linear-gradient(135deg, #ef4444 0%, #991b1b 100%));box-shadow:var(--btn-danger-shadow-active, 0 12px 20px rgba(239, 68, 68, .28));color:var(--btn-danger-color-active, var(--btn-danger-color, #ffffff))}.btn--ghost{background:transparent;color:var(--btn-ghost-color, #0f172a);border:1px solid var(--btn-ghost-border, rgba(15, 23, 42, .2));box-shadow:none}.btn--ghost:hover:not(:disabled){background:var(--btn-ghost-bg-hover, rgba(15, 23, 42, .05));color:var(--btn-ghost-color-hover, var(--btn-ghost-color, #0f172a));border-color:var( --btn-ghost-border-hover, var(--btn-ghost-border, rgba(15, 23, 42, .2)) )}.btn--ghost:active:not(:disabled){background:var(--btn-ghost-bg-active, rgba(15, 23, 42, .08));border-color:var( --btn-ghost-border-active, var(--btn-ghost-border, rgba(15, 23, 42, .2)) );color:var(--btn-ghost-color-active, var(--btn-ghost-color, #0f172a))}.btn:disabled:hover,.btn:disabled:active{transform:none;box-shadow:var(--btn-disabled-shadow, none)}.route-error-boundary{min-height:100vh;background:var(--background-color, #f5f5f5)}.route-error-container{max-width:600px;margin:0 auto;padding:4rem 2rem;text-align:center}.route-error-title{font-size:2rem;font-weight:700;color:var(--error-color, #d32f2f);margin-bottom:1rem}.route-error-message{font-size:1.125rem;color:var(--text-color, #333);margin-bottom:2rem;line-height:1.6}.route-error-details{text-align:left;margin:2rem 0;padding:1rem;background:var(--code-background, #f0f0f0);border-radius:4px;border:1px solid var(--border-color, #ddd)}.route-error-details summary{cursor:pointer;font-weight:600;color:var(--text-secondary, #666);-webkit-user-select:none;user-select:none}.route-error-details summary:hover{color:var(--text-color, #333)}.route-error-stack{margin-top:1rem;padding:1rem;background:#fff;border-radius:4px;font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.route-error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:420px;width:100%;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transform:translate(100%);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;max-width:100%}.toast-visible{transform:translate(0);opacity:1}.toast-exiting{transform:translate(100%);opacity:0}.toast-error{background:#ffebee;border-left:4px solid #E63946;color:#c62828}.toast-warning{background:#fff8e1;border-left:4px solid #ff9800;color:#e65100}.toast-success{background:#e8f5e8;border-left:4px solid #4caf50;color:#2e7d32}.toast-info{background:#e3f2fd;border-left:4px solid #2196f3;color:#1565c0}.toast-icon{flex-shrink:0;width:24px;height:24px;margin-top:2px}.toast-icon svg{width:100%;height:100%}.toast-content{flex:1;min-width:0}.toast-message{font-size:14px;font-weight:500;line-height:1.4;margin-bottom:4px;word-wrap:break-word}.toast-source{font-size:12px;opacity:.8;margin-bottom:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.toast-details{margin-top:8px;font-size:12px}.toast-details summary{cursor:pointer;font-weight:500;margin-bottom:4px;outline:none}.toast-details summary:hover{text-decoration:underline}.toast-details pre{background:#0000000d;border-radius:4px;padding:8px;margin:4px 0 0;font-size:11px;line-height:1.3;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.toast-dismiss{flex-shrink:0;width:20px;height:20px;background:none;border:none;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease;margin-top:2px;color:inherit}.toast-dismiss:hover{opacity:1;background:#0000001a}.toast-dismiss svg{width:16px;height:16px}@media (max-width: 480px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{padding:12px;gap:8px}.toast-message{font-size:13px}.toast-source{font-size:11px}}@media (prefers-color-scheme: dark){.toast-error{background:#2c1517;color:#ff8a80}.toast-warning{background:#2c1f0a;color:#ffb74d}.toast-success{background:#1b2e1b;color:#81c784}.toast-info{background:#0d1b2a;color:#64b5f6}.toast-details pre{background:#ffffff1a;color:inherit}.toast-dismiss:hover{background:#ffffff1a}}.toast:nth-child(n+4){transform:scale(.95) translateY(-8px);opacity:.7}.toast:nth-child(n+5){display:none}.toast:hover{transform:translate(0) scale(1.02);box-shadow:0 6px 16px #0003}.toast-exiting:hover{transform:translate(100%) scale(1)}.offline-banner{display:flex;align-items:center;justify-content:center;padding:12px 16px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;animation:slideDown .3s ease-out}.offline-banner--top{position:sticky;top:0;width:100%}.offline-banner--bottom{position:fixed;bottom:0;left:0;right:0;width:100%}.offline-banner--offline{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.offline-banner--slow{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.offline-banner--syncing{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.offline-banner__content{display:flex;align-items:center;gap:12px;max-width:1200px;width:100%;margin:0 auto}.offline-banner__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.offline-banner__icon svg{width:18px;height:18px}.offline-banner__message{flex:1;display:flex;flex-direction:column;gap:4px}.offline-banner__primary-message{font-weight:500;line-height:1.4}.offline-banner__details{display:flex;gap:12px;font-size:12px;opacity:.9;flex-wrap:wrap}.offline-banner__detail{background:#fff3;padding:2px 6px;border-radius:4px;font-weight:400}.offline-banner__queue-status{display:flex;align-items:center;gap:8px;font-size:12px;opacity:.9}.offline-banner__processing{display:flex;align-items:center;gap:6px}.offline-banner__spinner{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.3);border-top:1.5px solid white;border-radius:50%;animation:spin 1s linear infinite}.offline-banner__dismiss{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.offline-banner__dismiss:hover{background:#fff3}.offline-banner__dismiss:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.offline-banner__dismiss svg{width:14px;height:14px}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.offline-banner{padding:10px 12px;font-size:13px}.offline-banner__content{gap:8px}.offline-banner__details{display:none}.offline-banner__icon svg{width:16px;height:16px}}@media (max-width: 480px){.offline-banner{padding:8px 10px;font-size:12px}.offline-banner__primary-message{font-size:12px}.offline-banner__queue-status{font-size:11px}}@media (prefers-color-scheme: dark){.offline-banner{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.offline-banner{border:2px solid currentColor}.offline-banner__detail{border:1px solid rgba(255,255,255,.5)}}@media (prefers-reduced-motion: reduce){.offline-banner{animation:none;transition:none}.offline-banner__spinner{animation:none;border:1.5px solid rgba(255,255,255,.5);border-top:1.5px solid white}}@media print{.offline-banner{display:none}}
