@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;color:#1f2937;background-color:#f9fafb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0))}a{color:#ef4444;text-decoration:none;transition:color .2s}a:hover{color:#dc2626}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s}input,textarea,select{font-family:inherit;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0 1.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;border-radius:8px;transition:all .2s;cursor:pointer;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#ef4444;color:#fff}.btn-primary:hover:not(:disabled){background-color:#dc2626}.btn-secondary{background-color:#6366f1;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4f46e5}.btn-outline{background-color:transparent;border:2px solid #ef4444;color:#ef4444}.btn-outline:hover:not(:disabled){background-color:#ef4444;color:#fff}.btn-ghost{background-color:transparent;color:#1f2937}.btn-ghost:hover:not(:disabled){background-color:#f9fafb}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1f2937}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#ef4444}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#f9fafb;cursor:not-allowed}.card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem;margin-bottom:1.5rem}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.card-title{font-size:1.25rem;font-weight:600;color:#1f2937}.card-body{color:#6b7280}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:500px;width:90%;max-height:90vh;max-height:90dvh;max-height:calc(90vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));max-height:calc(90dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));overflow-y:auto;padding:2rem}.text-primary{color:#ef4444}.text-secondary{color:#6b7280}.leaflet-container{font-family:Poppins,Inter,sans-serif;border-radius:12px}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.leaflet-popup-content{margin:1rem;font-size:.875rem;color:#4a4a48;line-height:1.5}.leaflet-popup-content strong{font-family:Poppins,Inter,sans-serif;color:#4a4a48;font-weight:600}.leaflet-popup-tip{background:#fff}.leaflet-control-zoom{border:none;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:12px}.leaflet-control-zoom a{background-color:#fff;color:#4a4a48;border:none;border-radius:12px;transition:all .2s}.leaflet-control-zoom a:hover{background-color:#e46a4e;color:#4a4a48}.inwoof-marker,.inwoof-user-marker{background:transparent!important;border:none!important}*{touch-action:manipulation}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}ul,ol{-webkit-padding-start:0;padding-inline-start:0}a{-webkit-tap-highlight-color:rgba(255,215,0,.2);touch-action:manipulation;min-height:44px;display:inline-flex;align-items:center}img{max-width:100%;height:auto;transform:translateZ(0);will-change:transform}.modal-overlay{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@media(max-width:768px){.modal-overlay{padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}}@media(max-width:768px){.modal-content{max-width:calc(100vw - 2rem - env(safe-area-inset-left,0) - env(safe-area-inset-right,0));max-height:calc(100vh - 2rem - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));margin:0;border-radius:16px}}@media(max-width:768px){[data-tooltip]:before,[data-tooltip]:after{display:none}}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}@media(max-width:768px){select{font-size:16px!important;padding:1rem;min-height:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:calc(2rem + 12px);-webkit-appearance:none;appearance:none}}@media(max-width:768px){input[type=checkbox],input[type=radio]{width:24px;height:24px;min-width:24px;min-height:24px;cursor:pointer;-webkit-tap-highlight-color:transparent}}@media(max-width:768px){form .form-actions{display:flex;flex-direction:column;gap:1rem}form .form-actions .btn{width:100%;min-height:56px}}@media(max-width:768px){.card{border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:1rem}}@media(max-width:768px){.grid{grid-template-columns:1fr!important;gap:1rem}}@media(max-width:768px){.container{padding-left:1rem;padding-right:1rem}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.125rem;line-height:1.4}}@media(max-width:768px){.page-transition{animation:fadeIn .2s ease-out}}@keyframes fadeIn{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@media(max-width:768px){.virtualized-list{transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.badge,.notification{min-height:32px;padding:.25rem .5rem;font-size:.875rem;border-radius:12px}}@media(max-width:768px){.dropdown{position:fixed;bottom:0;left:0;right:0;max-height:50vh;border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #00000026;animation:none!important;transition:transform .1s ease-out,opacity .1s ease-out}}@keyframes slideUp{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@media(max-width:768px){.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs .tab{min-width:fit-content;white-space:nowrap}}@media(max-width:768px){.carousel{touch-action:pan-x;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.carousel .carousel-item{scroll-snap-align:start}}@media(max-width:768px){.swipeable{touch-action:pan-y;user-select:none;-webkit-user-select:none}}@media(max-width:768px){.scroll-container{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position}}@media(max-width:768px){body{font-size:1rem;line-height:1.6}p{margin-bottom:1rem}section{margin-bottom:2rem}}@media(max-width:1024px){*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:.1s!important;transition-delay:0s!important}.expensive-animation,.fadeIn,.fadeInUp,.slideUp,.slideDown{animation:none!important}button,a,.btn{transition:opacity .1s ease,transform .1s ease!important}*:hover{animation:none!important}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.1s!important}*:hover{transform:none!important;box-shadow:none!important}}@media(max-width:768px){button,a,input[type=button],input[type=submit],.clickable{min-height:44px;min-width:44px;padding:.5rem 1rem}}@media(max-width:768px){.lazy-image{transform:translateZ(0);will-change:opacity}}@media(max-width:768px){.multi-step-form .step-indicator{font-size:.875rem;padding:.25rem}.multi-step-form .step-content{padding:1rem}}@media(max-width:768px){.selection-list .selection-item{min-height:56px;padding:1rem;border-radius:12px;margin-bottom:.5rem}}@media(max-width:768px){.feedback-success,.feedback-error,.feedback-info{padding:1rem;border-radius:16px;font-size:1rem;min-height:48px;display:flex;align-items:center;gap:.5rem}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.container,.main{padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.topbar{padding-top:calc(env(safe-area-inset-top,0) + .5rem);padding-left:calc(env(safe-area-inset-left,0) + 1rem);padding-right:calc(env(safe-area-inset-right,0) + 1rem)}.bottom-nav{padding-bottom:calc(env(safe-area-inset-bottom,0) + .5rem);padding-left:calc(env(safe-area-inset-left,0) + .5rem);padding-right:calc(env(safe-area-inset-right,0) + .5rem)}}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:1.5rem}.btn{min-height:52px;padding:1rem 2rem;font-size:1.125rem}.card,.pet-card,.activity-card,.like-card{padding:2rem;margin-bottom:1.5rem}body{font-size:1.125rem;line-height:1.7}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media(max-width:768px){.container{padding:1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0))}button,.btn,a.clickable{min-height:48px;min-width:48px;padding:1rem 1.5rem}.card,.pet-card,.activity-card,.like-card{padding:1rem;margin-bottom:1rem;border-radius:12px}body{font-size:1rem;line-height:1.6}h1{font-size:1.5rem;line-height:1.2;margin-bottom:1rem}h2{font-size:1.25rem;line-height:1.3;margin-bottom:1rem}h3{font-size:1.125rem;line-height:1.4;margin-bottom:.5rem}.grid{grid-template-columns:1fr!important;gap:1rem}ul,ol{padding-left:1.5rem}img{max-width:100%;height:auto;border-radius:12px}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.1s!important;transition-delay:0s!important}*:hover{transform:none!important;box-shadow:none!important;filter:none!important}button,.btn,a{transition:opacity .1s ease!important}}@media(max-width:1024px){.fadeIn,.fadeInUp,.slideUp,.slideDown{animation:none!important}*{transition-duration:.1s!important}*:hover{animation:none!important}}@media(max-width:1024px){*,*:before,*:after{transition-property:transform,opacity!important;transition-duration:.1s!important;transition-timing-function:ease-out!important}@keyframes fadeIn,@keyframes fadeInUp,@keyframes slideUp,@keyframes slideDown,@keyframes pulse,@keyframes spin,@keyframes ripple{from {opacity: 0; transform: translate3d(0,0,0);} to {opacity: 1; transform: translate3d(0,0,0);}}}@keyframes fadeInOptimized{0%{opacity:0;transform:translateZ(0)}to{opacity:1;transform:translateZ(0)}}@keyframes slideUpOptimized{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.animated,.transitioning{transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}.scroll-container,.scrollable{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position}.layout-stable{contain:layout style paint}img,.lazy-image{transform:translateZ(0);will-change:opacity;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}button,.btn,a,.clickable{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform:translateZ(0);transition:transform .1s ease-out,opacity .1s ease-out}button:active,.btn:active,a:active,.clickable:active{transform:scale3d(.98,.98,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card,.list-item{transform:translateZ(0);will-change:transform;transition:transform .1s ease-out}.modal-overlay,.modal-content{transform:translateZ(0);will-change:opacity,transform;transition:opacity .15s ease-out}.skeleton-shimmer{animation:shimmer 1.5s infinite;will-change:background-position}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animated{animation-fill-mode:both}.animated.animation-complete{will-change:auto}.page-transition{transform:translateZ(0);will-change:opacity,transform}.hidden,[hidden],.display-none{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}form,.form-group{contain:layout style}.grid,.flex{contain:layout}@media(max-width:768px){*,*:before,*:after{animation:none!important;transition-duration:.05s!important;transition-delay:0s!important}button,.btn,a{transition:opacity .05s ease-out,transform .05s ease-out!important}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.05s!important}}@media(max-width:768px){h1{font-size:1.5rem!important;line-height:1.2!important}h2{font-size:1.25rem!important;line-height:1.3!important}h3{font-size:1.125rem!important;line-height:1.4!important}.container{padding-left:1rem!important;padding-right:1rem!important}}@media(max-width:768px){.card,.section,section{margin-bottom:1rem!important;padding:1rem!important}.btn{padding:.625rem 1rem!important;font-size:.875rem!important;min-height:44px!important}.btn-primary,.btn-secondary{font-size:.875rem!important}}@media(max-width:768px){.modal-content{max-width:calc(100vw - 2rem)!important;max-height:calc(50vh - 2rem)!important;padding:2rem!important;margin:1rem!important}}@media(max-width:768px){.card{border-radius:.75rem!important;padding:1rem!important}.card-title{font-size:1.125rem!important}}@media(max-width:768px){input,textarea,select{font-size:16px!important;padding:.75rem!important;min-height:44px!important}}@media(max-width:768px){ul,ol{padding-left:1.25rem!important}li{margin-bottom:.5rem!important}}@media(max-width:768px){table{font-size:.875rem!important}th,td{padding:.5rem!important}}@media(max-width:768px){.badge,.tag{font-size:.75rem!important;padding:.25rem .5rem!important}}@media(max-width:768px){.icon{font-size:1.25rem!important}.icon-large{font-size:1.5rem!important}}@media(max-width:768px){.section+.section,section+section{margin-top:1.5rem!important}}@media(max-width:768px){.grid{grid-template-columns:1fr!important;gap:1rem!important}.grid-2,.grid-3{grid-template-columns:1fr!important}.match-card,.like-card,.activity-card{width:100%!important;min-width:0!important}.matches-grid,.likes-grid,.activities-grid{grid-template-columns:1fr!important}}@media(max-width:768px){[data-tooltip]:before,[data-tooltip]:after{display:none!important}}@media(max-width:768px){.dropdown{font-size:.875rem!important}.dropdown-item{padding:.75rem 1rem!important;min-height:44px!important}}@media(max-width:768px){.tabs{font-size:.875rem!important}.tab{padding:.75rem 1rem!important;min-height:44px!important}}@media(max-width:768px){.form-group{margin-bottom:1rem!important}.form-label{font-size:.875rem!important;margin-bottom:.5rem!important}}@media(max-width:768px){.btn-group{flex-direction:column!important;width:100%!important}.btn-group .btn{width:100%!important;margin-bottom:.5rem!important}}@media(max-width:768px){.alert,.notification{padding:.75rem 1rem!important;font-size:.875rem!important;border-radius:.5rem!important}}@media(max-width:768px){.pagination{font-size:.875rem!important;gap:.25rem!important}.pagination .page-link{padding:.5rem .75rem!important;min-width:44px!important;min-height:44px!important}}@media(max-width:768px){img{max-width:100%!important}}@media(max-width:768px){video{max-width:100%!important;height:auto!important}}@media(max-width:768px){iframe{max-width:100%!important;height:auto!important}}button,.btn,.clickable{transition:transform .1s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.97);transition-duration:.05s}button.processing,button.pending,button[aria-busy=true],.btn.processing,.btn.pending,.btn[aria-busy=true],.clickable.processing,.clickable.pending,.clickable[aria-busy=true]{position:relative;opacity:.8;cursor:wait}button.processing:before,button.pending:before,button[aria-busy=true]:before,.btn.processing:before,.btn.pending:before,.btn[aria-busy=true]:before,.clickable.processing:before,.clickable.pending:before,.clickable[aria-busy=true]:before{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@keyframes success-pulse{0%{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05);box-shadow:0 0 0 8px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}.btn-success,.success-feedback{animation:success-pulse .4s ease-out}@keyframes error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.btn-error,.error-feedback{animation:error-shake .3s ease-out;border-color:#ef4444!important;background-color:#ef44441a!important}.optimistic-update{opacity:.7;position:relative}.optimistic-update:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);animation:progress-sweep 1s ease-in-out infinite}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-state{position:relative;overflow:hidden}.loading-state:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.spinner-instant{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@media(min-width:768px)and (hover:hover){button:hover:not(:disabled):not(.processing),.btn:hover:not(:disabled):not(.processing),.clickable:hover:not(:disabled):not(.processing){transform:translateY(-2px);transition:transform .1s cubic-bezier(.4,0,.2,1)}}button:disabled,.btn:disabled,.clickable:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button:disabled:before,button:disabled:after,.btn:disabled:before,.btn:disabled:after,.clickable:disabled:before,.clickable:disabled:after{display:none}@keyframes like-heart{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}to{transform:scale(1)}}.btn-like.liked,.btn-like.success{animation:like-heart .4s ease-out}.btn-like.liked .like-icon,.btn-like.success .like-icon{color:#ef4444}.btn-like.pending{opacity:.7;cursor:wait}.walk-action{transition:all .1s cubic-bezier(.4,0,.2,1)}.walk-action.starting{animation:pulse-walk-start .5s ease-out}.walk-action.ending{animation:pulse-walk-end .5s ease-out}@keyframes pulse-walk-start{0%{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05);box-shadow:0 0 0 12px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}@keyframes pulse-walk-end{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}50%{transform:scale(1.05);box-shadow:0 0 0 12px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.message-sent{animation:message-slide-in .2s ease-out}@keyframes message-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes match-celebration{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(1.3) rotate(5deg)}75%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.match-notification{animation:match-celebration .6s ease-out}@media(max-width:767px){button,.btn,.clickable{transition:transform .08s ease-out,opacity .08s ease-out}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.95);transition-duration:.03s}}button,.btn,a,input[type=button],input[type=submit],.clickable,[role=button]{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}@media(min-width:768px){button,.btn,a,input[type=button],input[type=submit],.clickable,[role=button]{min-height:auto;min-width:auto}}input::placeholder,textarea::placeholder,select::placeholder{color:#a6a6a3;opacity:.7;font-style:italic}input:required:after,textarea:required:after,select:required:after{content:" *";color:#ef4444}label{display:block;font-weight:500;color:#4a4a48;margin-bottom:.25rem;font-size:.875rem}label.required:after{content:" *";color:#ef4444;margin-left:2px}.form-hint{font-size:.75rem;color:#7a7a78;margin-top:.25rem;display:block;line-height:1.4}.form-hint.error{color:#ef4444}.form-hint.success{color:#10b981}button,.btn{position:relative;transition:transform .1s ease-out,opacity .1s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.97)}button.pending,button[aria-busy=true],.btn.pending,.btn[aria-busy=true]{opacity:.7;cursor:wait;pointer-events:none}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@media(min-width:768px)and (hover:hover){button:not(:disabled):not(.processing):hover,.btn:not(:disabled):not(.processing):hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .2s ease-out}.animate-slide-up{animation:slide-up .2s ease-out}.animate-slide-down{animation:slide-down .2s ease-out}.animate-scale-in{animation:scale-in .2s ease-out}.like-action{transition:transform .1s ease-out}.like-action.liked{animation:like-pulse .4s ease-out}.like-action.liked .like-icon{color:#ef4444;transform:scale(1.2)}@keyframes like-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.pass-action{transition:transform .2s ease-out,opacity .2s ease-out}.pass-action.passed{opacity:.5;transform:translate(-100%)}.activity-participation{transition:all .2s ease-out}.activity-participation.participating{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:#10b981;animation:participation-confirm .4s ease-out}@keyframes participation-confirm{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.active-pet-change{animation:pet-change-badge .5s ease-out}@keyframes pet-change-badge{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}*{box-sizing:border-box}img{max-width:100%;height:auto;display:block}.scrollable-list{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(166,166,163,.5) transparent}.scrollable-list::-webkit-scrollbar{width:6px}.scrollable-list::-webkit-scrollbar-track{background:transparent}.scrollable-list::-webkit-scrollbar-thumb{background:#a6a6a380;border-radius:3px}.scrollable-list::-webkit-scrollbar-thumb:hover{background:#a6a6a3b3}.page-container{padding:1rem}@media(max-width:768px){.page-container{padding:.5rem}}.component-wrapper{will-change:transform,opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.state-transition{transition:opacity .2s ease-out,transform .2s ease-out}.loading-placeholder{min-height:200px;display:flex;align-items:center;justify-content:center;opacity:.6}.feedback-message{padding:.5rem 1rem;border-radius:12px;font-size:.875rem;line-height:1.5;margin-bottom:.5rem;animation:slide-up .2s ease-out}.feedback-message.success{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.2);color:#4a4a48}.feedback-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.feedback-message.info{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#3b82f6}.feedback-message.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#f59e0b}button,.btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:not([class*=btn-]),.btn:not([class*=btn-]){background:#e46a4e;color:#fff;border:none;border-radius:12px;padding:.5rem 1rem;font-weight:500;font-size:1rem}button:not([class*=btn-]):hover:not(:disabled),.btn:not([class*=btn-]):hover:not(:disabled){background:#d35b42}.card{background:#fff;border:1px solid #ECEBE8;border-radius:12px;box-shadow:0 1px 2px #0000000d;padding:1rem;transition:box-shadow .2s ease-out,transform .2s ease-out}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}input,textarea,select{border:1px solid #ECEBE8;border-radius:6px;padding:.5rem 1rem;font-size:1rem;transition:border-color .2s ease-out,box-shadow .2s ease-out}input:focus,textarea:focus,select:focus{outline:none;border-color:#e46a4e;box-shadow:0 0 0 3px #e46a4e1a}input:invalid,textarea:invalid,select:invalid{border-color:#ef4444}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}}@media(max-width:768px){button,.btn,.clickable{transition:transform .08s ease-out,opacity .08s ease-out}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.95);transition-duration:.03s}}.component-wrapper,.page-wrapper{will-change:transform,opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased;transform:translateZ(0)}.loading-state{min-height:200px;display:flex;align-items:center;justify-content:center}.loading-state:before{content:"";position:absolute;inset:0;background:inherit;opacity:.8;z-index:-1}.state-transition{transition:opacity .2s ease-out,transform .2s ease-out;will-change:transform,opacity;backface-visibility:hidden}.data-transition{transition:opacity .3s ease-out}.data-transition.updating{opacity:.7;pointer-events:none}@keyframes fade-in-smooth{0%{opacity:0}to{opacity:1}}.page-load{animation:fade-in-smooth .3s ease-out}.page-transition-wrapper{position:relative}.page-transition-wrapper .page-content{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity .3s ease-out}.page-transition-wrapper .page-content.active{position:relative;opacity:1}.active-pet-transition{transition:opacity .2s ease-out,transform .2s ease-out}.active-pet-transition.changing{opacity:.5;transform:scale(.95)}.active-pet-transition.new{animation:pet-badge-appear .3s ease-out}@keyframes pet-badge-appear{0%{opacity:0;transform:scale(.9) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}img,.lazy-image{background:#fafaf9;opacity:0;transition:opacity .3s ease-out}img.loaded,.lazy-image.loaded{opacity:1}img:before,.lazy-image:before{content:"";display:block;position:absolute;inset:0;background:#fafaf9;opacity:1;transition:opacity .3s ease-out;z-index:1}img.loaded:before,.lazy-image.loaded:before{opacity:0;pointer-events:none}.list-transition{min-height:200px}.list-transition .list-item{opacity:0;transform:translateY(8px);animation:list-item-appear .2s ease-out forwards}@keyframes list-item-appear{to{opacity:1;transform:translateY(0)}}.modal-overlay{opacity:0;transition:opacity .2s ease-out}.modal-overlay.active{opacity:1}.modal-content{opacity:0;transform:scale(.95) translateY(-8px);transition:opacity .3s ease-out,transform .3s ease-out}.modal-content.active{opacity:1;transform:scale(1) translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}.page-load,.page-transition-wrapper,.active-pet-transition,.list-transition,.modal-overlay,.modal-content{animation:none!important;transition:opacity .1s ease-out!important}}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif!important}body{font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#4a4a48;background:linear-gradient(180deg,#fff,#fafaf9);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);animation:fadeInBody .6s ease-out}img,picture,video,canvas{max-width:100%;height:auto;display:block}@keyframes fadeInBody{0%{opacity:0;background-position:0% 50%}to{opacity:1;background-position:100% 50%}}h1,h2,h3,h4,h5,h6,.btn-primary,.btn-secondary,.card-title{font-family:Poppins,Inter,system-ui,sans-serif;font-weight:600}#root{min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}a{color:#e46a4e;text-decoration:none;transition:color .2s .15s cubic-bezier(.4,0,.2,1),text-decoration .2s .15s cubic-bezier(.4,0,.2,1);cursor:pointer}a:hover{color:#d35b42;text-decoration:underline}a:focus-visible{outline:2px solid rgba(228,106,78,.5);outline-offset:2px;border-radius:2px}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s .15s cubic-bezier(.4,0,.2,1)}button:focus-visible{outline:3px solid rgba(228,106,78,.5);outline-offset:2px;border-radius:12px}button:disabled{cursor:not-allowed;opacity:.6}.back-link,button.back-link,.btn.back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#e46a4e1a,#f4a6a01a);border:1px solid rgba(228,106,78,.2);border-radius:16px;color:#e46a4e;text-decoration:none;font-weight:600;font-size:1rem;cursor:pointer;transition:all .1s ease;box-shadow:0 2px 4px #0000000d;position:relative;overflow:hidden}@media(max-width:768px){.back-link,button.back-link,.btn.back-link{padding:.25rem .5rem;font-size:.875rem;gap:.25rem}}@media(min-width:1024px){.back-link:hover,button.back-link:hover,.btn.back-link:hover{background:linear-gradient(135deg,#e46a4e26,#f4a6a026);border-color:#e46a4e;transform:translate(-4px) translateY(-1px);box-shadow:0 4px 8px #e46a4e33;color:#d35b42}.back-link:active,button.back-link:active,.btn.back-link:active{transform:translate(-2px) translateY(0);box-shadow:0 2px 4px #e46a4e26}}.back-link:before,button.back-link:before,.btn.back-link:before{content:"←";font-size:1.2em;font-weight:700;display:inline-block;transition:transform .1s ease}@media(min-width:1024px){.back-link:hover:before,button.back-link:hover:before,.btn.back-link:hover:before{transform:translate(-2px)}}@media(max-width:1024px){.back-link,button.back-link,.btn.back-link{transition:opacity .05s ease!important}.back-link:hover,button.back-link:hover,.btn.back-link:hover{transform:none}}input,textarea,select{font-family:inherit;outline:none;font-size:16px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .2s .15s cubic-bezier(.4,0,.2,1),box-shadow .2s .15s cubic-bezier(.4,0,.2,1),background-color .2s .15s cubic-bezier(.4,0,.2,1)}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#4A4A48!important}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;border-color:#e46a4e;box-shadow:0 0 0 3px #e46a4e1a,0 1px 2px #0000000d;background-color:#fffffffa}input:focus,textarea:focus,select:focus{-webkit-tap-highlight-color:rgba(255,215,0,.2)}@media screen and (max-width:768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],textarea,select{font-size:16px!important}}.container{max-width:1200px;margin:0 auto;padding:0 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0))}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:0 1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0));padding-right:calc(1.5rem + env(safe-area-inset-right,0))}}@media(min-width:768px){.container{padding:0 1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0));padding-right:calc(1.5rem + env(safe-area-inset-right,0))}}@media(display-mode:standalone){.container{padding-left:calc(1rem + env(safe-area-inset-left,0) + 4px);padding-right:calc(1rem + env(safe-area-inset-right,0) + 4px)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;border-radius:12px;transition:transform .2s .15s cubic-bezier(.4,0,.2,1),opacity .2s .15s cubic-bezier(.4,0,.2,1),background-color .2s .15s cubic-bezier(.4,0,.2,1),box-shadow .2s .15s cubic-bezier(.4,0,.2,1),border-color .2s .15s cubic-bezier(.4,0,.2,1)}@media(max-width:1024px){.btn{transition:opacity .1s ease!important}}.btn{cursor:pointer;border:none;min-height:48px;min-width:48px;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transform:translateZ(0);will-change:transform}.btn:focus-visible{outline:3px solid rgba(228,106,78,.5);outline-offset:2px;box-shadow:0 0 0 1px #e46a4e33,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media(min-width:768px)and (max-width:1024px){.btn{padding:1rem 2rem;font-size:1.125rem;min-height:48px}}@media(max-width:768px){.btn{min-height:48px;padding:1rem 1.5rem;font-size:1rem;margin-bottom:.5rem}}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn:active:not(:disabled):before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;border-radius:16px;font-weight:700;transition:all .3s .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 8px 24px #e46a4e40;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s .3s cubic-bezier(.4,0,.2,1);pointer-events:none}@media(min-width:1024px)and (hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #e46a4e59;background:linear-gradient(135deg,#d35b42,#e9908a)}.btn-primary:hover:not(:disabled):after{opacity:1}}.btn-primary:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:3px;box-shadow:0 12px 32px #e46a4e59,0 0 0 4px #e46a4e4d}.btn-primary:active:not(:disabled){transform:translateY(-2px) scale(.98);box-shadow:0 4px 12px #e46a4e33}.btn-secondary{background-color:#f4a6a0;color:#fff;transition:background-color .2s .15s cubic-bezier(.4,0,.2,1),transform .2s .15s cubic-bezier(.4,0,.2,1),box-shadow .2s .15s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover:not(:disabled){background-color:#e9908a;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-secondary:focus-visible{outline:3px solid rgba(244,166,160,.5);outline-offset:2px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 2px #f4a6a033}.btn-outline{background-color:transparent;border:2px solid #F4A6A0;color:#f4a6a0;border-radius:12px;font-weight:500;transition:all .2s .15s cubic-bezier(.4,0,.2,1)}.btn-outline:hover:not(:disabled){background-color:#f4a6a0;color:#fff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-outline:focus-visible{outline:3px solid rgba(244,166,160,.5);outline-offset:2px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 2px #f4a6a033}.btn-ghost{background-color:transparent;color:#4a4a48;transition:background-color .2s .15s cubic-bezier(.4,0,.2,1),color .2s .15s cubic-bezier(.4,0,.2,1)}.btn-ghost:hover:not(:disabled){background-color:#fafaf9;color:#e46a4e}.btn-ghost:focus-visible{outline:2px solid rgba(228,106,78,.4);outline-offset:2px;background-color:#e46a4e0d}.btn-sm{padding:.25rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#4a4a48;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;transition:color .3s cubic-bezier(.4,0,.2,1)}.form-group label .form-hint{display:block;margin-top:.25rem;font-size:.75rem;color:#7a7a78;text-transform:none;letter-spacing:0;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:1rem 1.5rem;border:2px solid #ECEBE8;border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:48px;background:#fff;box-shadow:0 1px 2px #0000000d}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#e46a4e;outline:none;box-shadow:0 0 0 3px #ffd7001a,0 1px 2px #0000000d;background:linear-gradient(135deg,#fff,#ffd70005)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#a6a6a3;opacity:.6;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder,.form-group select:focus::placeholder{opacity:.4}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#fafaf9;cursor:not-allowed;opacity:.6;border-color:#ecebe8}.form-group.floating-label label{position:absolute;top:1rem;left:1.5rem;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;padding:0 .25rem}.form-group.floating-label input:focus+label,.form-group.floating-label input:not(:placeholder-shown)+label{top:-.5rem;font-size:.75rem;color:#e46a4e}.form-group textarea{resize:vertical;min-height:100px}.form-group .error{margin-top:.25rem;color:#ef4444;font-size:.875rem}.form-group:has(input[required],select[required],textarea[required]) label:after{content:" *";color:#ef4444;font-weight:700}.form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:#7a7a78;text-transform:none;letter-spacing:0}.card{background-color:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:1.5rem;margin-bottom:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,215,0,.1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#e46a4e,#f4a6a0);transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#ffd7004d}.card:hover:before{transform:scaleX(1)}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #ECEBE8}.card-title{font-size:1.25rem;font-weight:600;color:#4a4a48;background:linear-gradient(135deg,#e46a4e,#f4a6a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-body{color:#7a7a78}.modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.text-center{text-align:center}.text-primary{color:#e46a4e}.text-secondary{color:#7a7a78}.text-error{color:#ef4444}.text-success{color:#10b981}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-gap-1{gap:.5rem}.flex-gap-2{gap:1rem}.flex-gap-3{gap:1.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:0 1.5rem}.card{padding:1rem}.btn{padding:.5rem 1rem;font-size:.875rem}}img{image-orientation:from-image;object-fit:cover;object-position:center}.lazy-image-container img,.avatar img,.pet-avatar img,.profile-picture img,.participant-avatar img,.owner-avatar img{image-orientation:from-image;object-fit:cover;object-position:center;width:100%;height:100%}.feedback-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in-out}.feedback-modal-content{background-color:#fff;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative;animation:slideUp .3s ease-out}.feedback-modal-content h2{font-family:"Baloo 2",sans-serif;font-size:1.5rem;color:#4a4a48;margin-bottom:.5rem}.feedback-modal-content .feedback-modal-subtitle{color:#7a7a78;margin-bottom:1.5rem;font-size:.875rem}.feedback-modal-content .feedback-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;color:#a6a6a3;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.feedback-modal-content .feedback-modal-close:hover{background-color:#fafaf9;color:#4a4a48}.feedback-form .form-group{margin-bottom:1.5rem}.feedback-form .form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:#4a4a48;font-size:.875rem}.feedback-form .form-group input,.feedback-form .form-group select,.feedback-form .form-group textarea{width:100%;padding:1rem;border:1px solid #ECEBE8;border-radius:12px;font-size:1rem;font-family:Nunito,sans-serif;transition:border-color .2s}.feedback-form .form-group input:focus,.feedback-form .form-group select:focus,.feedback-form .form-group textarea:focus{outline:none;border-color:#e46a4e}.feedback-form .form-group input:disabled,.feedback-form .form-group select:disabled,.feedback-form .form-group textarea:disabled{background-color:#fafaf9;cursor:not-allowed}.feedback-form .form-group textarea{resize:vertical;min-height:120px}.feedback-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-item{position:relative;transition:transform .1s ease}@media(max-width:1024px){.notification-item{transition:opacity .05s ease!important}}.notification-item.deleting{opacity:.5;transform:translate(-100px)!important}.notification-item .notification-swipe-hint{position:absolute;right:-80px;top:50%;transform:translateY(-50%);background-color:#ef4444e6;color:#fff;padding:.5rem 1rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none}@media(min-width:1024px){.notification-item .notification-swipe-hint{animation:fadeIn .1s ease-out}}@media(max-width:1024px){.notification-item .notification-swipe-hint{animation:none!important}}.notification-item .notification-close-btn{position:absolute;top:.25rem;right:.25rem;background:none;border:none;font-size:1.125rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.6;transition:opacity .2s;z-index:10}.notification-item .notification-close-btn:hover{opacity:1}.notification-item .notification-close-btn:disabled{opacity:.3;cursor:not-allowed}.notification-item .notification-delete-btn{position:absolute;top:.25rem;right:calc(.25rem + 32px);background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.6;transition:opacity .2s;z-index:10}.notification-item .notification-delete-btn:hover{opacity:1}.notification-item .notification-delete-btn:disabled{opacity:.3;cursor:not-allowed}.phase1-launch-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:10px 0;border-radius:10px;background:#ffffffd9;border:1px solid rgba(0,0,0,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.phase1-launch-banner__pill{font-weight:700;font-size:12px;padding:4px 8px;border-radius:999px;background:#3b82f61f;color:#1d4ed8;white-space:nowrap}.phase1-launch-banner__text{font-size:13px;color:#111827d9;line-height:1.2}.phase1-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}.phase1-modal{width:100%;max-width:420px;border-radius:14px;background:#fff;box-shadow:0 18px 50px #00000040;border:1px solid rgba(0,0,0,.06);overflow:hidden}.phase1-modal__header{display:flex;gap:12px;padding:16px 16px 10px;align-items:center}.phase1-modal__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#3b82f61f;color:#1d4ed8;font-size:18px}.phase1-modal__title{font-weight:800;color:#111827;font-size:16px;line-height:1.1}.phase1-modal__subtitle{margin-top:4px;font-size:12px;color:#11182799}.phase1-modal__body{padding:0 16px 16px;color:#111827e6;font-size:14px}.phase1-modal__footer{padding:12px 16px 16px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid rgba(0,0,0,.06)}.phase1-btn{appearance:none;border:none;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer}.phase1-btn--primary{background:#2563eb;color:#fff}.phase1-btn--ghost{background:#1118270f;color:#111827d9}.offline-banner{position:fixed;top:env(safe-area-inset-top,0);left:env(safe-area-inset-left,0);right:env(safe-area-inset-right,0);background:linear-gradient(135deg,#f59e0bf2,#ef4444f2);color:#fff;padding:.5rem 1rem;padding-top:calc(.5rem + env(safe-area-inset-top,0));z-index:10000;box-shadow:0 2px 8px #0003;animation:slideDown .3s ease-out}.offline-banner .offline-banner-content{display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:1200px;margin:0 auto}.offline-banner .offline-banner-content .offline-icon{font-size:1.125rem;animation:pulse 2s infinite}.offline-banner .offline-banner-content .offline-message{font-size:.875rem;font-weight:500;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.layout{display:flex;min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));background-color:#fafaf9;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.layout.has-offline-banner{padding-top:calc(40px + env(safe-area-inset-top,0))}.layout-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));gap:1rem;color:#7a7a78;padding:3rem}.layout-loading .spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(228,106,78,.1);border-top-color:#e46a4e;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.layout-loading p{margin:0;font-size:1rem;color:#7a7a78}.sidebar{width:80px;background:#fffffffa;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-right:1px solid rgba(255,107,53,.15);display:flex;flex-direction:column;justify-content:space-between;padding:1rem 0;padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0));position:sticky;top:0;height:100vh;height:100dvh;height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));box-shadow:2px 0 12px #0000000d;transition:box-shadow .3s cubic-bezier(.4,0,.2,1);z-index:50;transform:translateZ(0);will-change:box-shadow}@media(min-width:768px)and (max-width:1024px){.sidebar{width:100px;padding:1.5rem 0}}@media(max-width:768px){.sidebar{display:none}}@media(display-mode:standalone){.sidebar{padding-top:calc(1rem + env(safe-area-inset-top,0) + 4px);padding-bottom:calc(1rem + env(safe-area-inset-bottom,0) + 4px)}}.sidebar-top,.sidebar-bottom{display:flex;flex-direction:column;align-items:center;gap:1rem}.sidebar-logo{display:flex;align-items:center;justify-content:center;text-decoration:none}.sidebar-logo-image{height:28px;width:auto;display:block}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;width:100%;padding:.5rem 0;color:#7a7a78;text-decoration:none;font-size:.75rem;transition:all .3s .4s cubic-bezier(.25,.46,.45,.94);border-radius:16px;position:relative;overflow:hidden;margin:0 .25rem;cursor:pointer}.sidebar-link:focus-visible{outline:2px solid rgba(228,106,78,.6);outline-offset:2px}.sidebar-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:linear-gradient(135deg,#e46a4e,#f4a6a0);border-radius:0 4px 4px 0;transition:height .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 0 8px #ff6b3566}.sidebar-link:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.sidebar-link .icon{font-size:1.125rem;transition:transform .5s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}.sidebar-link .label{font-size:.75rem;font-weight:500;transition:color .3s cubic-bezier(.4,0,.2,1),font-weight .15s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}@media(min-width:1024px)and (hover:hover){.sidebar-link:hover:not(.active){background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);color:#e46a4e;transform:translate(4px) scale(1.02);box-shadow:0 1px 2px #0000000d}.sidebar-link:hover:not(.active):after{opacity:1}.sidebar-link:hover:not(.active) .icon{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 2px 6px rgba(255,107,53,.3))}.sidebar-link:hover:not(.active) .label{font-weight:600}}.sidebar-link.active{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;font-weight:700;box-shadow:0 8px 24px #e46a4e40}.sidebar-link.active:before{height:70%;box-shadow:0 0 12px #ff6b3599}.sidebar-link.active .icon{transform:scale(1.2);filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.sidebar-link.active .label{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.sidebar-link .unread-indicator{position:absolute;top:4px;right:8px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;padding:0 5px;border:2px solid #FFFFFF;box-shadow:0 2px 6px #ef444466;animation:pulse-badge 2s ease-in-out infinite;z-index:2}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 2px 6px #ef444466}50%{transform:scale(1.1);box-shadow:0 2px 10px #ef444499}}.sidebar-link-admin{color:#ef4444}.sidebar-link-admin:hover{background-color:#ef44441a;color:#ef4444}.sidebar-link-admin.active{background-color:#ef4444;color:#fff;font-weight:600;box-shadow:0 1px 2px #0000000d}.sidebar-logout{background:none;border:none}.sidebar-link-premium{opacity:.7;position:relative}.sidebar-link-premium .premium-badge-small{position:absolute;top:2px;right:2px;background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;font-size:8px;font-weight:700;padding:2px 4px;border-radius:4px;line-height:1;box-shadow:0 1px 3px #0003}.sidebar-link-premium:hover{opacity:1}.sidebar-premium-badge{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;margin:1rem 0;background:linear-gradient(135deg,#e46a4e1a,#f4a6a01a);border:1px solid rgba(228,106,78,.3);border-radius:12px}.sidebar-premium-badge .premium-icon{font-size:1rem}.sidebar-premium-badge .premium-label{font-size:.75rem;font-weight:700;color:#e46a4e}.topbar-premium-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,#e46a4e1a,#f4a6a01a);border:1px solid rgba(228,106,78,.3);border-radius:12px;margin-left:.5rem;text-decoration:none;cursor:pointer}.topbar-premium-badge .premium-icon{font-size:.875rem}.topbar-premium-badge .premium-label{font-size:.75rem;font-weight:700;color:#e46a4e}.topbar-premium-badge:hover{background:linear-gradient(135deg,#e46a4e2e,#f4a6a02e);border-color:#e46a4e80}.topbar-premium-cta{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);border:1px solid rgba(228,106,78,.4);color:#e46a4e;font-size:.75rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.topbar-premium-cta .premium-icon{font-size:.875rem}.topbar-premium-cta .premium-label{font-size:.75rem}.topbar-premium-cta:hover{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;border-color:#e46a4eb3}@media(max-width:640px){.topbar-premium-cta{padding:.9rem}.topbar-premium-cta .premium-label{display:none}}.layout-main{flex:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);overflow-x:hidden}@media(max-width:768px){.layout-main{padding-top:calc(56px + env(safe-area-inset-top,0))}}@media(display-mode:standalone){.layout-main{padding-top:calc(env(safe-area-inset-top,0) + 8px);padding-bottom:calc(env(safe-area-inset-bottom,0) + 8px)}}.topbar{background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,107,53,.15);box-shadow:0 2px 12px #00000014;position:sticky;top:env(safe-area-inset-top,0);z-index:100;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);transform:translateZ(0);will-change:box-shadow,border-color}@media(max-width:768px){.topbar{position:fixed;top:env(safe-area-inset-top,0);left:0;right:0;width:100%;box-shadow:0 2px 12px #0000001a}}@media(display-mode:standalone){.topbar{padding-top:calc(env(safe-area-inset-top,0) + 4px);box-shadow:0 4px 20px #0000001a}}.topbar-inner{max-width:1200px;margin:0 auto;padding:.5rem 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px}.topbar-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-active-pet{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);border-radius:16px;border:2px solid rgba(255,215,0,.3);margin-right:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.topbar-active-pet:hover{transform:scale(1.05);border-color:#ffd70080;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media(max-width:640px){.topbar-active-pet{display:none}}.topbar-active-pet .active-pet-avatar{position:relative;width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #E46A4E}.topbar-active-pet .active-pet-avatar img{width:100%;height:100%;object-fit:cover}.topbar-active-pet .active-pet-avatar .pet-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background-color:#fafaf9}.topbar-active-pet .active-pet-avatar .active-pet-badge{position:absolute;bottom:-2px;right:-2px;background-color:#e46a4e;color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;border:2px solid white;box-shadow:0 2px 4px #0003}.topbar-active-pet .active-pet-info{display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-active-pet .active-pet-info .active-pet-name{font-size:.875rem;font-weight:600;color:#4a4a48;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-active-pet .active-pet-info .active-pet-details{font-size:.75rem;color:#7a7a78}.mobile-menu-toggle{display:none;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);border:2px solid rgba(255,215,0,.2);font-size:24px;color:#e46a4e;cursor:pointer;padding:.25rem;border-radius:12px;transition:all .3s .4s cubic-bezier(.25,.46,.45,.94);width:48px;height:48px;min-width:48px;min-height:48px;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.mobile-menu-toggle:focus-visible{outline:3px solid rgba(228,106,78,.6);outline-offset:2px}@media(min-width:1024px)and (hover:hover){.mobile-menu-toggle:hover{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px #e46a4e40;border-color:#f4a6a066}}.mobile-menu-toggle:active{transform:scale(.95)}@media(max-width:1024px){.mobile-menu-toggle{display:flex}}.topbar-logo-link{display:flex;align-items:center;gap:.25rem;text-decoration:none;transition:transform .2s}.topbar-logo-link:hover{transform:scale(1.05)}.topbar-logo-image{height:28px;width:auto;display:block}.topbar-logo-text{font-family:Poppins,Inter,sans-serif;background:linear-gradient(135deg,#e46a4e,#f4a6a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.125rem;font-weight:700;color:#e46a4e;white-space:nowrap}@media(max-width:640px){.topbar-logo-text{display:none}}.topbar-messages-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);color:#e46a4e;text-decoration:none;transition:all .5s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;border:2px solid rgba(228,106,78,.2);box-shadow:0 1px 2px #0000000d;font-size:1.2rem;overflow:visible}.topbar-messages-indicator:hover{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;transform:scale(1.1) rotate(5deg);box-shadow:0 12px 32px #e46a4e59;border-color:#ff6b3580}.topbar-messages-indicator:active{transform:scale(.95) rotate(0)}.topbar-messages-indicator .icon{font-size:1.125rem;transition:transform .15s cubic-bezier(.4,0,.2,1)}.topbar-messages-indicator:hover .icon{transform:scale(1.1)}.topbar-messages-indicator .unread-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 6px;border:2px solid #FFFFFF;box-shadow:0 2px 8px #ef444466;animation:pulse-badge 2s ease-in-out infinite;z-index:10}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.topbar-user-menu{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:24px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;min-height:48px}.topbar-user-menu:hover{background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);border-color:#ffd7004d;transform:scale(1.05)}.topbar-user-menu:active{transform:scale(.98)}.user-avatar{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid #E46A4E;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.user-avatar .avatar-placeholder{font-size:1.125rem;background:linear-gradient(135deg,#e46a4e,#f4a6a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.user-avatar:hover{transform:scale(1.1);border-color:#ffd70099;box-shadow:0 8px 24px #e46a4e40}.user-avatar:hover img{transform:scale(1.1)}.user-name{display:flex;flex-direction:column;font-size:.75rem;color:#4a4a48;font-weight:500;line-height:1.2;min-width:0}.user-name-first{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-name-last{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#7a7a78}@media(max-width:640px){.user-name{display:none}}.mobile-menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:fixed;top:env(safe-area-inset-top,0);left:env(safe-area-inset-left,0);width:300px;max-width:calc(85vw - env(safe-area-inset-left,0) - env(safe-area-inset-right,0));height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));background:#fffffffa;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:4px 0 16px #0000001a;z-index:1001;display:flex;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;animation:slideIn .2s ease-out;overflow-y:auto;border-right:1px solid rgba(255,215,0,.2);transform:translateZ(0);will-change:transform}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0));padding-left:calc(1.5rem + env(safe-area-inset-left,0));padding-right:calc(1.5rem + env(safe-area-inset-right,0));border-bottom:2px solid rgba(255,215,0,.2);background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;box-shadow:0 2px 8px #0000001a}.mobile-menu-logo{font-size:1.125rem;font-weight:700}.mobile-menu-close{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:24px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-menu-close:hover{background:#ffffff4d;transform:scale(1.1) rotate(90deg);border-color:#ffffff80}.mobile-menu-close:active{transform:scale(.95)}.mobile-menu-content{flex:1;padding:1rem 0;overflow-y:auto}.mobile-menu-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#4a4a48;text-decoration:none;font-size:1rem;transition:all .2s;position:relative;border-left:3px solid transparent}.mobile-menu-link .icon{font-size:1.25rem;width:24px;text-align:center}.mobile-menu-link .label{flex:1}.mobile-menu-link .unread-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 6px}.mobile-menu-link .mobile-premium-badge{background:linear-gradient(135deg,#e46a4e,#f4a6a0);color:#fff;border-radius:12px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;padding:0 6px;letter-spacing:.02em}.mobile-menu-link:hover{background-color:#fafaf9;border-left-color:#e46a4e}.mobile-menu-link.active{background-color:#e46a4e1a;border-left-color:#e46a4e;color:#e46a4e;font-weight:600}.mobile-menu-link-admin{color:#dc2626}.mobile-menu-link-admin.active{background-color:#dc26261a;border-left-color:#dc2626}.mobile-menu-link-logout{background:none;border:none;width:100%;text-align:left;cursor:pointer;color:#7a7a78}.mobile-menu-link-logout:hover{background-color:#ef44441a;border-left-color:#ef4444;color:#ef4444}.mobile-menu-link-premium{color:#e46a4e;font-weight:600}.mobile-menu-link-premium .icon{font-size:1.25rem}.mobile-menu-link-premium.active{background-color:#e46a4e1f;border-left-color:#e46a4e}.mobile-menu-divider{height:1px;background-color:#ecebe8;margin:1rem 1.5rem}.main{flex:1;padding:2rem 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));padding-bottom:calc(2rem + env(safe-area-inset-bottom,0));padding-top:calc(2rem + env(safe-area-inset-top,0));overflow-x:hidden}@media(max-width:768px){.main{padding:1.5rem 1rem;padding-top:calc(1.5rem + 56px + env(safe-area-inset-top,0));padding-bottom:calc(1.5rem + 80px + env(safe-area-inset-bottom,0));padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0))}}@media(display-mode:standalone){.main{padding-top:calc(2rem + env(safe-area-inset-top,0) + 4px);padding-bottom:calc(2rem + env(safe-area-inset-bottom,0) + 4px)}}.footer{padding:1.5rem 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0));background-color:#fff;border-top:1px solid #ECEBE8;margin-top:auto}.footer .footer-content{max-width:1200px;margin:0 auto;text-align:center;color:#7a7a78;font-size:.875rem}.footer .footer-content .footer-links{display:flex;justify-content:center;gap:1rem;margin:1rem 0;flex-wrap:wrap}.footer .footer-content .footer-links a{color:#7a7a78;text-decoration:none;transition:color .2s}.footer .footer-content .footer-links a:hover{color:#e46a4e}.footer .footer-content .footer-credit{margin-top:.5rem;font-size:.75rem}@media(max-width:768px){.footer .footer-content .footer-links{gap:.5rem;font-size:.75rem}}@keyframes spin{to{transform:rotate(360deg)}}.notifications-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.notifications-panel{position:fixed;top:env(safe-area-inset-top,0);right:env(safe-area-inset-right,0);width:100%;max-width:400px;height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));background-color:#fff;box-shadow:-2px 0 16px #00000026;z-index:1001;display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow:hidden;padding-top:calc(56px + env(safe-area-inset-top,0));padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #ECEBE8;background:linear-gradient(135deg,#e46a4e,#eb8f7a);color:#fff;position:sticky;top:0;z-index:10}.notifications-header h3{margin:0;font-size:1.125rem;font-weight:700;flex:1}.notifications-header .notifications-mark-all-read{background:#fff3;border:none;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:6px;cursor:pointer;transition:background-color .2s;margin-right:.5rem}.notifications-header .notifications-mark-all-read:hover{background:#ffffff4d}.notifications-header .notifications-mark-all-read:disabled{opacity:.5;cursor:not-allowed}.notifications-header .notifications-close{background:#fff3;border:none;color:#fff;font-size:20px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.notifications-header .notifications-close:hover{background:#ffffff4d}.notifications-header .notifications-close:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.notifications-content{flex:1;overflow-y:auto;padding:.5rem 0}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#7a7a78;text-align:center}.notifications-empty .empty-icon{font-size:48px;margin-bottom:1rem;opacity:.5}.notifications-empty p{margin:0;font-size:1rem}.notification-item{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #ECEBE8;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;border-radius:12px}.notification-item:hover{background-color:#e46a4e0d;transform:translate(4px)}.notification-item.unread{background-color:#e46a4e14;border-left:3px solid #E46A4E}.notification-item.notification-match{border-left-color:#e46a4e}.notification-item.notification-match .notification-icon-match{background-color:#e46a4e26}.notification-item.notification-success,.notification-item.notification-like{border-left-color:#10b981}.notification-item.notification-success .notification-icon-like,.notification-item.notification-like .notification-icon-like{background-color:#10b98126}.notification-item.notification-message{border-left-color:#f4a6a0}.notification-item.notification-message .notification-icon-message{background-color:#f4a6a026}.notification-item.notification-activity{border-left-color:#f4a6a0}.notification-item.notification-activity .notification-icon-activity{background-color:#f4a6a026}.notification-item.notification-system{border-left-color:#3b82f6}.notification-item.notification-system .notification-icon-system{background-color:#3b82f626}.notification-item .notification-icon{font-size:1.5rem;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:#fafaf9;border-radius:50%;transition:all .2s}.notification-item .notification-content{flex:1;min-width:0}.notification-item .notification-title{font-weight:600;color:#4a4a48;margin-bottom:.25rem;font-size:.875rem}.notification-item .notification-message{color:#7a7a78;font-size:.875rem;margin-bottom:.25rem;line-height:1.4}.notification-item .notification-time{color:#a6a6a3;font-size:.75rem}.notification-item .notification-dot{position:absolute;top:1rem;right:44px;width:8px;height:8px;background-color:#e46a4e;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}.notification-item .notification-delete-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:50%;color:#a6a6a3;font-size:1.25rem;font-weight:300;cursor:pointer;transition:all .2s;opacity:0;z-index:10}.notification-item .notification-delete-btn:hover{background-color:#ef44441a;color:#ef4444;opacity:1}.notification-item .notification-delete-btn:active{transform:scale(.9)}.notification-item:hover .notification-delete-btn{opacity:1}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.topbar-feedback-btn,.topbar-notifications-btn{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background-color:#fafaf9;color:#4a4a48;border:none;cursor:pointer;transition:all .2s;flex-shrink:0}.topbar-feedback-btn:hover,.topbar-notifications-btn:hover{background-color:#e46a4e;color:#fff;transform:scale(1.1)}.topbar-feedback-btn:active,.topbar-notifications-btn:active{transform:scale(.95)}.topbar-feedback-btn .icon,.topbar-notifications-btn .icon{font-size:1.125rem}.topbar-feedback-btn .unread-badge,.topbar-notifications-btn .unread-badge{position:absolute;top:-2px;right:-2px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 6px;border:2px solid #FFFFFF;box-shadow:0 2px 4px #ef44444d;animation:pulse 2s infinite}@media(min-width:768px)and (max-width:1024px){.layout{flex-direction:column}.sidebar{display:none}.layout-main{padding-bottom:0}.main{padding:1rem .5rem;padding-bottom:calc(1rem + 80px + env(safe-area-inset-bottom,0))}.topbar-inner{padding:.5rem 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));min-height:56px}.notifications-panel{max-width:100%}.footer{display:none}}@media(max-width:768px){.layout{flex-direction:column}.sidebar{display:none}.layout-main{padding-bottom:0}.main{padding:1rem .5rem;padding-bottom:calc(1rem + 80px + env(safe-area-inset-bottom,0))}.topbar-inner{padding:.5rem 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));min-height:56px}.notifications-panel{max-width:100%}.footer{display:none}}@media(max-width:640px){.topbar-inner{padding:.25rem .5rem;min-height:56px}.user-name{display:none}.topbar-user-menu{padding:.25rem}.user-avatar{width:36px;height:36px}.topbar-messages-indicator{width:40px;height:40px}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:2px solid rgba(255,215,0,.3);box-shadow:0 -4px 20px #0000001a;z-index:100;padding:.25rem 0;padding-bottom:calc(.25rem + env(safe-area-inset-bottom,0));padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);transform:translateZ(0);will-change:transform;transition:transform .3s ease,opacity .3s ease}@media(max-width:768px){.bottom-nav{display:flex;justify-content:space-around;align-items:center;min-height:calc(64px + env(safe-area-inset-bottom,0))}}@media(display-mode:standalone){.bottom-nav{padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0));box-shadow:0 -2px 16px #0000001f;background:#fffffffc}}@media(max-width:768px){.bottom-nav{padding-bottom:calc(50px + env(safe-area-inset-bottom,0))}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;padding:.25rem .5rem;color:#7a7a78;text-decoration:none;transition:all .3s .4s cubic-bezier(.25,.46,.45,.94);position:relative;min-height:64px;min-width:64px;border-radius:16px;transform:translateZ(0);will-change:transform,color,background-color;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}.bottom-nav-item:focus-visible{outline:3px solid rgba(228,106,78,.6);outline-offset:2px}.bottom-nav-item:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,107,53,.2) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.bottom-nav-item .bottom-nav-icon{font-size:1.5rem;line-height:1;transition:transform .5s cubic-bezier(.34,1.56,.64,1);min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.bottom-nav-item .bottom-nav-label{font-size:.65rem;font-weight:600;white-space:nowrap;letter-spacing:.3px;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.bottom-nav-item .bottom-nav-badge{position:absolute;top:4px;right:calc(50% - 24px);background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 5px;border:2px solid #FFFFFF;box-shadow:0 2px 8px #ef444466;animation:pulse-badge 2s ease-in-out infinite;z-index:2}.bottom-nav-item:active{transform:scale3d(.95,.95,1);background-color:#ff6b3526}.bottom-nav-item:active .bottom-nav-icon{transform:scale3d(.9,.9,1)}.bottom-nav-item:active:after{width:100px;height:100px}.bottom-nav-item.active{color:#e46a4e;background:linear-gradient(135deg,#e46a4e1f,#f4a6a01f);position:relative}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:50px;height:3px;background:linear-gradient(135deg,#e46a4e,#f4a6a0);border-radius:0 0 4px 4px;box-shadow:0 2px 8px #ff6b3566;animation:slideInIndicator .3s ease-out}.bottom-nav-item.active .bottom-nav-icon{transform:scale3d(1.15,1.15,1);filter:drop-shadow(0 2px 8px rgba(255,107,53,.4))}.bottom-nav-item.active .bottom-nav-label{font-weight:700;color:#e46a4e}@media(min-width:1024px)and (hover:hover){.bottom-nav-item:hover:not(.active){color:#e46a4e;background-color:#ff6b3514}.bottom-nav-item:hover:not(.active) .bottom-nav-icon{transform:scale3d(1.08,1.08,1)}.bottom-nav-item:hover:not(.active):after{width:80px;height:80px}}@keyframes slideInIndicator{0%{width:0;opacity:0}to{width:50px;opacity:1}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:16px;padding:3rem;box-shadow:0 10px 40px #0000001a;text-align:center}.error-boundary-icon{font-size:4rem;margin-bottom:1.5rem}.error-boundary-title{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.error-boundary-message{font-size:1.125rem;color:#718096;margin-bottom:2rem;line-height:1.6}.error-boundary-details{margin:2rem 0;text-align:left}.error-boundary-details summary{cursor:pointer;padding:1rem;background:#f7fafc;border-radius:8px;font-weight:600;color:#4a5568;margin-bottom:1rem}.error-boundary-details summary:hover{background:#edf2f7}.error-boundary-stack{background:#1a202c;color:#e2e8f0;padding:1.5rem;border-radius:8px;overflow-x:auto;font-size:.875rem;line-height:1.6;font-family:Courier New,monospace;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.error-boundary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.error-boundary-button:active{transform:translateY(0)}.error-boundary-button-primary{background:#4299e1;color:#fff}.error-boundary-button-primary:hover{background:#3182ce}.error-boundary-button-secondary{background:#e2e8f0;color:#4a5568}.error-boundary-button-secondary:hover{background:#cbd5e0}@media(max-width:640px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:1rem}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}.app{min-height:100vh;min-height:100dvh;min-height:calc(100vh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));min-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0))}
