.user-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--gray-light);border:2px solid var(--border-color);transition:all .2s ease}.user-avatar.clickable{cursor:pointer}.user-avatar.clickable:hover{border-color:var(--primary-green);transform:scale(1.05)}.user-avatar .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar.placeholder{background:var(--gray-medium);color:var(--gray-light);font-weight:600;font-size:.8em}.user-avatar.placeholder span{font-size:60%}.user-avatar.small{width:24px;height:24px;border-width:1px}.user-avatar.medium{width:40px;height:40px;border-width:2px}.user-avatar.large{width:60px;height:60px;border-width:2px}.user-avatar.extra-large{width:80px;height:80px;border-width:3px}.user-avatar:after{content:"";position:absolute;bottom:0;right:0;width:25%;height:25%;border-radius:50%;border:2px solid var(--card-background);background:var(--success-medium);opacity:0;transition:opacity .2s ease}.user-avatar.online:after{opacity:1}.user-avatar.loading{background:var(--gray-light);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.membership-badge{background:white;border:2px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease;position:relative;overflow:hidden}.membership-badge:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--border-color)}.membership-badge.sprout{border-color:#22c55e;background:rgba(34,197,94,.05)}.membership-badge.sprout:before{background:linear-gradient(90deg,#22c55e,#16a34a)}.membership-badge.bloom{border-color:#ec4899;background:rgba(236,72,153,.05)}.membership-badge.bloom:before{background:linear-gradient(90deg,#ec4899,#db2777)}.membership-badge.guardian{border-color:#8b5cf6;background:rgba(139,92,246,.05)}.membership-badge.guardian:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.membership-badge.none{border-color:var(--text-tertiary);background:var(--background-color)}.membership-badge.guest{border-color:var(--warning-color);background:rgba(255,193,7,.05)}.membership-badge.guest:before{background:var(--warning-color)}.badge-content{display:flex;align-items:center;gap:.75rem}.badge-icon{font-size:1.5rem;flex-shrink:0}.badge-info{flex:1 1;min-width:0}.badge-title{font-weight:700;color:var(--text-primary);font-size:1rem;display:block;line-height:1.2}.badge-details{display:flex;gap:.75rem;margin-top:.25rem;flex-wrap:wrap}.status-active{background:var(--success-color);text-transform:uppercase;letter-spacing:.5px}.discount-info,.status-active{color:white;padding:.125rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600}.discount-info{background:var(--primary-color)}.benefits-section{border-top:1px solid var(--border-color);padding-top:.75rem}.benefits-toggle{background:none;border:none;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;transition:color .2s ease}.benefits-toggle:hover{color:var(--primary-color)}.benefits-dropdown{margin-top:.5rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.benefits-list{list-style:none;padding:0;margin:0}.benefit-item,.benefits-list{display:flex;flex-direction:column;gap:.5rem}.benefit-item{align-items:center;font-size:.85rem;line-height:1.4}.benefit-icon{color:var(--success-color);font-weight:700;flex-shrink:0;margin:0 auto}.benefit-text{color:var(--text-secondary)}.upgrade-section{border-top:1px solid var(--border-color);padding-top:.75rem}.upgrade-link{display:inline-block;background:var(--primary-color);color:white;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.85rem;transition:all .2s ease;text-align:center;width:100%}.upgrade-link:hover{background:var(--primary-hover);transform:translateY(-1px)}.membership-badge.compact{padding:.5rem .75rem;border-radius:8px;flex-direction:row;align-items:center;gap:.5rem;min-width:0}.membership-badge.compact:before{height:2px}.membership-badge.compact .badge-content{gap:.5rem;flex:1 1;min-width:0}.membership-badge.compact .badge-icon{font-size:1rem}.membership-badge.compact .badge-title{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.membership-badge.compact .badge-details{display:none}.membership-badge.compact .upgrade-link{padding:.25rem .75rem;font-size:.75rem;width:auto;white-space:nowrap}.membership-badge.profile-badge{border-radius:16px;padding:1.5rem;background:linear-gradient(135deg,var(--card-background),var(--background-color))}.membership-badge.nav-badge{border:1px solid var(--border-color);background:var(--background-color);padding:.375rem .75rem;border-radius:20px}.membership-badge.nav-badge .badge-title{font-size:.8rem}.membership-badge.event-badge{border-radius:20px;padding:.25rem .75rem;background:var(--primary-light);border-color:var(--primary-color)}.membership-badge.event-badge .badge-title{font-size:.75rem;color:var(--primary-color)}.membership-badge.menu-item-badge{border-radius:6px;padding:.25rem .5rem;background:var(--success-light);border-color:var(--success-color);border-width:1px}.membership-badge.menu-item-badge .badge-content{gap:.25rem}.membership-badge.menu-item-badge .badge-icon{font-size:.8rem}.membership-badge.menu-item-badge .badge-text{font-size:.7rem;font-weight:600;color:var(--success-color)}@media (max-width:768px){.membership-badge{padding:.75rem}.badge-content{gap:.5rem}.badge-icon{font-size:1.25rem}.badge-title{font-size:.9rem}.badge-details{gap:.5rem}.benefits-toggle{font-size:.85rem}.benefit-item,.upgrade-link{font-size:.8rem}.upgrade-link{padding:.5rem .75rem}}@media (max-width:480px){.membership-badge.compact .badge-title{display:none}.membership-badge.compact{min-width:40px;justify-content:center}.membership-badge.nav-badge .badge-title{display:none}}.user-dropdown-menu{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer}.dropdown-content{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px var(--shadow);z-index:1000;animation:dropdownFadeIn .2s ease-out;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--hover-background)}.header-avatar{flex-shrink:0}.user-info{flex:1 1;min-width:0}.user-name{font-weight:600;font-size:.95rem;color:var(--foreground);margin-bottom:2px}.user-email,.user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.8rem;color:var(--gray-medium);margin-bottom:4px}.dropdown-divider{height:1px;background:var(--border-color);margin:0}.dropdown-menu-items{padding:8px 0}.dropdown-item{gap:12px;width:100%;padding:12px 16px;background:none;border:none;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background:var(--hover-background)}.dropdown-item.sign-out{color:var(--error)}.dropdown-item.sign-out:hover{background:var(--error-light);color:var(--error-dark)}.item-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.item-text{flex:1 1;text-align:left}@media (max-width:768px){.dropdown-content{min-width:260px;right:-8px}.dropdown-header{padding:12px}.dropdown-item{padding:10px 12px;font-size:.85rem}}.dropdown-item:focus{outline:2px solid var(--primary-green);outline-offset:-2px}.dropdown-trigger:focus{outline:2px solid var(--primary-green);outline-offset:2px;border-radius:50%}.notifications-avatar,.notifications-bell{position:relative;display:inline-block}.notifications-avatar .avatar-button,.notifications-bell .bell-button{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0;cursor:pointer}.notifications-bell .bell-icon{font-size:20px;line-height:1}.notification-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#e02424;color:#fff;font-size:12px;line-height:18px;text-align:center;font-weight:700;box-shadow:0 0 0 2px var(--bg,#0b0b0b)}.notification-badge.loading{opacity:.8}.notifications-panel{position:absolute;top:calc(100% + 8px);right:0;width:480px;max-width:90vw;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;z-index:1000;border:1px solid #535353;background:var(--card-background)}.notifications-panel .panel-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color,#333)}.notifications-panel .panel-header .title{font-weight:700}.notifications-panel .panel-header .spacer{flex:1 1}.notifications-panel .panel-header .unread-count{background:#e02424;color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.notifications-panel .panel-header .btn.btn-text{font-size:12px}.notifications-panel .panel-header .btn.btn-text.danger{color:#e02424}.notifications-panel .panel-header .btn.btn-icon.close{margin-left:4px;border:none;background:transparent;cursor:pointer}.notifications-panel .panel-error,.notifications-panel .panel-loading{padding:16px}.notifications-list{list-style:none;margin:0;padding:0;overflow:auto}.notification-item{display:flex;align-items:stretch;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color,#333)}.notification-item.unread{background:rgba(224,36,36,.08)}.notification-item.read{opacity:.6}.notification-item .item-main{display:flex;flex:1 1;align-items:center;gap:10px;text-align:left;background:transparent;border:none;cursor:pointer;max-width:288px}.mark-as-read-unread svg{height:1.5rem;width:auto}.notification-item .item-icon{font-size:18px}.notification-item .item-content{display:flex;flex-direction:column;gap:4px}.notification-item .item-title{font-weight:700;font-size:14px}.notification-item .item-message{font-size:13px;opacity:.9}.notification-item .item-time{font-size:12px;opacity:.7}.notification-item .item-actions{display:flex;align-items:center;gap:8px}.notification-item .item-actions .btn.btn-text{background:transparent;border:none;cursor:pointer;font-size:12px}.notification-item .item-actions .btn.btn-text.danger{color:#e02424}.notification-empty{padding:16px;text-align:center;opacity:.8}@media (max-width:480px){.notifications-panel{right:50%;transform:translateX(50%);width:95vw;max-width:95vw}}.theme-toggle-container{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--card-background);color:var(--foreground);border:1px solid var(--border-color);border-radius:999px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .1s ease}.theme-toggle:hover{background:var(--hover-background)}.theme-toggle:active{transform:scale(.98)}.theme-icon{font-size:1rem;line-height:1}.theme-label{font-size:.85rem;font-weight:600}.theme-reset{padding:.4rem .6rem;background:transparent;border:1px solid var(--border-color);border-radius:999px;cursor:pointer;font-size:.75rem;color:var(--gray-medium)}.theme-reset:hover{background:var(--hover-background);color:var(--foreground)}.navigation{background:var(--card-background);border-bottom:1px solid var(--border-color);position:fixed;width:-webkit-fill-available;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;min-height:70px}.nav-logo{display:flex;flex-direction:column;text-decoration:none;color:var(--primary-green);padding-right:30px}.logo-text{font-size:1.5rem;font-weight:700;line-height:1}.logo-tagline{font-size:.75rem;color:var(--gray-medium);font-style:italic}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.nav-toggle span{width:25px;height:3px;background:var(--foreground);transition:all .3s ease;border-radius:2px;transform-origin:center}.nav-toggle.active span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-menu{gap:2rem}.nav-links,.nav-menu{display:flex;align-items:center}.nav-links{gap:1.5rem;white-space:nowrap}.nav-link{color:var(--foreground);text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 0;position:relative;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.nav-link:focus{outline:none}.nav-link:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px;border-radius:6px}.nav-link:hover{color:var(--text-standout-green)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--text-standout-green);transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-auth{display:flex;align-items:center;gap:1rem}.user-menu{gap:.5rem}.user-info,.user-menu{display:flex;flex-direction:column;align-items:flex-end}.user-info{font-size:.875rem}.user-email{font-weight:500}.user-tier{color:var(--primary-green);font-size:.75rem;font-weight:600}.auth-buttons,.user-actions{display:flex;align-items:center;gap:1rem}@media (max-width:768px){.nav-toggle{display:flex}.nav-menu{position:fixed;top:70px;left:0;right:0;background:var(--card-background);border-bottom:1px solid var(--border-color);flex-direction:column;padding:2rem 1rem;gap:2rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}.nav-links{flex-direction:column;gap:0;width:100%}.nav-link{padding:1rem 0;text-align:center;width:100%;border-bottom:1px solid var(--border-color)}.nav-link:last-child{border-bottom:none}.user-menu{align-items:center;width:100%}.user-info{align-items:center;text-align:center}.user-actions{flex-direction:column;width:100%;gap:.5rem}.user-actions .nav-link{border-bottom:none;padding:.5rem 0}.auth-buttons{flex-direction:row;width:100%;gap:.5rem}.auth-buttons .btn{width:100%;justify-content:center}}.dropdown.nav-item{position:relative}.dropdown.nav-item:after{content:"";position:absolute;left:0;top:100%;width:100%;height:8px}.dropdown-toggle{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;background:transparent;border:none;padding:.5rem 0;color:var(--foreground);font-weight:500;font-size:1rem;-webkit-tap-highlight-color:transparent}.dropdown-toggle:focus{outline:none}.dropdown-toggle:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px;border-radius:6px}.dropdown-caret{margin-left:.25rem;transition:transform .2s ease}.dropdown.open .dropdown-caret{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;z-index:101;padding:.5rem}.dropdown.open>.dropdown-menu{display:block}.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border-radius:8px;color:var(--foreground);text-decoration:none;font-size:1rem;-webkit-tap-highlight-color:transparent}.dropdown-item-label{flex:1 1 auto;min-width:0}.dropdown-item-count{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.05rem .4rem;border-radius:999px;background:rgba(69,148,93,.14);color:var(--primary-green);font-size:.75rem;font-weight:600;line-height:1.4;text-align:center;transition:background .2s ease,color .2s ease}.dropdown-item:focus-visible,.dropdown-item:hover{background:var(--hover-background);color:var(--text-standout-green);outline:none}.dropdown-item:focus-visible .dropdown-item-count,.dropdown-item:hover .dropdown-item-count{background:var(--primary-green);color:var(--cream)}@media (max-width:768px){.dropdown.nav-item{width:100%}.dropdown.nav-item:after{display:none}.dropdown-toggle{width:100%;justify-content:space-between;border-bottom:1px solid var(--border-color);padding:1rem 0;min-height:44px}.dropdown-menu{position:static;display:none;box-shadow:none;border:1px solid var(--border-color);margin-top:.5rem;padding:.125rem}.dropdown-item{padding:.45rem .75rem;min-height:34px}.dropdown-item+.dropdown-item{margin-top:2px}.dropdown.open>.dropdown-menu{display:block}}.footer{background:var(--primary-green);color:var(--white);padding:3rem 0 1rem;margin-top:auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{color:var(--light-green);margin-bottom:1rem;font-weight:600}.footer-logo h3{font-size:1.5rem;margin-bottom:.25rem}.footer-logo p{font-style:italic;color:var(--light-green);font-size:.875rem;margin-bottom:1rem}.footer-description{line-height:1.6;opacity:.9;font-size:.875rem}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--white);text-decoration:none;opacity:.9;transition:opacity .2s ease,color .2s ease;font-size:.875rem}.footer-links a:hover{opacity:1;color:var(--light-green)}.contact-info p{margin-bottom:.25rem;opacity:.9}.contact-info p,.hours-info{font-size:.875rem}.hours-day{display:flex;justify-content:space-between;margin-bottom:.5rem;opacity:.9}.hours-day span:first-child{font-weight:500}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:2rem;text-align:center}.footer-disclaimer{background:rgba(0,0,0,.2);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.footer-disclaimer p{font-size:.875rem;line-height:1.5;margin:0;color:var(--light-green)}.footer-disclaimer strong{color:var(--white)}.footer-copyright{opacity:.8}.footer-copyright p{margin-bottom:.25rem;font-size:.875rem}.footer-copyright p:last-child{font-size:.75rem;font-style:italic}@media (max-width:768px){.footer{padding:2rem 0 1rem}.footer-content{grid-template-columns:repeat(2,1fr);gap:1.5rem}.footer-section:first-child{grid-column:1/-1;text-align:center}.hours-day{flex-direction:column;gap:.25rem}.contact-info,.hours-day{text-align:center}}@media (max-width:480px){.footer-content{grid-template-columns:1fr;text-align:center}.footer-section{margin-bottom:1rem}.hours-day{justify-content:center;gap:.5rem}.footer-disclaimer{padding:.75rem}.footer-disclaimer p{font-size:.8rem}}